diff options
author | Diegoisawesome <diego@domoreaweso.me> | 2018-12-25 15:03:13 -0600 |
---|---|---|
committer | Diegoisawesome <diego@domoreaweso.me> | 2018-12-25 15:03:13 -0600 |
commit | d8948a5cda2e385c1d4b5c6190c4fe0fb53359fb (patch) | |
tree | fa882b0733f88cc17dcbaef8c25c30c7198bdca1 | |
parent | dea41e1a7e6e73789431153d6c28dac3a3a73ac6 (diff) | |
parent | a54aa03d20dacc88879404b87a5f6a7eb7babc54 (diff) |
Merge remote-tracking branch 'pret/master' into trade
517 files changed, 41317 insertions, 67419 deletions
diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s index 4b9466786..cfcfb93f9 100644 --- a/asm/battle_anim_effects_3.s +++ b/asm/battle_anim_effects_3.s @@ -5,50 +5,6 @@ .text - thumb_func_start AnimTask_GetReturnPowerLevel -AnimTask_GetReturnPowerLevel: @ 815F8A0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r3, =gBattleAnimArgs - movs r2, 0 - strh r2, [r3, 0xE] - ldr r1, =gAnimFriendship - ldrb r0, [r1] - ldrb r1, [r1] - adds r0, r1, 0 - subs r0, 0x3D - lsls r0, 24 - lsrs r0, 24 - adds r2, r1, 0 - cmp r0, 0x1E - bhi _0815F8C4 - movs r0, 0x1 - strh r0, [r3, 0xE] -_0815F8C4: - adds r0, r2, 0 - subs r0, 0x5C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6C - bhi _0815F8D4 - movs r0, 0x2 - strh r0, [r3, 0xE] -_0815F8D4: - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0xC8 - bls _0815F8E0 - movs r0, 0x3 - strh r0, [r3, 0xE] -_0815F8E0: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_GetReturnPowerLevel thumb_func_start sub_815F8F4 sub_815F8F4: @ 815F8F4 diff --git a/asm/contest.s b/asm/contest.s index 35dbaf385..a9abd9430 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -1657,7 +1657,7 @@ _080DC506: lsls r0, r5, 3 ldr r1, =gUnknown_08587AE8 adds r0, r1 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet ldr r0, =gSpriteTemplate_8587B18 adds r0, r6, r0 ldr r2, =gUnknown_08587A70 @@ -1713,7 +1713,7 @@ _080DC506: sub_80DC594: @ 80DC594 push {lr} ldr r0, =gUnknown_08587BB0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet ldr r0, =gUnknown_08587BB8 bl LoadSpritePalette ldr r0, =gSpriteTemplate_8587BC8 @@ -2286,7 +2286,7 @@ sub_80DC9EC: @ 80DC9EC lsls r4, r1, 3 ldr r0, =gUnknown_08589904 adds r0, r4, r0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet ldr r0, =gUnknown_08589924 adds r4, r0 adds r0, r4, 0 diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index 3e35ab7f1..b869adf1b 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -1417,7 +1417,7 @@ _080F64F2: adds r2, r4, 0 bl GetMonSpritePalStructFromOtIdPersonality adds r4, r0, 0 - bl LoadCompressedObjectPalette + bl LoadCompressedSpritePalette adds r0, r6, 0 movs r1, 0x1 bl SetMultiuseSpriteTemplateToPokemon @@ -1451,9 +1451,9 @@ _080F64F2: ldr r1, [r1] strb r0, [r1, 0x8] ldr r0, =gUnknown_0858D878 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet ldr r0, =gUnknown_0858D880 - bl LoadCompressedObjectPalette + bl LoadCompressedSpritePalette ldr r0, =sub_80F7670 movs r1, 0xA bl CreateTask @@ -2093,7 +2093,7 @@ _080F6AA6: adds r0, r1 ldrh r0, [r0] movs r1, 0 - bl mon_icon_convert_unown_species_id + bl GetIconSpecies lsls r0, 16 lsrs r0, 16 adds r0, r6 diff --git a/asm/dark.s b/asm/dark.s deleted file mode 100644 index d3f44db0b..000000000 --- a/asm/dark.s +++ /dev/null @@ -1,2199 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81136E8 -sub_81136E8: @ 81136E8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =gBattleAnimArgs - ldrh r1, [r1] - strh r1, [r0, 0x8] - ldr r1, =gBattleAnimAttacker - ldrb r4, [r1] - movs r1, 0x10 - strh r1, [r0, 0xA] - movs r0, 0x52 - bl SetGpuReg - adds r0, r4, 0 - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08113734 - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - b _0811373C - .pool -_08113734: - ldr r1, =0x00003f44 - movs r0, 0x50 - bl SetGpuReg -_0811373C: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_811375C - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81136E8 - - thumb_func_start sub_811375C -sub_811375C: @ 811375C - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r6, r0, r1 - ldrh r0, [r6, 0xA] - lsrs r4, r0, 8 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xC - ldrsh r0, [r6, r2] - ldrb r2, [r6, 0x8] - cmp r0, r2 - bne _081137D8 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - subs r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 8 - orrs r1, r0 - movs r5, 0 - strh r1, [r6, 0xA] - ldrh r1, [r6, 0xA] - movs r0, 0x52 - bl SetGpuReg - strh r5, [r6, 0xC] - cmp r4, 0x10 - bne _081137DE - ldr r2, =gSprites - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - bl DestroyAnimVisualTask - b _081137DE - .pool -_081137D8: - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] -_081137DE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_811375C - - thumb_func_start sub_81137E4 -sub_81137E4: @ 81137E4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r1 - ldr r0, =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r2, 0x8] - movs r1, 0x80 - lsls r1, 5 - strh r1, [r2, 0xA] - ldr r0, =sub_811381C - str r0, [r2] - movs r0, 0x52 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_81137E4 - - thumb_func_start sub_811381C -sub_811381C: @ 811381C - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r6, r0, r1 - ldrh r0, [r6, 0xA] - lsrs r4, r0, 8 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xC - ldrsh r0, [r6, r2] - ldrb r2, [r6, 0x8] - cmp r0, r2 - bne _0811387C - subs r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 8 - orrs r1, r0 - movs r5, 0 - strh r1, [r6, 0xA] - ldrh r1, [r6, 0xA] - movs r0, 0x52 - bl SetGpuReg - strh r5, [r6, 0xC] - cmp r4, 0 - bne _08113882 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r7, 0 - bl DestroyAnimVisualTask - b _08113882 - .pool -_0811387C: - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] -_08113882: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_811381C - - thumb_func_start sub_8113888 -sub_8113888: @ 8113888 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081138BC - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - b _081138C4 - .pool -_081138BC: - ldr r1, =0x00003f44 - movs r0, 0x50 - bl SetGpuReg -_081138C4: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8113888 - - thumb_func_start sub_81138D4 -sub_81138D4: @ 81138D4 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x30] - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r6] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x34] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - movs r0, 0x7E - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl InitSpriteDataForLinearTranslation - ldrh r0, [r4, 0x30] - negs r0, r0 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x32] - negs r0, r0 - strh r0, [r4, 0x36] - ldr r0, =0x0000ffd8 - strh r0, [r4, 0x3A] - ldr r1, =sub_8113950 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81138D4 - - thumb_func_start sub_8113950 -sub_8113950: @ 8113950 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r5, [r4, 0x30] - ldrh r0, [r4, 0x34] - adds r2, r5, r0 - strh r2, [r4, 0x34] - ldrh r3, [r4, 0x32] - ldrh r6, [r4, 0x36] - adds r1, r3, r6 - strh r1, [r4, 0x36] - lsls r0, r2, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r4, 0x26] - movs r6, 0x3C - ldrsh r0, [r4, r6] - cmp r0, 0 - bne _08113992 - adds r0, r2, r5 - strh r0, [r4, 0x34] - adds r1, r3 - strh r1, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - lsls r1, 16 - asrs r1, 24 - strh r1, [r4, 0x26] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] -_08113992: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Sin - ldrh r6, [r4, 0x26] - adds r0, r6 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - cmp r0, 0x7F - ble _081139C2 - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x3A] - adds r0, 0x14 - strh r0, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] -_081139C2: - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _081139D4 - adds r0, r4, 0 - bl DestroyAnimSprite -_081139D4: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8113950 - - thumb_func_start sub_81139DC -sub_81139DC: @ 81139DC - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimArgs - ldrh r0, [r5] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrb r1, [r5, 0x4] - adds r0, r4, 0 - bl StartSpriteAffineAnim - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0xA] - strh r0, [r4, 0x32] - ldr r0, =sub_8113A18 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81139DC - - thumb_func_start sub_8113A18 -sub_8113A18: @ 8113A18 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x36] - adds r0, r1 - strh r0, [r2, 0x36] - ldrh r1, [r2, 0x30] - ldrh r3, [r2, 0x38] - adds r1, r3 - strh r1, [r2, 0x38] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2, 0x24] - lsls r1, 16 - asrs r1, 24 - strh r1, [r2, 0x26] - ldrh r0, [r2, 0x34] - adds r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x32 - ldrsh r1, [r2, r3] - cmp r0, r1 - bne _08113A4E - ldr r0, =sub_8113A58 - str r0, [r2, 0x1C] -_08113A4E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8113A18 - - thumb_func_start sub_8113A58 -sub_8113A58: @ 8113A58 - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x36] - ldrh r0, [r3, 0x2E] - subs r1, r0 - strh r1, [r3, 0x36] - ldrh r0, [r3, 0x38] - ldrh r2, [r3, 0x30] - subs r0, r2 - strh r0, [r3, 0x38] - lsls r1, 16 - asrs r1, 24 - strh r1, [r3, 0x24] - lsls r0, 16 - asrs r0, 24 - strh r0, [r3, 0x26] - ldrh r0, [r3, 0x34] - subs r0, 0x1 - strh r0, [r3, 0x34] - lsls r0, 16 - cmp r0, 0 - bne _08113A8A - adds r0, r3, 0 - bl DestroySpriteAndMatrix -_08113A8A: - pop {r0} - bx r0 - thumb_func_end sub_8113A58 - - thumb_func_start sub_8113A90 -sub_8113A90: @ 8113A90 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - adds r3, r0, 0 - cmp r1, 0 - bne _08113AAC - ldr r0, =gBattleAnimAttacker - b _08113AAE - .pool -_08113AAC: - ldr r0, =gBattleAnimTarget -_08113AAE: - ldrb r5, [r0] - movs r6, 0x14 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x4 - ldr r7, =0x000003ff - adds r0, r7, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - movs r1, 0x2 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - beq _08113B0C - cmp r0, 0x1 - bgt _08113AE8 - cmp r0, 0 - beq _08113AF2 - b _08113B60 - .pool -_08113AE8: - cmp r0, 0x2 - beq _08113B26 - cmp r0, 0x3 - beq _08113B3E - b _08113B60 -_08113AF2: - adds r0, r5, 0 - movs r1, 0x5 - bl sub_80A861C - subs r0, 0x8 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_80A861C - adds r0, 0x8 - strh r0, [r4, 0x22] - b _08113B60 -_08113B0C: - adds r0, r5, 0 - movs r1, 0x5 - bl sub_80A861C - subs r0, 0xE - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_80A861C - adds r0, 0x10 - strh r0, [r4, 0x22] - b _08113B60 -_08113B26: - adds r0, r5, 0 - movs r1, 0x4 - bl sub_80A861C - adds r0, 0x8 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_80A861C - adds r0, 0x8 - b _08113B54 -_08113B3E: - adds r0, r5, 0 - movs r1, 0x4 - bl sub_80A861C - adds r0, 0xE - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_80A861C - adds r0, 0x10 -_08113B54: - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r6, 0xEC -_08113B60: - movs r0, 0x20 - strh r0, [r4, 0x2E] - lsls r0, r6, 24 - asrs r0, 24 - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - adds r0, 0xC - strh r0, [r4, 0x36] - ldr r0, =0x0000fff4 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl InitAnimArcTranslation - ldr r0, =sub_8113B90 - str r0, [r4, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8113A90 - - thumb_func_start sub_8113B90 -sub_8113B90: @ 8113B90 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _08113BA4 - adds r0, r4, 0 - bl DestroySpriteAndMatrix -_08113BA4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8113B90 - - thumb_func_start sub_8113BAC -sub_8113BAC: @ 8113BAC - push {r4-r7,lr} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r5, r1, r0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1F - movs r6, 0 - strh r0, [r5, 0x16] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_80A861C - subs r0, 0x7 - strh r0, [r5, 0x14] - ldrh r1, [r5, 0x16] - strh r1, [r5, 0x12] - strh r0, [r5, 0x10] - subs r1, r0 - lsls r1, 8 - strh r1, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - subs r1, 0x20 - strh r1, [r5, 0x24] - adds r0, 0x20 - strh r0, [r5, 0x26] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08113C1C - ldr r0, =0x0000fff4 - b _08113C1E - .pool -_08113C1C: - ldr r0, =0x0000ffc0 -_08113C1E: - strh r0, [r5, 0x18] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xE] - cmp r0, 0x1 - bne _08113C80 - add r4, sp, 0xC - adds r0, r4, 0 - bl sub_80A6B30 - ldr r0, =gBattle_BG1_Y - ldrh r0, [r0] - strh r0, [r5, 0x1C] - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - ldrb r1, [r4, 0x8] - lsls r1, 4 - movs r0, 0 - movs r2, 0x20 - bl FillPalette - ldr r0, =0x04000016 - str r0, [sp] - movs r7, 0x2 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _08113CB0 - ldr r1, =gBattle_BG2_X - b _08113CAA - .pool -_08113C80: - ldr r0, =gBattle_BG2_Y - ldrh r0, [r0] - strh r0, [r5, 0x1C] - ldr r1, =0x00003f44 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0 - movs r1, 0x90 - movs r2, 0x20 - bl FillPalette - ldr r0, =0x0400001a - str r0, [sp] - movs r7, 0x4 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _08113CB0 - ldr r1, =gBattle_BG1_X -_08113CAA: - ldrh r0, [r1] - adds r0, 0xF0 - strh r0, [r1] -_08113CB0: - ldr r0, =0xa2600001 - str r0, [sp, 0x4] - mov r2, sp - movs r1, 0 - movs r0, 0x1 - strb r0, [r2, 0x8] - mov r0, sp - strb r1, [r0, 0x9] - strh r1, [r5, 0x1E] - movs r0, 0x10 - strh r0, [r5, 0x20] - strh r1, [r5, 0x8] - strh r1, [r5, 0xA] - strh r1, [r5, 0xC] - movs r0, 0x3 - bl sub_8114374 - movs r3, 0 - ldr r4, =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r4, r0 -_08113CDC: - lsls r1, r3, 1 - adds r2, r1, r4 - ldrh r0, [r5, 0x1C] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r5, 0x1C] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x6F - bls _08113CDC - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - movs r0, 0x3F - eors r7, r0 - movs r1, 0xFC - lsls r1, 6 - adds r0, r1, 0 - orrs r7, r0 - movs r0, 0x4A - adds r1, r7, 0 - bl SetGpuReg - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r2, =gBattle_WIN0H - ldrh r0, [r5, 0x24] - lsls r0, 8 - ldrh r1, [r5, 0x26] - orrs r0, r1 - strh r0, [r2] - ldr r1, =gBattle_WIN0V - movs r0, 0xA0 - strh r0, [r1] - ldr r0, =sub_8113D60 - str r0, [r5] - add sp, 0x1C - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8113BAC - - thumb_func_start sub_8113D60 -sub_8113D60: @ 8113D60 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _08113D7A - b _08113E72 -_08113D7A: - lsls r0, 2 - ldr r1, =_08113D8C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08113D8C: - .4byte _08113DA0 - .4byte _08113E02 - .4byte _08113E1C - .4byte _08113E58 - .4byte _08113E6C -_08113DA0: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08113E72 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08113DD0 - ldrh r1, [r4, 0x1E] - movs r2, 0x1E - ldrsh r0, [r4, r2] - cmp r0, 0xC - beq _08113DDE - adds r0, r1, 0x1 - strh r0, [r4, 0x1E] - b _08113DDE -_08113DD0: - ldrh r1, [r4, 0x20] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - beq _08113DDE - subs r0, r1, 0x1 - strh r0, [r4, 0x20] -_08113DDE: - ldrh r1, [r4, 0x20] - lsls r1, 8 - ldrh r0, [r4, 0x1E] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0xC - bne _08113E72 - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bne _08113E72 - b _08113E5E -_08113E02: - ldrh r0, [r4, 0x10] - subs r0, 0x8 - strh r0, [r4, 0x10] - adds r0, r4, 0 - bl sub_8114244 - movs r0, 0x10 - ldrsh r1, [r4, r0] - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r1, r0 - bge _08113E72 - b _08113E5E -_08113E1C: - ldrh r0, [r4, 0x10] - subs r0, 0x8 - strh r0, [r4, 0x10] - adds r0, r4, 0 - bl sub_8114244 - ldrh r1, [r4, 0x24] - adds r1, 0x4 - strh r1, [r4, 0x24] - ldrh r0, [r4, 0x26] - subs r2, r0, 0x4 - strh r2, [r4, 0x26] - lsls r1, 16 - lsls r0, r2, 16 - cmp r1, r0 - blt _08113E3E - strh r2, [r4, 0x24] -_08113E3E: - ldr r3, =gBattle_WIN0H - ldrh r2, [r4, 0x24] - lsls r0, r2, 8 - ldrh r1, [r4, 0x26] - orrs r0, r1 - strh r0, [r3] - lsls r2, 16 - lsls r1, 16 - cmp r2, r1 - bne _08113E72 - b _08113E5E - .pool -_08113E58: - ldr r1, =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_08113E5E: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08113E72 - .pool -_08113E6C: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_08113E72: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8113D60 - - thumb_func_start sub_8113E78 -sub_8113E78: @ 8113E78 - push {r4-r7,lr} - sub sp, 0x1C - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bls _08113E94 - b _081140A6 -_08113E94: - lsls r0, 2 - ldr r1, =_08113EA8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08113EA8: - .4byte _08113EBC - .4byte _08113F40 - .4byte _08113F84 - .4byte _08113FF0 - .4byte _08114058 -_08113EBC: - bl IsContest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08113EF8 - ldr r0, =gBattle_WIN0H - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_WIN0V - strh r1, [r0] - ldr r4, =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _081140A6 - .pool -_08113EF8: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xE] - cmp r0, 0x1 - bne _08113F24 - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =gBattle_BG2_X - b _08113F2E - .pool -_08113F24: - ldr r1, =0x00003f44 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =gBattle_BG1_X -_08113F2E: - ldrh r0, [r1] - adds r0, 0xF0 - strh r0, [r1] - b _08114044 - .pool -_08113F40: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _08113F68 - mov r0, sp - bl sub_80A6B30 - ldr r0, =gBattle_BG1_Y - ldrh r0, [r0] - strh r0, [r5, 0x1C] - mov r0, sp - ldrb r1, [r0, 0x8] - lsls r1, 4 - movs r0, 0 - movs r2, 0x20 - bl FillPalette - b _08113F78 - .pool -_08113F68: - ldr r0, =gBattle_BG2_Y - ldrh r0, [r0] - strh r0, [r5, 0x1C] - movs r0, 0 - movs r1, 0x90 - movs r2, 0x20 - bl FillPalette -_08113F78: - movs r0, 0x3 - bl sub_8114374 - b _08114044 - .pool -_08113F84: - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1F - movs r6, 0 - strh r0, [r5, 0x16] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_80A861C - subs r0, 0x7 - strh r0, [r5, 0x14] - ldrh r1, [r5, 0x16] - subs r1, r0 - lsls r1, 8 - strh r1, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - subs r1, r0, 0x4 - strh r1, [r5, 0x24] - adds r0, 0x4 - strh r0, [r5, 0x26] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08113FD8 - ldr r0, =0x0000fff4 - b _08113FDA - .pool -_08113FD8: - ldr r0, =0x0000ffc0 -_08113FDA: - strh r0, [r5, 0x18] - ldrh r0, [r5, 0x18] - strh r0, [r5, 0x10] - strh r0, [r5, 0x12] - movs r0, 0xC - strh r0, [r5, 0x1E] - movs r0, 0x8 - strh r0, [r5, 0x20] - b _08114044 - .pool -_08113FF0: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _08114000 - ldr r0, =0x04000016 - b _08114002 - .pool -_08114000: - ldr r0, =0x0400001a -_08114002: - str r0, [sp, 0x10] - movs r3, 0 - add r4, sp, 0x10 - ldr r6, =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r7, r6, r0 -_08114010: - lsls r1, r3, 1 - adds r2, r1, r6 - ldrh r0, [r5, 0x1C] - adds r0, 0x9F - subs r0, r3 - strh r0, [r2] - adds r1, r7 - ldrh r0, [r5, 0x1C] - adds r0, 0x9F - subs r0, r3 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x6F - bls _08114010 - ldr r1, =0xa2600001 - str r1, [r4, 0x4] - movs r2, 0 - movs r0, 0x1 - strb r0, [r4, 0x8] - strb r2, [r4, 0x9] - ldr r0, [sp, 0x10] - ldr r2, [r4, 0x8] - bl ScanlineEffect_SetParams -_08114044: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _081140A6 - .pool -_08114058: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _08114070 - ldr r1, =0x00003f3d - movs r0, 0x4A - bl SetGpuReg - b _08114078 - .pool -_08114070: - ldr r1, =0x00003f3b - movs r0, 0x4A - bl SetGpuReg -_08114078: - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r2, =gBattle_WIN0H - ldrh r0, [r5, 0x24] - lsls r0, 8 - ldrh r1, [r5, 0x26] - orrs r0, r1 - strh r0, [r2] - ldr r1, =gBattle_WIN0V - movs r0, 0xA0 - strh r0, [r1] - movs r0, 0 - strh r0, [r5, 0x8] - strh r0, [r5, 0xA] - strh r0, [r5, 0xC] - ldr r1, =0x0000080c - movs r0, 0x52 - bl SetGpuReg - ldr r0, =sub_81140C8 - str r0, [r5] -_081140A6: - add sp, 0x1C - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8113E78 - - thumb_func_start sub_81140C8 -sub_81140C8: @ 81140C8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _081140E2 - b _08114232 -_081140E2: - lsls r0, 2 - ldr r1, =_081140F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081140F4: - .4byte _08114108 - .4byte _08114134 - .4byte _0811419C - .4byte _081141FE - .4byte _08114210 -_08114108: - ldrh r0, [r4, 0x12] - adds r0, 0x8 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0x16] - movs r3, 0x16 - ldrsh r1, [r4, r3] - cmp r0, r1 - blt _0811411E - strh r2, [r4, 0x12] -_0811411E: - adds r0, r4, 0 - bl sub_8114244 - movs r0, 0x12 - ldrsh r1, [r4, r0] - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _08114132 - b _08114232 -_08114132: - b _08114204 -_08114134: - movs r3, 0x26 - ldrsh r0, [r4, r3] - movs r2, 0x24 - ldrsh r1, [r4, r2] - subs r0, r1 - cmp r0, 0x3F - bgt _08114150 - ldrh r0, [r4, 0x24] - subs r0, 0x4 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - adds r0, 0x4 - strh r0, [r4, 0x26] - b _08114154 -_08114150: - movs r0, 0x1 - strh r0, [r4, 0xA] -_08114154: - ldr r2, =gBattle_WIN0H - ldrh r0, [r4, 0x24] - lsls r0, 8 - ldrh r1, [r4, 0x26] - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r4, 0x10] - adds r0, 0x8 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0x14] - movs r3, 0x14 - ldrsh r1, [r4, r3] - cmp r0, r1 - blt _08114176 - strh r2, [r4, 0x10] -_08114176: - adds r0, r4, 0 - bl sub_8114244 - movs r0, 0x10 - ldrsh r1, [r4, r0] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08114232 - movs r3, 0xA - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _08114232 - movs r0, 0 - strh r0, [r4, 0xA] - b _08114204 - .pool -_0811419C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08114232 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081141CC - ldrh r1, [r4, 0x1E] - movs r2, 0x1E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081141DA - subs r0, r1, 0x1 - strh r0, [r4, 0x1E] - b _081141DA -_081141CC: - ldrh r1, [r4, 0x20] - movs r3, 0x20 - ldrsh r0, [r4, r3] - cmp r0, 0xF - bgt _081141DA - adds r0, r1, 0x1 - strh r0, [r4, 0x20] -_081141DA: - ldrh r1, [r4, 0x20] - lsls r1, 8 - ldrh r0, [r4, 0x1E] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08114232 - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x10 - bne _08114232 - b _08114204 -_081141FE: - ldr r1, =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_08114204: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08114232 - .pool -_08114210: - ldr r0, =gBattle_WIN0H - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_WIN0V - strh r1, [r0] - ldr r4, =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08114232: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81140C8 - - thumb_func_start sub_8114244 -sub_8114244: @ 8114244 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldrh r0, [r6, 0x12] - ldrh r4, [r6, 0x10] - subs r0, r4 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - beq _08114338 - movs r2, 0x22 - ldrsh r0, [r6, r2] - bl __divsi3 - mov r8, r0 - movs r3, 0x14 - ldrsh r0, [r6, r3] - lsls r5, r0, 8 - lsls r0, r4, 16 - movs r4, 0 - cmp r0, 0 - ble _081142A4 - ldr r0, =gScanlineEffectRegBuffers - mov r12, r0 - ldr r7, =gScanlineEffect -_08114278: - lsls r2, r4, 16 - asrs r2, 16 - lsls r3, r2, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r3, r0 - add r3, r12 - adds r1, r2, 0 - subs r1, 0x9F - ldrh r0, [r6, 0x1C] - subs r0, r1 - strh r0, [r3] - adds r2, 0x1 - lsls r2, 16 - lsrs r4, r2, 16 - asrs r2, 16 - movs r1, 0x10 - ldrsh r0, [r6, r1] - cmp r2, r0 - blt _08114278 -_081142A4: - ldrh r4, [r6, 0x10] - lsls r3, r4, 16 - asrs r1, r3, 16 - movs r2, 0x12 - ldrsh r0, [r6, r2] - cmp r1, r0 - bgt _081142EE - ldr r0, =gScanlineEffectRegBuffers - mov r12, r0 - ldr r7, =gScanlineEffect -_081142B8: - asrs r4, r3, 16 - cmp r4, 0 - blt _081142DA - asrs r1, r5, 8 - subs r1, r4 - lsls r3, r4, 1 - ldrb r2, [r7, 0x14] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 7 - adds r3, r0 - add r3, r12 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r6, 0x1C] - adds r1, r2 - strh r1, [r3] -_081142DA: - add r5, r8 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r3, r4, 16 - asrs r1, r3, 16 - movs r2, 0x12 - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _081142B8 -_081142EE: - movs r3, 0x1C - ldrsh r0, [r6, r3] - adds r0, 0x9F - lsls r2, r4, 16 - asrs r1, r2, 16 - subs r5, r0, r1 - movs r3, 0x16 - ldrsh r0, [r6, r3] - cmp r1, r0 - bge _08114366 - ldr r7, =gScanlineEffectRegBuffers - ldr r4, =gScanlineEffect -_08114306: - asrs r3, r2, 16 - cmp r3, 0 - blt _0811431E - lsls r2, r3, 1 - ldrb r1, [r4, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - strh r5, [r2] - subs r5, 0x1 -_0811431E: - adds r0, r3, 0x1 - lsls r2, r0, 16 - asrs r1, r2, 16 - movs r3, 0x16 - ldrsh r0, [r6, r3] - cmp r1, r0 - blt _08114306 - b _08114366 - .pool -_08114338: - movs r1, 0x1C - ldrsh r0, [r6, r1] - adds r5, r0, 0 - adds r5, 0x9F - movs r4, 0 - ldr r3, =gScanlineEffectRegBuffers - movs r2, 0xF0 - lsls r2, 3 - adds r6, r3, r2 -_0811434A: - lsls r0, r4, 16 - asrs r0, 16 - lsls r2, r0, 1 - adds r1, r2, r3 - strh r5, [r1] - adds r2, r6 - strh r5, [r2] - subs r5, 0x1 - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x6F - ble _0811434A -_08114366: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8114244 - - thumb_func_start sub_8114374 -sub_8114374: @ 8114374 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - ldr r7, =gSprites - movs r1, 0x3 - ands r0, r1 - lsls r5, r0, 2 - movs r0, 0xD - negs r0, r0 - adds r6, r0, 0 -_0811438A: - lsls r0, r4, 24 - lsrs r0, 24 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _081143AA - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r0, [r1, 0x5] - ands r0, r6 - orrs r0, r5 - strb r0, [r1, 0x5] -_081143AA: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _0811438A - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8114374 - - thumb_func_start sub_81143C0 -sub_81143C0: @ 81143C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r6, =gBattleAnimAttacker - ldrb r0, [r6] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - eors r0, r1 - negs r1, r0 - orrs r1, r0 - lsrs r4, r1, 31 - ldrb r0, [r6] - adds r1, r4, 0 - movs r2, 0x1 - bl sub_80A438C - ldr r0, =gSprites - mov r9, r0 - ldr r0, =gBattlerSpriteIds - mov r8, r0 - ldrb r0, [r6] - add r0, r8 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - adds r1, 0x3E - ldrb r2, [r1] - movs r7, 0x5 - negs r7, r7 - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1] - ldrb r0, [r6] - movs r5, 0x2 - eors r0, r5 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0811444E - ldrb r0, [r6] - eors r0, r5 - movs r1, 0x1 - eors r4, r1 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_80A438C - ldrb r0, [r6] - eors r0, r5 - add r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r7, 0 - ands r1, r2 - strb r1, [r0] -_0811444E: - mov r0, r10 - bl DestroyAnimVisualTask - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81143C0 - - thumb_func_start sub_8114470 -sub_8114470: @ 8114470 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - eors r0, r1 - negs r1, r0 - orrs r1, r0 - lsrs r5, r1, 31 - adds r0, r5, 0 - bl sub_80A477C - ldrb r1, [r4] - movs r0, 0x2 - eors r0, r1 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _081144AC - movs r0, 0x1 - eors r5, r0 - adds r0, r5, 0 - bl sub_80A477C -_081144AC: - adds r0, r6, 0 - bl DestroyAnimVisualTask - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8114470 - - thumb_func_start sub_81144BC -sub_81144BC: @ 81144BC - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrb r1, [r1, 0x4] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, =RunStoredCallbackWhenAnimEnds - str r0, [r4, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81144BC - - thumb_func_start sub_81144F8 -sub_81144F8: @ 81144F8 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - ldr r0, =gBattle_WIN0H - strh r6, [r0] - ldr r0, =gBattle_WIN0V - strh r6, [r0] - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, =0x00003f3d - movs r0, 0x4A - bl SetGpuReg - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000c08 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0811455C - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_0811455C: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _081145D6 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _081145D6 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0811458C - ldrb r0, [r4] - bl GetBattlerPosition - lsls r0, 24 - cmp r0, 0 - bne _081145D6 -_0811458C: - ldrb r0, [r4] - movs r5, 0x2 - eors r0, r5 - bl IsBattlerSpriteVisible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081145D6 - ldr r3, =gSprites - ldr r1, =gBattlerSpriteIds - ldrb r0, [r4] - eors r0, r5 - adds r0, r1 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrb r3, [r2, 0x5] - lsls r1, r3, 28 - lsrs r1, 30 - subs r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r6, 0x1 -_081145D6: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _08114614 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x18] - ldrh r5, [r0] - b _0811465C - .pool -_08114614: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08114640 - ldr r1, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - b _08114650 - .pool -_08114640: - ldr r1, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty -_08114650: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 -_0811465C: - movs r0, 0 - bl GetAnimBattlerSpriteId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A89C8 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, sp - bl sub_80A6B30 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_08C1D210 - bl sub_80A6D48 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_08C1D0AC - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80A6CC0 - ldr r0, =gUnknown_08C1D1E8 - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r2, =gBattle_BG1_X - ldr r0, =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x20] - negs r0, r0 - adds r0, 0x60 - strh r0, [r2] - ldr r2, =gBattle_BG1_Y - ldrh r0, [r1, 0x22] - negs r0, r0 - adds r0, 0x20 - strh r0, [r2] - ldrb r0, [r1, 0x5] - lsrs r0, 4 - adds r0, 0x10 - adds r1, r0, 0 - ldr r2, =gBattleAnimArgs - movs r3, 0x2 - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _08114708 - adds r0, r1, 0 - movs r1, 0 - bl SetGreyscaleOrOriginalPalette - b _08114714 - .pool -_08114708: - lsls r0, r1, 4 - ldrh r3, [r2, 0x4] - movs r1, 0x10 - movs r2, 0xB - bl BlendPalette -_08114714: - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - ldr r2, =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r0, 0xA] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0xC] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0xE] - strh r6, [r0, 0x14] - ldr r1, =sub_8114748 - str r1, [r0] - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81144F8 - - thumb_func_start sub_8114748 -sub_8114748: @ 8114748 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x1C] - adds r0, 0x4 - movs r5, 0 - strh r0, [r4, 0x1C] - ldr r2, =gBattle_BG1_X - ldrh r3, [r2] - subs r1, r3, 0x4 - strh r1, [r2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x80 - beq _08114776 - b _08114886 -_08114776: - strh r5, [r4, 0x1C] - adds r0, r3, 0 - adds r0, 0x7C - strh r0, [r2] - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _08114824 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1, 0x5] - lsrs r0, 4 - adds r0, 0x10 - adds r1, r0, 0 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _081147B8 - adds r0, r1, 0 - movs r1, 0x1 - bl SetGreyscaleOrOriginalPalette -_081147B8: - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - mov r0, sp - bl sub_80A6B30 - mov r0, sp - ldrb r0, [r0, 0x9] - bl sub_80A6C68 - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08114886 - ldr r2, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r1, [r0] - movs r0, 0x2 - eors r0, r1 - adds r0, r2 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r5 - ldrb r3, [r2, 0x5] - lsls r1, r3, 28 - lsrs r1, 30 - adds r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - b _08114886 - .pool -_08114824: - cmp r0, 0x3 - bne _08114886 - ldr r0, =gBattle_WIN0H - strh r5, [r0] - ldr r0, =gBattle_WIN0V - strh r5, [r0] - ldr r4, =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _08114856 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_08114856: - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - eors r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r6, 0 - bl DestroyAnimVisualTask -_08114886: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8114748 - - thumb_func_start sub_811489C -sub_811489C: @ 811489C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r0, =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - adds r2, r0, 0 - cmp r1, 0x7 - bhi _08114900 - lsls r0, r1, 2 - ldr r1, =_081148C4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081148C4: - .4byte _081148E4 - .4byte _081148E4 - .4byte _081148E4 - .4byte _081148E4 - .4byte _081148F0 - .4byte _081148F4 - .4byte _081148F8 - .4byte _081148FC -_081148E4: - ldrb r0, [r2] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r2, r0, 24 - b _08114902 -_081148F0: - movs r4, 0 - b _08114908 -_081148F4: - movs r4, 0x2 - b _08114908 -_081148F8: - movs r4, 0x1 - b _08114908 -_081148FC: - movs r4, 0x3 - b _08114908 -_08114900: - movs r2, 0xFF -_08114902: - movs r0, 0 - cmp r0, 0 - beq _0811492E -_08114908: - adds r0, r4, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0811492C - ldr r0, =gBattlerSpriteIds - adds r0, r4, r0 - ldrb r2, [r0] - b _0811492E - .pool -_0811492C: - movs r2, 0xFF -_0811492E: - cmp r2, 0xFF - beq _0811494A - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - ldr r1, =gBattleAnimArgs - ldrb r1, [r1, 0x2] - bl SetGreyscaleOrOriginalPalette -_0811494A: - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811489C - - thumb_func_start sub_8114960 -sub_8114960: @ 8114960 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gAnimMoveTurn - ldrb r0, [r2] - cmp r0, 0x1 - bhi _08114974 - ldr r1, =gBattleAnimArgs - movs r0, 0 - strh r0, [r1, 0xE] -_08114974: - ldrb r0, [r2] - cmp r0, 0x2 - bne _08114980 - ldr r1, =gBattleAnimArgs - movs r0, 0x1 - strh r0, [r1, 0xE] -_08114980: - adds r0, r3, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_8114960 - - .align 2, 0 diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 70786ab65..f6f09a87e 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -6455,7 +6455,7 @@ sub_811DE90: @ 811DE90 ldr r4, =gUnknown_08597CE8 _0811DEA2: adds r0, r4, 0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet adds r4, 0x8 adds r5, 0x1 cmp r5, 0x3 diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s deleted file mode 100644 index a361faa32..000000000 --- a/asm/fldeff_80F9BCC.s +++ /dev/null @@ -1,2514 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F9BCC -sub_80F9BCC: @ 80F9BCC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =sub_80F9C90 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80F9C44 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F9BCC - - thumb_func_start sub_80F9BF4 -sub_80F9BF4: @ 80F9BF4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =sub_80F9DFC - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80F9C44 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F9BF4 - - thumb_func_start sub_80F9C1C -sub_80F9C1C: @ 80F9C1C - push {lr} - ldr r0, =sub_80F9C90 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80F9C1C - - thumb_func_start sub_80F9C30 -sub_80F9C30: @ 80F9C30 - push {lr} - ldr r0, =sub_80F9DFC - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80F9C30 - - thumb_func_start sub_80F9C44 -sub_80F9C44: @ 80F9C44 - push {r4,r5,lr} - lsls r1, 16 - lsrs r4, r1, 16 - adds r5, r4, 0 - lsls r3, 24 - lsrs r3, 24 - adds r1, r3, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0 - strh r0, [r1, 0x8] - movs r0, 0x10 - cmp r4, 0 - beq _080F9C72 - adds r0, r4, 0 -_080F9C72: - strh r0, [r1, 0xA] - movs r0, 0x14 - cmp r5, 0 - beq _080F9C7C - adds r0, r5, 0 -_080F9C7C: - strh r0, [r1, 0xC] - ldr r1, [r1] - adds r0, r2, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F9C44 - - thumb_func_start sub_80F9C90 -sub_80F9C90: @ 80F9C90 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080F9D10 - cmp r0, 0x1 - bgt _080F9CB8 - cmp r0, 0 - beq _080F9CC2 - b _080F9DDE - .pool -_080F9CB8: - cmp r0, 0x2 - beq _080F9D32 - cmp r0, 0x3 - beq _080F9D94 - b _080F9DDE -_080F9CC2: - movs r0, 0x78 - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - movs r0, 0x50 - strh r0, [r4, 0x12] - movs r0, 0x51 - strh r0, [r4, 0x14] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x14] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - b _080F9DEE -_080F9D10: - movs r0, 0x50 - bl GetGpuReg - strh r0, [r4, 0x16] - movs r0, 0x54 - bl GetGpuReg - strh r0, [r4, 0x18] - movs r0, 0x50 - movs r1, 0xBF - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x10 - bl SetGpuReg - b _080F9DEE -_080F9D32: - ldrh r0, [r4, 0xE] - ldrh r1, [r4, 0xA] - subs r0, r1 - movs r5, 0 - strh r0, [r4, 0xE] - ldrh r2, [r4, 0x10] - adds r1, r2 - strh r1, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - ble _080F9D50 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xEF - ble _080F9D76 -_080F9D50: - strh r5, [r4, 0xE] - movs r0, 0xF0 - strh r0, [r4, 0x10] - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4, 0x16] - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - movs r2, 0 - bl BlendPalettes - ldr r0, =gPlttBufferFaded - strh r5, [r0] -_080F9D76: - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - movs r1, 0xE - ldrsh r0, [r4, r1] - b _080F9DD8 - .pool -_080F9D94: - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0xC] - subs r0, r1 - strh r0, [r4, 0x12] - ldrh r2, [r4, 0x14] - adds r1, r2 - strh r1, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - ble _080F9DB0 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _080F9DC2 -_080F9DB0: - movs r0, 0 - strh r0, [r4, 0x12] - movs r0, 0xA0 - strh r0, [r4, 0x14] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits -_080F9DC2: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x14] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] -_080F9DD8: - cmp r0, 0 - bne _080F9DF4 - b _080F9DEE -_080F9DDE: - ldrh r1, [r4, 0x16] - movs r0, 0x50 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyTask - b _080F9DF4 -_080F9DEE: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080F9DF4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F9C90 - - thumb_func_start sub_80F9DFC -sub_80F9DFC: @ 80F9DFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _080F9E38 - cmp r1, 0x1 - bgt _080F9E24 - cmp r1, 0 - beq _080F9E2E - b _080F9F2C - .pool -_080F9E24: - cmp r1, 0x2 - beq _080F9E86 - cmp r1, 0x3 - beq _080F9ED8 - b _080F9F2C -_080F9E2E: - ldr r0, =gPlttBufferFaded - strh r1, [r0] - b _080F9F4E - .pool -_080F9E38: - movs r1, 0 - strh r1, [r4, 0xE] - movs r0, 0xF0 - strh r0, [r4, 0x10] - strh r1, [r4, 0x12] - movs r0, 0xA0 - strh r0, [r4, 0x14] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x14] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - b _080F9F4E -_080F9E86: - ldrh r0, [r4, 0xC] - ldrh r2, [r4, 0x12] - adds r1, r0, r2 - strh r1, [r4, 0x12] - ldrh r2, [r4, 0x14] - subs r0, r2, r0 - strh r0, [r4, 0x14] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x4F - bgt _080F9EA4 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x51 - bgt _080F9EBC -_080F9EA4: - movs r0, 0x50 - strh r0, [r4, 0x12] - movs r0, 0x51 - strh r0, [r4, 0x14] - movs r0, 0x50 - movs r1, 0xBF - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x10 - bl SetGpuReg -_080F9EBC: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x14] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x50 - bne _080F9F54 - b _080F9F4E -_080F9ED8: - ldrh r0, [r4, 0xA] - ldrh r2, [r4, 0xE] - adds r1, r0, r2 - strh r1, [r4, 0xE] - ldrh r2, [r4, 0x10] - subs r0, r2, r0 - strh r0, [r4, 0x10] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x77 - bgt _080F9EF6 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - bgt _080F9F0C -_080F9EF6: - movs r0, 0x78 - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - subs r0, 0x79 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r1, =gPlttBufferFaded - movs r0, 0 - strh r0, [r1] -_080F9F0C: - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x78 - bne _080F9F54 - b _080F9F4E - .pool -_080F9F2C: - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyTask - b _080F9F54 -_080F9F4E: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080F9F54: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F9DFC - - thumb_func_start sub_80F9F5C -sub_80F9F5C: @ 80F9F5C - push {lr} - ldr r0, =gPlayerFacingPosition - ldr r1, =gMapHeader - ldr r1, [r1, 0x4] - bl sub_80E9608 - bl sub_80E8B6C - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F9F5C - - thumb_func_start sub_80F9F78 -sub_80F9F78: @ 80F9F78 - push {lr} - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _080F9FC0 - ldr r1, =gFieldEffectArguments - ldr r0, [r1, 0x4] - cmp r0, 0x2 - beq _080F9FAE - cmp r0, 0x2 - bgt _080F9FA0 - cmp r0, 0x1 - beq _080F9FA6 - b _080F9FFE - .pool -_080F9FA0: - cmp r0, 0x3 - beq _080F9FB6 - b _080F9FDC -_080F9FA6: - movs r0, 0x10 - str r0, [r1, 0x14] - movs r0, 0x28 - b _080F9FFC -_080F9FAE: - movs r0, 0x10 - str r0, [r1, 0x14] - movs r0, 0x8 - b _080F9FFC -_080F9FB6: - movs r0, 0x8 - negs r0, r0 - str r0, [r1, 0x14] - movs r0, 0x18 - b _080F9FFC -_080F9FC0: - ldr r1, =gFieldEffectArguments - ldr r0, [r1, 0x4] - cmp r0, 0x2 - beq _080F9FEA - cmp r0, 0x2 - bgt _080F9FD8 - cmp r0, 0x1 - beq _080F9FE2 - b _080F9FFE - .pool -_080F9FD8: - cmp r0, 0x3 - beq _080F9FEE -_080F9FDC: - cmp r0, 0x4 - beq _080F9FF8 - b _080F9FFE -_080F9FE2: - movs r0, 0x8 - str r0, [r1, 0x14] - movs r0, 0x28 - b _080F9FFC -_080F9FEA: - movs r0, 0x8 - b _080F9FFA -_080F9FEE: - movs r0, 0x8 - negs r0, r0 - str r0, [r1, 0x14] - movs r0, 0x18 - b _080F9FFC -_080F9FF8: - movs r0, 0x18 -_080F9FFA: - str r0, [r1, 0x14] -_080F9FFC: - str r0, [r1, 0x18] -_080F9FFE: - pop {r0} - bx r0 - thumb_func_end sub_80F9F78 - - thumb_func_start sub_80FA004 -sub_80FA004: @ 80FA004 - push {r4,lr} - bl sub_80E8BC8 - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x1 - beq _080FA0AE - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080FA0AE - ldr r4, =gPlayerFacingPosition - adds r1, r4, 0x2 - adds r0, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsSecretBaseCave - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FA070 - bl sub_80F9F5C - ldr r1, =gFieldCallback2 - ldr r0, =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, =gPostMenuFieldCallback - ldr r0, =sub_80FA0DC - b _080FA0C0 - .pool -_080FA070: - adds r0, r4, 0 - bl MetatileBehavior_IsSecretBaseTree - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FA0A0 - bl sub_80F9F5C - ldr r1, =gFieldCallback2 - ldr r0, =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, =gPostMenuFieldCallback - ldr r0, =sub_80FA1E8 - b _080FA0C0 - .pool -_080FA0A0: - adds r0, r4, 0 - bl MetatileBehavior_IsSecretBaseShrub - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FA0B2 -_080FA0AE: - movs r0, 0 - b _080FA0C4 -_080FA0B2: - bl sub_80F9F5C - ldr r1, =gFieldCallback2 - ldr r0, =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, =gPostMenuFieldCallback - ldr r0, =sub_80FA34C -_080FA0C0: - str r0, [r1] - movs r0, 0x1 -_080FA0C4: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FA004 - - thumb_func_start sub_80FA0DC -sub_80FA0DC: @ 80FA0DC - push {lr} - bl GetCursorSelectionMonId - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r0, =EventScript_275A86 - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA0DC - - thumb_func_start oei_sweet_scent -oei_sweet_scent: @ 80FA0FC - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =sub_80FA128 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end oei_sweet_scent - - thumb_func_start sub_80FA128 -sub_80FA128: @ 80FA128 - push {lr} - movs r0, 0xB - bl FieldEffectActiveListRemove - movs r0, 0x37 - bl FieldEffectStart - pop {r0} - bx r0 - thumb_func_end sub_80FA128 - - thumb_func_start sub_80FA13C -sub_80FA13C: @ 80FA13C - push {r4,lr} - bl sub_80F9F78 - ldr r0, =gUnknown_0858E600 - ldr r3, =gSprites - ldr r1, =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 23 - ldr r4, =gFieldEffectArguments - ldr r3, [r4, 0x14] - adds r1, r3 - lsls r1, 16 - asrs r1, 16 - ldrb r2, [r2] - ldr r3, [r4, 0x18] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x94 - bl CreateSprite - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FA13C - - thumb_func_start sub_80FA18C -sub_80FA18C: @ 80FA18C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x83 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, =sub_80FA1A8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA18C - - thumb_func_start sub_80FA1A8 -sub_80FA1A8: @ 80FA1A8 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x2E] - movs r3, 0x2E - ldrsh r0, [r1, r3] - cmp r0, 0x27 - bgt _080FA1C8 - adds r0, r2, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _080FA1D0 - bl sub_80E8D4C - b _080FA1D0 -_080FA1C8: - movs r0, 0 - strh r0, [r1, 0x2E] - ldr r0, =sub_80FA1D8 - str r0, [r1, 0x1C] -_080FA1D0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA1A8 - - thumb_func_start sub_80FA1D8 -sub_80FA1D8: @ 80FA1D8 - push {lr} - movs r1, 0x37 - bl FieldEffectStop - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80FA1D8 - - thumb_func_start sub_80FA1E8 -sub_80FA1E8: @ 80FA1E8 - push {lr} - bl GetCursorSelectionMonId - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r0, =EventScript_275ADF - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA1E8 - - thumb_func_start sub_80FA208 -sub_80FA208: @ 80FA208 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =sub_80FA234 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FA208 - - thumb_func_start sub_80FA234 -sub_80FA234: @ 80FA234 - push {lr} - movs r0, 0x1A - bl FieldEffectActiveListRemove - movs r0, 0x38 - bl FieldEffectStart - pop {r0} - bx r0 - thumb_func_end sub_80FA234 - - thumb_func_start sub_80FA248 -sub_80FA248: @ 80FA248 - push {r4,lr} - ldr r1, =gPlayerFacingPosition - movs r2, 0 - ldrsh r0, [r1, r2] - movs r2, 0x2 - ldrsh r1, [r1, r2] - bl MapGridGetMetatileBehaviorAt - adds r2, r0, 0 - ldr r1, =0x00000fff - adds r0, r1, 0 - ands r2, r0 - cmp r2, 0x96 - bne _080FA26A - ldr r1, =gFieldEffectArguments - movs r0, 0 - str r0, [r1, 0x1C] -_080FA26A: - cmp r2, 0x9C - bne _080FA274 - ldr r1, =gFieldEffectArguments - movs r0, 0x2 - str r0, [r1, 0x1C] -_080FA274: - bl sub_80F9F78 - ldr r0, =gUnknown_0858E618 - ldr r3, =gSprites - ldr r1, =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 23 - ldr r4, =gFieldEffectArguments - ldr r3, [r4, 0x14] - adds r1, r3 - lsls r1, 16 - asrs r1, 16 - ldrb r2, [r2] - ldr r3, [r4, 0x18] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x94 - bl CreateSprite - ldr r0, [r4, 0x1C] - cmp r0, 0x1 - beq _080FA2B2 - cmp r0, 0x3 - bne _080FA2B6 -_080FA2B2: - bl sub_80E8D4C -_080FA2B6: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FA248 - - thumb_func_start sub_80FA2D8 -sub_80FA2D8: @ 80FA2D8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x9B - bl PlaySE - ldr r0, =gFieldEffectArguments - ldr r1, [r0, 0x1C] - adds r2, r4, 0 - adds r2, 0x2A - movs r0, 0 - strb r1, [r2] - strh r0, [r4, 0x2E] - ldr r0, =sub_80FA304 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA2D8 - - thumb_func_start sub_80FA304 -sub_80FA304: @ 80FA304 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - ble _080FA32E - ldr r0, =gFieldEffectArguments - ldr r0, [r0, 0x1C] - cmp r0, 0 - beq _080FA322 - cmp r0, 0x2 - bne _080FA326 -_080FA322: - bl sub_80E8D4C -_080FA326: - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, =sub_80FA33C - str r0, [r4, 0x1C] -_080FA32E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA304 - - thumb_func_start sub_80FA33C -sub_80FA33C: @ 80FA33C - push {lr} - movs r1, 0x38 - bl FieldEffectStop - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80FA33C - - thumb_func_start sub_80FA34C -sub_80FA34C: @ 80FA34C - push {lr} - bl GetCursorSelectionMonId - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r0, =EventScript_275B38 - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA34C - - thumb_func_start sub_80FA36C -sub_80FA36C: @ 80FA36C - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =sub_80FA398 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FA36C - - thumb_func_start sub_80FA398 -sub_80FA398: @ 80FA398 - push {lr} - movs r0, 0x1B - bl FieldEffectActiveListRemove - movs r0, 0x39 - bl FieldEffectStart - pop {r0} - bx r0 - thumb_func_end sub_80FA398 - - thumb_func_start sub_80FA3AC -sub_80FA3AC: @ 80FA3AC - push {r4,lr} - bl sub_80F9F78 - ldr r0, =gUnknown_0858E630 - ldr r3, =gSprites - ldr r1, =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 23 - ldr r4, =gFieldEffectArguments - ldr r3, [r4, 0x14] - adds r1, r3 - lsls r1, 16 - asrs r1, 16 - ldrb r2, [r2] - ldr r3, [r4, 0x18] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x94 - bl CreateSprite - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FA3AC - - thumb_func_start sub_80FA3FC -sub_80FA3FC: @ 80FA3FC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xA9 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, =sub_80FA418 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA3FC - - thumb_func_start sub_80FA418 -sub_80FA418: @ 80FA418 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x2E] - movs r3, 0x2E - ldrsh r0, [r1, r3] - cmp r0, 0x27 - bgt _080FA438 - adds r0, r2, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _080FA440 - bl sub_80E8D4C - b _080FA440 -_080FA438: - movs r0, 0 - strh r0, [r1, 0x2E] - ldr r0, =sub_80FA448 - str r0, [r1, 0x1C] -_080FA440: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA418 - - thumb_func_start sub_80FA448 -sub_80FA448: @ 80FA448 - push {lr} - movs r1, 0x39 - bl FieldEffectStop - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80FA448 - - thumb_func_start sub_80FA458 -sub_80FA458: @ 80FA458 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - ldr r0, =sub_80FA4A0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - mov r0, sp - ldrh r0, [r0] - movs r2, 0 - strh r0, [r1, 0x8] - ldrh r0, [r4] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FA458 - - thumb_func_start sub_80FA4A0 -sub_80FA4A0: @ 80FA4A0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x4] - subs r0, 0x4 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bhi _080FA56E - lsls r0, 2 - ldr r1, =_080FA4D0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080FA4D0: - .4byte _080FA514 - .4byte _080FA56E - .4byte _080FA56E - .4byte _080FA56E - .4byte _080FA522 - .4byte _080FA56E - .4byte _080FA56E - .4byte _080FA56E - .4byte _080FA514 - .4byte _080FA56E - .4byte _080FA56E - .4byte _080FA56E - .4byte _080FA522 - .4byte _080FA56E - .4byte _080FA56E - .4byte _080FA56E - .4byte _080FA540 -_080FA514: - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r2, 0x89 - lsls r2, 2 - b _080FA52E -_080FA522: - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r2, 0x88 - lsls r2, 2 -_080FA52E: - bl MapGridSetMetatileIdAt - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - b _080FA56E -_080FA540: - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r2, 0x89 - lsls r2, 2 - bl MapGridSetMetatileIdAt - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - movs r0, 0x3D - bl FieldEffectActiveListRemove - bl EnableBothScriptContexts - adds r0, r5, 0 - bl DestroyTask - b _080FA574 -_080FA56E: - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] -_080FA574: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80FA4A0 - - thumb_func_start sub_80FA57C -sub_80FA57C: @ 80FA57C - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - movs r0, 0x3 - bl PlaySE - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - cmp r0, 0 - bne _080FA5B8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r2, 0xE2 - lsls r2, 4 - bl MapGridSetMetatileIdAt - b _080FA5C8 - .pool -_080FA5B8: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, =0x00000e21 - bl MapGridSetMetatileIdAt -_080FA5C8: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA57C - - thumb_func_start sub_80FA5E4 -sub_80FA5E4: @ 80FA5E4 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - ldr r0, =sub_80FA62C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r4, [r1, 0x8] - strh r5, [r1, 0xA] - strh r6, [r1, 0xC] - strh r0, [r1, 0xE] - movs r0, 0x1 - strh r0, [r1, 0x10] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA5E4 - - thumb_func_start sub_80FA62C -sub_80FA62C: @ 80FA62C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r1, [r4, 0x6] - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, 0x6 - bne _080FA650 - movs r0, 0 - b _080FA652 - .pool -_080FA650: - adds r0, r1, 0x1 -_080FA652: - strh r0, [r4, 0x6] - movs r3, 0x6 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _080FA6A4 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x2 - bne _080FA66C - movs r2, 0 - ldrsh r0, [r4, r2] - bl sub_80FA6AC -_080FA66C: - movs r3, 0x2 - ldrsh r0, [r4, r3] - movs r2, 0x4 - ldrsh r1, [r4, r2] - ldrh r2, [r4, 0x8] - ldrh r3, [r4] - adds r2, r3 - lsls r2, 16 - lsrs r2, 16 - bl MapGridSetMetatileIdAt - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r2, 0x4 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - ldrh r1, [r4, 0x8] - movs r3, 0x8 - ldrsh r0, [r4, r3] - cmp r0, 0x3 - bne _080FA6A0 - adds r0, r5, 0 - bl DestroyTask - b _080FA6A4 -_080FA6A0: - adds r0, r1, 0x1 - strh r0, [r4, 0x8] -_080FA6A4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80FA62C - - thumb_func_start sub_80FA6AC -sub_80FA6AC: @ 80FA6AC - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - movs r0, 0xCE - lsls r0, 2 - cmp r1, r0 - beq _080FA6D8 - cmp r1, r0 - bgt _080FA6C8 - movs r0, 0x8A - lsls r0, 2 - cmp r1, r0 - beq _080FA6F0 - b _080FA6F6 -_080FA6C8: - movs r0, 0xCF - lsls r0, 2 - cmp r1, r0 - beq _080FA6E0 - adds r0, 0x4 - cmp r1, r0 - beq _080FA6E8 - b _080FA6F6 -_080FA6D8: - movs r0, 0x4A - bl PlaySE - b _080FA6F6 -_080FA6E0: - movs r0, 0x4B - bl PlaySE - b _080FA6F6 -_080FA6E8: - movs r0, 0x4C - bl PlaySE - b _080FA6F6 -_080FA6F0: - movs r0, 0x4E - bl PlaySE -_080FA6F6: - pop {r0} - bx r0 - thumb_func_end sub_80FA6AC - - thumb_func_start sub_80FA6FC -sub_80FA6FC: @ 80FA6FC - movs r0, 0 - bx lr - thumb_func_end sub_80FA6FC - - thumb_func_start sub_80FA700 -sub_80FA700: @ 80FA700 - movs r0, 0 - bx lr - thumb_func_end sub_80FA700 - - thumb_func_start sub_80FA704 -sub_80FA704: @ 80FA704 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x4D - bl PlaySE - lsls r5, 16 - asrs r5, 16 - lsls r4, 16 - asrs r4, 16 - ldr r2, =0x00000276 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - subs r6, r4, 0x1 - ldr r2, =0x0000026e - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r6, 0 - bl CurrentMapDrawMetatileAt - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA704 - - thumb_func_start sub_80FA754 -sub_80FA754: @ 80FA754 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0x8] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0x7 - bne _080FA788 - movs r2, 0xA - ldrsh r0, [r1, r2] - movs r3, 0xC - ldrsh r1, [r1, r3] - bl sub_80FA704 - adds r0, r4, 0 - bl DestroyTask - b _080FA78C - .pool -_080FA788: - adds r0, r2, 0x1 - strh r0, [r1, 0x8] -_080FA78C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FA754 - - thumb_func_start sub_80FA794 -sub_80FA794: @ 80FA794 - push {r4-r7,lr} - lsls r0, 16 - lsrs r5, r0, 16 - adds r7, r5, 0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r6, r4, 0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FA7BC - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, r4, 16 - asrs r1, 16 - bl sub_80FA704 - b _080FA7DE -_080FA7BC: - cmp r0, 0x2 - bne _080FA7DE - ldr r0, =sub_80FA754 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r7, [r1, 0xA] - strh r6, [r1, 0xC] -_080FA7DE: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA794 - - thumb_func_start sub_80FA7EC -sub_80FA7EC: @ 80FA7EC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0xA] - movs r3, 0xA - ldrsh r0, [r1, r3] - cmp r0, 0x7 - beq _080FA808 - b _080FA966 -_080FA808: - ldr r2, =0xfffffd88 - adds r0, r2, 0 - ldrh r1, [r1, 0x8] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3B - bls _080FA81A - b _080FA95E -_080FA81A: - lsls r0, 2 - ldr r1, =_080FA830 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080FA830: - .4byte _080FA920 - .4byte _080FA928 - .4byte _080FA930 - .4byte _080FA938 - .4byte _080FA940 - .4byte _080FA948 - .4byte _080FA950 - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA95E - .4byte _080FA958 -_080FA920: - movs r0, 0x3E - bl PlaySE - b _080FA95E -_080FA928: - movs r0, 0x3F - bl PlaySE - b _080FA95E -_080FA930: - movs r0, 0x40 - bl PlaySE - b _080FA95E -_080FA938: - movs r0, 0x41 - bl PlaySE - b _080FA95E -_080FA940: - movs r0, 0x42 - bl PlaySE - b _080FA95E -_080FA948: - movs r0, 0x43 - bl PlaySE - b _080FA95E -_080FA950: - movs r0, 0x44 - bl PlaySE - b _080FA95E -_080FA958: - movs r0, 0x45 - bl PlaySE -_080FA95E: - adds r0, r4, 0 - bl DestroyTask - b _080FA96A -_080FA966: - adds r0, r2, 0x1 - strh r0, [r1, 0xA] -_080FA96A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FA7EC - - thumb_func_start sub_80FA970 -sub_80FA970: @ 80FA970 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =sub_80FA7EC - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r4, [r1, 0x8] - strh r0, [r1, 0xA] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA970 - - thumb_func_start sub_80FA9A4 -sub_80FA9A4: @ 80FA9A4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bne _080FA9BC - movs r0, 0xC3 - bl PlaySE -_080FA9BC: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1F - ble _080FA9CA - adds r0, r4, 0 - bl DestroySprite -_080FA9CA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FA9A4 - - thumb_func_start sub_80FA9D0 -sub_80FA9D0: @ 80FA9D0 - push {r4,lr} - sub sp, 0x4 - ldr r3, =gEventObjects - ldr r2, =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x10] - mov r0, sp - strh r1, [r0] - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x12] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x4 - bl sub_80930E0 - ldr r0, =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x58] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080FAA5E - ldr r3, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r4, r2, r3 - movs r0, 0x3E - adds r0, r4 - mov r12, r0 - ldrb r0, [r0] - movs r1, 0x2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - movs r1, 0xF - ands r0, r1 - movs r1, 0x50 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r3, 0x1C - adds r2, r3 - ldr r0, =sub_80FA9A4 - str r0, [r2] - movs r0, 0 - strh r0, [r4, 0x2E] -_080FAA5E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FA9D0 - - thumb_func_start sub_80FAA7C -sub_80FAA7C: @ 80FAA7C - push {r4,lr} - sub sp, 0x4 - bl ScriptContext2_Enable - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - ldr r1, =gFieldEffectArguments - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - str r0, [r1, 0x14] - movs r3, 0 - ldrsh r0, [r4, r3] - str r0, [r1, 0x18] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080FAAFC - cmp r0, 0x2 - bgt _080FAABC - cmp r0, 0x1 - beq _080FAAC6 - b _080FAB8C - .pool -_080FAABC: - cmp r0, 0x3 - beq _080FAB2C - cmp r0, 0x4 - beq _080FAB64 - b _080FAB8C -_080FAAC6: - ldr r0, =gUnknown_0858E68C - ldr r3, =gSprites - ldr r1, =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 7 - movs r3, 0x80 - lsls r3, 12 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2] - adds r2, 0x20 - movs r3, 0 - bl CreateSprite - b _080FAB8C - .pool -_080FAAFC: - ldr r0, =gUnknown_0858E68C - ldr r3, =gSprites - ldr r1, =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 7 - movs r3, 0x80 - lsls r3, 12 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2] - b _080FAB4C - .pool -_080FAB2C: - ldr r0, =gUnknown_0858E68C - ldr r3, =gSprites - ldr r1, =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 7 - ldr r3, =0xfff80000 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2] - adds r2, 0x10 -_080FAB4C: - movs r3, 0x94 - bl CreateSprite - b _080FAB8C - .pool -_080FAB64: - ldr r0, =gUnknown_0858E68C - ldr r3, =gSprites - ldr r1, =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 7 - movs r3, 0xC0 - lsls r3, 13 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2] - adds r2, 0x10 - movs r3, 0x94 - bl CreateSprite -_080FAB8C: - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FAA7C - - thumb_func_start door_restore_tilemap -door_restore_tilemap: @ 80FABA4 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x83 - bl PlaySE - ldr r4, =gFieldEffectArguments - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - subs r1, 0x1 - bl MapGridGetMetatileIdAt - ldr r1, =0x00000286 - cmp r0, r1 - bne _080FABDC - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - subs r1, 0x1 - ldr r2, =0x00000e02 - bl MapGridSetMetatileIdAt - b _080FABEA - .pool -_080FABDC: - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - subs r1, 0x1 - movs r2, 0xA1 - lsls r2, 2 - bl MapGridSetMetatileIdAt -_080FABEA: - ldr r4, =gFieldEffectArguments - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - ldr r2, =0x0000020a - bl MapGridSetMetatileIdAt - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - subs r1, 0x1 - bl CurrentMapDrawMetatileAt - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - bl CurrentMapDrawMetatileAt - movs r0, 0 - strh r0, [r5, 0x2E] - ldr r0, =sub_80FAC24 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end door_restore_tilemap - - thumb_func_start sub_80FAC24 -sub_80FAC24: @ 80FAC24 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0x11 - bgt _080FAC38 - adds r0, r1, 0x1 - strh r0, [r5, 0x2E] - b _080FAC54 -_080FAC38: - ldr r4, =gFieldEffectArguments - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - ldr r2, =0x00000e8c - bl MapGridSetMetatileIdAt - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - bl CurrentMapDrawMetatileAt - movs r0, 0 - strh r0, [r5, 0x2E] - ldr r0, =sub_80FAC68 - str r0, [r5, 0x1C] -_080FAC54: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FAC24 - - thumb_func_start sub_80FAC68 -sub_80FAC68: @ 80FAC68 - push {lr} - movs r1, 0x34 - bl FieldEffectStop - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80FAC68 - - thumb_func_start sub_80FAC78 -sub_80FAC78: @ 80FAC78 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, =0x000002f5 - cmp r1, r0 - beq _080FAD6C - cmp r1, r0 - bgt _080FACB4 - subs r0, 0x17 - cmp r1, r0 - beq _080FAD14 - adds r0, 0x16 - cmp r1, r0 - beq _080FAD60 - b _080FADCE - .pool -_080FACB4: - ldr r0, =0x000002f6 - cmp r1, r0 - beq _080FADA4 - adds r0, 0x40 - cmp r1, r0 - beq _080FACC2 - b _080FADCE -_080FACC2: - ldr r0, =gStringVar1 - movs r1, 0x64 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, =gStringVar2 - ldr r1, =gText_Gold - bl StringCopy - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080FADCE - ldr r4, =0x000040ee - adds r0, r4, 0 - bl VarGet - adds r1, r0, 0 - movs r0, 0x10 - b _080FAD8A - .pool -_080FAD14: - ldr r0, =gStringVar1 - movs r1, 0x32 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, =gStringVar2 - ldr r1, =gText_Silver - bl StringCopy - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080FADCE - ldr r4, =0x000040ee - adds r0, r4, 0 - bl VarGet - adds r1, r0, 0 - movs r0, 0x20 - b _080FAD8A - .pool -_080FAD60: - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - b _080FAD70 - .pool -_080FAD6C: - ldr r1, =gSpecialVar_Result - movs r0, 0x2 -_080FAD70: - strh r0, [r1] - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080FADCE - ldr r4, =0x000040ee - adds r0, r4, 0 - bl VarGet - adds r1, r0, 0 - movs r0, 0x80 -_080FAD8A: - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet - b _080FADCE - .pool -_080FADA4: - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - strh r0, [r1] - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080FADCE - ldr r4, =0x000040ee - adds r0, r4, 0 - bl VarGet - adds r1, r0, 0 - movs r0, 0x80 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet -_080FADCE: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FAC78 - - thumb_func_start sub_80FADE4 -sub_80FADE4: @ 80FADE4 - push {r4-r6,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, r4, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl CurrentMapIsSecretBase - lsls r0, 24 - cmp r0, 0 - beq _080FAE28 - cmp r5, 0 - bne _080FAE1C - ldr r1, =0xfffffd7b - adds r0, r4, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _080FAE10 - ldr r0, =0x00000237 - cmp r4, r0 - bne _080FAE28 -_080FAE10: - movs r0, 0x1 - b _080FAE2A - .pool -_080FAE1C: - ldr r0, =0x0000028d - cmp r4, r0 - beq _080FAE10 - ldr r0, =0x0000023f - cmp r6, r0 - beq _080FAE10 -_080FAE28: - movs r0, 0 -_080FAE2A: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FADE4 - - thumb_func_start task50_overworld_poison_effect -task50_overworld_poison_effect: @ 80FAE38 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r1, r0, r1 - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0x1 - beq _080FAE76 - cmp r0, 0x1 - bgt _080FAE60 - cmp r0, 0 - beq _080FAE66 - b _080FAE92 - .pool -_080FAE60: - cmp r0, 0x2 - beq _080FAE8A - b _080FAE92 -_080FAE66: - ldrh r0, [r1, 0x2] - adds r0, 0x2 - strh r0, [r1, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080FAE92 - b _080FAE82 -_080FAE76: - ldrh r0, [r1, 0x2] - subs r0, 0x2 - strh r0, [r1, 0x2] - lsls r0, 16 - cmp r0, 0 - bne _080FAE92 -_080FAE82: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080FAE92 -_080FAE8A: - adds r0, r2, 0 - bl DestroyTask - b _080FAEA2 -_080FAE92: - ldrh r0, [r1, 0x2] - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg -_080FAEA2: - pop {r0} - bx r0 - thumb_func_end task50_overworld_poison_effect - - thumb_func_start FldeffPoison_Start -FldeffPoison_Start: @ 80FAEA8 - push {lr} - movs r0, 0x4F - bl PlaySE - ldr r0, =task50_overworld_poison_effect - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end FldeffPoison_Start - - thumb_func_start FieldPoisonEffectIsRunning -FieldPoisonEffectIsRunning: @ 80FAEC0 - push {lr} - ldr r0, =task50_overworld_poison_effect - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end FieldPoisonEffectIsRunning - - thumb_func_start sub_80FAED4 -sub_80FAED4: @ 80FAED4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_80FAEF0 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_80FAED4 - - thumb_func_start sub_80FAEF0 -sub_80FAEF0: @ 80FAEF0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl EventObjectIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _080FAF1C - adds r0, r4, 0 - bl EventObjectClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080FAF4E -_080FAF1C: - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl sub_808C228 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetWalkInPlaceNormalMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl EventObjectSetHeldMovement - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80FAF64 - str r1, [r0] -_080FAF4E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FAEF0 - - thumb_func_start sub_80FAF64 -sub_80FAF64: @ 80FAF64 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r5, r0, r1 - adds r0, r5, 0 - bl EventObjectClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080FAFC8 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0xA] - adds r1, r0, 0x1 - strh r1, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bgt _080FAFC4 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetWalkInPlaceNormalMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl EventObjectSetHeldMovement - b _080FAFC8 - .pool -_080FAFC4: - ldr r0, =sub_80FAFD4 - str r0, [r2] -_080FAFC8: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FAF64 - - thumb_func_start sub_80FAFD4 -sub_80FAFD4: @ 80FAFD4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_808BCD0 - lsls r0, 24 - lsrs r0, 24 - bl SetPlayerAvatarTransitionFlags - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FAFD4 - - thumb_func_start sub_80FAFF8 -sub_80FAFF8: @ 80FAFF8 - push {lr} - ldr r0, =sub_80FAED4 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FAFF8 - - thumb_func_start CreateRecordMixingSprite -CreateRecordMixingSprite: @ 80FB00C - push {r4,r5,lr} - ldr r0, =gUnknown_0858E864 - bl LoadSpritePalette - ldr r0, =gUnknown_0858E880 - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _080FB06C - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r1, =gSprites - adds r4, r0, r1 - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - movs r0, 0x10 - movs r1, 0xD - bl sub_8092FF0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x20] - adds r0, 0x10 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x22] - adds r0, 0x2 - strh r0, [r4, 0x22] - adds r0, r5, 0 - b _080FB06E - .pool -_080FB06C: - movs r0, 0x40 -_080FB06E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end CreateRecordMixingSprite - - thumb_func_start DestroyRecordMixingSprite -DestroyRecordMixingSprite: @ 80FB074 - push {r4-r7,lr} - ldr r4, =gSprites - adds r7, r4, 0 - movs r6, 0 - movs r5, 0x3F -_080FB07E: - adds r0, r7, 0 - adds r0, 0x14 - adds r0, r6, r0 - ldr r1, [r0] - ldr r0, =gUnknown_0858E880 - cmp r1, r0 - bne _080FB098 - adds r0, r4, 0 - bl FreeSpritePalette - adds r0, r4, 0 - bl DestroySprite -_080FB098: - adds r4, 0x44 - adds r6, 0x44 - subs r5, 0x1 - cmp r5, 0 - bge _080FB07E - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DestroyRecordMixingSprite - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/flying.s b/asm/flying.s index dd6ca32ae..c8010106a 100644 --- a/asm/flying.s +++ b/asm/flying.s @@ -10,7 +10,7 @@ sub_810DE70: @ 810DE70 push {r4,lr} adds r4, r0, 0 movs r1, 0 - bl sub_80A6980 + bl InitSpritePosToAnimTarget ldrh r0, [r4, 0x22] adds r0, 0x14 strh r0, [r4, 0x22] @@ -163,7 +163,7 @@ sub_810DFA8: @ 810DFA8 push {r4-r6,lr} adds r6, r0, 0 movs r1, 0x1 - bl InitAnimSpritePos + bl InitSpritePosToAnimAttacker ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -216,7 +216,7 @@ _0810DFC8: sub_810E028: @ 810E028 push {r4,lr} adds r4, r0, 0 - bl TranslateAnimLinear + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _0810E03C @@ -342,7 +342,7 @@ sub_810E13C: @ 810E13C push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl InitAnimSpritePos + bl InitSpritePosToAnimAttacker ldr r1, =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x2E] @@ -471,7 +471,7 @@ sub_810E24C: @ 810E24C movs r0, 0x1 strh r0, [r4, 0x2E] adds r0, r4, 0 - bl TranslateAnimLinear + bl AnimTranslateLinear ldrh r1, [r4, 0x34] lsrs r0, r1, 8 cmp r0, 0xC8 @@ -655,7 +655,7 @@ _0810E354: cmp r0, 0 bne _0810E3F0 adds r0, r6, 0 - bl sub_80A8328 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r0, 24 adds r0, 0x1 @@ -672,7 +672,7 @@ _0810E354: .pool _0810E3F0: adds r0, r6, 0 - bl sub_80A8328 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -718,7 +718,7 @@ _0810E408: b _0810E4A2 _0810E44A: adds r0, r6, 0 - bl sub_80A8328 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -1535,7 +1535,7 @@ sub_810EA4C: @ 810EA4C adds r4, r0, 0 ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl sub_80A8328 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -1577,13 +1577,13 @@ sub_810EAA0: @ 810EAA0 bne _0810EABC adds r0, r5, 0 movs r1, 0 - bl InitAnimSpritePos + bl InitSpritePosToAnimAttacker b _0810EAC4 .pool _0810EABC: adds r0, r5, 0 movs r1, 0 - bl sub_80A6980 + bl InitSpritePosToAnimTarget _0810EAC4: ldr r4, =gBattleAnimArgs movs r2, 0x4 @@ -1771,7 +1771,7 @@ sub_810EC34: @ 810EC34 _0810EC46: adds r0, r4, 0 movs r1, 0x1 - bl InitAnimSpritePos + bl InitSpritePosToAnimAttacker movs r0, 0 bl GetAnimBattlerSpriteId ldr r2, =gSprites @@ -1891,7 +1891,7 @@ sub_810ED28: @ 810ED28 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl InitAnimSpritePos + bl InitSpritePosToAnimAttacker ldr r1, =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x2E] diff --git a/asm/ice.s b/asm/ice.s deleted file mode 100644 index 3187d3110..000000000 --- a/asm/ice.s +++ /dev/null @@ -1,2944 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_810B614 -sub_810B614: @ 810B614 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, =gUnknown_085956C0 - movs r2, 0x22 - ldrsh r1, [r4, r2] - movs r3, 0x24 - ldrsh r2, [r4, r3] - ldrh r3, [r4, 0x20] - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0810B658 - ldr r3, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r1, r0, r1 - ldr r2, =sub_810B684 - str r2, [r1] - adds r0, r3 - strh r5, [r0, 0x3A] - movs r1, 0xA - strh r1, [r0, 0x3C] - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] -_0810B658: - ldrh r2, [r4, 0x24] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r3, 0x26 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _0810B67C - adds r0, r2, 0 - adds r0, 0x20 - strh r0, [r4, 0x24] - movs r0, 0 - b _0810B67E - .pool -_0810B67C: - movs r0, 0x1 -_0810B67E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_810B614 - - thumb_func_start sub_810B684 -sub_810B684: @ 810B684 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0810B6B8 - ldr r3, =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_0810B6B8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810B684 - - thumb_func_start sub_810B6C4 -sub_810B6C4: @ 810B6C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x7 - ldr r3, =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r0, [r4] - movs r1, 0x3 - str r3, [sp] - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x2E] - ldrh r0, [r1] - ldr r3, [sp] - adds r0, r3 - strh r0, [r5, 0x30] - ldrh r0, [r1, 0x4] - mov r4, r9 - adds r0, r4, r0 - strh r0, [r5, 0x32] - ldrh r0, [r1, 0x2] - adds r0, r6 - strh r0, [r5, 0x34] - ldrh r0, [r1, 0x6] - mov r7, r8 - adds r0, r7, r0 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_80A64EC - adds r4, 0x20 - movs r0, 0x98 - lsls r0, 1 - mov r12, r0 - ldr r3, [sp] - cmp r4, r12 - bhi _0810B79E - adds r0, r7, 0 - adds r0, 0x20 - ldrh r1, [r5, 0x30] - ldrh r2, [r5, 0x32] - cmp r0, 0xE0 - bhi _0810B79E - adds r4, r1, 0 - mov r10, r12 -_0810B76A: - mov r7, r9 - lsls r1, r7, 16 - asrs r1, 16 - adds r1, r4 - lsls r1, 16 - mov r7, r8 - lsls r0, r7, 16 - asrs r0, 16 - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsrs r0, r1, 16 - mov r9, r0 - movs r7, 0x80 - lsls r7, 14 - adds r1, r7 - lsrs r1, 16 - cmp r1, r10 - bhi _0810B79E - mov r1, r8 - lsls r0, r1, 16 - adds r0, r7 - lsrs r0, 16 - cmp r0, 0xE0 - bls _0810B76A -_0810B79E: - ldrh r0, [r5, 0x30] - negs r7, r0 - strh r7, [r5, 0x30] - ldrh r0, [r5, 0x32] - negs r4, r0 - strh r4, [r5, 0x32] - lsls r0, r3, 16 - movs r1, 0x80 - lsls r1, 14 - adds r0, r1 - lsrs r0, 16 - movs r2, 0x98 - lsls r2, 1 - mov r12, r2 - ldr r1, =gBattleAnimArgs - mov r10, r1 - cmp r0, r12 - bhi _0810B80A - lsls r1, r6, 16 - movs r2, 0x80 - lsls r2, 14 - adds r0, r1, r2 - b _0810B802 - .pool -_0810B7E0: - lsls r1, r3, 16 - asrs r1, 16 - adds r1, r7 - lsls r1, 16 - asrs r0, r2, 16 - adds r0, r4 - lsls r0, 16 - lsrs r6, r0, 16 - lsrs r3, r1, 16 - movs r0, 0x80 - lsls r0, 14 - adds r1, r0 - lsrs r1, 16 - cmp r1, r12 - bhi _0810B80A - lsls r1, r6, 16 - adds r0, r1, r0 -_0810B802: - lsrs r0, 16 - adds r2, r1, 0 - cmp r0, 0xE0 - bls _0810B7E0 -_0810B80A: - strh r3, [r5, 0x20] - strh r6, [r5, 0x22] - mov r1, r10 - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x2E] - strh r3, [r5, 0x30] - mov r2, r9 - strh r2, [r5, 0x32] - strh r6, [r5, 0x34] - mov r3, r8 - strh r3, [r5, 0x36] - adds r0, r5, 0 - bl sub_80A64EC - mov r7, r10 - ldrh r0, [r7, 0xA] - strh r0, [r5, 0x34] - ldrh r0, [r7, 0xC] - strh r0, [r5, 0x36] - ldr r0, =sub_810B848 - str r0, [r5, 0x1C] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810B6C4 - - thumb_func_start sub_810B848 -sub_810B848: @ 810B848 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0810B8A0 - ldrh r1, [r4, 0x30] - ldrh r2, [r4, 0x38] - adds r1, r2 - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x3A] - adds r0, r2 - strh r0, [r4, 0x3A] - strh r1, [r4, 0x24] - strh r0, [r4, 0x26] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x3C] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3C] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - b _0810B8A6 -_0810B8A0: - adds r0, r4, 0 - bl DestroyAnimSprite -_0810B8A6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810B848 - - thumb_func_start sub_810B8AC -sub_810B8AC: @ 810B8AC - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x2E] - movs r0, 0x3C - strh r0, [r4, 0x30] - movs r0, 0x9 - strh r0, [r4, 0x32] - movs r0, 0x1E - strh r0, [r4, 0x34] - movs r0, 0xFE - lsls r0, 8 - strh r0, [r4, 0x36] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r1, =TranslateSpriteInGrowingCircleOverDuration - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810B8AC - - thumb_func_start sub_810B8EC -sub_810B8EC: @ 810B8EC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810B92C - ldr r0, =gBattleAnimArgs - ldrh r1, [r4, 0x32] - ldrh r0, [r0, 0x4] - subs r1, r0 - strh r1, [r4, 0x32] - b _0810B936 - .pool -_0810B92C: - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] -_0810B936: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r1, =gBattleAnimArgs - lsrs r0, 24 - ldrh r2, [r1, 0x6] - adds r0, r2 - strh r0, [r4, 0x36] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x2E] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =StartAnimLinearTranslation - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810B8EC - - thumb_func_start sub_810B974 -sub_810B974: @ 810B974 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0810B990 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80A6980 - b _0810B9C6 - .pool -_0810B990: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - movs r1, 0x1 - bl SetAverageBattlerPositions - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810B9B6 - ldrh r0, [r5] - negs r0, r0 - strh r0, [r5] -_0810B9B6: - ldrh r0, [r5] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] -_0810B9C6: - ldr r1, =sub_810B9E8 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =RunStoredCallbackWhenAffineAnimEnds - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810B974 - - thumb_func_start sub_810B9E8 -sub_810B9E8: @ 810B9E8 - push {lr} - adds r3, r0, 0 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _0810BA1E - adds r0, r3, 0 - bl DestroySpriteAndMatrix -_0810BA1E: - pop {r0} - bx r0 - thumb_func_end sub_810B9E8 - - thumb_func_start sub_810BA24 -sub_810BA24: @ 810BA24 - push {r4-r7,lr} - sub sp, 0x10 - adds r5, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r6, =gBattleAnimArgs - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - movs r1, 0xA - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0810BA74 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x6] - adds r0, r6 - strh r0, [r5, 0x36] - b _0810BA86 - .pool -_0810BA74: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r5, 0 - adds r2, 0x32 - adds r3, r5, 0 - adds r3, 0x36 - movs r1, 0x1 - bl SetAverageBattlerPositions -_0810BA86: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810BAAC - ldr r0, =gBattleAnimArgs - ldrh r1, [r5, 0x32] - ldrh r0, [r0, 0x4] - subs r1, r0 - strh r1, [r5, 0x32] - b _0810BAB6 - .pool -_0810BAAC: - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - ldrh r2, [r5, 0x32] - adds r0, r2 - strh r0, [r5, 0x32] -_0810BAB6: - adds r7, r5, 0 - adds r7, 0x2E - adds r2, r7, 0 - mov r1, sp - movs r4, 0x7 -_0810BAC0: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _0810BAC0 - adds r0, r5, 0 - bl sub_80A7160 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - eors r0, r1 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - eors r0, r1 - strh r0, [r5, 0x32] -_0810BAE2: - movs r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r5, 0 - bl sub_80A70E8 - movs r0, 0x20 - ldrsh r1, [r5, r0] - movs r2, 0x24 - ldrsh r0, [r5, r2] - adds r1, r0 - adds r1, 0x10 - movs r0, 0x88 - lsls r0, 1 - cmp r1, r0 - bhi _0810BB16 - movs r0, 0x22 - ldrsh r1, [r5, r0] - movs r2, 0x26 - ldrsh r0, [r5, r2] - adds r1, r0 - cmp r1, 0xA0 - bgt _0810BB16 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _0810BAE2 -_0810BB16: - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - ldr r6, =sub_80A718C - ldr r1, =sub_810BB60 - mov r3, sp - adds r2, r7, 0 - movs r4, 0x7 -_0810BB36: - ldrh r0, [r3] - strh r0, [r2] - adds r3, 0x2 - adds r2, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _0810BB36 - str r6, [r5, 0x1C] - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810BA24 - - thumb_func_start sub_810BB60 -sub_810BB60: @ 810BB60 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r5, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r5, [r4, 0x26] - strh r5, [r4, 0x24] - movs r0, 0x80 - strh r0, [r4, 0x2E] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - ldr r1, =0x0000ffec - cmp r0, 0 - beq _0810BB90 - movs r1, 0x14 -_0810BB90: - movs r2, 0x2E - ldrsh r0, [r4, r2] - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x34] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0xF - bl Cos - strh r0, [r4, 0x36] - strh r5, [r4, 0x38] - ldr r1, =sub_810BBC8 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810BB60 - - thumb_func_start sub_810BBC8 -sub_810BBC8: @ 810BBC8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - ldr r1, =0x0000ffec - cmp r0, 0 - beq _0810BBDE - movs r1, 0x14 -_0810BBDE: - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0x1F - bgt _0810BC24 - movs r2, 0x2E - ldrsh r0, [r4, r2] - lsls r1, 16 - asrs r1, 16 - bl Sin - ldrh r1, [r4, 0x34] - subs r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0xF - bl Cos - ldrh r1, [r4, 0x36] - subs r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x10 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - b _0810BC42 - .pool -_0810BC24: - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x26] - strh r1, [r4, 0x24] - strh r1, [r4, 0x36] - strh r1, [r4, 0x34] - ldr r0, =sub_810BC4C - str r0, [r4, 0x1C] -_0810BC42: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810BBC8 - - thumb_func_start sub_810BC4C -sub_810BC4C: @ 810BC4C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_80A70E8 - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - adds r0, 0x10 - movs r1, 0x88 - lsls r1, 1 - cmp r0, r1 - bhi _0810BC88 - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r1, r0, r1 - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bgt _0810BC88 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _0810BC8E -_0810BC88: - adds r0, r4, 0 - bl DestroyAnimSprite -_0810BC8E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810BC4C - - thumb_func_start sub_810BC94 -sub_810BC94: @ 810BC94 - push {r4-r7,lr} - sub sp, 0x10 - adds r5, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0810BCE0 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - b _0810BCF2 - .pool -_0810BCE0: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r5, 0 - adds r2, 0x32 - adds r3, r5, 0 - adds r3, 0x36 - movs r1, 0x1 - bl SetAverageBattlerPositions -_0810BCF2: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810BD1C - ldr r0, =gBattleAnimArgs - ldrh r1, [r5, 0x32] - ldrh r2, [r0, 0x4] - subs r1, r2 - strh r1, [r5, 0x32] - adds r1, r0, 0 - b _0810BD26 - .pool -_0810BD1C: - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - ldrh r2, [r5, 0x32] - adds r0, r2 - strh r0, [r5, 0x32] -_0810BD26: - ldrh r0, [r1, 0x6] - ldrh r1, [r5, 0x36] - adds r0, r1 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_80A7160 - adds r7, r5, 0 - adds r7, 0x2E - adds r2, r7, 0 - mov r1, sp - movs r4, 0x7 -_0810BD3E: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _0810BD3E - ldrh r0, [r5, 0x30] - movs r1, 0x1 - eors r0, r1 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - eors r0, r1 - strh r0, [r5, 0x32] -_0810BD5A: - movs r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r5, 0 - bl sub_80A70E8 - movs r2, 0x20 - ldrsh r1, [r5, r2] - movs r2, 0x24 - ldrsh r0, [r5, r2] - adds r1, r0 - adds r1, 0x10 - movs r0, 0x88 - lsls r0, 1 - cmp r1, r0 - bhi _0810BD8E - movs r0, 0x22 - ldrsh r1, [r5, r0] - movs r2, 0x26 - ldrsh r0, [r5, r2] - adds r1, r0 - cmp r1, 0xA0 - bgt _0810BD8E - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _0810BD5A -_0810BD8E: - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - ldr r1, =gBattleAnimArgs - ldr r6, =sub_810BDD8 - mov r3, sp - adds r2, r7, 0 - movs r4, 0x7 -_0810BDAE: - ldrh r0, [r3] - strh r0, [r2] - adds r3, 0x2 - adds r2, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _0810BDAE - ldrh r0, [r1, 0xA] - strh r0, [r5, 0x38] - ldrh r0, [r1, 0xC] - strh r0, [r5, 0x3A] - str r6, [r5, 0x1C] - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810BC94 - - thumb_func_start sub_810BDD8 -sub_810BDD8: @ 810BDD8 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A70E8 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810BDEC - movs r0, 0x1 - strh r0, [r4, 0x2E] -_0810BDEC: - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3A] - ldrh r2, [r4, 0x3C] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3C] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _0810BE42 - movs r2, 0x20 - ldrsh r0, [r4, r2] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - adds r0, 0x10 - movs r1, 0x88 - lsls r1, 1 - cmp r0, r1 - bhi _0810BE3C - movs r0, 0x22 - ldrsh r1, [r4, r0] - movs r2, 0x26 - ldrsh r0, [r4, r2] - adds r1, r0 - cmp r1, 0xA0 - bgt _0810BE3C - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _0810BE42 -_0810BE3C: - adds r0, r4, 0 - bl DestroyAnimSprite -_0810BE42: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810BDD8 - - thumb_func_start sub_810BE48 -sub_810BE48: @ 810BE48 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810BEB4 - ldr r5, =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0810BE6C - adds r0, r4, 0 - movs r1, 0 - bl sub_80A6980 - b _0810BEA2 - .pool -_0810BE6C: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - movs r1, 0 - bl SetAverageBattlerPositions - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810BE92 - ldrh r0, [r5] - negs r0, r0 - strh r0, [r5] -_0810BE92: - ldrh r0, [r5] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] -_0810BEA2: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0810BEC8 - .pool -_0810BEB4: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0810BEC8 - adds r0, r4, 0 - bl DestroyAnimSprite -_0810BEC8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_810BE48 - - thumb_func_start sub_810BED0 -sub_810BED0: @ 810BED0 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, =gBattleAnimArgs - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0810BF40 - movs r1, 0xA - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0810BEF4 - adds r0, r5, 0 - movs r1, 0 - bl InitAnimSpritePos - b _0810BF32 - .pool -_0810BEF4: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - adds r2, r5, 0 - adds r2, 0x20 - adds r3, r5, 0 - adds r3, 0x22 - movs r1, 0 - bl SetAverageBattlerPositions - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810BF20 - ldrh r0, [r5, 0x20] - ldrh r1, [r6] - subs r0, r1 - b _0810BF26 - .pool -_0810BF20: - ldrh r0, [r6] - ldrh r1, [r5, 0x20] - adds r0, r1 -_0810BF26: - strh r0, [r5, 0x20] - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] -_0810BF32: - ldr r0, =gBattleAnimAttacker - b _0810BF90 - .pool -_0810BF40: - movs r1, 0xA - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0810BF52 - adds r0, r5, 0 - movs r1, 0 - bl sub_80A6980 - b _0810BF8E -_0810BF52: - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - adds r2, r5, 0 - adds r2, 0x20 - adds r3, r5, 0 - adds r3, 0x22 - movs r1, 0 - bl SetAverageBattlerPositions - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810BF7C - ldrh r0, [r5, 0x20] - ldrh r1, [r6] - subs r0, r1 - b _0810BF82 - .pool -_0810BF7C: - ldrh r0, [r6] - ldrh r1, [r5, 0x20] - adds r0, r1 -_0810BF82: - strh r0, [r5, 0x20] - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] -_0810BF8E: - ldr r0, =gBattleAnimTarget -_0810BF90: - ldrb r0, [r0] - strh r0, [r5, 0x3C] - ldr r0, =gBattleAnimArgs - movs r1, 0xA - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0810BFA8 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0810BFB4 -_0810BFA8: - movs r0, 0x20 - b _0810BFB6 - .pool -_0810BFB4: - movs r0, 0x40 -_0810BFB6: - strh r0, [r5, 0x3A] - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0810BFCC - ldrh r0, [r5, 0x22] - adds r0, 0x8 - strh r0, [r5, 0x22] -_0810BFCC: - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrh r1, [r1, 0x4] - adds r0, r1 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl InitAnimLinearTranslation - movs r0, 0x40 - strh r0, [r5, 0x38] - ldr r1, =sub_810C008 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810BED0 - - thumb_func_start sub_810C008 -sub_810C008: @ 810C008 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - bne _0810C092 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r1, 0x6 - negs r1, r1 - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7F - bhi _0810C064 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A8328 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - b _0810C086 -_0810C064: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A8328 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x5] -_0810C086: - ldrh r0, [r4, 0x38] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _0810C098 -_0810C092: - adds r0, r4, 0 - bl DestroyAnimSprite -_0810C098: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810C008 - - thumb_func_start sub_810C0A0 -sub_810C0A0: @ 810C0A0 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810C0E2 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_0810C0E2: - ldr r0, =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r4, =gBattle_BG1_Y - strh r1, [r4] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x16 - bl SetGpuReg - mov r0, sp - bl sub_80A6B30 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gWeatherFog1Tiles - movs r2, 0x80 - lsls r2, 4 - mov r3, sp - ldrh r3, [r3, 0xA] - bl LoadBgTiles - ldr r1, =gBattleAnimFogTilemap - mov r0, sp - movs r2, 0 - bl sub_80A6D60 - ldr r0, =gUnknown_083970E8 - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_810C164 - str r1, [r0] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810C0A0 - - thumb_func_start sub_810C164 -sub_810C164: @ 810C164 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gBattle_BG1_X - ldr r2, =0x0000ffff - adds r0, r2, 0 - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x20 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bls _0810C18E - b _0810C2DA -_0810C18E: - lsls r0, 2 - ldr r1, =_0810C1A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0810C1A8: - .4byte _0810C1BC - .4byte _0810C214 - .4byte _0810C236 - .4byte _0810C27A - .4byte _0810C29C -_0810C1BC: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - beq _0810C1D6 - b _0810C2DA -_0810C1D6: - strh r5, [r4, 0x1C] - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] - ldr r1, =gUnknown_08595C5C - movs r2, 0x1A - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r1, [r0] - strh r1, [r4, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0x9 - bne _0810C2DA - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - strh r5, [r4, 0x1E] - b _0810C2DA - .pool -_0810C214: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - strh r0, [r1, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x51 - bne _0810C2DA - movs r0, 0x9 - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - b _0810C2DA -_0810C236: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0810C2DA - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - subs r1, 0x1 - strh r1, [r4, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0x1E - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _0810C2DA - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - strh r1, [r4, 0x1E] - b _0810C2DA -_0810C27A: - mov r0, sp - bl sub_80A6B30 - movs r0, 0x1 - bl sub_80A6C68 - movs r0, 0x2 - bl sub_80A6C68 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] -_0810C29C: - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810C2B0 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_0810C2B0: - ldr r0, =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - adds r0, r4, 0 - bl DestroyAnimVisualTask -_0810C2DA: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810C164 - - thumb_func_start sub_810C2F0 -sub_810C2F0: @ 810C2F0 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r0, =TranslateAnimSpriteToTargetMonLocation - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810C2F0 - - thumb_func_start sub_810C324 -sub_810C324: @ 810C324 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810C366 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_0810C366: - ldr r0, =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r4, =gBattle_BG1_Y - strh r1, [r4] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x16 - bl SetGpuReg - mov r0, sp - bl sub_80A6B30 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gWeatherFog1Tiles - movs r2, 0x80 - lsls r2, 4 - mov r3, sp - ldrh r3, [r3, 0xA] - bl LoadBgTiles - ldr r1, =gBattleAnimFogTilemap - mov r0, sp - movs r2, 0 - bl sub_80A6D60 - ldr r0, =gUnknown_083970E8 - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =0x0000ffff - strh r1, [r0, 0x26] - ldr r1, =sub_810C3F0 - str r1, [r0] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810C324 - - thumb_func_start sub_810C3F0 -sub_810C3F0: @ 810C3F0 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, =gBattle_BG1_X - ldr r3, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r3 - ldrh r0, [r1, 0x26] - ldrh r5, [r2] - adds r0, r5 - strh r0, [r2] - movs r2, 0x20 - ldrsh r0, [r1, r2] - cmp r0, 0x4 - bls _0810C416 - b _0810C54A -_0810C416: - lsls r0, 2 - ldr r1, =_0810C42C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0810C42C: - .4byte _0810C440 - .4byte _0810C484 - .4byte _0810C4A6 - .4byte _0810C4EA - .4byte _0810C50C -_0810C440: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r3 - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] - ldr r1, =gUnknown_08595C88 - movs r5, 0x1A - ldrsh r0, [r4, r5] - adds r0, r1 - ldrb r1, [r0] - strh r1, [r4, 0x1E] - movs r0, 0x11 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bne _0810C54A - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - movs r0, 0 - strh r0, [r4, 0x1E] - b _0810C54A - .pool -_0810C484: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r3 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - strh r0, [r1, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x51 - bne _0810C54A - movs r0, 0x5 - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - b _0810C54A -_0810C4A6: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r3 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0810C54A - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - subs r1, 0x1 - strh r1, [r4, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0x1E - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _0810C54A - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - strh r1, [r4, 0x1E] - b _0810C54A -_0810C4EA: - mov r0, sp - bl sub_80A6B30 - movs r0, 0x1 - bl sub_80A6C68 - movs r0, 0x2 - bl sub_80A6C68 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] -_0810C50C: - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810C520 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_0810C520: - ldr r0, =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - adds r0, r4, 0 - bl DestroyAnimVisualTask -_0810C54A: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810C3F0 - - thumb_func_start sub_810C560 -sub_810C560: @ 810C560 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - ldr r6, =gBattleAnimArgs - ldrh r0, [r6] - strh r0, [r5, 0x2E] - ldr r0, =gBattleAnimAttacker - mov r8, r0 - ldrb r0, [r0] - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - ldr r7, =gBattleAnimTarget - ldrb r0, [r7] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bcs _0810C594 - movs r0, 0x80 - lsls r0, 8 - strh r0, [r5, 0x3C] -_0810C594: - ldr r3, =gBattlerPositions - ldrb r0, [r7] - adds r0, r3 - ldrb r1, [r0] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0810C5F4 - ldrh r0, [r6, 0x2] - negs r0, r0 - strh r0, [r6, 0x2] - ldrh r0, [r6, 0x6] - negs r0, r0 - strh r0, [r6, 0x6] - movs r1, 0x3C - ldrsh r0, [r5, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0810C5F0 - mov r1, r8 - ldrb r0, [r1] - adds r0, r3 - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0810C5F0 - movs r0, 0x1 - bl GetAnimBattlerSpriteId - ldr r2, =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - adds r0, 0x1 - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] -_0810C5F0: - movs r0, 0x1 - strh r0, [r5, 0x3A] -_0810C5F4: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r6, =gBattleAnimArgs - movs r1, 0xE - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0810C65C - ldrh r0, [r6, 0x2] - ldrh r1, [r5, 0x20] - adds r0, r1 - strh r0, [r5, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x6] - adds r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r6, 0x4] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - b _0810C684 - .pool -_0810C65C: - ldrh r0, [r6, 0x2] - ldrh r1, [r5, 0x20] - adds r0, r1 - strh r0, [r5, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x6] - adds r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r6, 0x4] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x1 -_0810C684: - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x8] - adds r0, r6 - strh r0, [r5, 0x36] - ldrb r0, [r4] - bl sub_80A8328 - lsls r0, 24 - lsrs r0, 16 - ldrh r1, [r5, 0x3C] - orrs r0, r1 - strh r0, [r5, 0x3C] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0810C6B8 - movs r0, 0x1 - strh r0, [r5, 0x3A] - adds r1, r5, 0 - adds r1, 0x43 - movs r0, 0x80 - strb r0, [r1] -_0810C6B8: - adds r0, r5, 0 - bl InitAnimLinearTranslation - ldr r0, =sub_810C6D4 - str r0, [r5, 0x1C] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810C560 - - thumb_func_start sub_810C6D4 -sub_810C6D4: @ 810C6D4 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3C] - movs r5, 0xFF - movs r1, 0xFF - ands r1, r0 - cmp r1, 0x1 - beq _0810C7BC - cmp r1, 0x1 - bgt _0810C6EE - cmp r1, 0 - beq _0810C6F6 - b _0810C90C -_0810C6EE: - cmp r1, 0x2 - bne _0810C6F4 - b _0810C8D0 -_0810C6F4: - b _0810C90C -_0810C6F6: - adds r0, r4, 0 - bl TranslateAnimLinear - ldr r1, =gSineTable - movs r2, 0x38 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - asrs r0, 4 - ldrh r2, [r4, 0x24] - adds r0, r2 - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0810C724 - ldrh r0, [r4, 0x38] - subs r0, 0x8 - b _0810C728 - .pool -_0810C724: - ldrh r0, [r4, 0x38] - adds r0, 0x8 -_0810C728: - ands r0, r5 - strh r0, [r4, 0x38] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _0810C736 - b _0810C90C -_0810C736: - movs r5, 0x50 - strh r5, [r4, 0x2E] - ldr r6, =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, 0x1D - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810C78C - ldr r1, =gBattlerPositions - ldrb r0, [r6] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810C78C - movs r0, 0xCC - strh r0, [r4, 0x38] - b _0810C78E - .pool -_0810C78C: - strh r5, [r4, 0x38] -_0810C78E: - movs r0, 0 - strh r0, [r4, 0x26] - ldr r1, =gSineTable - movs r2, 0x38 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - asrs r0, 3 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x38] - adds r0, 0x2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl InitAnimLinearTranslation - b _0810C90C - .pool -_0810C7BC: - adds r0, r4, 0 - bl TranslateAnimLinear - ldr r1, =gSineTable - movs r2, 0x38 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - asrs r0, 3 - ldrh r2, [r4, 0x24] - adds r0, r2 - strh r0, [r4, 0x24] - movs r2, 0x38 - ldrsh r0, [r4, r2] - adds r0, 0x40 - lsls r0, 1 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r0, r1, 1 - adds r0, r1 - negs r0, r0 - asrs r0, 8 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810C83A - ldrh r1, [r4, 0x38] - adds r0, r1, 0 - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - adds r3, r1, 0 - cmp r0, 0x7F - bhi _0810C81C - ldrh r1, [r4, 0x3C] - lsls r1, 16 - asrs r1, 24 - b _0810C824 - .pool -_0810C81C: - ldrh r1, [r4, 0x3C] - lsls r1, 16 - asrs r1, 24 - adds r1, 0x1 -_0810C824: - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r0, r3, 0x4 - b _0810C85A -_0810C83A: - ldrh r0, [r4, 0x38] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7F - bhi _0810C84E - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x80 - b _0810C854 -_0810C84E: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x8C -_0810C854: - strb r0, [r1] - ldrh r0, [r4, 0x38] - subs r0, 0x4 -_0810C85A: - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bgt _0810C90C - movs r5, 0 - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, 0x4 - strh r0, [r4, 0x36] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810C8B4 - ldr r1, =gBattlerPositions - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810C8B4 - movs r0, 0x80 - lsls r0, 1 - b _0810C8B6 - .pool -_0810C8B4: - ldr r0, =0x0000fff0 -_0810C8B6: - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x3C] - strh r1, [r4, 0x26] - strh r1, [r4, 0x24] - adds r0, r4, 0 - bl sub_80A6FD4 - b _0810C90C - .pool -_0810C8D0: - adds r0, r4, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - beq _0810C90C - ldrb r0, [r4, 0x1] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810C8FE - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] -_0810C8FE: - adds r0, r4, 0 - bl DestroySprite - ldr r1, =gAnimVisualTaskCount - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_0810C90C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810C6D4 - - thumb_func_start sub_810C918 -sub_810C918: @ 810C918 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - ldr r0, =sub_810C934 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_810C918 - - thumb_func_start sub_810C934 -sub_810C934: @ 810C934 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _0810C978 - cmp r5, 0x1 - bgt _0810C95C - cmp r5, 0 - beq _0810C962 - b _0810C9DC - .pool -_0810C95C: - cmp r5, 0x2 - beq _0810C9CE - b _0810C9DC -_0810C962: - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0810C9DC - strh r5, [r4, 0x10] - strh r5, [r4, 0x12] - strh r5, [r4, 0xC] - b _0810C9B4 -_0810C978: - ldrh r1, [r4, 0x12] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _0810C9C8 - ldrb r0, [r4, 0xE] - ldrb r1, [r4, 0xC] - movs r3, 0x1 - bl sub_810C9E4 - lsls r0, 24 - cmp r0, 0 - beq _0810C998 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] -_0810C998: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _0810C9C4 - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0810C9BC -_0810C9B4: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0810C9DC -_0810C9BC: - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] - b _0810C9DC -_0810C9C4: - strh r5, [r4, 0x12] - b _0810C9DC -_0810C9C8: - subs r0, r1, 0x1 - strh r0, [r4, 0x12] - b _0810C9DC -_0810C9CE: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810C9DC - adds r0, r2, 0 - bl DestroyAnimVisualTask -_0810C9DC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_810C934 - - thumb_func_start sub_810C9E4 -sub_810C9E4: @ 810C9E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - movs r1, 0 - str r1, [sp, 0x4] - ldr r1, =gUnknown_08595CB4 - lsrs r0, 22 - adds r4, r0, r1 - ldrb r0, [r4, 0x3] - lsls r0, 24 - asrs r0, 28 - mov r8, r0 - cmp r0, 0x2 - beq _0810CAD0 - ldrh r0, [r4, 0x2] - lsls r0, 20 - lsrs r0, 24 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0810CAD0 - movs r0, 0x1 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r5, 0 - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - mov r1, r8 - cmp r1, 0 - beq _0810CA60 - cmp r1, 0x1 - beq _0810CA96 - b _0810CAE2 - .pool -_0810CA60: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A861C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl __divsi3 - lsls r1, r7, 16 - asrs r1, 16 - subs r1, r0 - lsls r1, 16 - lsrs r7, r1, 16 - adds r0, r5, 0 - movs r1, 0 - bl sub_80A861C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl __divsi3 - lsls r1, r6, 16 - asrs r1, 16 - subs r1, r0 - b _0810CACA -_0810CA96: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A861C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl __divsi3 - lsls r1, r7, 16 - asrs r1, 16 - adds r1, r0 - lsls r1, 16 - lsrs r7, r1, 16 - adds r0, r5, 0 - movs r1, 0 - bl sub_80A861C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl __divsi3 - lsls r1, r6, 16 - asrs r1, 16 - adds r1, r0 -_0810CACA: - lsls r1, 16 - lsrs r6, r1, 16 - b _0810CAE2 -_0810CAD0: - ldrh r0, [r4] - lsls r0, 22 - asrs r0, 6 - lsrs r7, r0, 16 - ldr r0, [r4] - lsls r0, 12 - asrs r0, 22 - lsls r0, 16 - lsrs r6, r0, 16 -_0810CAE2: - lsls r0, r6, 16 - asrs r0, 16 - adds r0, 0x8 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - lsls r1, r7, 16 - asrs r1, 16 - subs r1, r0 - ldr r0, =gUnknown_08595D2C - lsls r1, 16 - asrs r1, 16 - movs r2, 0x8 - negs r2, r2 - movs r3, 0x12 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _0810CB44 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r4, 0 - mov r1, r9 - bl StartSpriteAffineAnim - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - strh r7, [r4, 0x34] - strh r6, [r4, 0x36] - mov r1, r9 - strh r1, [r4, 0x38] - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x3A] - mov r1, r10 - strh r1, [r4, 0x3C] - movs r0, 0x1 - b _0810CB46 - .pool -_0810CB44: - movs r0, 0 -_0810CB46: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_810C9E4 - - thumb_func_start sub_810CB58 -sub_810CB58: @ 810CB58 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - adds r0, 0x4 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x22] - adds r2, r1, 0 - adds r2, 0x8 - strh r2, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x34 - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0810CB82 - lsls r0, r2, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _0810CC32 -_0810CB82: - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bne _0810CC04 - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810CC04 - ldr r0, =gUnknown_08595B68 - movs r2, 0x34 - ldrsh r1, [r4, r2] - movs r3, 0x36 - ldrsh r2, [r4, r3] - adds r3, r4, 0 - adds r3, 0x43 - ldrb r3, [r3] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - cmp r0, 0x40 - beq _0810CBE6 - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_810CC3C - str r1, [r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x3A] - strh r1, [r0, 0x3A] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x3C] - strh r1, [r0, 0x3C] -_0810CBE6: - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite - b _0810CC32 - .pool -_0810CC04: - ldr r3, =gTasks - movs r2, 0x3C - ldrsh r1, [r4, r2] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite -_0810CC32: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810CB58 - - thumb_func_start sub_810CC3C -sub_810CC3C: @ 810CC3C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _0810CC7C - ldr r3, =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite -_0810CC7C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810CC3C - - thumb_func_start unc_080B06FC -unc_080B06FC: @ 810CC88 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, =gAnimDisableStructPtr - ldr r0, [r0] - ldrb r1, [r0, 0x11] - lsrs r0, r1, 4 - lsls r1, 28 - lsrs r1, 28 - subs r0, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x4 - bls _0810CCA6 - movs r1, 0x4 -_0810CCA6: - adds r0, r5, 0 - bl StartSpriteAffineAnim - adds r0, r5, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r6, =gBattleAnimArgs - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x2E] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810CCCE - ldrh r0, [r6, 0x4] - negs r0, r0 - strh r0, [r6, 0x4] -_0810CCCE: - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x4] - adds r0, r1 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x6] - adds r0, r1 - strh r0, [r5, 0x36] - ldrh r0, [r6, 0xA] - strh r0, [r5, 0x38] - adds r0, r5, 0 - bl InitAnimArcTranslation - ldr r0, =sub_810CD1C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end unc_080B06FC - - thumb_func_start sub_810CD1C -sub_810CD1C: @ 810CD1C - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _0810CD3E - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, =RunStoredCallbackWhenAnimEnds - str r0, [r4, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 -_0810CD3E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810CD1C - - thumb_func_start sub_810CD4C -sub_810CD4C: @ 810CD4C - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x8 - ldr r3, =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80A6980 - bl Random2 - movs r5, 0xFF - ands r5, r0 - movs r0, 0x80 - lsls r0, 1 - adds r6, r0, 0 - orrs r5, r6 - bl Random2 - ldr r1, =0x000001ff - ands r1, r0 - adds r0, r1, 0 - cmp r0, 0xFF - ble _0810CD92 - subs r0, r6, r0 - lsls r0, 16 - lsrs r1, r0, 16 -_0810CD92: - strh r5, [r4, 0x30] - strh r1, [r4, 0x32] - ldr r0, =sub_810CDB0 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810CD4C - - thumb_func_start sub_810CDB0 -sub_810CDB0: @ 810CDB0 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r3, r0, r1 - strh r3, [r2, 0x34] - ldrh r1, [r2, 0x32] - ldrh r4, [r2, 0x36] - adds r1, r4 - strh r1, [r2, 0x36] - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0810CDD4 - lsls r0, r3, 16 - asrs r0, 24 - negs r0, r0 - b _0810CDD8 -_0810CDD4: - lsls r0, r3, 16 - asrs r0, 24 -_0810CDD8: - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _0810CDF6 - adds r0, r2, 0 - bl DestroyAnimSprite -_0810CDF6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810CDB0 - - thumb_func_start AnimTask_GetRolloutCounter -AnimTask_GetRolloutCounter: @ 810CDFC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gBattleAnimArgs - ldrb r3, [r1] - lsls r3, 1 - adds r3, r1 - ldr r1, =gAnimDisableStructPtr - ldr r1, [r1] - ldrb r1, [r1, 0x11] - lsrs r2, r1, 4 - lsls r1, 28 - lsrs r1, 28 - subs r2, r1 - subs r2, 0x1 - strh r2, [r3] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_GetRolloutCounter - - .align 2, 0 diff --git a/asm/macros/event.inc b/asm/macros/event.inc index c815f3753..ba851d70a 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -1557,17 +1557,81 @@ @ Supplementary - .macro goto_eq dest:req + .macro goto_if_unset flag:req, dest:req + checkflag \flag + goto_if 0, \dest + .endm + + .macro goto_if_set flag:req, dest:req + checkflag \flag + goto_if 1, \dest + .endm + + .macro goto_if_lt dest:req @ LESS THAN + goto_if 0, \dest + .endm + + .macro goto_if_eq dest:req @ EQUAL goto_if 1, \dest .endm + .macro goto_if_gt dest:req @ GREATER THAN + goto_if 2, \dest + .endm + + .macro goto_if_le dest:req @ LESS THAN OR EQUAL + goto_if 3, \dest + .endm + + .macro goto_if_ge dest:req @ GREATER THAN OR EQUAL + goto_if 4, \dest + .endm + + .macro goto_if_ne dest:req @ NOT EQUAL + goto_if 5, \dest + .endm + + .macro call_if_unset flag:req, dest:req + checkflag \flag + call_if 0, \dest + .endm + + .macro call_if_set flag:req, dest:req + checkflag \flag + call_if 1, \dest + .endm + + .macro call_if_lt dest:req @ LESS THAN + call_if 0, \dest + .endm + + .macro call_if_eq dest:req @ EQUAL + call_if 1, \dest + .endm + + .macro call_if_gt dest:req @ GREATER THAN + call_if 2, \dest + .endm + + .macro call_if_le dest:req @ LESS THAN OR EQUAL + call_if 3, \dest + .endm + + .macro call_if_ge dest:req @ GREATER THAN OR EQUAL + call_if 4, \dest + .endm + + .macro call_if_ne dest:req @ NOT EQUAL + call_if 5, \dest + .endm + .macro switch var:req copyvar 0x8000, \var .endm .macro case condition:req, dest:req compare 0x8000, \condition - goto_eq \dest + goto_if_eq \dest .endm @ Message box types diff --git a/asm/macros/map.inc b/asm/macros/map.inc index 9a028b2e5..94caeb697 100644 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -14,7 +14,7 @@ .4byte \address .endm - .macro object_event index, gfx, replacement, x, y, elevation, movement_type, x_radius, y_radius, trainer_type, sight_radius_tree_etc, script, event_flag + .macro object_event index:req, gfx:req, replacement:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req .byte \index, \gfx, \replacement, 0 .2byte \x .2byte \y diff --git a/asm/party_menu.s b/asm/party_menu.s deleted file mode 100644 index bbb36b109..000000000 --- a/asm/party_menu.s +++ /dev/null @@ -1,18014 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81B0038 -sub_81B0038: @ 81B0038 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - lsls r4, 24 - lsrs r6, r4, 24 - bl reset_brm - ldr r0, =gUnknown_0203CEC4 - mov r10, r0 - movs r0, 0x8E - lsls r0, 2 - bl Alloc - adds r5, r0, 0 - mov r1, r10 - str r5, [r1] - cmp r5, 0 - bne _081B0088 - ldr r0, [sp, 0x2C] - bl SetMainCallback2 - b _081B0194 - .pool -_081B0088: - ldr r3, =gUnknown_0203CEC8 - movs r1, 0xF - mov r4, r8 - ands r1, r4 - ldrb r2, [r3, 0x8] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x8] - ldr r0, [sp, 0x2C] - str r0, [r3] - movs r4, 0 - strb r7, [r3, 0xB] - lsls r2, r6, 2 - ldrh r1, [r5, 0xA] - movs r0, 0x3 - ands r0, r1 - orrs r0, r2 - strh r0, [r5, 0xA] - ldr r0, [sp, 0x28] - str r0, [r5] - str r4, [r5, 0x4] - ldrb r1, [r5, 0x8] - movs r0, 0xF - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x8] - mov r1, r10 - ldr r2, [r1] - ldrh r0, [r2, 0x8] - movs r4, 0xFE - lsls r4, 3 - adds r1, r4, 0 - orrs r0, r1 - strh r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xFE - lsls r1, 10 - orrs r0, r1 - str r0, [r2, 0x8] - adds r6, r3, 0 - mov r5, r8 - cmp r5, 0x4 - bne _081B00F0 - ldrb r0, [r2, 0x8] - movs r1, 0x1 - orrs r0, r1 - b _081B00F8 - .pool -_081B00F0: - ldrb r1, [r2, 0x8] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 -_081B00F8: - strb r0, [r2, 0x8] - mov r0, r9 - cmp r0, 0xFF - beq _081B0114 - movs r0, 0x3 - mov r1, r9 - ands r0, r1 - lsls r0, 4 - ldrb r2, [r6, 0x8] - movs r1, 0x31 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r6, 0x8] -_081B0114: - movs r2, 0 - ldr r5, =gUnknown_0203CEC4 - movs r4, 0x86 - lsls r4, 2 - movs r3, 0 -_081B011E: - ldr r0, [r5] - lsls r1, r2, 1 - adds r0, r4 - adds r0, r1 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _081B011E - movs r2, 0 - ldr r4, =gUnknown_0203CEC4 - movs r3, 0xFF -_081B0138: - ldr r0, [r4] - adds r0, 0xC - adds r0, r2 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x2 - bls _081B0138 - ldr r4, [sp] - cmp r4, 0 - bne _081B015C - strb r4, [r6, 0x9] - b _081B017E - .pool -_081B015C: - adds r1, r6, 0 - movs r0, 0x9 - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _081B017A - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - bne _081B017E -_081B017A: - movs r0, 0 - strb r0, [r6, 0x9] -_081B017E: - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl CalculatePlayerPartyCount - ldr r0, =c2_811EBD0 - bl SetMainCallback2 -_081B0194: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B0038 - - thumb_func_start sub_81B01B0 -sub_81B01B0: @ 81B01B0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81B01B0 - - thumb_func_start sub_81B01CC -sub_81B01CC: @ 81B01CC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81B01CC - - thumb_func_start c2_811EBD0 -c2_811EBD0: @ 81B01E0 - push {lr} -_081B01E2: - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B0206 - bl sub_81B020C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B0206 - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B01E2 -_081B0206: - pop {r0} - bx r0 - thumb_func_end c2_811EBD0 - - thumb_func_start sub_81B020C -sub_81B020C: @ 81B020C - push {r4,lr} - sub sp, 0x4 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x16 - bls _081B0222 - b _081B0498 -_081B0222: - lsls r0, 2 - ldr r1, =_081B0234 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081B0234: - .4byte _081B0290 - .4byte _081B02AC - .4byte _081B02B2 - .4byte _081B02D4 - .4byte _081B02DA - .4byte _081B02EC - .4byte _081B02FE - .4byte _081B0310 - .4byte _081B0338 - .4byte _081B0354 - .4byte _081B0368 - .4byte _081B038C - .4byte _081B03A0 - .4byte _081B03A6 - .4byte _081B03B8 - .4byte _081B03BE - .4byte _081B03E0 - .4byte _081B0400 - .4byte _081B0414 - .4byte _081B0428 - .4byte _081B0430 - .4byte _081B044C - .4byte _081B0474 -_081B0290: - bl SetVBlankHBlankCallbacksToNull - bl ResetVramOamAndBgCntRegs - bl clear_scheduled_bg_copies_to_vram - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _081B048C - .pool -_081B02AC: - bl ScanlineEffect_Stop - b _081B0484 -_081B02B2: - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _081B048C - .pool -_081B02D4: - bl ResetSpriteData - b _081B0484 -_081B02DA: - bl FreeAllSpritePalettes - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _081B048C - .pool -_081B02EC: - bl sub_81221AC - lsls r0, 24 - cmp r0, 0 - beq _081B02F8 - b _081B0484 -_081B02F8: - bl ResetTasks - b _081B0484 -_081B02FE: - bl sub_81B209C - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _081B048C - .pool -_081B0310: - bl sub_81B0550 - lsls r0, 24 - cmp r0, 0 - bne _081B0322 - bl sub_81B04BC - movs r0, 0x1 - b _081B04B2 -_081B0322: - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - b _081B0484 - .pool -_081B0338: - bl sub_81B05C8 - lsls r0, 24 - cmp r0, 0 - bne _081B0344 - b _081B04B0 -_081B0344: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _081B048C - .pool -_081B0354: - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0x8] - lsls r0, 26 - lsrs r0, 30 - bl sub_81B239C - b _081B0484 - .pool -_081B0368: - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0x8] - lsls r0, 26 - lsrs r0, 30 - bl sub_81B0740 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - b _081B0484 - .pool -_081B038C: - bl sub_81B5D30 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _081B048C - .pool -_081B03A0: - bl sub_81B6040 - b _081B0484 -_081B03A6: - bl sub_81B6160 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _081B048C - .pool -_081B03B8: - bl LoadMonIconPalettes - b _081B0484 -_081B03BE: - bl party_menu_add_per_mon_objects - lsls r0, 24 - cmp r0, 0 - bne _081B03CA - b _081B04B0 -_081B03CA: - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - b _081B0484 - .pool -_081B03E0: - bl sub_81B0DA0 - lsls r0, 24 - cmp r0, 0 - beq _081B04B0 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - b _081B0484 - .pool -_081B0400: - bl sub_81B0F28 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _081B048C - .pool -_081B0414: - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 31 - lsrs r0, 31 - bl sub_81B2428 - b _081B0484 - .pool -_081B0428: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _081B048C -_081B0430: - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0 - bl CreateTask - ldr r0, [r4] - ldrh r0, [r0, 0xA] - lsrs r0, 2 - bl display_pokemon_menu_message - b _081B0484 - .pool -_081B044C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _081B048C - .pool -_081B0474: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_081B0484: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_081B048C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081B04B0 - .pool -_081B0498: - ldr r0, =sub_81B01CC - bl SetVBlankCallback - ldr r0, =sub_81B01B0 - bl SetMainCallback2 - movs r0, 0x1 - b _081B04B2 - .pool -_081B04B0: - movs r0, 0 -_081B04B2: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81B020C - - thumb_func_start sub_81B04BC -sub_81B04BC: @ 81B04BC - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_81B04F8 - movs r1, 0 - bl CreateTask - ldr r0, =sub_81B01CC - bl SetVBlankCallback - ldr r0, =sub_81B01B0 - bl SetMainCallback2 - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B04BC - - thumb_func_start sub_81B04F8 -sub_81B04F8: @ 81B04F8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B051C - ldr r0, =gUnknown_0203CEC8 - ldr r0, [r0] - bl SetMainCallback2 - bl sub_81B06F4 - adds r0, r4, 0 - bl DestroyTask -_081B051C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B04F8 - - thumb_func_start reset_brm -reset_brm: @ 81B052C - ldr r0, =gUnknown_0203CEC4 - movs r1, 0 - str r1, [r0] - ldr r0, =gUnknown_0203CEE4 - str r1, [r0] - ldr r0, =gUnknown_0203CEDC - str r1, [r0] - ldr r0, =gUnknown_0203CEE0 - str r1, [r0] - bx lr - .pool - thumb_func_end reset_brm - - thumb_func_start sub_81B0550 -sub_81B0550: @ 81B0550 - push {r4,r5,lr} - ldr r5, =gUnknown_0203CEE4 - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl Alloc - str r0, [r5] - cmp r0, 0 - beq _081B05C0 - movs r1, 0 - adds r2, r4, 0 - bl memset - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_086156B8 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r1, [r5] - movs r0, 0x1 - bl SetBgTilemapBuffer - bl ResetAllBgsCoordinates - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x1 - b _081B05C2 - .pool -_081B05C0: - movs r0, 0 -_081B05C2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81B0550 - - thumb_func_start sub_81B05C8 -sub_81B05C8: @ 81B05C8 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x7 - bhi _081B06B0 - lsls r0, 2 - ldr r1, =_081B05F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081B05F0: - .4byte _081B0610 - .4byte _081B0638 - .4byte _081B0658 - .4byte _081B0684 - .4byte _081B0688 - .4byte _081B068C - .4byte _081B0690 - .4byte _081B0694 -_081B0610: - ldr r4, =gUnknown_0203CEE0 - ldr r0, =gPartyMenuMisc_Gfx - mov r1, sp - bl malloc_and_decompress - adds r1, r0, 0 - str r1, [r4] - ldr r2, [sp] - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTiles - b _081B069A - .pool -_081B0638: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081B06B4 - ldr r0, =gPartyMenuMisc_Tilemap - ldr r1, =gUnknown_0203CEE4 - ldr r1, [r1] - bl LZDecompressWram - b _081B069A - .pool -_081B0658: - ldr r0, =gPartyMenuMisc_Pal - movs r2, 0xB0 - lsls r2, 1 - movs r1, 0 - bl LoadCompressedPalette - ldr r0, =gPlttBufferUnfaded - ldr r4, =gUnknown_0203CEC4 - ldr r1, [r4] - adds r1, 0x18 - movs r2, 0xB0 - bl CpuSet - ldr r1, [r4] - b _081B069E - .pool -_081B0684: - movs r0, 0x4 - b _081B0696 -_081B0688: - movs r0, 0x5 - b _081B0696 -_081B068C: - movs r0, 0x6 - b _081B0696 -_081B0690: - movs r0, 0x7 - b _081B0696 -_081B0694: - movs r0, 0x8 -_081B0696: - bl sub_81B06C0 -_081B069A: - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] -_081B069E: - movs r0, 0x86 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _081B06B4 - .pool -_081B06B0: - movs r0, 0x1 - b _081B06B6 -_081B06B4: - movs r0, 0 -_081B06B6: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81B05C8 - - thumb_func_start sub_81B06C0 -sub_81B06C0: @ 81B06C0 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 28 - ldr r5, =gPlttBufferUnfaded + 0x60 - lsrs r4, 23 - adds r1, r5, 0 - subs r1, 0x60 - adds r1, r4, r1 - adds r0, r5, 0 - movs r2, 0x10 - bl CpuSet - ldr r0, =gPlttBufferFaded - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x10 - bl CpuSet - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B06C0 - - thumb_func_start sub_81B06F4 -sub_81B06F4: @ 81B06F4 - push {lr} - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - cmp r0, 0 - beq _081B0702 - bl Free -_081B0702: - ldr r0, =gUnknown_0203CEE4 - ldr r0, [r0] - cmp r0, 0 - beq _081B070E - bl Free -_081B070E: - ldr r0, =gUnknown_0203CEE0 - ldr r0, [r0] - cmp r0, 0 - beq _081B071A - bl Free -_081B071A: - ldr r0, =gUnknown_0203CEDC - ldr r0, [r0] - cmp r0, 0 - beq _081B0726 - bl Free -_081B0726: - bl FreeAllWindowBuffers - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B06F4 - - thumb_func_start sub_81B0740 -sub_81B0740: @ 81B0740 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, =gUnknown_0203CEDC - movs r0, 0x60 - bl Alloc - str r0, [r4] - movs r5, 0 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 4 - mov r8, r0 - movs r6, 0xFF - mov r9, r4 -_081B0764: - ldr r2, [r4] - lsls r3, r5, 4 - adds r2, r3, r2 - ldr r0, =gUnknown_086156E4 - mov r12, r0 - str r0, [r2] - lsls r0, r5, 3 - ldr r1, =gUnknown_08615704 - adds r0, r1 - add r0, r8 - str r0, [r2, 0x4] - strb r5, [r2, 0x8] - ldr r1, [r4] - adds r1, r3, r1 - ldrb r0, [r1, 0x9] - orrs r0, r6 - strb r0, [r1, 0x9] - ldr r1, [r4] - adds r1, r3, r1 - ldrb r0, [r1, 0xA] - orrs r0, r6 - strb r0, [r1, 0xA] - ldr r1, [r4] - adds r1, r3, r1 - ldrb r0, [r1, 0xB] - orrs r0, r6 - strb r0, [r1, 0xB] - ldr r0, [r4] - adds r3, r0 - ldrb r0, [r3, 0xC] - orrs r0, r6 - strb r0, [r3, 0xC] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _081B0764 - mov r1, r9 - ldr r0, [r1] - mov r1, r12 - subs r1, 0x20 - str r1, [r0] - cmp r7, 0x3 - bne _081B07CC - str r1, [r0, 0x30] - b _081B07D2 - .pool -_081B07CC: - cmp r7, 0 - beq _081B07D2 - str r1, [r0, 0x10] -_081B07D2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81B0740 - - thumb_func_start sub_81B07E0 -sub_81B07E0: @ 81B07E0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_0203CEC8 - ldrb r1, [r0, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x5 - bne _081B085C - cmp r5, 0x2 - bls _081B085C - adds r0, r5, 0 - bl sub_81B0CEC - ldr r0, =gUnknown_02022FF8 - subs r1, r5, 0x3 - lsls r1, 5 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _081B0828 - ldr r0, =gUnknown_0203CEDC - lsls r4, r5, 4 - ldr r0, [r0] - adds r0, r4 - movs r1, 0x40 - bl sub_81B2748 - b _081B0836 - .pool -_081B0828: - ldr r0, =gUnknown_0203CEDC - lsls r4, r5, 4 - ldr r0, [r0] - adds r0, r4 - movs r1, 0x8 - bl sub_81B2748 -_081B0836: - adds r5, r4, 0 - ldr r4, =gUnknown_0203CEDC - ldr r0, [r4] - adds r0, r5, r0 - ldrb r0, [r0, 0x8] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r4] - adds r0, r5, r0 - ldrb r0, [r0, 0x8] - bl PutWindowTilemap - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - b _081B093E - .pool -_081B085C: - movs r0, 0x64 - muls r0, r5 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - bne _081B089C - ldr r4, =gUnknown_0203CEDC - ldr r0, [r4] - lsls r5, 4 - adds r0, r5, r0 - ldrb r0, [r0, 0x8] - bl sub_81B2720 - ldr r0, [r4] - adds r0, r5 - movs r1, 0x40 - bl sub_81B2748 - ldr r0, [r4] - adds r0, r5, r0 - ldrb r0, [r0, 0x8] - movs r1, 0x2 - bl CopyWindowToVram - b _081B092C - .pool -_081B089C: - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0x8] - movs r1, 0xF - ands r1, r0 - cmp r1, 0x7 - bne _081B08B4 - adds r0, r5, 0 - bl sub_81B0B60 - b _081B08F6 - .pool -_081B08B4: - cmp r1, 0x2 - bne _081B08C0 - adds r0, r5, 0 - bl sub_81B0B08 - b _081B08F6 -_081B08C0: - cmp r1, 0x4 - bne _081B08CC - adds r0, r5, 0 - bl sub_81B0A9C - b _081B08F6 -_081B08CC: - cmp r1, 0xB - bne _081B08D8 - adds r0, r5, 0 - bl sub_81B0B98 - b _081B08F6 -_081B08D8: - cmp r1, 0xC - bne _081B08E4 - adds r0, r5, 0 - bl sub_81B0BC4 - b _081B08F6 -_081B08E4: - adds r0, r5, 0 - bl sub_81B0BFC - lsls r0, 24 - cmp r0, 0 - bne _081B08F6 - adds r0, r5, 0 - bl sub_81B0948 -_081B08F6: - ldr r2, =gUnknown_0203CEC8 - ldrb r1, [r2, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x5 - bne _081B0910 - adds r0, r5, 0 - movs r1, 0 - bl sub_81B0FCC - b _081B092A - .pool -_081B0910: - movs r0, 0x9 - ldrsb r0, [r2, r0] - cmp r0, r5 - bne _081B0922 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_81B0FCC - b _081B092A -_081B0922: - adds r0, r5, 0 - movs r1, 0 - bl sub_81B0FCC -_081B092A: - lsls r5, 4 -_081B092C: - ldr r0, =gUnknown_0203CEDC - ldr r0, [r0] - adds r0, r5, r0 - ldrb r0, [r0, 0x8] - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram -_081B093E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B07E0 - - thumb_func_start sub_81B0948 -sub_81B0948: @ 81B0948 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x64 - adds r1, r4, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r7, r1, r0 - adds r0, r7, 0 - movs r1, 0x2D - bl GetMonData - adds r2, r0, 0 - cmp r2, 0 - beq _081B09A0 - ldr r6, =gUnknown_0203CEDC - ldr r0, [r6] - lsls r5, r4, 4 - adds r0, r5, r0 - ldr r2, [r0] - ldrb r0, [r0, 0x8] - movs r1, 0 - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - ldr r4, [r2] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl _call_via_r4 - ldr r1, [r6] - adds r1, r5 - adds r0, r7, 0 - movs r2, 0 - bl sub_81B2A70 - b _081B0A02 - .pool -_081B09A0: - ldr r5, =gUnknown_0203CEDC - ldr r0, [r5] - lsls r4, 4 - adds r0, r4, r0 - ldr r1, [r0] - ldrb r0, [r0, 0x8] - str r2, [sp] - str r2, [sp, 0x4] - ldr r6, [r1] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl _call_via_r6 - ldr r1, [r5] - adds r1, r4 - adds r0, r7, 0 - movs r2, 0 - bl sub_81B2A70 - ldr r1, [r5] - adds r1, r4 - adds r0, r7, 0 - movs r2, 0 - bl sub_81B2AC8 - ldr r1, [r5] - adds r1, r4 - adds r0, r7, 0 - movs r2, 0 - bl sub_81B2B8C - ldr r1, [r5] - adds r1, r4 - adds r0, r7, 0 - movs r2, 0 - bl sub_81B2CD4 - ldr r1, [r5] - adds r1, r4 - adds r0, r7, 0 - movs r2, 0 - bl sub_81B2D74 - ldr r1, [r5] - adds r1, r4 - adds r0, r7, 0 - bl sub_81B2E28 -_081B0A02: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B0948 - - thumb_func_start sub_81B0A10 -sub_81B0A10: @ 81B0A10 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r1, 0x64 - adds r2, r0, 0 - muls r2, r1 - ldr r1, =gPlayerParty - adds r6, r2, r1 - ldr r7, =gUnknown_0203CEDC - ldr r1, [r7] - lsls r5, r0, 4 - adds r1, r5, r1 - ldr r2, [r1] - ldrb r0, [r1, 0x8] - movs r1, 0 - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - ldr r4, [r2] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl _call_via_r4 - ldr r1, [r7] - adds r1, r5 - adds r0, r6, 0 - movs r2, 0 - bl sub_81B2A70 - adds r0, r6, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _081B0A7C - ldr r1, [r7] - adds r1, r5 - adds r0, r6, 0 - movs r2, 0 - bl sub_81B2AC8 - ldr r1, [r7] - adds r1, r5 - adds r0, r6, 0 - movs r2, 0 - bl sub_81B2B8C -_081B0A7C: - ldr r1, [r7] - adds r1, r5 - mov r0, r8 - movs r2, 0 - bl sub_81B2FA8 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B0A10 - - thumb_func_start sub_81B0A9C -sub_81B0A9C: @ 81B0A9C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x64 - muls r0, r5 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r6, =gSelectedOrderFromParty - bl sub_81B85AC - lsls r0, 24 - cmp r0, 0 - bne _081B0AD6 - adds r0, r5, 0 - movs r1, 0x7 - bl sub_81B0A10 - b _081B0B02 - .pool -_081B0AC8: - adds r1, r4, 0x2 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_81B0A10 - b _081B0B02 -_081B0AD6: - movs r4, 0 - b _081B0AEE -_081B0ADA: - adds r1, r6, r4 - ldrb r0, [r1] - cmp r0, 0 - beq _081B0AE8 - subs r0, 0x1 - cmp r0, r5 - beq _081B0AC8 -_081B0AE8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_081B0AEE: - bl sub_81B8830 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _081B0ADA - adds r0, r5, 0 - movs r1, 0x1 - bl sub_81B0A10 -_081B0B02: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81B0A9C - - thumb_func_start sub_81B0B08 -sub_81B0B08: @ 81B0B08 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - bl sub_80DAE0C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _081B0B5A - lsls r0, 2 - ldr r1, =_081B0B34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081B0B34: - .4byte _081B0B48 - .4byte _081B0B52 - .4byte _081B0B52 - .4byte _081B0B48 - .4byte _081B0B48 -_081B0B48: - adds r0, r4, 0 - movs r1, 0x7 - bl sub_81B0A10 - b _081B0B5A -_081B0B52: - adds r0, r4, 0 - movs r1, 0x6 - bl sub_81B0A10 -_081B0B5A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B0B08 - - thumb_func_start sub_81B0B60 -sub_81B0B60: @ 81B0B60 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNumberOfRelearnableMoves - lsls r0, 24 - cmp r0, 0 - bne _081B0B88 - adds r0, r4, 0 - movs r1, 0x9 - bl sub_81B0A10 - b _081B0B90 - .pool -_081B0B88: - adds r0, r4, 0 - movs r1, 0x8 - bl sub_81B0A10 -_081B0B90: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B0B60 - - thumb_func_start sub_81B0B98 -sub_81B0B98: @ 81B0B98 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_81B218C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B0BB6 - adds r0, r4, 0 - movs r1, 0x6 - bl sub_81B0A10 - b _081B0BBE -_081B0BB6: - adds r0, r4, 0 - movs r1, 0x7 - bl sub_81B0A10 -_081B0BBE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B0B98 - - thumb_func_start sub_81B0BC4 -sub_81B0BC4: @ 81B0BC4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xC - bl GetMonData - cmp r0, 0 - beq _081B0BEC - adds r0, r4, 0 - movs r1, 0xB - bl sub_81B0A10 - b _081B0BF4 - .pool -_081B0BEC: - adds r0, r4, 0 - movs r1, 0xC - bl sub_81B0A10 -_081B0BF4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B0BC4 - - thumb_func_start sub_81B0BFC -sub_81B0BFC: @ 81B0BFC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r6, r1, r0 - ldr r0, =gSpecialVar_ItemId - ldrh r4, [r0] - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0xB] - cmp r0, 0xC - bne _081B0C40 - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - ldr r0, =gSpecialVar_0x8005 - ldrb r2, [r0] - adds r0, r5, 0 - movs r1, 0 - bl sub_81B0C94 - b _081B0C8A - .pool -_081B0C40: - cmp r0, 0x3 - bne _081B0C56 - adds r0, r4, 0 - bl CheckIfItemIsTMHMOrEvolutionStone - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B0C5A - cmp r0, 0x2 - beq _081B0C66 -_081B0C56: - movs r0, 0 - b _081B0C8C -_081B0C5A: - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_81B0C94 - b _081B0C8A -_081B0C66: - adds r0, r6, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _081B0C82 - adds r0, r6, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - cmp r0, 0 - bne _081B0C56 -_081B0C82: - adds r0, r5, 0 - movs r1, 0 - bl sub_81B0A10 -_081B0C8A: - movs r0, 0x1 -_081B0C8C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81B0BFC - - thumb_func_start sub_81B0C94 -sub_81B0C94: @ 81B0C94 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x64 - muls r0, r4 - ldr r3, =gPlayerParty - adds r0, r3 - bl sub_81B22D8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _081B0CD2 - cmp r0, 0x2 - bgt _081B0CC4 - cmp r0, 0x1 - beq _081B0CC8 - b _081B0CDC - .pool -_081B0CC4: - cmp r0, 0x3 - bne _081B0CDC -_081B0CC8: - adds r0, r4, 0 - movs r1, 0x9 - bl sub_81B0A10 - b _081B0CE4 -_081B0CD2: - adds r0, r4, 0 - movs r1, 0xA - bl sub_81B0A10 - b _081B0CE4 -_081B0CDC: - adds r0, r4, 0 - movs r1, 0x8 - bl sub_81B0A10 -_081B0CE4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B0C94 - - thumb_func_start sub_81B0CEC -sub_81B0CEC: @ 81B0CEC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CEDC - lsls r2, r0, 4 - ldr r1, [r1] - adds r6, r1, r2 - subs r0, 0x3 - lsls r0, 24 - ldr r5, =gUnknown_02022FF8 - lsrs r0, 19 - mov r8, r0 - adds r7, r0, r5 - ldrh r0, [r7] - cmp r0, 0 - bne _081B0D24 - ldrb r0, [r6, 0x8] - bl sub_81B2720 - b _081B0D8E - .pool -_081B0D24: - ldr r2, [r6] - ldrb r0, [r6, 0x8] - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - ldr r4, [r2] - movs r2, 0 - movs r3, 0 - bl _call_via_r4 - ldr r4, =gStringVar1 - adds r5, 0x4 - add r5, r8 - adds r0, r4, 0 - adds r1, r5, 0 - bl StringCopy - adds r0, r4, 0 - bl StringGetEnd10 - adds r0, r4, 0 - bl sub_81DB52C - ldrb r0, [r6, 0x8] - ldr r3, [r6] - adds r3, 0x4 - adds r1, r4, 0 - movs r2, 0 - bl sub_81B2A3C - ldrb r0, [r7, 0xF] - adds r1, r6, 0 - bl sub_81B2B40 - ldrb r0, [r7, 0x1C] - ldrh r1, [r7] - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_81B2BF4 - ldrh r0, [r7, 0x10] - adds r1, r6, 0 - bl sub_81B2D3C - ldrh r0, [r7, 0x12] - adds r1, r6, 0 - bl sub_81B2DDC - ldrh r0, [r7, 0x10] - ldrh r1, [r7, 0x12] - adds r2, r6, 0 - bl sub_81B2E64 -_081B0D8E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B0CEC - - thumb_func_start sub_81B0DA0 -sub_81B0DA0: @ 81B0DA0 - push {r4,r5,lr} - ldr r5, =gUnknown_0203CEC4 - ldr r0, [r5] - movs r4, 0x86 - lsls r4, 2 - adds r0, r4 - ldrb r0, [r0] - bl sub_81B07E0 - ldr r1, [r5] - adds r1, r4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - beq _081B0DCC - movs r0, 0 - b _081B0DCE - .pool -_081B0DCC: - movs r0, 0x1 -_081B0DCE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81B0DA0 - - thumb_func_start sub_81B0DD4 -sub_81B0DD4: @ 81B0DD4 - lsls r0, 16 - ldr r1, =gUnknown_0203CEE0 - lsrs r0, 11 - ldr r1, [r1] - adds r1, r0 - adds r0, r1, 0 - bx lr - .pool - thumb_func_end sub_81B0DD4 - - thumb_func_start party_menu_add_per_mon_objects_internal -party_menu_add_per_mon_objects_internal: @ 81B0DE8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0203CEC8 - ldrb r1, [r0, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x5 - bne _081B0E98 - cmp r7, 0x2 - bls _081B0E98 - subs r0, r7, 0x3 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, =gUnknown_02022FF8 - mov r9, r0 - mov r2, r10 - lsls r2, 5 - mov r8, r2 - mov r6, r8 - add r6, r9 - ldrh r0, [r6] - cmp r0, 0 - beq _081B0EDC - mov r1, r9 - adds r1, 0x18 - add r1, r8 - ldr r1, [r1] - ldr r4, =gUnknown_0203CEDC - lsls r5, r7, 4 - ldr r2, [r4] - adds r2, r5 - movs r3, 0 - str r3, [sp] - bl party_menu_link_mon_icon_anim - ldrh r0, [r6] - ldrh r1, [r6, 0x2] - ldr r2, [r4] - adds r2, r5 - bl party_menu_link_mon_held_item_object - ldrh r0, [r6] - ldr r1, [r4] - adds r1, r5 - bl party_menu_link_mon_pokeball_object - ldrh r0, [r6, 0x10] - cmp r0, 0 - bne _081B0E68 - movs r3, 0x7 - b _081B0E78 - .pool -_081B0E68: - mov r0, r9 - adds r0, 0x14 - add r0, r8 - ldr r0, [r0] - bl pokemon_ailments_get_primary - lsls r0, 24 - lsrs r3, r0, 24 -_081B0E78: - ldr r1, =gUnknown_02022FF8 - mov r2, r10 - lsls r0, r2, 5 - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gUnknown_0203CEDC - ldr r2, [r1] - adds r2, r5 - adds r1, r3, 0 - bl party_menu_link_mon_status_condition_object - b _081B0EDC - .pool -_081B0E98: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r6, r1, r0 - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B0EDC - ldr r4, =gUnknown_0203CEDC - lsls r5, r7, 4 - ldr r1, [r4] - adds r1, r5 - adds r0, r6, 0 - adds r2, r7, 0 - bl party_menu_icon_anim - ldr r1, [r4] - adds r1, r5 - adds r0, r6, 0 - bl party_menu_held_item_object - ldr r1, [r4] - adds r1, r5 - adds r0, r6, 0 - bl party_menu_pokeball_object - ldr r1, [r4] - adds r1, r5 - adds r0, r6, 0 - bl party_menu_status_condition_object -_081B0EDC: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end party_menu_add_per_mon_objects_internal - - thumb_func_start party_menu_add_per_mon_objects -party_menu_add_per_mon_objects: @ 81B0EF4 - push {r4,r5,lr} - ldr r5, =gUnknown_0203CEC4 - ldr r0, [r5] - movs r4, 0x86 - lsls r4, 2 - adds r0, r4 - ldrb r0, [r0] - bl party_menu_add_per_mon_objects_internal - ldr r1, [r5] - adds r1, r4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - beq _081B0F20 - movs r0, 0 - b _081B0F22 - .pool -_081B0F20: - movs r0, 0x1 -_081B0F22: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end party_menu_add_per_mon_objects - - thumb_func_start sub_81B0F28 -sub_81B0F28: @ 81B0F28 - push {r4,lr} - sub sp, 0xC - ldr r0, =gUnknown_0203CEC8 - ldrb r1, [r0, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x5 - bne _081B0F54 - movs r0, 0x7 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r1, 0xE - movs r2, 0x17 - movs r3, 0x11 - bl FillBgTilemapBufferRect - b _081B0FBC - .pool -_081B0F54: - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - lsls r0, 31 - cmp r0, 0 - beq _081B0F94 - movs r0, 0xBF - movs r1, 0x88 - bl sub_81B5F74 - ldr r3, [r4] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x7F - ands r0, r1 - lsls r0, 4 - ldrh r2, [r3, 0x8] - ldr r1, =0xfffff80f - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x8] - bl sub_81B120C - movs r0, 0xBF - movs r1, 0x98 - bl sub_81B5F74 - b _081B0F9C - .pool -_081B0F94: - movs r0, 0xC6 - movs r1, 0x94 - bl sub_81B5F34 -_081B0F9C: - ldr r3, [r4] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x7F - ands r0, r1 - lsls r0, 11 - ldr r1, [r3, 0x8] - ldr r2, =0xfffc07ff - ands r1, r2 - orrs r1, r0 - str r1, [r3, 0x8] - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0x9] - movs r1, 0x1 - bl sub_81B0FCC -_081B0FBC: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B0F28 - - thumb_func_start sub_81B0FCC -sub_81B0FCC: @ 81B0FCC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - cmp r7, 0x6 - beq _081B1038 - cmp r7, 0x7 - beq _081B1074 - movs r0, 0x64 - muls r0, r7 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B10E8 - ldr r6, =gUnknown_0203CEDC - lsls r5, r7, 4 - ldr r4, [r6] - adds r4, r5 - adds r0, r7, 0 - mov r1, r8 - bl sub_81B10F8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_81B2748 - ldr r0, [r6] - adds r0, r5, r0 - ldrb r0, [r0, 0x9] - mov r1, r8 - bl sub_81B5B6C - ldr r0, [r6] - adds r5, r0 - ldrb r0, [r5, 0xB] - mov r1, r8 - bl sub_81B5F98 - b _081B10E8 - .pool -_081B1038: - mov r0, r8 - cmp r0, 0 - bne _081B1052 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r1, 0x17 - movs r2, 0x10 - movs r3, 0x7 - bl sub_8199C30 - b _081B1064 -_081B1052: - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x17 - movs r2, 0x10 - movs r3, 0x7 - bl sub_8199C30 -_081B1064: - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrh r0, [r0, 0x8] - lsls r0, 21 - b _081B10DA - .pool -_081B1074: - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 31 - cmp r0, 0 - bne _081B10A6 - mov r0, r8 - cmp r0, 0 - bne _081B1098 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r1, 0x17 - movs r2, 0x11 - b _081B10B8 - .pool -_081B1098: - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x17 - movs r2, 0x11 - b _081B10B8 -_081B10A6: - mov r0, r8 - cmp r0, 0 - bne _081B10C0 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r1, 0x17 - movs r2, 0x12 -_081B10B8: - movs r3, 0x7 - bl sub_8199C30 - b _081B10D2 -_081B10C0: - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x17 - movs r2, 0x12 - movs r3, 0x7 - bl sub_8199C30 -_081B10D2: - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldr r0, [r0, 0x8] - lsls r0, 14 -_081B10DA: - lsrs r0, 25 - mov r1, r8 - bl sub_81B5F98 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram -_081B10E8: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B0FCC - - thumb_func_start sub_81B10F8 -sub_81B10F8: @ 81B10F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r4, 0 - cmp r1, 0x1 - bne _081B110A - movs r4, 0x1 -_081B110A: - movs r0, 0x64 - muls r0, r5 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _081B1120 - movs r0, 0x2 - orrs r4, r0 -_081B1120: - adds r0, r5, 0 - bl sub_81B118C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B1136 - movs r0, 0x8 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_081B1136: - ldr r0, =gUnknown_0203CEC8 - ldrb r1, [r0, 0xB] - adds r2, r0, 0 - cmp r1, 0x9 - bne _081B1148 - movs r0, 0x10 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_081B1148: - cmp r1, 0x8 - bne _081B1164 - movs r0, 0x9 - ldrsb r0, [r2, r0] - cmp r5, r0 - beq _081B115C - movs r0, 0xA - ldrsb r0, [r2, r0] - cmp r5, r0 - bne _081B1164 -_081B115C: - movs r0, 0x4 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_081B1164: - ldrb r0, [r2, 0xB] - cmp r0, 0xA - bne _081B117A - movs r0, 0x9 - ldrsb r0, [r2, r0] - cmp r5, r0 - bne _081B117A - movs r0, 0x20 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_081B117A: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B10F8 - - thumb_func_start sub_81B118C -sub_81B118C: @ 81B118C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0203CEC8 - ldrb r1, [r0, 0x8] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0x20 - bne _081B11B4 - cmp r2, 0x1 - beq _081B11AA - cmp r2, 0x4 - beq _081B11AA - cmp r2, 0x5 - bne _081B11B4 -_081B11AA: - movs r0, 0x1 - b _081B11F8 - .pool -_081B11B4: - cmp r2, 0x2 - bhi _081B11F6 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 11 - ands r0, r1 - cmp r0, 0 - beq _081B11F6 - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081B11F6 - adds r0, r2, 0 - bl sub_81B8F38 - ldr r1, =gBattleStruct - ldr r1, [r1] - movs r2, 0xA8 - lsls r2, 2 - adds r1, r2 - ldrb r1, [r1] - lsls r0, 24 - lsrs r0, 24 - asrs r1, r0 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - bne _081B11F8 -_081B11F6: - movs r0, 0 -_081B11F8: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B118C - - thumb_func_start sub_81B120C -sub_81B120C: @ 81B120C - push {r4-r6,lr} - sub sp, 0xC - ldr r1, =gUnknown_086157C4 - movs r6, 0x7 - str r6, [sp] - movs r5, 0x2 - str r5, [sp, 0x4] - movs r4, 0x11 - str r4, [sp, 0x8] - movs r0, 0x1 - movs r2, 0x17 - movs r3, 0x10 - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r1, =gUnknown_086157E0 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r2, 0x17 - movs r3, 0x12 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B120C - - thumb_func_start sub_81B1250 -sub_81B1250: @ 81B1250 - push {lr} - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x49 - ands r0, r1 - cmp r0, 0x49 - bne _081B1280 - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081B1280 - movs r0, 0x1 - b _081B1282 - .pool -_081B1280: - movs r0, 0 -_081B1282: - pop {r1} - bx r1 - thumb_func_end sub_81B1250 - - thumb_func_start sub_81B1288 -sub_81B1288: @ 81B1288 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - movs r0, 0x64 - bl Alloc - adds r5, r0, 0 - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x64 - bl memcpy - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r0, r5, 0 - bl Free - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81B1288 - - thumb_func_start sub_81B12C0 -sub_81B12C0: @ 81B12C0 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =c3_0811FAB4 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B12C0 - - thumb_func_start c3_0811FAB4 -c3_0811FAB4: @ 81B12F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B134C - ldr r4, =gUnknown_0203CEC8 - ldrb r1, [r4, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - bne _081B131A - bl sub_81B9080 -_081B131A: - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldr r0, [r0, 0x4] - cmp r0, 0 - beq _081B1338 - bl SetMainCallback2 - b _081B133E - .pool -_081B1338: - ldr r0, [r4] - bl SetMainCallback2 -_081B133E: - bl ResetSpriteData - bl sub_81B06F4 - adds r0, r5, 0 - bl DestroyTask -_081B134C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end c3_0811FAB4 - - thumb_func_start GetCursorSelectionMonId -GetCursorSelectionMonId: @ 81B1354 - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0x9] - bx lr - .pool - thumb_func_end GetCursorSelectionMonId - - thumb_func_start sub_81B1360 -sub_81B1360: @ 81B1360 - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0x8] - lsls r0, 28 - lsrs r0, 28 - bx lr - .pool - thumb_func_end sub_81B1360 - - thumb_func_start sub_81B1370 -sub_81B1370: @ 81B1370 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B13E0 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B13E0 - bl sub_81B13EC - adds r4, r0, 0 - bl sub_81B1760 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - beq _081B13C0 - cmp r0, 0x2 - bgt _081B13B0 - cmp r0, 0x1 - beq _081B13B6 - b _081B13E0 - .pool -_081B13B0: - cmp r0, 0x8 - beq _081B13CA - b _081B13E0 -_081B13B6: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81B140C - b _081B13E0 -_081B13C0: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_81B15D0 - b _081B13E0 -_081B13CA: - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 31 - cmp r0, 0 - beq _081B13E0 - movs r0, 0x5 - bl PlaySE - bl sub_81B4F88 -_081B13E0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B1370 - - thumb_func_start sub_81B13EC -sub_81B13EC: @ 81B13EC - push {lr} - ldr r0, =gUnknown_0203CEC8 - ldrb r1, [r0, 0xB] - cmp r1, 0x8 - beq _081B13FA - cmp r1, 0xA - bne _081B1404 -_081B13FA: - adds r0, 0xA - b _081B1406 - .pool -_081B1404: - adds r0, 0x9 -_081B1406: - pop {r1} - bx r1 - thumb_func_end sub_81B13EC - - thumb_func_start sub_81B140C -sub_81B140C: @ 81B140C - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0x6 - bne _081B142C - ldr r0, =gUnknown_0203CEC8 - ldr r1, [r0, 0x4] - adds r0, r5, 0 - bl _call_via_r1 - b _081B159E - .pool -_081B142C: - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0xB] - subs r0, 0x3 - cmp r0, 0xA - bls _081B1438 - b _081B1592 -_081B1438: - lsls r0, 2 - ldr r1, =_081B144C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081B144C: - .4byte _081B149C - .4byte _081B1592 - .4byte _081B1538 - .4byte _081B1538 - .4byte _081B1510 - .4byte _081B1560 - .4byte _081B1592 - .4byte _081B1478 - .4byte _081B156E - .4byte _081B14E8 - .4byte _081B157C -_081B1478: - adds r0, r4, 0 - bl sub_81B15A4 - lsls r0, 24 - cmp r0, 0 - bne _081B1486 - b _081B159E -_081B1486: - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - adds r0, 0xD - bl sub_81B302C - adds r0, r5, 0 - bl sub_81615A8 - b _081B159E - .pool -_081B149C: - adds r0, r4, 0 - bl sub_81B15A4 - lsls r0, 24 - cmp r0, 0 - bne _081B14AA - b _081B159E -_081B14AA: - ldr r0, =gUnknown_0203CEC8 - ldrb r1, [r0, 0x8] - movs r0, 0xF - ands r0, r1 - ldr r2, =gUnknown_0203CEC4 - cmp r0, 0x1 - bne _081B14BE - ldr r1, [r2] - ldr r0, =sub_81B9140 - str r0, [r1, 0x4] -_081B14BE: - ldr r0, [r2] - adds r0, 0xD - bl sub_81B302C - ldr r0, =gUnknown_03006328 - ldr r1, =sub_81B6794 - ldr r2, [r0] - adds r0, r5, 0 - bl _call_via_r2 - b _081B159E - .pool -_081B14E8: - adds r0, r4, 0 - bl sub_81B15A4 - lsls r0, 24 - cmp r0, 0 - beq _081B159E - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - adds r0, 0xD - bl sub_81B302C - adds r0, r5, 0 - bl sub_81B7E4C - b _081B159E - .pool -_081B1510: - adds r0, r4, 0 - bl sub_81B15A4 - lsls r0, 24 - cmp r0, 0 - beq _081B159E - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - adds r0, 0xD - bl sub_81B302C - adds r0, r5, 0 - bl sub_81B8474 - b _081B159E - .pool -_081B1538: - adds r0, r4, 0 - bl sub_81B15A4 - lsls r0, 24 - cmp r0, 0 - beq _081B159E - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - adds r0, 0xD - bl sub_81B302C - adds r0, r5, 0 - bl sub_81B7FAC - b _081B159E - .pool -_081B1560: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81B3938 - b _081B159E -_081B156E: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81B12C0 - b _081B159E -_081B157C: - adds r0, r4, 0 - bl sub_81B15A4 - lsls r0, 24 - cmp r0, 0 - beq _081B159E - ldrb r1, [r4] - adds r0, r5, 0 - bl sub_81B21AC - b _081B159E -_081B1592: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81B36FC -_081B159E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81B140C - - thumb_func_start sub_81B15A4 -sub_81B15A4: @ 81B15A4 - push {lr} - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _081B15C4 - movs r0, 0x1 - b _081B15CC - .pool -_081B15C4: - movs r0, 0x20 - bl PlaySE - movs r0, 0 -_081B15CC: - pop {r1} - bx r1 - thumb_func_end sub_81B15A4 - - thumb_func_start sub_81B15D0 -sub_81B15D0: @ 81B15D0 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0xB] - cmp r0, 0x8 - beq _081B1602 - cmp r0, 0x8 - bgt _081B15F0 - cmp r0, 0x1 - beq _081B15FA - b _081B161E - .pool -_081B15F0: - cmp r0, 0xA - beq _081B1602 - cmp r0, 0xD - beq _081B1610 - b _081B161E -_081B15FA: - movs r0, 0x20 - bl PlaySE - b _081B1652 -_081B1602: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81B407C - b _081B1652 -_081B1610: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81B2210 - b _081B1652 -_081B161E: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81B1660 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B1652 - bl sub_81221AC - lsls r0, 24 - cmp r0, 0 - bne _081B1642 - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x7 - strh r0, [r1] -_081B1642: - ldr r0, =gUnknown_0203CEE8 - movs r1, 0 - strb r1, [r0] - movs r0, 0x7 - strb r0, [r5] - adds r0, r4, 0 - bl sub_81B12C0 -_081B1652: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B15D0 - - thumb_func_start sub_81B1660 -sub_81B1660: @ 81B1660 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0x8] - movs r1, 0xF - ands r1, r0 - cmp r1, 0x2 - bne _081B1680 - ldr r5, =gText_CancelParticipation - b _081B168A - .pool -_081B1680: - cmp r1, 0x4 - bne _081B168A - bl sub_81B88BC - adds r5, r0, 0 -_081B168A: - cmp r5, 0 - beq _081B16CC - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - adds r0, 0xD - bl sub_81B302C - ldr r4, =gStringVar4 - adds r0, r4, 0 - adds r1, r5, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B16D4 - str r1, [r0] - movs r0, 0x1 - b _081B16CE - .pool -_081B16CC: - movs r0, 0 -_081B16CE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81B1660 - - thumb_func_start sub_81B16D4 -sub_81B16D4: @ 81B16D4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B16F8 - bl sub_81B334C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B1708 - str r0, [r1] -_081B16F8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B16D4 - - thumb_func_start sub_81B1708 -sub_81B1708: @ 81B1708 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081B172E - cmp r1, 0 - bgt _081B1728 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081B174C - b _081B1758 -_081B1728: - cmp r1, 0x1 - beq _081B1752 - b _081B1758 -_081B172E: - ldr r0, =gUnknown_0203CEE8 - strb r1, [r0] - ldr r1, =gUnknown_0203CEC8 - movs r0, 0x7 - strb r0, [r1, 0x9] - bl sub_81B8558 - adds r0, r4, 0 - bl sub_81B12C0 - b _081B1758 - .pool -_081B174C: - movs r0, 0x5 - bl PlaySE -_081B1752: - adds r0, r4, 0 - bl sub_81B1C1C -_081B1758: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B1708 - - thumb_func_start sub_81B1760 -sub_81B1760: @ 81B1760 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x30] - adds r3, r0, 0 - cmp r1, 0x20 - beq _081B178E - cmp r1, 0x20 - bgt _081B177C - cmp r1, 0x10 - beq _081B1792 - b _081B1796 - .pool -_081B177C: - cmp r1, 0x40 - beq _081B1786 - cmp r1, 0x80 - beq _081B178A - b _081B1796 -_081B1786: - movs r1, 0xFF - b _081B17B2 -_081B178A: - movs r1, 0x1 - b _081B17B2 -_081B178E: - movs r1, 0xFE - b _081B17B2 -_081B1792: - movs r1, 0x2 - b _081B17B2 -_081B1796: - bl sub_812210C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B17AA - cmp r0, 0x2 - beq _081B17AE - movs r1, 0 - b _081B17B0 -_081B17AA: - movs r1, 0xFF - b _081B17B0 -_081B17AE: - movs r1, 0x1 -_081B17B0: - ldr r3, =gMain -_081B17B2: - ldrh r2, [r3, 0x2E] - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _081B17C4 - movs r0, 0x8 - b _081B17F0 - .pool -_081B17C4: - lsls r0, r1, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081B17D6 - adds r0, r4, 0 - bl sub_81B17F8 - movs r0, 0 - b _081B17F0 -_081B17D6: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _081B17EA - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0x7 - bne _081B17EA - movs r0, 0x2 - b _081B17F0 -_081B17EA: - ldrh r1, [r3, 0x2E] - movs r0, 0x3 - ands r0, r1 -_081B17F0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81B1760 - - thumb_func_start sub_81B17F8 -sub_81B17F8: @ 81B17F8 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrb r4, [r5] - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0x8] - lsls r0, 26 - lsrs r0, 30 - cmp r0, 0 - bne _081B1820 - lsls r1, 24 - asrs r1, 24 - adds r0, r5, 0 - bl sub_81B1854 - b _081B182A - .pool -_081B1820: - lsls r1, 24 - asrs r1, 24 - adds r0, r5, 0 - bl sub_81B195C -_081B182A: - movs r1, 0 - ldrsb r1, [r5, r1] - lsls r4, 24 - asrs r0, r4, 24 - cmp r1, r0 - beq _081B184C - movs r0, 0x5 - bl PlaySE - lsrs r0, r4, 24 - movs r1, 0 - bl sub_81B0FCC - ldrb r0, [r5] - movs r1, 0x1 - bl sub_81B0FCC -_081B184C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81B17F8 - - thumb_func_start sub_81B1854 -sub_81B1854: @ 81B1854 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081B187A - cmp r1, r0 - bgt _081B1870 - subs r0, 0x1 - cmp r1, r0 - beq _081B1924 - b _081B1952 -_081B1870: - cmp r1, 0x1 - beq _081B18C0 - cmp r1, 0x2 - beq _081B18F8 - b _081B1952 -_081B187A: - ldrb r0, [r4] - movs r1, 0 - ldrsb r1, [r4, r1] - cmp r1, 0 - bne _081B1888 - movs r0, 0x7 - b _081B1950 -_081B1888: - cmp r1, 0x6 - bne _081B1898 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - b _081B1950 - .pool -_081B1898: - cmp r1, 0x7 - bne _081B18BC - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 31 - cmp r0, 0 - beq _081B18B0 - movs r0, 0x6 - b _081B1950 - .pool -_081B18B0: - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - b _081B1950 - .pool -_081B18BC: - subs r0, 0x1 - b _081B1950 -_081B18C0: - ldrb r2, [r4] - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0x7 - beq _081B194E - movs r1, 0 - ldrsb r1, [r4, r1] - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _081B18F4 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 31 - cmp r0, 0 - beq _081B18F0 - movs r0, 0x6 - b _081B1950 - .pool -_081B18F0: - movs r0, 0x7 - b _081B1950 -_081B18F4: - adds r0, r2, 0x1 - b _081B1950 -_081B18F8: - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x1 - beq _081B1952 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - bne _081B1952 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 28 - lsrs r0, 29 - cmp r0, 0 - bne _081B1950 - movs r0, 0x1 - b _081B1950 - .pool -_081B1924: - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - beq _081B1952 - cmp r0, 0x6 - beq _081B1952 - cmp r0, 0x7 - beq _081B1952 - ldr r0, =gUnknown_0203CEC4 - ldr r3, [r0] - movs r1, 0 - ldrsb r1, [r4, r1] - movs r0, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3, 0x8] - movs r0, 0xF - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x8] -_081B194E: - movs r0, 0 -_081B1950: - strb r0, [r4] -_081B1952: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B1854 - - thumb_func_start sub_81B195C -sub_81B195C: @ 81B195C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r2, r1, 24 - asrs r5, r1, 24 - movs r6, 0x1 - negs r6, r6 - cmp r5, r6 - beq _081B1988 - cmp r5, r6 - bgt _081B197E - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - bne _081B197C - b _081B1A9C -_081B197C: - b _081B1AF4 -_081B197E: - cmp r5, 0x1 - beq _081B19E4 - cmp r5, 0x2 - beq _081B1A24 - b _081B1AF4 -_081B1988: - ldrb r1, [r4] - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - bne _081B1996 - movs r0, 0x7 - b _081B1AF2 -_081B1996: - cmp r0, 0x6 - bne _081B19A8 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - b _081B1AF2 - .pool -_081B19A8: - cmp r0, 0x7 - bne _081B19C4 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 31 - cmp r0, 0 - beq _081B19C0 - movs r0, 0x6 - b _081B1AF2 - .pool -_081B19C0: - subs r0, r1, 0x1 - strb r0, [r4] -_081B19C4: - movs r0, 0 - ldrsb r0, [r4, r0] - lsls r1, r2, 24 - asrs r1, 24 - bl sub_81B1B00 - lsls r0, 24 - lsrs r2, r0, 24 - asrs r0, 24 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _081B19E0 - b _081B1AF4 -_081B19E0: - strb r2, [r4] - b _081B1AF4 -_081B19E4: - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0x6 - bne _081B19F0 - movs r0, 0x7 - b _081B1AF2 -_081B19F0: - cmp r0, 0x7 - bne _081B19F8 - movs r0, 0 - b _081B1AF2 -_081B19F8: - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x1 - bl sub_81B1B00 - lsls r0, 24 - lsrs r2, r0, 24 - asrs r0, 24 - cmp r0, r6 - bne _081B19E0 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 31 - cmp r0, 0 - beq _081B1A20 - movs r0, 0x6 - b _081B1AF2 - .pool -_081B1A20: - movs r0, 0x7 - b _081B1AF2 -_081B1A24: - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - bne _081B1A5C - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 28 - lsrs r6, r0, 29 - cmp r6, 0x3 - bne _081B1A54 - ldr r0, =gPlayerParty + 300 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B1AF4 - strb r6, [r4] - b _081B1AF4 - .pool -_081B1A54: - ldr r0, =gPlayerParty + 200 - b _081B1A70 - .pool -_081B1A5C: - cmp r0, 0x1 - bne _081B1AF4 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 28 - lsrs r5, r0, 29 - cmp r5, 0x5 - bne _081B1A88 - ldr r0, =gPlayerParty + 500 -_081B1A70: - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B1AF4 - strb r5, [r4] - b _081B1AF4 - .pool -_081B1A88: - ldr r0, =gPlayerParty + 400 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B1AF4 - movs r0, 0x4 - b _081B1AF2 - .pool -_081B1A9C: - ldrb r1, [r4] - subs r0, r1, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _081B1ACC - ldr r0, =gUnknown_0203CEC4 - ldr r3, [r0] - movs r1, 0 - ldrsb r1, [r4, r1] - movs r0, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3, 0x8] - movs r0, 0xF - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x8] - movs r0, 0 - b _081B1AF2 - .pool -_081B1ACC: - subs r0, r1, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _081B1AF4 - ldr r0, =gUnknown_0203CEC4 - ldr r3, [r0] - movs r1, 0 - ldrsb r1, [r4, r1] - movs r0, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3, 0x8] - movs r0, 0xF - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x8] - movs r0, 0x1 -_081B1AF2: - strb r0, [r4] -_081B1AF4: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B195C - - thumb_func_start sub_81B1B00 -sub_81B1B00: @ 81B1B00 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - asrs r6, r1, 24 -_081B1B0A: - lsls r0, r5, 24 - asrs r0, 24 - adds r0, r6 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, r5, 24 - lsrs r0, r1, 24 - cmp r0, 0x5 - bhi _081B1B38 - asrs r4, r1, 24 - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B1B0A - adds r0, r4, 0 - b _081B1B3C - .pool -_081B1B38: - movs r0, 0x1 - negs r0, r0 -_081B1B3C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81B1B00 - - thumb_func_start GetMonNickname -@ u8 *GetMonNickname(struct pokemon *mon, u8 *dest) -GetMonNickname: @ 81B1B44 - push {r4,lr} - adds r4, r1, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl GetMonData - adds r0, r4, 0 - bl StringGetEnd10 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetMonNickname - - thumb_func_start sub_81B1B5C -sub_81B1B5C: @ 81B1B5C - push {r4,lr} - lsls r4, r1, 24 - lsrs r4, 24 - bl sub_81B3300 - ldr r0, =sub_81B1B8C - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B1B5C - - thumb_func_start sub_81B1B8C -sub_81B1B8C: @ 81B1B8C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - movs r0, 0x6 - bl RunTextPrintersRetIsActive - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _081B1BC8 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _081B1BC2 - movs r0, 0x6 - movs r1, 0 - bl sub_8198070 - movs r0, 0x6 - bl ClearWindowTilemap -_081B1BC2: - adds r0, r5, 0 - bl DestroyTask -_081B1BC8: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B1B8C - - thumb_func_start sub_81B1BD4 -sub_81B1BD4: @ 81B1BD4 - push {lr} - ldr r0, =sub_81B1B8C - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B1BD4 - - thumb_func_start sub_81B1BE8 -sub_81B1BE8: @ 81B1BE8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B1C0E - movs r0, 0 - bl display_pokemon_menu_message - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B1370 - str r0, [r1] -_081B1C0E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B1BE8 - - thumb_func_start sub_81B1C1C -sub_81B1C1C: @ 81B1C1C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B1C74 - movs r0, 0x6 - movs r1, 0 - bl sub_8198070 - movs r0, 0x6 - bl ClearWindowTilemap - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B1C60 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B1BE8 - b _081B1C72 - .pool -_081B1C60: - movs r0, 0 - bl display_pokemon_menu_message - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B1370 -_081B1C72: - str r0, [r1] -_081B1C74: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B1C1C - - thumb_func_start sub_81B1C84 -sub_81B1C84: @ 81B1C84 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gStringVar1 - bl GetMonNickname - ldr r1, =gStringVar2 - adds r0, r4, 0 - bl CopyItemName - ldr r4, =gStringVar4 - ldr r1, =gText_PkmnWasGivenItem - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B1C84 - - thumb_func_start sub_81B1CD0 -sub_81B1CD0: @ 81B1CD0 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gStringVar1 - bl GetMonNickname - ldr r1, =gStringVar2 - adds r0, r4, 0 - bl CopyItemName - ldr r4, =gStringVar4 - ldr r1, =gText_RecievedItemFromPkmn - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B1CD0 - - thumb_func_start sub_81B1D1C -sub_81B1D1C: @ 81B1D1C - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gStringVar1 - bl GetMonNickname - ldr r1, =gStringVar2 - adds r0, r4, 0 - bl CopyItemName - ldr r4, =gStringVar4 - ldr r1, =gText_SwitchPkmnItem - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B1D1C - - thumb_func_start sub_81B1D68 -sub_81B1D68: @ 81B1D68 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gStringVar1 - bl CopyItemName - ldr r1, =gStringVar2 - adds r0, r4, 0 - bl CopyItemName - ldr r4, =gStringVar4 - ldr r1, =gText_SwitchedPkmnItem - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B1D68 - - thumb_func_start sub_81B1DB8 -sub_81B1DB8: @ 81B1DB8 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - lsls r5, r1, 16 - lsrs r4, r5, 16 - adds r7, r4, 0 - adds r0, r4, 0 - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B1DE2 - adds r0, r6, 0 - adds r1, r4, 0 - bl GiveMailToMon - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _081B1DF6 -_081B1DE2: - mov r0, sp - strb r7, [r0] - mov r1, sp - lsrs r0, r5, 24 - strb r0, [r1, 0x1] - adds r0, r6, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData -_081B1DF6: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81B1DB8 - - thumb_func_start sub_81B1E00 -sub_81B1E00: @ 81B1E00 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - strh r0, [r1] - cmp r0, 0 - bne _081B1E1C - movs r0, 0 - b _081B1E3E -_081B1E1C: - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - beq _081B1E3C - movs r1, 0 - mov r0, sp - strh r1, [r0] - adds r0, r4, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - movs r0, 0x2 - b _081B1E3E -_081B1E3C: - movs r0, 0x1 -_081B1E3E: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81B1E00 - - thumb_func_start pokemon_item_not_removed -pokemon_item_not_removed: @ 81B1E48 - push {lr} - ldr r0, =gStringVar4 - ldr r1, =gText_BagFullCouldNotRemoveItem - bl StringExpandPlaceholders - pop {r0} - bx r0 - .pool - thumb_func_end pokemon_item_not_removed - - thumb_func_start sub_81B1E60 -sub_81B1E60: @ 81B1E60 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r7, r0, r1 - ldrh r0, [r7, 0x4] - ldrh r1, [r7] - adds r0, r1 - strh r0, [r7] - ldrh r0, [r7, 0x6] - subs r0, 0x1 - strh r0, [r7, 0x6] - movs r2, 0x8 - ldrsh r0, [r7, r2] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x39 - adds r2, r7, 0 - bl SetMonData - movs r3, 0x8 - ldrsh r2, [r7, r3] - adds r0, r2, 0 - muls r0, r5 - adds r0, r4 - ldr r6, =gUnknown_0203CEDC - lsls r2, 4 - ldr r1, [r6] - adds r1, r2 - movs r2, 0x1 - bl sub_81B2CD4 - movs r0, 0x8 - ldrsh r2, [r7, r0] - adds r0, r2, 0 - muls r0, r5 - adds r0, r4 - lsls r2, 4 - ldr r1, [r6] - adds r1, r2 - bl sub_81B2E28 - movs r1, 0x6 - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _081B1EDC - movs r2, 0 - ldrsh r1, [r7, r2] - cmp r1, 0 - beq _081B1EDC - movs r3, 0x2 - ldrsh r0, [r7, r3] - cmp r1, r0 - bne _081B1EFE -_081B1EDC: - movs r0, 0 - ldrsh r1, [r7, r0] - movs r2, 0xA - ldrsh r0, [r7, r2] - cmp r1, r0 - ble _081B1EF8 - ldr r0, =gStringVar2 - movs r3, 0xA - ldrsh r2, [r7, r3] - subs r1, r2 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN -_081B1EF8: - mov r0, r8 - bl SwitchTaskToFollowupFunc -_081B1EFE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B1E60 - - thumb_func_start sub_81B1F18 -sub_81B1F18: @ 81B1F18 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r0 - mov r9, r1 - adds r5, r2, 0 - mov r10, r3 - ldr r7, [sp, 0x20] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r5, 24 - lsrs r5, 24 - mov r0, r10 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - movs r0, 0x64 - mov r6, r9 - muls r6, r0 - ldr r0, =gPlayerParty - adds r6, r0 - mov r0, r8 - lsls r4, r0, 2 - add r4, r8 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - adds r0, r6, 0 - movs r1, 0x39 - bl GetMonData - strh r0, [r4] - adds r0, r6, 0 - movs r1, 0x3A - bl GetMonData - strh r0, [r4, 0x2] - lsls r5, 24 - asrs r5, 24 - strh r5, [r4, 0x4] - mov r0, r10 - strh r0, [r4, 0x6] - mov r0, r9 - strh r0, [r4, 0x8] - ldrh r0, [r4] - strh r0, [r4, 0xA] - ldr r1, =sub_81B1E60 - mov r0, r8 - adds r2, r7, 0 - bl SetTaskFuncWithFollowupFunc - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B1F18 - - thumb_func_start sub_81B1FA8 -sub_81B1FA8: @ 81B1FA8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r3, r0, r1 - cmp r5, 0x5 - bhi _081B200A - lsls r0, r5, 2 - ldr r1, =_081B1FD4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081B1FD4: - .4byte _081B1FEC - .4byte _081B1FF2 - .4byte _081B1FF6 - .4byte _081B1FFA - .4byte _081B1FFE - .4byte _081B2002 -_081B1FEC: - strh r2, [r3] - strh r2, [r3, 0xA] - b _081B200A -_081B1FF2: - strh r2, [r3, 0x2] - b _081B200A -_081B1FF6: - strh r2, [r3, 0x4] - b _081B200A -_081B1FFA: - strh r2, [r3, 0x6] - b _081B200A -_081B1FFE: - strh r2, [r3, 0x8] - b _081B200A -_081B2002: - ldr r1, =sub_81B1E60 - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc -_081B200A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B1FA8 - - thumb_func_start pokemon_ailments_get_primary -pokemon_ailments_get_primary: @ 81B2014 - push {lr} - adds r1, r0, 0 - movs r0, 0x88 - ands r0, r1 - cmp r0, 0 - beq _081B2024 - movs r0, 0x1 - b _081B2056 -_081B2024: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081B2030 - movs r0, 0x2 - b _081B2056 -_081B2030: - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _081B203C - movs r0, 0x3 - b _081B2056 -_081B203C: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081B2048 - movs r0, 0x4 - b _081B2056 -_081B2048: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _081B2054 - movs r0, 0 - b _081B2056 -_081B2054: - movs r0, 0x5 -_081B2056: - pop {r1} - bx r1 - thumb_func_end pokemon_ailments_get_primary - - thumb_func_start sub_81B205C -@ u8 sub_81B205C(struct pokemon *mon, int a2, void *a3) -sub_81B205C: @ 81B205C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _081B206E - movs r0, 0x7 - b _081B2096 -_081B206E: - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - bl pokemon_ailments_get_primary - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _081B2096 - adds r0, r4, 0 - movs r1, 0 - bl CheckPartyPokerus - lsls r0, 24 - cmp r0, 0 - bne _081B2094 - movs r0, 0 - b _081B2096 -_081B2094: - movs r0, 0x6 -_081B2096: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81B205C - - thumb_func_start sub_81B209C -sub_81B209C: @ 81B209C - push {r4,r5,lr} - ldr r2, =gUnknown_0203CEC8 - ldrb r1, [r2, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0xB - bne _081B2126 - adds r5, r2, 0 - adds r5, 0xE - movs r0, 0 - strh r0, [r2, 0xE] - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - bne _081B20FC - movs r4, 0 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r4, r0 - bcs _081B2126 -_081B20C4: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - bl sub_81B2134 - lsls r0, 16 - lsrs r0, 16 - lsls r0, r4 - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r4, r0 - bcc _081B20C4 - b _081B2126 - .pool -_081B20FC: - movs r4, 0 - b _081B211E -_081B2100: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - bl sub_81B2164 - lsls r0, 16 - lsrs r0, 16 - lsls r0, r4 - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_081B211E: - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r4, r0 - bcc _081B2100 -_081B2126: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B209C - - thumb_func_start sub_81B2134 -sub_81B2134: @ 81B2134 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _081B215A - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl sub_802C908 - cmp r0, 0 - beq _081B215A - movs r0, 0x1 - b _081B215C -_081B215A: - movs r0, 0 -_081B215C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81B2134 - - thumb_func_start sub_81B2164 -sub_81B2164: @ 81B2164 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _081B2182 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0x55 - bne _081B2182 - movs r0, 0x1 - b _081B2184 -_081B2182: - movs r0, 0 -_081B2184: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81B2164 - - thumb_func_start sub_81B218C -sub_81B218C: @ 81B218C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CEC8 - movs r2, 0xE - ldrsh r1, [r1, r2] - asrs r1, r0 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - bne _081B21A4 - movs r0, 0 -_081B21A4: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B218C - - thumb_func_start sub_81B21AC -sub_81B21AC: @ 81B21AC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - adds r0, r5, 0 - bl sub_81B218C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B21DC - movs r0, 0x5 - bl PlaySE - ldr r0, =gSpecialVar_0x8004 - strh r5, [r0] - adds r0, r4, 0 - bl sub_81B12C0 - b _081B21FE - .pool -_081B21DC: - movs r0, 0x20 - bl PlaySE - ldr r0, =gText_PkmnCantParticipate - movs r1, 0 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1C1C - str r1, [r0] -_081B21FE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B21AC - - thumb_func_start sub_81B2210 -sub_81B2210: @ 81B2210 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gText_CancelParticipation - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B2248 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2210 - - thumb_func_start sub_81B2248 -sub_81B2248: @ 81B2248 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B226C - bl sub_81B334C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B227C - str r0, [r1] -_081B226C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2248 - - thumb_func_start sub_81B227C -sub_81B227C: @ 81B227C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081B22A2 - cmp r1, 0 - bgt _081B229C - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081B22B4 - b _081B22C8 -_081B229C: - cmp r1, 0x1 - beq _081B22BA - b _081B22C8 -_081B22A2: - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x7 - strh r0, [r1] - adds r0, r4, 0 - bl sub_81B12C0 - b _081B22C8 - .pool -_081B22B4: - movs r0, 0x5 - bl PlaySE -_081B22BA: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B1C1C - str r0, [r1] -_081B22C8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B227C - - thumb_func_start sub_81B22D8 -sub_81B22D8: @ 81B22D8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r7, r4, 0 - lsls r2, 24 - lsrs r6, r2, 24 - mov r8, r6 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _081B22FA - movs r0, 0x3 - b _081B2356 -_081B22FA: - movs r0, 0x90 - lsls r0, 1 - cmp r4, r0 - bls _081B231C - adds r1, r4, 0 - subs r1, 0x21 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl CanMonLearnTMHM - cmp r0, 0 - beq _081B2334 - adds r0, r7, 0 - bl ItemIdToBattleMoveId - b _081B233E -_081B231C: - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl sub_81B2370 - lsls r0, 24 - cmp r0, 0 - bne _081B2338 -_081B2334: - movs r0, 0x1 - b _081B2356 -_081B2338: - mov r0, r8 - bl sub_81B2360 -_081B233E: - lsls r0, 16 - lsrs r1, r0, 16 - adds r0, r5, 0 - bl pokemon_has_move - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B2354 - movs r0, 0 - b _081B2356 -_081B2354: - movs r0, 0x2 -_081B2356: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81B22D8 - - thumb_func_start sub_81B2360 -sub_81B2360: @ 81B2360 - lsls r0, 24 - ldr r1, =gUnknown_0861500C - lsrs r0, 23 - adds r0, r1 - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_81B2360 - - thumb_func_start sub_81B2370 -sub_81B2370: @ 81B2370 - push {lr} - lsls r0, 16 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_08615048 - lsrs r0, 14 - adds r0, r2 - movs r2, 0x1 - lsls r2, r1 - ldr r0, [r0] - ands r0, r2 - cmp r0, 0 - bne _081B2394 - movs r0, 0 - b _081B2396 - .pool -_081B2394: - movs r0, 0x1 -_081B2396: - pop {r1} - bx r1 - thumb_func_end sub_81B2370 - - thumb_func_start sub_81B239C -sub_81B239C: @ 81B239C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x1 - beq _081B23C4 - cmp r0, 0x1 - bgt _081B23B2 - cmp r0, 0 - beq _081B23B8 - b _081B23DC -_081B23B2: - cmp r1, 0x2 - beq _081B23D0 - b _081B23DC -_081B23B8: - ldr r0, =gUnknown_08615810 - bl InitWindows - b _081B23E2 - .pool -_081B23C4: - ldr r0, =gUnknown_08615850 - bl InitWindows - b _081B23E2 - .pool -_081B23D0: - ldr r0, =gUnknown_08615890 - bl InitWindows - b _081B23E2 - .pool -_081B23DC: - ldr r0, =gUnknown_086158D0 - bl InitWindows -_081B23E2: - bl DeactivateAllTextPrinters - movs r4, 0 -_081B23E8: - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _081B23E8 - movs r0, 0 - movs r1, 0x4F - movs r2, 0xD0 - bl LoadUserWindowBorderGfx - bl GetOverworldTextboxPalettePtr - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_0860F074 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B239C - - thumb_func_start sub_81B2428 -sub_81B2428: @ 81B2428 - push {r4-r6,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0203CEC8 - ldrb r1, [r0, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x5 - bne _081B243E - b _081B2554 -_081B243E: - cmp r2, 0x1 - bne _081B24B4 - ldr r0, =gUnknown_08615918 - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r5, =gMenuText_Confirm - movs r0, 0 - adds r1, r5, 0 - movs r2, 0x30 - bl GetStringCenterAlignXOffset - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - ldr r0, =gUnknown_086157FC - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - str r5, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0 - movs r3, 0x1 - bl AddTextPrinterParameterized4 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, =gUnknown_08615910 - bl AddWindow - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - b _081B24C0 - .pool -_081B24B4: - ldr r0, =gUnknown_08615908 - bl AddWindow - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0x3 -_081B24C0: - adds r0, r5, 0 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, =gUnknown_0203CEC8 - ldrb r1, [r0, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0xA - beq _081B2514 - ldr r4, =gText_Cancel - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x30 - bl GetStringCenterAlignXOffset - lsls r0, 24 - lsrs r2, r0, 24 - adds r2, r6 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_086157FC - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - b _081B2540 - .pool -_081B2514: - ldr r4, =gText_Cancel2 - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x30 - bl GetStringCenterAlignXOffset - lsls r0, 24 - lsrs r2, r0, 24 - adds r2, r6 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_086157FC - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x1 - bl AddTextPrinterParameterized3 -_081B2540: - adds r0, r5, 0 - bl PutWindowTilemap - adds r0, r5, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram -_081B2554: - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2428 - - thumb_func_start sub_81B2564 -sub_81B2564: @ 81B2564 - lsls r0, 24 - ldr r1, =gUnknown_0203CEC4 - lsrs r0, 23 - adds r0, 0x18 - ldr r1, [r1] - adds r1, r0 - adds r0, r1, 0 - bx lr - .pool - thumb_func_end sub_81B2564 - - thumb_func_start sub_81B2578 -sub_81B2578: @ 81B2578 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - str r1, [sp, 0xC] - ldr r1, [sp, 0x4C] - ldr r4, [sp, 0x50] - ldr r5, [sp, 0x54] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x10] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x14] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x18] - lsls r4, 24 - lsrs r6, r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r10, r5 - mov r0, r10 - muls r0, r6 - lsls r0, 5 - bl AllocZeroed - mov r9, r0 - cmp r0, 0 - beq _081B2646 - movs r5, 0 - ldr r0, [sp, 0x14] - lsls r0, 19 - str r0, [sp, 0x1C] - ldr r1, [sp, 0x18] - lsls r1, 19 - str r1, [sp, 0x20] - lsls r2, r6, 19 - str r2, [sp, 0x24] - mov r0, r10 - lsls r0, 19 - str r0, [sp, 0x28] - cmp r5, r10 - bcs _081B2624 -_081B25DA: - movs r4, 0 - adds r1, r5, 0x1 - mov r8, r1 - cmp r4, r6 - bcs _081B261A - ldr r2, [sp, 0x18] - adds r0, r2, r5 - ldr r2, [sp, 0x10] - adds r1, r0, 0 - muls r1, r2 - adds r7, r1, 0 -_081B25F0: - ldr r1, [sp, 0x14] - adds r0, r1, r4 - adds r0, r7 - ldr r2, [sp, 0xC] - adds r0, r2, r0 - ldrb r0, [r0] - bl sub_81B0DD4 - adds r1, r5, 0 - muls r1, r6 - adds r1, r4 - lsls r1, 5 - add r1, r9 - movs r2, 0x10 - bl CpuSet - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _081B25F0 -_081B261A: - mov r1, r8 - lsls r0, r1, 24 - lsrs r5, r0, 24 - cmp r5, r10 - bcc _081B25DA -_081B2624: - ldr r0, [sp, 0x1C] - lsrs r2, r0, 16 - ldr r1, [sp, 0x20] - lsrs r3, r1, 16 - ldr r1, [sp, 0x24] - lsrs r0, r1, 16 - str r0, [sp] - ldr r1, [sp, 0x28] - lsrs r0, r1, 16 - str r0, [sp, 0x4] - ldr r0, [sp, 0x8] - mov r1, r9 - bl BlitBitmapToWindow - mov r0, r9 - bl Free -_081B2646: - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81B2578 - - thumb_func_start sub_81B2658 -sub_81B2658: @ 81B2658 - push {r4-r6,lr} - sub sp, 0xC - ldr r4, [sp, 0x1C] - ldr r5, [sp, 0x20] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - cmp r3, 0 - bne _081B2684 - cmp r4, 0 - bne _081B2684 - movs r3, 0xA - movs r4, 0x7 -_081B2684: - cmp r5, 0 - bne _081B26A0 - ldr r1, =gUnknown_08615988 - str r2, [sp] - str r3, [sp, 0x4] - str r4, [sp, 0x8] - movs r2, 0xA - adds r3, r6, 0 - bl sub_81B2578 - b _081B26B0 - .pool -_081B26A0: - ldr r1, =gUnknown_086159CE - str r2, [sp] - str r3, [sp, 0x4] - str r4, [sp, 0x8] - movs r2, 0xA - adds r3, r6, 0 - bl sub_81B2578 -_081B26B0: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2658 - - thumb_func_start sub_81B26BC -sub_81B26BC: @ 81B26BC - push {r4-r6,lr} - sub sp, 0xC - ldr r4, [sp, 0x1C] - ldr r5, [sp, 0x20] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - cmp r3, 0 - bne _081B26E8 - cmp r4, 0 - bne _081B26E8 - movs r3, 0x12 - movs r4, 0x3 -_081B26E8: - cmp r5, 0 - bne _081B2704 - ldr r1, =gUnknown_08615A14 - str r2, [sp] - str r3, [sp, 0x4] - str r4, [sp, 0x8] - movs r2, 0x12 - adds r3, r6, 0 - bl sub_81B2578 - b _081B2714 - .pool -_081B2704: - ldr r1, =gUnknown_08615A4A - str r2, [sp] - str r3, [sp, 0x4] - str r4, [sp, 0x8] - movs r2, 0x12 - adds r3, r6, 0 - bl sub_81B2578 -_081B2714: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B26BC - - thumb_func_start sub_81B2720 -sub_81B2720: @ 81B2720 - push {lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_08615A80 - movs r2, 0 - str r2, [sp] - movs r2, 0x12 - str r2, [sp, 0x4] - movs r2, 0x3 - str r2, [sp, 0x8] - movs r2, 0x12 - movs r3, 0 - bl sub_81B2578 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2720 - - thumb_func_start sub_81B2748 -sub_81B2748: @ 81B2748 - push {r4-r7,lr} - lsls r1, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - ldrb r0, [r0, 0x8] - movs r1, 0x5 - bl GetWindowAttribute - lsls r0, 28 - lsrs r6, r0, 24 - adds r7, r6, 0 - movs r0, 0x40 - ands r0, r4 - cmp r0, 0 - beq _081B277C - ldr r5, =gUnknown_08615AF1 - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615AC0 - b _081B297E - .pool -_081B277C: - movs r0, 0x20 - ands r0, r4 - cmp r0, 0 - beq _081B27D8 - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _081B2794 - ldr r5, =gUnknown_08615ADF - b _081B2942 - .pool -_081B2794: - ldr r5, =gUnknown_08615ADF - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615ABA - ldrb r1, [r4] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x2] - bl sub_81B2564 - ldrb r1, [r4, 0x2] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldr r5, =gUnknown_08615AEE - b _081B2976 - .pool -_081B27D8: - movs r0, 0x10 - ands r0, r4 - cmp r0, 0 - beq _081B2824 - ldr r5, =gUnknown_08615ADF - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615ABA - ldrb r1, [r4] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x2] - bl sub_81B2564 - ldrb r1, [r4, 0x2] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldr r5, =gUnknown_08615AEE - b _081B2976 - .pool -_081B2824: - movs r0, 0x4 - ands r0, r4 - cmp r0, 0 - beq _081B2880 - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _081B283C - ldr r5, =gUnknown_08615ADF - b _081B2942 - .pool -_081B283C: - ldr r5, =gUnknown_08615ADF - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615ABA - ldrb r1, [r4] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x2] - bl sub_81B2564 - ldrb r1, [r4, 0x2] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldr r5, =gUnknown_08615AEE - b _081B2976 - .pool -_081B2880: - movs r0, 0x2 - ands r0, r4 - cmp r0, 0 - beq _081B28DC - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _081B2898 - ldr r5, =gUnknown_08615ADC - b _081B2942 - .pool -_081B2898: - ldr r5, =gUnknown_08615AD3 - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615ABA - ldrb r1, [r4] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x2] - bl sub_81B2564 - ldrb r1, [r4, 0x2] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldr r5, =gUnknown_08615AE8 - b _081B2976 - .pool -_081B28DC: - movs r0, 0x8 - ands r0, r4 - cmp r0, 0 - beq _081B2938 - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _081B28F4 - ldr r5, =gUnknown_08615AD9 - b _081B2942 - .pool -_081B28F4: - ldr r5, =gUnknown_08615AD0 - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615ABA - ldrb r1, [r4] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x2] - bl sub_81B2564 - ldrb r1, [r4, 0x2] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldr r5, =gUnknown_08615AE5 - b _081B2976 - .pool -_081B2938: - movs r0, 0x1 - ands r5, r0 - cmp r5, 0 - beq _081B29BC - ldr r5, =gUnknown_08615AD6 -_081B2942: - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615ABA - ldrb r1, [r4] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x2] - bl sub_81B2564 - ldrb r1, [r4, 0x2] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldr r5, =gUnknown_08615AEB -_081B2976: - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615ABD -_081B297E: - ldrb r1, [r4] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x2] - bl sub_81B2564 - ldrb r1, [r4, 0x2] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - b _081B2A24 - .pool -_081B29BC: - ldr r5, =gUnknown_08615ACD - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615ABA - ldrb r1, [r4] - adds r1, r7 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r7 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x2] - bl sub_81B2564 - ldrb r1, [r4, 0x2] - adds r1, r7 - movs r2, 0x2 - bl LoadPalette - ldr r5, =gUnknown_08615AE2 - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615ABD - ldrb r1, [r4] - adds r1, r7 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r7 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x2] - bl sub_81B2564 - ldrb r1, [r4, 0x2] - adds r1, r7 - movs r2, 0x2 - bl LoadPalette -_081B2A24: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2748 - - thumb_func_start sub_81B2A3C -sub_81B2A3C: @ 81B2A3C - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - ldrb r5, [r3] - ldrb r3, [r3, 0x1] - lsls r4, r2, 1 - adds r4, r2 - ldr r2, =gUnknown_086157FC - adds r4, r2 - str r4, [sp] - movs r2, 0 - str r2, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0 - adds r2, r5, 0 - bl AddTextPrinterParameterized3 - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2A3C - - thumb_func_start sub_81B2A70 -sub_81B2A70: @ 81B2A70 - push {r4-r7,lr} - sub sp, 0x14 - adds r7, r0, 0 - adds r6, r1, 0 - lsls r2, 24 - lsrs r4, r2, 24 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B2AC0 - cmp r4, 0x1 - bne _081B2AAA - ldr r5, [r6] - ldrb r0, [r6, 0x8] - ldrb r1, [r5, 0x4] - lsrs r1, 3 - ldrb r2, [r5, 0x5] - lsrs r2, 3 - ldrb r3, [r5, 0x6] - lsrs r3, 3 - ldrb r4, [r5, 0x7] - lsrs r4, 3 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r4, [r5] - bl _call_via_r4 -_081B2AAA: - adds r0, r7, 0 - add r1, sp, 0x8 - bl GetMonNickname - ldrb r0, [r6, 0x8] - ldr r3, [r6] - adds r3, 0x4 - add r1, sp, 0x8 - movs r2, 0 - bl sub_81B2A3C -_081B2AC0: - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81B2A70 - - thumb_func_start sub_81B2AC8 -sub_81B2AC8: @ 81B2AC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r6, r0, 0 - adds r7, r1, 0 - lsls r2, 24 - lsrs r4, r2, 24 - mov r8, r4 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B2B34 - adds r0, r6, 0 - bl sub_81B205C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _081B2AF6 - cmp r0, 0x6 - bne _081B2B34 -_081B2AF6: - cmp r4, 0 - beq _081B2B1C - ldr r5, [r7] - ldrb r0, [r7, 0x8] - ldrb r1, [r5, 0x8] - lsrs r1, 3 - ldrb r2, [r5, 0x9] - lsrs r2, 3 - adds r2, 0x1 - ldrb r3, [r5, 0xA] - lsrs r3, 3 - ldrb r4, [r5, 0xB] - lsrs r4, 3 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r4, [r5] - bl _call_via_r4 -_081B2B1C: - mov r0, r8 - cmp r0, 0x2 - beq _081B2B34 - adds r0, r6, 0 - movs r1, 0x38 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - adds r1, r7, 0 - bl sub_81B2B40 -_081B2B34: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81B2AC8 - - thumb_func_start sub_81B2B40 -sub_81B2B40: @ 81B2B40 - push {r4-r6,lr} - adds r2, r0, 0 - adds r6, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r5, =gStringVar2 - adds r0, r5, 0 - adds r1, r2, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar1 - ldr r1, =gText_LevelSymbol - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - adds r1, r5, 0 - bl StringAppend - ldrb r0, [r6, 0x8] - ldr r3, [r6] - adds r3, 0x8 - adds r1, r4, 0 - movs r2, 0 - bl sub_81B2A3C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2B40 - - thumb_func_start sub_81B2B8C -sub_81B2B8C: @ 81B2B8C - push {r4-r7,lr} - sub sp, 0x14 - adds r6, r0, 0 - adds r7, r1, 0 - lsls r2, 24 - lsrs r2, 24 - cmp r2, 0x1 - bne _081B2BBE - ldr r5, [r7] - ldrb r0, [r7, 0x8] - ldrb r1, [r5, 0xC] - lsrs r1, 3 - ldrb r2, [r5, 0xD] - lsrs r2, 3 - adds r2, 0x1 - ldrb r3, [r5, 0xE] - lsrs r3, 3 - ldrb r4, [r5, 0xF] - lsrs r4, 3 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r4, [r5] - bl _call_via_r4 -_081B2BBE: - adds r0, r6, 0 - add r1, sp, 0x8 - bl GetMonNickname - adds r0, r6, 0 - bl GetMonGender - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - add r2, sp, 0x8 - adds r3, r7, 0 - bl sub_81B2BF4 - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81B2B8C - - thumb_func_start sub_81B2BF4 -sub_81B2BF4: @ 81B2BF4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r2 - adds r7, r3, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r5, r4, 0 - ldrb r0, [r7, 0x8] - movs r1, 0x5 - bl GetWindowAttribute - lsls r0, 28 - lsrs r6, r0, 24 - cmp r4, 0 - beq _081B2CBA - cmp r4, 0x20 - beq _081B2C24 - cmp r4, 0x1D - bne _081B2C38 -_081B2C24: - movs r0, 0xB - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - mov r0, r9 - bl StringCompare - cmp r0, 0 - beq _081B2CBA -_081B2C38: - mov r0, r8 - cmp r0, 0 - beq _081B2C48 - cmp r0, 0xFE - beq _081B2C88 - b _081B2CBA - .pool -_081B2C48: - ldr r5, =gUnknown_08615AC3 - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615AB6 - ldrb r1, [r4] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r7, 0x8] - ldr r1, =gText_MaleSymbol - ldr r3, [r7] - adds r3, 0xC - movs r2, 0x2 - bl sub_81B2A3C - b _081B2CBA - .pool -_081B2C88: - ldr r5, =gUnknown_08615AC5 - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615AB6 - ldrb r1, [r4] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r6 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r7, 0x8] - ldr r1, =gText_FemaleSymbol - ldr r3, [r7] - adds r3, 0xC - movs r2, 0x2 - bl sub_81B2A3C -_081B2CBA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2BF4 - - thumb_func_start sub_81B2CD4 -sub_81B2CD4: @ 81B2CD4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r7, r0, 0 - adds r6, r1, 0 - lsls r2, 24 - lsrs r4, r2, 24 - mov r8, r4 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B2D2E - cmp r4, 0 - beq _081B2D16 - ldr r5, [r6] - ldrb r0, [r6, 0x8] - ldrb r1, [r5, 0x10] - lsrs r1, 3 - ldrb r2, [r5, 0x11] - lsrs r2, 3 - adds r2, 0x1 - ldrb r3, [r5, 0x12] - lsrs r3, 3 - ldrb r4, [r5, 0x13] - lsrs r4, 3 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r4, [r5] - bl _call_via_r4 -_081B2D16: - mov r0, r8 - cmp r0, 0x2 - beq _081B2D2E - adds r0, r7, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl sub_81B2D3C -_081B2D2E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81B2CD4 - - thumb_func_start sub_81B2D3C -sub_81B2D3C: @ 81B2D3C - push {r4,r5,lr} - adds r2, r0, 0 - adds r4, r1, 0 - lsls r2, 16 - lsrs r2, 16 - ldr r5, =gStringVar1 - adds r0, r5, 0 - adds r1, r2, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r1, 0xBA - strb r1, [r0] - movs r1, 0xFF - strb r1, [r0, 0x1] - ldrb r0, [r4, 0x8] - ldr r3, [r4] - adds r3, 0x10 - adds r1, r5, 0 - movs r2, 0 - bl sub_81B2A3C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2D3C - - thumb_func_start sub_81B2D74 -sub_81B2D74: @ 81B2D74 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r7, r0, 0 - adds r6, r1, 0 - lsls r2, 24 - lsrs r4, r2, 24 - mov r8, r4 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B2DD0 - cmp r4, 0 - beq _081B2DB8 - ldr r5, [r6] - ldrb r0, [r6, 0x8] - ldrb r1, [r5, 0x14] - lsrs r1, 3 - adds r1, 0x1 - ldrb r2, [r5, 0x15] - lsrs r2, 3 - adds r2, 0x1 - ldrb r3, [r5, 0x16] - lsrs r3, 3 - ldrb r4, [r5, 0x17] - lsrs r4, 3 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r4, [r5] - bl _call_via_r4 -_081B2DB8: - mov r0, r8 - cmp r0, 0x2 - beq _081B2DD0 - adds r0, r7, 0 - movs r1, 0x3A - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl sub_81B2DDC -_081B2DD0: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81B2D74 - - thumb_func_start sub_81B2DDC -sub_81B2DDC: @ 81B2DDC - push {r4-r6,lr} - adds r2, r0, 0 - adds r6, r1, 0 - lsls r2, 16 - lsrs r2, 16 - ldr r5, =gStringVar2 - adds r0, r5, 0 - adds r1, r2, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar1 - ldr r1, =gText_Slash - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - adds r1, r5, 0 - bl StringAppend - ldrb r0, [r6, 0x8] - ldr r3, [r6] - adds r3, 0x14 - adds r1, r4, 0 - movs r2, 0 - bl sub_81B2A3C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2DDC - - thumb_func_start sub_81B2E28 -sub_81B2E28: @ 81B2E28 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B2E5C - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - adds r2, r6, 0 - bl sub_81B2E64 -_081B2E5C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81B2E28 - - thumb_func_start sub_81B2E64 -sub_81B2E64: @ 81B2E64 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r6, r2, 0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldrb r0, [r6, 0x8] - movs r1, 0x5 - bl GetWindowAttribute - lsls r0, 28 - lsrs r7, r0, 24 - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - mov r2, r9 - lsls r1, r2, 16 - asrs r1, 16 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _081B2EB0 - cmp r0, 0x2 - blt _081B2EE0 - cmp r0, 0x4 - bgt _081B2EE0 - ldr r5, =gUnknown_08615AC7 - b _081B2EB2 - .pool -_081B2EB0: - ldr r5, =gUnknown_08615AC9 -_081B2EB2: - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615AB8 - ldrb r1, [r4] - adds r1, r7 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r7 - movs r2, 0x2 - bl LoadPalette - b _081B2F04 - .pool -_081B2EE0: - ldr r5, =gUnknown_08615ACB - ldrb r0, [r5] - bl sub_81B2564 - ldr r4, =gUnknown_08615AB8 - ldrb r1, [r4] - adds r1, r7 - movs r2, 0x2 - bl LoadPalette - ldrb r0, [r5, 0x1] - bl sub_81B2564 - ldrb r1, [r4, 0x1] - adds r1, r7 - movs r2, 0x2 - bl LoadPalette -_081B2F04: - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - mov r2, r9 - lsls r1, r2, 16 - asrs r1, 16 - ldr r2, [r6] - ldrb r2, [r2, 0x1A] - bl GetScaledHPFraction - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6, 0x8] - ldr r4, =gUnknown_08615AB8 - ldrb r1, [r4, 0x1] - ldr r3, [r6] - ldrb r2, [r3, 0x18] - ldrb r3, [r3, 0x19] - str r5, [sp] - movs r7, 0x1 - str r7, [sp, 0x4] - bl FillWindowPixelRect - ldrb r0, [r6, 0x8] - ldrb r1, [r4] - ldr r3, [r6] - ldrb r2, [r3, 0x18] - ldrb r3, [r3, 0x19] - adds r3, 0x1 - str r5, [sp] - movs r4, 0x2 - str r4, [sp, 0x4] - bl FillWindowPixelRect - ldr r1, [r6] - ldrb r0, [r1, 0x1A] - cmp r5, r0 - beq _081B2F88 - ldrb r0, [r6, 0x8] - ldrb r2, [r1, 0x18] - adds r2, r5 - ldrb r3, [r1, 0x19] - ldrb r1, [r1, 0x1A] - subs r1, r5 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - str r7, [sp, 0x4] - movs r1, 0xD - bl FillWindowPixelRect - ldrb r0, [r6, 0x8] - ldr r1, [r6] - ldrb r2, [r1, 0x18] - adds r2, r5 - ldrb r3, [r1, 0x19] - adds r3, 0x1 - ldrb r1, [r1, 0x1A] - subs r1, r5 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - str r4, [sp, 0x4] - movs r1, 0x2 - bl FillWindowPixelRect -_081B2F88: - ldrb r0, [r6, 0x8] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2E64 - - thumb_func_start sub_81B2FA8 -sub_81B2FA8: @ 81B2FA8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r6, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r2, 24 - lsrs r7, r2, 24 - cmp r7, 0 - beq _081B2FF2 - ldr r5, [r6] - ldrb r1, [r5, 0x1C] - movs r4, 0x7 - adds r0, r1, 0 - ands r0, r4 - ldrb r2, [r5, 0x1E] - adds r0, r2 - adds r3, r0, 0x7 - asrs r3, 3 - ldrb r2, [r5, 0x1D] - adds r0, r2, 0 - ands r0, r4 - ldrb r4, [r5, 0x1F] - adds r0, r4 - adds r4, r0, 0x7 - ldrb r0, [r6, 0x8] - lsrs r1, 3 - lsrs r2, 3 - lsrs r4, 3 - str r4, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - ldr r4, [r5] - bl _call_via_r4 -_081B2FF2: - cmp r7, 0x2 - beq _081B3018 - ldrb r0, [r6, 0x8] - ldr r1, [r6] - ldrb r2, [r1, 0x1C] - ldrb r3, [r1, 0x1D] - ldr r1, =gUnknown_086157FC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - ldr r4, =gUnknown_08615B60 - mov r5, r8 - lsls r1, r5, 2 - adds r1, r4 - ldr r1, [r1] - str r1, [sp, 0x8] - movs r1, 0x1 - bl AddTextPrinterParameterized3 -_081B3018: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B2FA8 - - thumb_func_start sub_81B302C -sub_81B302C: @ 81B302C - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _081B304C - movs r1, 0 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram -_081B304C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B302C - - thumb_func_start display_pokemon_menu_message -display_pokemon_menu_message: @ 81B3054 - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - ldr r0, =gUnknown_0203CEC4 - ldr r4, [r0] - adds r5, r4, 0 - adds r5, 0xD - ldrb r0, [r4, 0xD] - cmp r0, 0xFF - beq _081B306E - adds r0, r5, 0 - bl sub_81B302C -_081B306E: - cmp r6, 0x7F - beq _081B313C - adds r0, r6, 0 - subs r0, 0x15 - cmp r0, 0x5 - bhi _081B30D4 - lsls r0, 2 - ldr r1, =_081B308C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081B308C: - .4byte _081B30A4 - .4byte _081B30BC - .4byte _081B30BC - .4byte _081B30AC - .4byte _081B30B4 - .4byte _081B30C4 -_081B30A4: - ldr r0, =gUnknown_08615928 - b _081B30C6 - .pool -_081B30AC: - ldr r0, =gUnknown_08615930 - b _081B30C6 - .pool -_081B30B4: - ldr r0, =gUnknown_08615938 - b _081B30C6 - .pool -_081B30BC: - ldr r0, =gUnknown_08615940 - b _081B30C6 - .pool -_081B30C4: - ldr r0, =gUnknown_08615948 -_081B30C6: - bl AddWindow - strb r0, [r5] - b _081B30DC - .pool -_081B30D4: - ldr r0, =gUnknown_08615920 - bl AddWindow - strb r0, [r4, 0xD] -_081B30DC: - cmp r6, 0 - bne _081B3104 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 31 - cmp r0, 0 - beq _081B30F8 - movs r6, 0x2 - b _081B3104 - .pool -_081B30F8: - bl sub_81B314C - lsls r0, 24 - cmp r0, 0 - bne _081B3104 - movs r6, 0x1 -_081B3104: - ldrb r0, [r5] - movs r1, 0 - movs r2, 0x4F - movs r3, 0xD - bl SetWindowBorderStyle - ldr r4, =gStringVar4 - ldr r1, =gUnknown_08615AF4 - lsls r0, r6, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - ldrb r0, [r5] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram -_081B313C: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end display_pokemon_menu_message - - thumb_func_start sub_81B314C -sub_81B314C: @ 81B314C - push {r4-r7,lr} - ldr r7, =gPlayerParty - movs r6, 0 - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0xB] - cmp r0, 0x1 - bne _081B3168 -_081B315A: - movs r0, 0x1 - b _081B31AA - .pool -_081B3168: - movs r5, 0 -_081B316A: - movs r0, 0x64 - muls r0, r5 - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B319A - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _081B3194 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _081B319A -_081B3194: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_081B319A: - cmp r6, 0x1 - bhi _081B315A - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _081B316A - movs r0, 0 -_081B31AA: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81B314C - - thumb_func_start sub_81B31B0 -sub_81B31B0: @ 81B31B0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - beq _081B320C - cmp r4, 0x1 - bgt _081B31CC - cmp r4, 0 - beq _081B31D2 - b _081B321C -_081B31CC: - cmp r4, 0x2 - beq _081B3214 - b _081B321C -_081B31D2: - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - ldrb r0, [r1, 0x17] - lsls r0, 1 - movs r3, 0x13 - subs r3, r0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0xA - str r0, [sp] - ldrb r0, [r1, 0x17] - lsls r0, 25 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0xE - str r0, [sp, 0x8] - ldr r0, =0x000002e9 - str r0, [sp, 0xC] - add r0, sp, 0x14 - movs r1, 0x2 - movs r2, 0x13 - bl SetWindowTemplateFields - b _081B3226 - .pool -_081B320C: - ldr r0, =gUnknown_08615950 - b _081B321E - .pool -_081B3214: - ldr r0, =gUnknown_08615958 - b _081B321E - .pool -_081B321C: - ldr r0, =gUnknown_08615960 -_081B321E: - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x14] - str r1, [sp, 0x18] -_081B3226: - add r0, sp, 0x14 - bl AddWindow - ldr r6, =gUnknown_0203CEC4 - ldr r1, [r6] - strb r0, [r1, 0xC] - ldr r0, [r6] - ldrb r0, [r0, 0xC] - movs r1, 0 - movs r2, 0x4F - movs r3, 0xD - bl SetWindowBorderStyle - cmp r4, 0x3 - bne _081B3250 - ldr r0, [r6] - b _081B32E2 - .pool -_081B3250: - movs r0, 0x1 - movs r1, 0 - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r0, 0x1 - movs r1, 0x2 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r0, [r6] - ldrb r0, [r0, 0x17] - cmp r5, r0 - bcs _081B32CA - adds r7, r6, 0 - movs r6, 0 -_081B327A: - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0xF - adds r4, r0, r5 - ldrb r0, [r4] - movs r2, 0x3 - cmp r0, 0x12 - bls _081B328C - movs r2, 0x4 -_081B328C: - ldrb r0, [r1, 0xC] - lsls r3, r5, 4 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - mov r1, r8 - str r1, [sp] - str r6, [sp, 0x4] - lsls r1, r2, 1 - adds r1, r2 - ldr r2, =gUnknown_086157FC - adds r1, r2 - str r1, [sp, 0x8] - str r6, [sp, 0xC] - ldr r2, =gUnknown_08615C08 - ldrb r1, [r4] - lsls r1, 3 - adds r1, r2 - ldr r1, [r1] - str r1, [sp, 0x10] - movs r1, 0x1 - mov r2, r9 - bl AddTextPrinterParameterized4 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r7] - ldrb r0, [r0, 0x17] - cmp r5, r0 - bcc _081B327A -_081B32CA: - ldr r4, =gUnknown_0203CEC4 - ldr r1, [r4] - ldrb r0, [r1, 0xC] - ldrb r1, [r1, 0x17] - movs r2, 0 - movs r3, 0x1 - bl InitMenuInUpperLeftCorner - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, [r4] -_081B32E2: - ldrb r0, [r0, 0xC] - add sp, 0x1C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B31B0 - - thumb_func_start sub_81B3300 -sub_81B3300: @ 81B3300 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - movs r0, 0x6 - movs r1, 0 - movs r2, 0x4F - movs r3, 0xD - bl SetWindowBorderStyle - ldr r2, =gTextFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - bl GetPlayerTextSpeedDelay - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0x6 - movs r1, 0x1 - adds r2, r4, 0 - bl AddTextPrinterParameterized2 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B3300 - - thumb_func_start sub_81B334C -sub_81B334C: @ 81B334C - push {lr} - ldr r0, =gUnknown_08615968 - movs r1, 0x4F - movs r2, 0xD - movs r3, 0 - bl CreateYesNoMenu - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B334C - - thumb_func_start sub_81B3364 -sub_81B3364: @ 81B3364 - push {r4,lr} - ldr r0, =gUnknown_08615970 - bl AddWindow - ldr r4, =gUnknown_0203CEC4 - ldr r1, [r4] - strb r0, [r1, 0xC] - ldr r0, [r4] - ldrb r0, [r0, 0xC] - movs r1, 0 - movs r2, 0x4F - movs r3, 0xD - bl SetWindowBorderStyle - ldr r0, [r4] - ldrb r0, [r0, 0xC] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B3364 - - thumb_func_start sub_81B3394 -sub_81B3394: @ 81B3394 - push {r4,lr} - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - ldrb r0, [r0, 0xC] - bl ClearWindowTilemap - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B3394 - - thumb_func_start sub_81B33B4 -sub_81B33B4: @ 81B33B4 - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r2, 0 - bne _081B33C8 - bl sub_81B3414 - b _081B3400 -_081B33C8: - ldr r4, =gUnknown_0203CEC4 - ldr r1, [r4] - ldr r0, =gUnknown_08615D70 - adds r0, r2, r0 - ldrb r0, [r0] - strb r0, [r1, 0x17] - movs r3, 0 - ldr r0, [r4] - ldrb r0, [r0, 0x17] - cmp r3, r0 - bcs _081B3400 - ldr r1, =gUnknown_08615D38 - lsls r0, r2, 2 - adds r2, r0, r1 -_081B33E4: - ldr r1, [r4] - adds r1, 0xF - adds r1, r3 - ldr r0, [r2] - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, [r4] - ldrb r0, [r0, 0x17] - cmp r3, r0 - bcc _081B33E4 -_081B3400: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B33B4 - - thumb_func_start sub_81B3414 -sub_81B3414: @ 81B3414 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - ldr r2, =gUnknown_0203CEC4 - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0x17] - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0xF - adds r1, 0x17 - movs r2, 0 - bl AppendToList - movs r7, 0 - ldr r0, =gUnknown_08615D7E - ldrh r0, [r0] - str r0, [sp] -_081B3446: - movs r4, 0 - adds r0, r7, 0x1 - mov r8, r0 - ldr r1, [sp] - cmp r1, 0xE - beq _081B34A0 - movs r0, 0x64 - mov r6, r10 - muls r6, r0 - ldr r5, =gUnknown_08615D7E -_081B345A: - mov r1, r9 - adds r0, r1, r6 - adds r1, r7, 0 - adds r1, 0xD - bl GetMonData - lsls r1, r4, 1 - adds r1, r5 - ldrh r1, [r1] - cmp r0, r1 - bne _081B3490 - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xF - adds r1, 0x17 - adds r2, r4, 0 - adds r2, 0x13 - lsls r2, 24 - lsrs r2, 24 - bl AppendToList - b _081B34A0 - .pool -_081B3490: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 1 - adds r0, r5 - ldrh r0, [r0] - cmp r0, 0xE - bne _081B345A -_081B34A0: - mov r1, r8 - lsls r0, r1, 24 - lsrs r7, r0, 24 - cmp r7, 0x3 - bls _081B3446 - bl InBattlePike - lsls r0, 24 - cmp r0, 0 - bne _081B3518 - mov r0, r9 - adds r0, 0x64 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B34D2 - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xF - adds r1, 0x17 - movs r2, 0x1 - bl AppendToList -_081B34D2: - movs r0, 0x64 - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r0, r9 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _081B3508 - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xF - adds r1, 0x17 - movs r2, 0x6 - bl AppendToList - b _081B3518 - .pool -_081B3508: - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xF - adds r1, 0x17 - movs r2, 0x3 - bl AppendToList -_081B3518: - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xF - adds r1, 0x17 - movs r2, 0x2 - bl AppendToList - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B3414 - - thumb_func_start sub_81B353C -sub_81B353C: @ 81B353C - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gUnknown_0203CEC8 - ldrb r0, [r1, 0x8] - lsls r0, 28 - lsrs r0, 28 - adds r2, r1, 0 - cmp r0, 0xC - bhi _081B35FE - lsls r0, 2 - ldr r1, =_081B3560 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081B3560: - .4byte _081B3594 - .4byte _081B35B0 - .4byte _081B35FE - .4byte _081B35FE - .4byte _081B35BC - .4byte _081B35FE - .4byte _081B35DC - .4byte _081B35FE - .4byte _081B35EE - .4byte _081B35F2 - .4byte _081B35F6 - .4byte _081B35FE - .4byte _081B35FA -_081B3594: - bl InMultiBattleRoom - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B35AC - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _081B35FE -_081B35AC: - movs r1, 0x1 - b _081B3600 -_081B35B0: - adds r0, r4, 0 - bl sub_81B8A2C - lsls r0, 24 - lsrs r1, r0, 24 - b _081B3600 -_081B35BC: - movs r0, 0x9 - ldrsb r0, [r2, r0] - bl sub_81B856C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _081B35D4 - cmp r0, 0x1 - beq _081B35D8 - movs r1, 0x7 - b _081B3600 -_081B35D4: - movs r1, 0x4 - b _081B3600 -_081B35D8: - movs r1, 0x5 - b _081B3600 -_081B35DC: - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - movs r1, 0x6 - cmp r0, 0 - beq _081B3600 - movs r1, 0x7 - b _081B3600 -_081B35EE: - movs r1, 0xA - b _081B3600 -_081B35F2: - movs r1, 0xB - b _081B3600 -_081B35F6: - movs r1, 0xC - b _081B3600 -_081B35FA: - movs r1, 0xD - b _081B3600 -_081B35FE: - movs r1, 0 -_081B3600: - adds r0, r1, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81B353C - - thumb_func_start sub_81B3608 -sub_81B3608: @ 81B3608 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r4, r1] - movs r0, 0x64 - muls r0, r1 - ldr r7, =gPlayerParty - adds r5, r0, r7 - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - adds r0, 0xD - bl sub_81B302C - ldrb r1, [r4, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0xC - beq _081B3674 - ldrb r4, [r4, 0x9] - adds r0, r5, 0 - bl sub_81B353C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r7, 0 - adds r1, r4, 0 - bl sub_81B33B4 - movs r0, 0 - bl sub_81B31B0 - movs r0, 0x15 - bl display_pokemon_menu_message - b _081B36EA - .pool -_081B3674: - adds r0, r5, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - bne _081B36C0 - ldr r4, =gStringVar4 - ldr r1, =gText_PkmnNotHolding - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B469C - str r1, [r0] - movs r0, 0 - b _081B36EC - .pool -_081B36C0: - ldrb r4, [r4, 0x9] - adds r0, r5, 0 - bl sub_81B353C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r7, 0 - adds r1, r4, 0 - bl sub_81B33B4 - movs r0, 0x1 - bl sub_81B31B0 - ldr r1, =gStringVar2 - adds r0, r6, 0 - bl CopyItemName - movs r0, 0x1A - bl display_pokemon_menu_message -_081B36EA: - movs r0, 0x1 -_081B36EC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B3608 - - thumb_func_start sub_81B36FC -sub_81B36FC: @ 81B36FC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_81B3608 - lsls r0, 24 - cmp r0, 0 - beq _081B3720 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0xFF - strh r1, [r0, 0x8] - ldr r1, =sub_81B3730 - str r1, [r0] -_081B3720: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B36FC - - thumb_func_start sub_81B3730 -sub_81B3730: @ 81B3730 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B37EE - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B37EE - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - ldrb r0, [r0, 0x17] - cmp r0, 0x3 - bhi _081B3774 - bl Menu_ProcessInputNoWrapAround_other - b _081B3778 - .pool -_081B3774: - bl ProcessMenuInput_other -_081B3778: - lsls r0, 24 - lsrs r4, r0, 24 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - lsls r0, r4, 24 - asrs r5, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _081B37EE - adds r0, 0x1 - cmp r5, r0 - bne _081B37CC - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xE - bl sub_81B302C - ldr r2, =gUnknown_08615C08 - ldr r0, [r4] - ldrb r1, [r0, 0x17] - adds r0, r1 - ldrb r0, [r0, 0xE] - lsls r0, 3 - adds r2, 0x4 - adds r0, r2 - ldr r1, [r0] - adds r0, r6, 0 - bl _call_via_r1 - b _081B37EE - .pool -_081B37CC: - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xE - bl sub_81B302C - ldr r1, =gUnknown_08615C08 - ldr r0, [r4] - adds r0, 0xF - adds r0, r5 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl _call_via_r1 -_081B37EE: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B3730 - - thumb_func_start sub_81B37FC -sub_81B37FC: @ 81B37FC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - ldr r0, =sub_81B3828 - str r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_81B12C0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B37FC - - thumb_func_start sub_81B3828 -sub_81B3828: @ 81B3828 - push {r4,lr} - sub sp, 0x4 - ldr r4, =gUnknown_0203CEC8 - ldrb r1, [r4, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - bne _081B3868 - bl pokemon_change_order - ldr r1, =gPlayerParty - ldrb r2, [r4, 0x9] - ldr r0, =gPlayerPartyCount - ldrb r3, [r0] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =sub_81B3894 - str r0, [sp] - movs r0, 0x1 - bl ShowPokemonSummaryScreen - b _081B3880 - .pool -_081B3868: - ldr r1, =gPlayerParty - ldrb r2, [r4, 0x9] - ldr r0, =gPlayerPartyCount - ldrb r3, [r0] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =sub_81B3894 - str r0, [sp] - movs r0, 0 - bl ShowPokemonSummaryScreen -_081B3880: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B3828 - - thumb_func_start sub_81B3894 -sub_81B3894: @ 81B3894 - push {lr} - sub sp, 0xC - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r3, =gUnknown_0203CEC8 - ldr r0, =gUnknown_0203CF20 - ldrb r0, [r0] - strb r0, [r3, 0x9] - ldrb r0, [r3, 0x8] - lsls r0, 28 - lsrs r0, 28 - ldrb r2, [r3, 0xB] - movs r1, 0x15 - str r1, [sp] - ldr r1, =sub_81B36FC - str r1, [sp, 0x4] - ldr r1, [r3] - str r1, [sp, 0x8] - movs r1, 0xFF - movs r3, 0x1 - bl sub_81B0038 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B3894 - - thumb_func_start brm_switch -brm_switch: @ 81B38DC - push {r4-r6,lr} - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - movs r0, 0x5 - bl PlaySE - ldr r5, =gUnknown_0203CEC8 - movs r0, 0x8 - strb r0, [r5, 0xB] - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xD - bl sub_81B302C - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - movs r0, 0x3 - bl display_pokemon_menu_message - ldrb r0, [r5, 0x9] - movs r1, 0x1 - bl sub_81B0FCC - ldrb r0, [r5, 0x9] - strb r0, [r5, 0xA] - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1370 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end brm_switch - - thumb_func_start sub_81B3938 -sub_81B3938: @ 81B3938 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - ldr r3, =gUnknown_0203CEC8 - movs r1, 0xA - ldrsb r1, [r3, r1] - movs r0, 0x9 - ldrsb r0, [r3, r0] - cmp r1, r0 - bne _081B3968 - adds r0, r7, 0 - bl sub_81B407C - b _081B3ABA - .pool -_081B3968: - add r2, sp, 0x8 - movs r0, 0x9 - ldrsb r0, [r3, r0] - ldr r1, =gUnknown_0203CEDC - ldr r1, [r1] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x8] - movs r4, 0 - strb r0, [r2] - adds r0, r2, 0 - ldrb r0, [r0] - movs r1, 0x1 - bl GetWindowAttribute - strh r0, [r6] - add r0, sp, 0x8 - ldrb r0, [r0] - movs r1, 0x2 - bl GetWindowAttribute - strh r0, [r6, 0x2] - add r0, sp, 0x8 - ldrb r0, [r0] - movs r1, 0x3 - bl GetWindowAttribute - strh r0, [r6, 0x4] - add r0, sp, 0x8 - ldrb r0, [r0] - movs r1, 0x4 - bl GetWindowAttribute - strh r0, [r6, 0x6] - strh r4, [r6, 0x10] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0xA - bne _081B39C4 - movs r2, 0x1 - negs r2, r2 - adds r0, r2, 0 - b _081B39C6 - .pool -_081B39C4: - movs r0, 0x1 -_081B39C6: - strh r0, [r6, 0x14] - add r2, sp, 0x8 - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0xA] - lsls r0, 24 - asrs r0, 24 - ldr r1, =gUnknown_0203CEDC - ldr r1, [r1] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x8] - movs r4, 0 - strb r0, [r2, 0x1] - adds r0, r2, 0 - ldrb r0, [r0, 0x1] - movs r1, 0x1 - bl GetWindowAttribute - strh r0, [r6, 0x8] - add r0, sp, 0x8 - ldrb r0, [r0, 0x1] - movs r1, 0x2 - bl GetWindowAttribute - strh r0, [r6, 0xA] - add r0, sp, 0x8 - ldrb r0, [r0, 0x1] - movs r1, 0x3 - bl GetWindowAttribute - strh r0, [r6, 0xC] - add r0, sp, 0x8 - ldrb r0, [r0, 0x1] - movs r1, 0x4 - bl GetWindowAttribute - strh r0, [r6, 0xE] - strh r4, [r6, 0x12] - movs r1, 0xC - ldrsh r0, [r6, r1] - cmp r0, 0xA - bne _081B3A2C - movs r2, 0x1 - negs r2, r2 - adds r0, r2, 0 - b _081B3A2E - .pool -_081B3A2C: - movs r0, 0x1 -_081B3A2E: - strh r0, [r6, 0x16] - ldr r4, =gUnknown_0203CEF0 - movs r0, 0x4 - ldrsh r1, [r6, r0] - movs r2, 0x6 - ldrsh r0, [r6, r2] - lsls r0, 1 - muls r0, r1 - bl Alloc - str r0, [r4] - ldr r5, =gUnknown_0203CEF4 - movs r0, 0xC - ldrsh r1, [r6, r0] - movs r2, 0xE - ldrsh r0, [r6, r2] - lsls r0, 1 - muls r0, r1 - bl Alloc - str r0, [r5] - ldr r1, [r4] - ldrb r2, [r6] - ldrb r3, [r6, 0x2] - ldrb r0, [r6, 0x4] - str r0, [sp] - ldrb r0, [r6, 0x6] - str r0, [sp, 0x4] - movs r0, 0 - bl sub_8199CBC - ldr r1, [r5] - ldrb r2, [r6, 0x8] - ldrb r3, [r6, 0xA] - ldrb r0, [r6, 0xC] - str r0, [sp] - ldrb r0, [r6, 0xE] - str r0, [sp, 0x4] - movs r0, 0 - bl sub_8199CBC - add r0, sp, 0x8 - ldrb r0, [r0] - bl ClearWindowTilemap - add r0, sp, 0x8 - ldrb r0, [r0, 0x1] - bl ClearWindowTilemap - ldr r4, =gUnknown_0203CEC8 - movs r0, 0x9 - strb r0, [r4, 0xB] - ldrb r0, [r4, 0x9] - movs r1, 0x1 - bl sub_81B0FCC - ldrb r0, [r4, 0xA] - movs r1, 0x1 - bl sub_81B0FCC - adds r0, r7, 0 - bl sub_81B3CC0 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B3D48 - str r1, [r0] -_081B3ABA: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B3938 - - thumb_func_start sub_81B3AD8 -sub_81B3AD8: @ 81B3AD8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r2, 0 - mov r12, r3 - ldr r7, [sp, 0x18] - lsls r0, 16 - lsrs r3, r0, 16 - adds r5, r3, 0 - lsls r1, 16 - lsrs r2, r1, 16 - mov r8, r2 - lsls r0, r3, 16 - asrs r1, r0, 16 - lsls r0, r2, 16 - asrs r0, 16 - adds r4, r1, r0 - cmp r4, 0 - blt _081B3B02 - cmp r1, 0x1F - ble _081B3B06 -_081B3B02: - movs r0, 0 - b _081B3B34 -_081B3B06: - cmp r1, 0 - bge _081B3B1A - negs r0, r1 - strb r0, [r6] - movs r0, 0 - mov r1, r12 - strb r0, [r1] - adds r0, r2, r3 - strb r0, [r7] - b _081B3B32 -_081B3B1A: - movs r0, 0 - strb r0, [r6] - mov r0, r12 - strb r5, [r0] - cmp r4, 0x1F - ble _081B3B2E - movs r0, 0x20 - subs r0, r5 - strb r0, [r7] - b _081B3B32 -_081B3B2E: - mov r1, r8 - strb r1, [r7] -_081B3B32: - movs r0, 0x1 -_081B3B34: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81B3AD8 - - thumb_func_start sub_81B3B40 -sub_81B3B40: @ 81B3B40 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - str r0, [sp, 0x28] - ldr r0, [sp, 0x54] - ldr r4, [sp, 0x58] - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - lsls r3, 16 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r4, 16 - lsrs r4, 16 - str r4, [sp, 0x30] - lsls r1, 16 - asrs r7, r1, 16 - lsrs r0, r3, 16 - str r0, [sp, 0x2C] - asrs r3, 16 - mov r8, r3 - mov r5, sp - adds r5, 0x25 - mov r6, sp - adds r6, 0x26 - str r6, [sp] - adds r0, r7, 0 - mov r1, r8 - add r2, sp, 0x24 - adds r3, r5, 0 - bl sub_81B3AD8 - lsls r0, 24 - cmp r0, 0 - beq _081B3BFA - ldrb r2, [r5] - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - mov r9, r0 - ldrb r0, [r6] - str r0, [sp] - mov r1, r10 - lsls r0, r1, 24 - lsrs r4, r0, 24 - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - mov r3, r9 - bl FillBgTilemapBufferRect_Palette0 - ldr r1, [sp, 0x30] - lsls r0, r1, 16 - asrs r0, 16 - adds r0, r7, r0 - lsls r0, 16 - asrs r0, 16 - str r6, [sp] - mov r1, r8 - add r2, sp, 0x24 - adds r3, r5, 0 - bl sub_81B3AD8 - lsls r0, 24 - cmp r0, 0 - beq _081B3BFA - add r0, sp, 0x24 - ldrb r2, [r0] - ldr r1, [sp, 0x2C] - lsls r0, r1, 24 - lsrs r0, 24 - str r0, [sp] - str r4, [sp, 0x4] - ldrb r0, [r5] - str r0, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - ldrb r0, [r6] - str r0, [sp, 0x10] - str r4, [sp, 0x14] - movs r0, 0x11 - str r0, [sp, 0x18] - movs r0, 0 - str r0, [sp, 0x1C] - str r0, [sp, 0x20] - ldr r1, [sp, 0x28] - movs r3, 0 - bl CopyRectToBgTilemapBufferRect -_081B3BFA: - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81B3B40 - - thumb_func_start sub_81B3C0C -sub_81B3C0C: @ 81B3C0C - push {r4,lr} - ldr r4, =gSprites - ldrb r2, [r0, 0xB] - lsls r3, r2, 4 - adds r3, r2 - lsls r3, 2 - adds r3, r4 - lsls r1, 16 - asrs r1, 13 - ldrh r2, [r3, 0x24] - adds r2, r1 - strh r2, [r3, 0x24] - ldrb r3, [r0, 0xA] - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - adds r2, r4 - ldrh r3, [r2, 0x24] - adds r3, r1 - strh r3, [r2, 0x24] - ldrb r3, [r0, 0x9] - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - adds r2, r4 - ldrh r3, [r2, 0x24] - adds r3, r1 - strh r3, [r2, 0x24] - ldrb r2, [r0, 0xC] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r4 - ldrh r2, [r0, 0x24] - adds r2, r1 - strh r2, [r0, 0x24] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B3C0C - - thumb_func_start sub_81B3C60 -sub_81B3C60: @ 81B3C60 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081B3C8E - ldr r2, =gUnknown_0203CEDC - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - lsls r1, 4 - ldr r0, [r2] - adds r0, r1 - movs r2, 0x14 - ldrsh r1, [r4, r2] - bl sub_81B3C0C -_081B3C8E: - movs r1, 0x16 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081B3CAC - ldr r2, =gUnknown_0203CEDC - ldr r0, =gUnknown_0203CEC8 - movs r1, 0xA - ldrsb r1, [r0, r1] - lsls r1, 4 - ldr r0, [r2] - adds r0, r1 - movs r2, 0x16 - ldrsh r1, [r4, r2] - bl sub_81B3C0C -_081B3CAC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B3C60 - - thumb_func_start sub_81B3CC0 -sub_81B3CC0: @ 81B3CC0 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r5, r1, r0 - movs r1, 0x14 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _081B3D00 - ldr r0, =gUnknown_0203CEF0 - ldr r0, [r0] - ldrh r1, [r5, 0x10] - ldrh r2, [r5] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - movs r3, 0x2 - ldrsh r2, [r5, r3] - movs r4, 0x4 - ldrsh r3, [r5, r4] - movs r6, 0x6 - ldrsh r4, [r5, r6] - str r4, [sp] - movs r6, 0x14 - ldrsh r4, [r5, r6] - str r4, [sp, 0x4] - bl sub_81B3B40 -_081B3D00: - movs r1, 0x16 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _081B3D2E - ldr r0, =gUnknown_0203CEF4 - ldr r0, [r0] - ldrh r1, [r5, 0x12] - ldrh r2, [r5, 0x8] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - movs r3, 0xA - ldrsh r2, [r5, r3] - movs r4, 0xC - ldrsh r3, [r5, r4] - movs r6, 0xE - ldrsh r4, [r5, r6] - str r4, [sp] - movs r6, 0x16 - ldrsh r4, [r5, r6] - str r4, [sp, 0x4] - bl sub_81B3B40 -_081B3D2E: - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B3CC0 - - thumb_func_start sub_81B3D48 -sub_81B3D48: @ 81B3D48 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r7, r0, 3 - ldr r0, =gTasks + 0x8 - mov r8, r0 - adds r6, r7, r0 - adds r0, r4, 0 - bl sub_81B3CC0 - adds r0, r4, 0 - bl sub_81B3C60 - ldrh r1, [r6, 0x14] - ldrh r2, [r6, 0x10] - adds r1, r2 - strh r1, [r6, 0x10] - ldrh r0, [r6, 0x16] - ldrh r3, [r6, 0x12] - adds r0, r3 - strh r0, [r6, 0x12] - add r2, sp, 0x8 - ldrh r0, [r6] - adds r0, r1 - strh r0, [r2] - adds r1, r2, 0 - ldrh r0, [r6, 0x12] - ldrh r3, [r6, 0x8] - adds r2, r0, r3 - strh r2, [r1, 0x2] - adds r0, r1, 0 - ldrh r0, [r0] - cmp r0, 0x21 - bls _081B3E3A - lsls r0, r2, 16 - lsrs r0, 16 - cmp r0, 0x21 - bls _081B3E3A - movs r1, 0x14 - ldrsh r0, [r6, r1] - negs r0, r0 - strh r0, [r6, 0x14] - movs r2, 0x16 - ldrsh r0, [r6, r2] - negs r0, r0 - strh r0, [r6, 0x16] - bl swap_pokemon_and_oams - ldr r4, =gUnknown_0203CEC8 - ldrb r0, [r4, 0x9] - bl sub_81B0948 - ldrb r0, [r4, 0xA] - bl sub_81B0948 - movs r0, 0x9 - ldrsb r0, [r4, r0] - ldr r5, =gUnknown_0203CEDC - ldr r1, [r5] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x8] - bl PutWindowTilemap - movs r0, 0xA - ldrsb r0, [r4, r0] - ldr r1, [r5] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x8] - bl PutWindowTilemap - ldr r0, =gUnknown_0203CEF0 - ldr r1, [r0] - ldrb r2, [r6] - ldrb r3, [r6, 0x2] - ldrb r0, [r6, 0x4] - str r0, [sp] - ldrb r0, [r6, 0x6] - str r0, [sp, 0x4] - movs r0, 0 - bl sub_8199CBC - ldr r0, =gUnknown_0203CEF4 - ldr r1, [r0] - ldrb r2, [r6, 0x8] - ldrb r3, [r6, 0xA] - ldrb r0, [r6, 0xC] - str r0, [sp] - ldrb r0, [r6, 0xE] - str r0, [sp, 0x4] - movs r0, 0 - bl sub_8199CBC - movs r0, 0x9 - ldrsb r0, [r4, r0] - ldr r1, [r5] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x8] - bl ClearWindowTilemap - movs r0, 0xA - ldrsb r0, [r4, r0] - ldr r1, [r5] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x8] - bl ClearWindowTilemap - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, =sub_81B3E60 - str r1, [r0] -_081B3E3A: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B3D48 - - thumb_func_start sub_81B3E60 -sub_81B3E60: @ 81B3E60 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - adds r0, r6, 0 - bl sub_81B3CC0 - adds r0, r6, 0 - bl sub_81B3C60 - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081B3EE4 - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _081B3EE4 - ldr r5, =gUnknown_0203CEC8 - movs r0, 0x9 - ldrsb r0, [r5, r0] - ldr r4, =gUnknown_0203CEDC - ldr r1, [r4] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x8] - bl PutWindowTilemap - movs r0, 0xA - ldrsb r0, [r5, r0] - ldr r1, [r4] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x8] - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_0203CEF0 - ldr r0, [r0] - bl Free - ldr r0, =gUnknown_0203CEF4 - ldr r0, [r0] - bl Free - adds r0, r6, 0 - bl sub_81B407C - b _081B3F08 - .pool -_081B3EE4: - ldrh r1, [r4, 0x14] - ldrh r0, [r4, 0x10] - adds r1, r0 - strh r1, [r4, 0x10] - ldrh r0, [r4, 0x16] - ldrh r2, [r4, 0x12] - adds r0, r2 - strh r0, [r4, 0x12] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0 - bne _081B3EFE - strh r1, [r4, 0x14] -_081B3EFE: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081B3F08 - strh r0, [r4, 0x16] -_081B3F08: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81B3E60 - - thumb_func_start oamt_swap_pos -oamt_swap_pos: @ 81B3F10 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - ldrb r3, [r0] - ldrb r2, [r1] - strb r2, [r0] - strb r3, [r1] - ldr r5, =gSprites - ldrb r2, [r0] - lsls r3, r2, 4 - adds r3, r2 - lsls r3, 2 - adds r3, r5 - ldrh r6, [r3, 0x20] - ldrh r2, [r3, 0x22] - mov r8, r2 - ldrh r2, [r3, 0x24] - mov r9, r2 - ldrh r2, [r3, 0x26] - mov r10, r2 - ldrb r4, [r1] - lsls r2, r4, 4 - adds r2, r4 - lsls r2, 2 - adds r2, r5 - ldrh r2, [r2, 0x20] - strh r2, [r3, 0x20] - ldrb r2, [r0] - lsls r3, r2, 4 - adds r3, r2 - lsls r3, 2 - adds r3, r5 - ldrb r4, [r1] - lsls r2, r4, 4 - adds r2, r4 - lsls r2, 2 - adds r2, r5 - ldrh r2, [r2, 0x22] - strh r2, [r3, 0x22] - ldrb r2, [r0] - lsls r3, r2, 4 - adds r3, r2 - lsls r3, 2 - adds r3, r5 - ldrb r4, [r1] - lsls r2, r4, 4 - adds r2, r4 - lsls r2, 2 - adds r2, r5 - ldrh r2, [r2, 0x24] - strh r2, [r3, 0x24] - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r5 - ldrb r3, [r1] - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r5 - ldrh r0, [r0, 0x26] - strh r0, [r2, 0x26] - ldrb r2, [r1] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r5 - strh r6, [r0, 0x20] - ldrb r2, [r1] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r5 - mov r2, r8 - strh r2, [r0, 0x22] - ldrb r2, [r1] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r5 - mov r2, r9 - strh r2, [r0, 0x24] - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r10 - strh r1, [r0, 0x26] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end oamt_swap_pos - - thumb_func_start swap_pokemon_and_oams -swap_pokemon_and_oams: @ 81B3FDC - push {r4-r6,lr} - sub sp, 0x8 - ldr r1, =gUnknown_0203CEDC - ldr r2, =gUnknown_0203CEC8 - movs r3, 0x9 - ldrsb r3, [r2, r3] - lsls r0, r3, 4 - ldr r1, [r1] - adds r0, r1, r0 - str r0, [sp] - ldrb r2, [r2, 0xA] - lsls r2, 24 - asrs r2, 24 - lsls r0, r2, 4 - adds r0, r1, r0 - str r0, [sp, 0x4] - movs r1, 0x64 - adds r4, r3, 0 - muls r4, r1 - ldr r0, =gPlayerParty - adds r4, r0 - adds r5, r2, 0 - muls r5, r1 - adds r5, r0 - movs r0, 0x64 - bl Alloc - adds r6, r0, 0 - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x64 - bl memcpy - adds r0, r6, 0 - bl Free - ldr r0, [sp] - adds r0, 0xB - ldr r1, [sp, 0x4] - adds r1, 0xB - bl oamt_swap_pos - ldr r0, [sp] - adds r0, 0xA - ldr r1, [sp, 0x4] - adds r1, 0xA - bl oamt_swap_pos - ldr r0, [sp] - adds r0, 0x9 - ldr r1, [sp, 0x4] - adds r1, 0x9 - bl oamt_swap_pos - ldr r0, [sp] - adds r0, 0xC - ldr r1, [sp, 0x4] - adds r1, 0xC - bl oamt_swap_pos - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end swap_pokemon_and_oams - - thumb_func_start sub_81B407C -sub_81B407C: @ 81B407C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - adds r0, 0xD - bl sub_81B302C - ldr r4, =gUnknown_0203CEC8 - movs r0, 0 - strb r0, [r4, 0xB] - ldrb r0, [r4, 0x9] - movs r1, 0 - bl sub_81B0FCC - ldrb r0, [r4, 0xA] - strb r0, [r4, 0x9] - ldrb r0, [r4, 0xA] - movs r1, 0x1 - bl sub_81B0FCC - movs r0, 0 - bl display_pokemon_menu_message - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1370 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B407C - - thumb_func_start brm_cancel_1 -brm_cancel_1: @ 81B40D4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - ldr r0, [r4] - adds r0, 0xD - bl sub_81B302C - ldr r0, =gUnknown_0203CEC8 - ldrb r1, [r0, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x6 - bne _081B4110 - movs r0, 0xF - bl display_pokemon_menu_message - b _081B4116 - .pool -_081B4110: - movs r0, 0 - bl display_pokemon_menu_message -_081B4116: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B1370 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end brm_cancel_1 - - thumb_func_start sub_81B4134 -sub_81B4134: @ 81B4134 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - ldr r0, [r4] - adds r0, 0xD - bl sub_81B302C - ldr r0, =gPlayerParty - ldr r1, =gUnknown_0203CEC8 - ldrb r1, [r1, 0x9] - movs r2, 0x8 - bl sub_81B33B4 - movs r0, 0x1 - bl sub_81B31B0 - movs r0, 0x18 - bl display_pokemon_menu_message - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0xFF - strh r1, [r0, 0x8] - ldr r1, =sub_81B3730 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4134 - - thumb_func_start sub_81B4198 -sub_81B4198: @ 81B4198 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - ldr r0, =sub_81B41C4 - str r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_81B12C0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4198 - - thumb_func_start sub_81B41C4 -sub_81B41C4: @ 81B41C4 - push {lr} - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _081B41E0 - ldr r2, =c2_8123744 - movs r0, 0x2 - movs r1, 0x5 - bl GoToBagMenu - b _081B41E8 - .pool -_081B41E0: - ldr r1, =c2_8123744 - movs r0, 0x2 - bl sub_81C4F98 -_081B41E8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B41C4 - - thumb_func_start c2_8123744 -c2_8123744: @ 81B41F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r6, =gSpecialVar_ItemId - ldrh r0, [r6] - cmp r0, 0 - bne _081B4224 - ldr r3, =gUnknown_0203CEC8 - ldrb r0, [r3, 0x8] - lsls r0, 28 - lsrs r0, 28 - ldrb r2, [r3, 0xB] - movs r1, 0x7F - str r1, [sp] - ldr r1, =sub_81B36FC - str r1, [sp, 0x4] - ldr r1, [r3] - b _081B425A - .pool -_081B4224: - ldr r4, =gUnknown_0203CEFC - ldr r5, =gUnknown_0203CEC8 - movs r0, 0x9 - ldrsb r0, [r5, r0] - movs r1, 0x64 - mov r8, r1 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - ldr r7, =gPlayerParty - adds r0, r7 - movs r1, 0xC - bl GetMonData - strh r0, [r4] - lsls r0, 16 - cmp r0, 0 - beq _081B4278 - ldrb r0, [r5, 0x8] - lsls r0, 28 - lsrs r0, 28 - ldrb r2, [r5, 0xB] - movs r1, 0x7F - str r1, [sp] - ldr r1, =sub_81B4350 - str r1, [sp, 0x4] - ldr r1, [r5] -_081B425A: - str r1, [sp, 0x8] - movs r1, 0xFF - movs r3, 0x1 - bl sub_81B0038 - b _081B42C0 - .pool -_081B4278: - ldrh r0, [r6] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _081B42A4 - ldrh r0, [r6] - movs r1, 0x1 - bl RemoveBagItem - movs r0, 0x9 - ldrsb r0, [r5, r0] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - ldrh r1, [r6] - bl sub_81B1DB8 - bl sub_81B452C - b _081B42C0 -_081B42A4: - ldrb r0, [r5, 0x8] - lsls r0, 28 - lsrs r0, 28 - ldrb r2, [r5, 0xB] - movs r1, 0x7F - str r1, [sp] - ldr r1, =sub_81B42D0 - str r1, [sp, 0x4] - ldr r1, [r5] - str r1, [sp, 0x8] - movs r1, 0xFF - movs r3, 0x1 - bl sub_81B0038 -_081B42C0: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end c2_8123744 - - thumb_func_start sub_81B42D0 -sub_81B42D0: @ 81B42D0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B432C - ldr r0, =gSpecialVar_ItemId - ldrh r4, [r0] - ldr r0, =gUnknown_0203CEC8 - mov r8, r0 - ldrb r0, [r0, 0x9] - lsls r0, 24 - asrs r0, 24 - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl sub_81B1C84 - mov r1, r8 - movs r0, 0x9 - ldrsb r0, [r1, r0] - muls r0, r6 - adds r0, r5 - adds r1, r4, 0 - bl sub_81B1DB8 - adds r0, r4, 0 - movs r1, 0x1 - bl RemoveBagItem - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B469C - str r1, [r0] -_081B432C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B42D0 - - thumb_func_start sub_81B4350 -sub_81B4350: @ 81B4350 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B4388 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gUnknown_0203CEFC - ldrh r1, [r1] - movs r2, 0x1 - bl sub_81B1D1C - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B43A8 - str r1, [r0] -_081B4388: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4350 - - thumb_func_start sub_81B43A8 -sub_81B43A8: @ 81B43A8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B43CC - bl sub_81B334C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B43DC - str r0, [r1] -_081B43CC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B43A8 - - thumb_func_start sub_81B43DC -sub_81B43DC: @ 81B43DC - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081B4402 - cmp r1, 0 - bgt _081B43FC - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081B44D8 - b _081B44EC -_081B43FC: - cmp r1, 0x1 - beq _081B44DE - b _081B44EC -_081B4402: - ldr r5, =gSpecialVar_ItemId - ldrh r0, [r5] - movs r1, 0x1 - bl RemoveBagItem - ldr r6, =gUnknown_0203CEFC - ldrh r0, [r6] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - bne _081B4458 - ldrh r0, [r5] - movs r1, 0x1 - bl AddBagItem - ldrh r0, [r6] - bl pokemon_item_not_removed - ldr r0, =gStringVar4 - movs r1, 0 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1C1C - str r1, [r0] - b _081B44EC - .pool -_081B4458: - ldrh r0, [r5] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _081B4498 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldrh r1, [r5] - bl sub_81B1DB8 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B44FC - str r1, [r0] - b _081B44EC - .pool -_081B4498: - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldrh r1, [r5] - bl sub_81B1DB8 - ldrh r0, [r5] - ldrh r1, [r6] - movs r2, 0x1 - bl sub_81B1D68 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B469C - str r1, [r0] - b _081B44EC - .pool -_081B44D8: - movs r0, 0x5 - bl PlaySE -_081B44DE: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B1C1C - str r0, [r1] -_081B44EC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B43DC - - thumb_func_start sub_81B44FC -sub_81B44FC: @ 81B44FC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B451C - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - ldr r0, =sub_81B452C - str r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_81B12C0 -_081B451C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B44FC - - thumb_func_start sub_81B452C -sub_81B452C: @ 81B452C - push {lr} - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x40 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSaveBlock1Ptr - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - ldr r0, =0x00002be0 - adds r2, r0 - ldr r1, [r1] - adds r1, r2 - ldr r2, =sub_81B4578 - movs r0, 0x4 - movs r3, 0x3 - bl sub_811A20C - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B452C - - thumb_func_start sub_81B4578 -sub_81B4578: @ 81B4578 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r6, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r6, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, =gSpecialVar_Result - ldrh r7, [r0] - cmp r7, 0 - bne _081B45F8 - adds r0, r5, 0 - bl TakeMailFromMon - ldr r4, =gUnknown_0203CEFC - adds r0, r5, 0 - movs r1, 0xC - adds r2, r4, 0 - bl SetMonData - ldrh r0, [r4] - movs r1, 0x1 - bl RemoveBagItem - mov r0, r8 - movs r1, 0x1 - bl AddBagItem - ldrb r0, [r6, 0x8] - lsls r0, 28 - lsrs r0, 28 - ldrb r2, [r6, 0xB] - str r7, [sp] - ldr r1, =sub_81B36FC - str r1, [sp, 0x4] - ldr r1, [r6] - str r1, [sp, 0x8] - movs r1, 0xFF - movs r3, 0x1 - bl sub_81B0038 - b _081B4614 - .pool -_081B45F8: - ldrb r0, [r6, 0x8] - lsls r0, 28 - lsrs r0, 28 - ldrb r2, [r6, 0xB] - movs r1, 0x7F - str r1, [sp] - ldr r1, =sub_81B4624 - str r1, [sp, 0x4] - ldr r1, [r6] - str r1, [sp, 0x8] - movs r1, 0xFF - movs r3, 0x1 - bl sub_81B0038 -_081B4614: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4578 - - thumb_func_start sub_81B4624 -sub_81B4624: @ 81B4624 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B468A - ldr r1, =gUnknown_0203CEFC - ldrh r0, [r1] - cmp r0, 0 - bne _081B4670 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gSpecialVar_ItemId - ldrh r1, [r1] - movs r2, 0 - movs r3, 0 - bl sub_81B1C84 - b _081B467C - .pool -_081B4670: - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldrh r1, [r1] - movs r2, 0 - bl sub_81B1D68 -_081B467C: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B469C - str r0, [r1] -_081B468A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4624 - - thumb_func_start sub_81B469C -sub_81B469C: @ 81B469C - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r4, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r6, r1, r0 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B471C - ldr r5, =gUnknown_0203CEDC - movs r0, 0x9 - ldrsb r0, [r4, r0] - lsls r0, 4 - ldr r1, [r5] - adds r1, r0 - adds r0, r6, 0 - bl sub_81B5C94 - ldrb r1, [r4, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0xC - bne _081B4716 - adds r0, r6, 0 - movs r1, 0xC - bl GetMonData - cmp r0, 0 - beq _081B4704 - movs r0, 0x9 - ldrsb r0, [r4, r0] - lsls r0, 4 - ldr r1, [r5] - adds r1, r0 - movs r0, 0xB - movs r2, 0x1 - bl sub_81B2FA8 - b _081B4716 - .pool -_081B4704: - movs r0, 0x9 - ldrsb r0, [r4, r0] - lsls r0, 4 - ldr r1, [r5] - adds r1, r0 - movs r0, 0xC - movs r2, 0x1 - bl sub_81B2FA8 -_081B4716: - adds r0, r7, 0 - bl sub_81B1C1C -_081B471C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81B469C - - thumb_func_start sub_81B4724 -sub_81B4724: @ 81B4724 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - ldr r0, [r4] - adds r0, 0xD - bl sub_81B302C - adds r0, r5, 0 - bl sub_81B1E00 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _081B4788 - cmp r0, 0x1 - beq _081B47AC - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x1 - bl sub_81B1CD0 - b _081B47BA - .pool -_081B4788: - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r4, =gStringVar4 - ldr r1, =gText_PkmnNotHolding - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - b _081B47B4 - .pool -_081B47AC: - adds r0, r6, 0 - bl pokemon_item_not_removed - ldr r0, =gStringVar4 -_081B47B4: - movs r1, 0x1 - bl sub_81B1B5C -_081B47BA: - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B469C - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4724 - - thumb_func_start sub_81B47E0 -sub_81B47E0: @ 81B47E0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r7, r1, r0 - adds r0, r7, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - ldr r0, [r4] - adds r0, 0xD - bl sub_81B302C - cmp r5, 0 - bne _081B4864 - ldr r1, =gStringVar1 - adds r0, r7, 0 - bl GetMonNickname - ldr r4, =gStringVar4 - ldr r1, =gText_PkmnNotHolding - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B469C - b _081B488A - .pool -_081B4864: - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl CopyItemName - ldr r4, =gStringVar4 - ldr r1, =gText_ThrowAwayItem - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B48A8 -_081B488A: - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B47E0 - - thumb_func_start sub_81B48A8 -sub_81B48A8: @ 81B48A8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B48CC - bl sub_81B334C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B48DC - str r0, [r1] -_081B48CC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B48A8 - - thumb_func_start sub_81B48DC -sub_81B48DC: @ 81B48DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081B491A - cmp r1, 0 - bgt _081B4914 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081B4964 - b _081B4978 - .pool -_081B4914: - cmp r1, 0x1 - beq _081B496A - b _081B4978 -_081B491A: - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gStringVar1 - bl CopyItemName - ldr r4, =gStringVar4 - ldr r1, =gText_ItemThrownAway - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B4988 - str r1, [r0] - b _081B4978 - .pool -_081B4964: - movs r0, 0x5 - bl PlaySE -_081B496A: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B1C1C - str r0, [r1] -_081B4978: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B48DC - - thumb_func_start sub_81B4988 -sub_81B4988: @ 81B4988 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r6, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r6, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B49EC - movs r1, 0 - mov r0, sp - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - ldr r4, =gUnknown_0203CEDC - movs r0, 0x9 - ldrsb r0, [r6, r0] - lsls r0, 4 - ldr r1, [r4] - adds r1, r0 - adds r0, r5, 0 - bl sub_81B5C94 - movs r0, 0x9 - ldrsb r0, [r6, r0] - lsls r0, 4 - ldr r1, [r4] - adds r1, r0 - movs r0, 0xC - movs r2, 0x1 - bl sub_81B2FA8 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1C1C - str r1, [r0] -_081B49EC: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4988 - - thumb_func_start sub_81B4A08 -sub_81B4A08: @ 81B4A08 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - ldr r0, [r4] - adds r0, 0xD - bl sub_81B302C - ldr r0, =gPlayerParty - ldr r1, =gUnknown_0203CEC8 - ldrb r1, [r1, 0x9] - movs r2, 0x9 - bl sub_81B33B4 - movs r0, 0x2 - bl sub_81B31B0 - movs r0, 0x19 - bl display_pokemon_menu_message - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0xFF - strh r1, [r0, 0x8] - ldr r1, =sub_81B3730 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4A08 - - thumb_func_start sub_81B4A6C -sub_81B4A6C: @ 81B4A6C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - ldr r0, =sub_81B4A98 - str r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_81B12C0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4A6C - - thumb_func_start sub_81B4A98 -sub_81B4A98: @ 81B4A98 - push {lr} - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x40 - bl GetMonData - ldr r2, =gSaveBlock1Ptr - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, =0x00002be0 - adds r1, r0 - ldr r0, [r2] - adds r0, r1 - ldr r1, =sub_81B4AE0 - movs r2, 0x1 - bl ReadMail - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4A98 - - thumb_func_start sub_81B4AE0 -sub_81B4AE0: @ 81B4AE0 - push {lr} - sub sp, 0xC - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r3, =gUnknown_0203CEC8 - ldrb r0, [r3, 0x8] - lsls r0, 28 - lsrs r0, 28 - ldrb r2, [r3, 0xB] - movs r1, 0x15 - str r1, [sp] - ldr r1, =sub_81B36FC - str r1, [sp, 0x4] - ldr r1, [r3] - str r1, [sp, 0x8] - movs r1, 0xFF - movs r3, 0x1 - bl sub_81B0038 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4AE0 - - thumb_func_start brm_take_2 -brm_take_2: @ 81B4B20 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - ldr r5, =gUnknown_0203CEC4 - ldr r0, [r5] - adds r0, 0xD - bl sub_81B302C - ldr r0, [r5] - adds r0, 0xC - bl sub_81B302C - ldr r0, =gText_SendMailToPC - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B4B6C - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end brm_take_2 - - thumb_func_start sub_81B4B6C -sub_81B4B6C: @ 81B4B6C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B4B90 - bl sub_81B334C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B4BA0 - str r0, [r1] -_081B4B90: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4B6C - - thumb_func_start sub_81B4BA0 -sub_81B4BA0: @ 81B4BA0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081B4BC6 - cmp r1, 0 - bgt _081B4BC0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081B4C30 - b _081B4C4C -_081B4BC0: - cmp r1, 0x1 - beq _081B4C36 - b _081B4C4C -_081B4BC6: - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl TakeMailFromMon2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _081B4C0C - ldr r0, =gText_MailSentToPC - movs r1, 0 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B469C - b _081B4C4A - .pool -_081B4C0C: - ldr r0, =gText_PCMailboxFull - movs r1, 0 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1C1C - b _081B4C4A - .pool -_081B4C30: - movs r0, 0x5 - bl PlaySE -_081B4C36: - ldr r0, =gText_MailMessageWillBeLost - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B4C60 -_081B4C4A: - str r1, [r0] -_081B4C4C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4BA0 - - thumb_func_start sub_81B4C60 -sub_81B4C60: @ 81B4C60 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B4C84 - bl sub_81B334C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B4C94 - str r0, [r1] -_081B4C84: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4C60 - - thumb_func_start sub_81B4C94 -sub_81B4C94: @ 81B4C94 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081B4CBE - cmp r1, 0 - bgt _081B4CB8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081B4D50 - b _081B4D64 -_081B4CB8: - cmp r1, 0x1 - beq _081B4D56 - b _081B4D64 -_081B4CBE: - ldr r0, =gUnknown_0203CEC8 - mov r8, r0 - ldrb r0, [r0, 0x9] - lsls r0, 24 - asrs r0, 24 - movs r7, 0x64 - muls r0, r7 - ldr r6, =gPlayerParty - adds r0, r6 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B4D24 - mov r1, r8 - movs r0, 0x9 - ldrsb r0, [r1, r0] - muls r0, r7 - adds r0, r6 - bl TakeMailFromMon - ldr r0, =gText_MailTakenFromPkmn - movs r1, 0 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B469C - str r1, [r0] - b _081B4D64 - .pool -_081B4D24: - adds r0, r4, 0 - bl pokemon_item_not_removed - ldr r0, =gStringVar4 - movs r1, 0 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1C1C - str r1, [r0] - b _081B4D64 - .pool -_081B4D50: - movs r0, 0x5 - bl PlaySE -_081B4D56: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B1C1C - str r0, [r1] -_081B4D64: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4C94 - - thumb_func_start sub_81B4D78 -sub_81B4D78: @ 81B4D78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r5, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r5, r1] - movs r0, 0x64 - muls r0, r1 - ldr r6, =gPlayerParty - adds r7, r0, r6 - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - ldr r0, [r4] - adds r0, 0xD - bl sub_81B302C - ldrb r4, [r5, 0x9] - adds r0, r7, 0 - bl sub_81B353C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_81B33B4 - ldrb r1, [r5, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0xC - beq _081B4DE4 - movs r0, 0 - bl sub_81B31B0 - movs r0, 0x15 - bl display_pokemon_menu_message - b _081B4E02 - .pool -_081B4DE4: - movs r0, 0x1 - bl sub_81B31B0 - adds r0, r7, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gStringVar2 - bl CopyItemName - movs r0, 0x1A - bl display_pokemon_menu_message -_081B4E02: - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0xFF - strh r1, [r0, 0x8] - ldr r1, =sub_81B3730 - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4D78 - - thumb_func_start brm_shift_sendout -brm_shift_sendout: @ 81B4E2C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x5 - bl PlaySE - ldr r5, =gUnknown_0203CEC4 - ldr r0, [r5] - adds r0, 0xC - bl sub_81B302C - bl sub_81B8A7C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B4E5C - adds r0, r4, 0 - bl sub_81B12C0 - b _081B4E7A - .pool -_081B4E5C: - ldr r0, [r5] - adds r0, 0xD - bl sub_81B302C - ldr r0, =gStringVar4 - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1C1C - str r1, [r0] -_081B4E7A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end brm_shift_sendout - - thumb_func_start sub_81B4E8C -sub_81B4E8C: @ 81B4E8C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - ldr r0, [r4] - adds r0, 0xD - bl sub_81B302C - bl sub_81B8830 - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _081B4F36 - ldr r2, =gUnknown_0203CEC8 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - mov r8, r0 -_081B4EC6: - ldr r0, =gSelectedOrderFromParty - adds r4, r5, r0 - ldrb r0, [r4] - cmp r0, 0 - bne _081B4F2C - movs r0, 0x5 - str r2, [sp] - bl PlaySE - ldr r2, [sp] - ldrb r0, [r2, 0x9] - adds r0, 0x1 - strb r0, [r4] - adds r0, r5, 0x2 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CEDC - ldrb r2, [r2, 0x9] - lsls r2, 24 - asrs r2, 24 - lsls r2, 4 - ldr r1, [r1] - adds r1, r2 - movs r2, 0x1 - bl sub_81B2FA8 - subs r0, r6, 0x1 - cmp r5, r0 - bne _081B4F04 - bl sub_81B4F88 -_081B4F04: - movs r0, 0 - bl display_pokemon_menu_message - ldr r0, =sub_81B1370 - mov r1, r8 - str r0, [r1] - b _081B4F68 - .pool -_081B4F2C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _081B4EC6 -_081B4F36: - ldr r0, =gStringVar1 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_NoMoreThanVar1Pkmn - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x20 - bl PlaySE - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1C1C - str r1, [r0] -_081B4F68: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4E8C - - thumb_func_start sub_81B4F88 -sub_81B4F88: @ 81B4F88 - push {r4,lr} - ldr r4, =gUnknown_0203CEC8 - ldrb r0, [r4, 0x9] - movs r1, 0 - bl sub_81B0FCC - movs r0, 0x6 - strb r0, [r4, 0x9] - movs r1, 0x1 - bl sub_81B0FCC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4F88 - - thumb_func_start sub_81B4FA8 -sub_81B4FA8: @ 81B4FA8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - ldr r0, [r4] - adds r0, 0xD - bl sub_81B302C - bl sub_81B8830 - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _081B502A - ldr r6, =gSelectedOrderFromParty - subs r2, r5, 0x1 - adds r7, r6, 0 - ldr r3, =gUnknown_0203CEC8 -_081B4FE2: - adds r0, r4, r6 - ldrb r1, [r0] - movs r0, 0x9 - ldrsb r0, [r3, r0] - adds r0, 0x1 - cmp r1, r0 - bne _081B5020 - adds r0, r4, 0 - adds r4, r2, 0 - cmp r0, r4 - bge _081B500C - adds r3, r7, 0 -_081B4FFA: - adds r2, r0, r3 - adds r1, r0, 0x1 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r0, r1, 24 - cmp r0, r4 - blt _081B4FFA -_081B500C: - adds r1, r0, r6 - movs r0, 0 - strb r0, [r1] - b _081B502A - .pool -_081B5020: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081B4FE2 -_081B502A: - ldr r6, =gUnknown_0203CEDC - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0x9] - lsls r0, 24 - asrs r0, 24 - lsls r0, 4 - ldr r1, [r6] - adds r1, r0 - movs r0, 0x1 - movs r2, 0x1 - bl sub_81B2FA8 - movs r4, 0 - subs r5, 0x1 - mov r0, r8 - lsls r7, r0, 2 - cmp r4, r5 - bge _081B5078 -_081B504E: - ldr r0, =gSelectedOrderFromParty - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _081B506E - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r1] - lsls r2, 4 - subs r2, 0x10 - ldr r1, [r6] - adds r1, r2 - movs r2, 0x1 - bl sub_81B2FA8 -_081B506E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - blt _081B504E -_081B5078: - movs r0, 0 - bl display_pokemon_menu_message - ldr r0, =gTasks - mov r2, r8 - adds r1, r7, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B1370 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B4FA8 - - thumb_func_start sub_81B50AC -sub_81B50AC: @ 81B50AC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81B12C0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B50AC - - thumb_func_start sub_81B50C8 -sub_81B50C8: @ 81B50C8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0203CEC8 - mov r9, r0 - ldrb r0, [r0, 0x9] - lsls r0, 24 - asrs r0, 24 - movs r1, 0x64 - mov r8, r1 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x41 - bl GetMonData - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - mov r1, r9 - movs r0, 0x9 - ldrsb r0, [r1, r0] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r4 - movs r1, 0xB - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - mov r1, r9 - movs r0, 0x9 - ldrsb r0, [r1, r0] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r4 - movs r1, 0x50 - bl GetMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_800F7DC - ldr r0, [r0] - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_807A8D0 - cmp r0, 0x1 - beq _081B515C - cmp r0, 0x2 - beq _081B5170 - movs r0, 0x5 - bl PlaySE - adds r0, r7, 0 - bl sub_81B12C0 - b _081B51B0 - .pool -_081B515C: - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnCantBeTradedNow - bl StringExpandPlaceholders - b _081B5178 - .pool -_081B5170: - ldr r0, =gStringVar4 - ldr r1, =gText_EggCantBeTradedNow - bl StringExpandPlaceholders -_081B5178: - movs r0, 0x20 - bl PlaySE - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - ldr r0, [r4] - adds r0, 0xD - bl sub_81B302C - ldr r4, =gStringVar4 - ldr r1, =gText_PauseUntilPress - adds r0, r4, 0 - bl StringAppend - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1C1C - str r1, [r0] -_081B51B0: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B50C8 - - thumb_func_start brm_trade_1 -brm_trade_1: @ 81B51D4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0203CEC8 - mov r8, r0 - ldrb r0, [r0, 0x9] - lsls r0, 24 - asrs r0, 24 - movs r6, 0x64 - muls r0, r6 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x41 - bl GetMonData - mov r9, r0 - mov r1, r9 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - mov r1, r8 - movs r0, 0x9 - ldrsb r0, [r1, r0] - muls r0, r6 - adds r0, r4 - movs r1, 0xB - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - mov r1, r8 - movs r0, 0x9 - ldrsb r0, [r1, r0] - muls r0, r6 - adds r0, r4 - movs r1, 0x50 - bl GetMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_800F7DC - ldr r0, [r0] - ldr r1, =gUnknown_02022C38 - ldr r1, [r1] - ldr r2, =gUnknown_02022C3C - ldrh r3, [r2] - ldr r2, =gUnknown_02022C3E - ldrb r2, [r2] - str r2, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - mov r2, r9 - bl sub_807A7E0 - cmp r0, 0 - beq _081B52C8 - ldr r5, =gStringVar4 - ldr r1, =gUnknown_08615E0C - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0x20 - bl PlaySE - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - ldr r0, [r4] - adds r0, 0xD - bl sub_81B302C - ldr r1, =gText_PauseUntilPress - adds r0, r5, 0 - bl StringAppend - adds r0, r5, 0 - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1C1C - str r1, [r0] - b _081B52D4 - .pool -_081B52C8: - movs r0, 0x5 - bl PlaySE - adds r0, r7, 0 - bl sub_81B12C0 -_081B52D4: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end brm_trade_1 - - thumb_func_start sub_81B52E4 -sub_81B52E4: @ 81B52E4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - adds r0, 0xC - bl sub_81B302C - ldr r0, [r4] - adds r0, 0xD - bl sub_81B302C - ldr r0, =gPlayerParty - ldr r1, =gUnknown_0203CEC8 - ldrb r1, [r1, 0x9] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl sub_807A918 - cmp r0, 0x2 - beq _081B5340 - cmp r0, 0x2 - bgt _081B5328 - cmp r0, 0x1 - beq _081B532E - b _081B5368 - .pool -_081B5328: - cmp r0, 0x3 - beq _081B5354 - b _081B5368 -_081B532E: - ldr r0, =gStringVar4 - ldr r1, =gText_OnlyPkmnForBattle - bl StringExpandPlaceholders - b _081B53C0 - .pool -_081B5340: - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnCantBeTradedNow - bl StringExpandPlaceholders - b _081B53C0 - .pool -_081B5354: - ldr r0, =gStringVar4 - ldr r1, =gText_EggCantBeTradedNow - bl StringExpandPlaceholders - b _081B53C0 - .pool -_081B5368: - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gStringVar1 - bl GetMonNickname - ldr r4, =gStringVar4 - ldr r1, =gJPText_PutVar1IntoSpinner - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B53FC - b _081B53E4 - .pool -_081B53C0: - movs r0, 0x20 - bl PlaySE - ldr r4, =gStringVar4 - ldr r1, =gText_PauseUntilPress - adds r0, r4, 0 - bl StringAppend - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1C1C -_081B53E4: - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B52E4 - - thumb_func_start sub_81B53FC -sub_81B53FC: @ 81B53FC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B5420 - bl sub_81B334C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B5430 - str r0, [r1] -_081B5420: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B53FC - - thumb_func_start sub_81B5430 -sub_81B5430: @ 81B5430 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081B5456 - cmp r1, 0 - bgt _081B5450 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081B545E - b _081B546A -_081B5450: - cmp r1, 0x1 - beq _081B5464 - b _081B546A -_081B5456: - adds r0, r4, 0 - bl sub_81B12C0 - b _081B546A -_081B545E: - movs r0, 0x5 - bl PlaySE -_081B5464: - adds r0, r4, 0 - bl sub_81B1C1C -_081B546A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B5430 - - thumb_func_start sub_81B5470 -sub_81B5470: @ 81B5470 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - bl GetMenuCursorPos - ldr r5, =gUnknown_0203CEC4 - ldr r1, [r5] - lsls r0, 24 - lsrs r0, 24 - adds r1, 0xF - adds r1, r0 - ldrb r0, [r1] - subs r0, 0x13 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x5 - bl PlaySE - ldr r1, =gUnknown_08615D9C - lsls r0, r4, 3 - adds r7, r0, r1 - ldr r0, [r7] - cmp r0, 0 - bne _081B54A2 - b _081B5664 -_081B54A2: - ldr r0, [r5] - adds r0, 0xC - bl sub_81B302C - ldr r0, [r5] - adds r0, 0xD - bl sub_81B302C - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B54C6 - bl InUnionRoom - cmp r0, 0x1 - bne _081B54E8 -_081B54C6: - adds r0, r4, 0 - subs r0, 0xB - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _081B54E4 - movs r0, 0xD - bl display_pokemon_menu_message - b _081B5656 - .pool -_081B54E4: - ldrb r0, [r7, 0x4] - b _081B5652 -_081B54E8: - cmp r4, 0x7 - bhi _081B5524 - ldr r1, =0x00000867 - adds r0, r4, r1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B5524 - ldr r0, =gText_CantUseUntilNewBadge - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1C1C - str r1, [r0] - b _081B5664 - .pool -_081B5524: - ldr r1, =gUnknown_08615D9C - lsls r0, r4, 3 - adds r5, r0, r1 - ldr r0, [r5] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B553A - b _081B563C -_081B553A: - subs r0, r4, 0x5 - cmp r0, 0x7 - bhi _081B5624 - lsls r0, 2 - ldr r1, =_081B5554 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081B5554: - .4byte _081B5614 - .4byte _081B5624 - .4byte _081B5624 - .4byte _081B557C - .4byte _081B55B8 - .4byte _081B5624 - .4byte _081B5574 - .4byte _081B5574 -_081B5574: - adds r0, r6, 0 - bl sub_8161560 - b _081B5664 -_081B557C: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x1C - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x1D] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - adds r1, r0, 0 - ldr r0, =gStringVar1 - ldrb r1, [r1, 0x14] - bl sub_81245DC - ldr r0, =gStringVar4 - ldr r1, =gText_ReturnToHealingSpot - b _081B55E8 - .pool -_081B55B8: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - adds r1, 0x25 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - adds r1, r0, 0 - ldr r0, =gStringVar1 - ldrb r1, [r1, 0x14] - bl sub_81245DC - ldr r0, =gStringVar4 - ldr r1, =gText_EscapeFromHere -_081B55E8: - bl StringExpandPlaceholders - adds r0, r6, 0 - bl sub_81B5674 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - strh r4, [r0] - b _081B5664 - .pool -_081B5614: - ldr r1, =gUnknown_0203CEC8 - ldr r0, =MCB2_FlyMap - b _081B5628 - .pool -_081B5624: - ldr r1, =gUnknown_0203CEC8 - ldr r0, =CB2_ReturnToField -_081B5628: - str r0, [r1] - adds r0, r6, 0 - bl sub_81B12C0 - b _081B5664 - .pool -_081B563C: - cmp r4, 0x1 - beq _081B564A - cmp r4, 0x4 - bne _081B5650 - bl sub_81B5864 - b _081B5656 -_081B564A: - bl sub_81B57DC - b _081B5656 -_081B5650: - ldrb r0, [r5, 0x4] -_081B5652: - bl display_pokemon_menu_message -_081B5656: - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =task_brm_cancel_1_on_keypad_a_or_b - str r0, [r1] -_081B5664: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B5470 - - thumb_func_start sub_81B5674 -sub_81B5674: @ 81B5674 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gStringVar4 - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B56A4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B5674 - - thumb_func_start sub_81B56A4 -sub_81B56A4: @ 81B56A4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B56C8 - bl sub_81B334C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B56D8 - str r0, [r1] -_081B56C8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B56A4 - - thumb_func_start sub_81B56D8 -sub_81B56D8: @ 81B56D8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081B56FE - cmp r1, 0 - bgt _081B56F8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081B5714 - b _081B572A -_081B56F8: - cmp r1, 0x1 - beq _081B571A - b _081B572A -_081B56FE: - ldr r1, =gUnknown_0203CEC8 - ldr r0, =CB2_ReturnToField - str r0, [r1] - adds r0, r4, 0 - bl sub_81B12C0 - b _081B572A - .pool -_081B5714: - movs r0, 0x5 - bl PlaySE -_081B571A: - ldr r0, =gFieldCallback2 - movs r1, 0 - str r1, [r0] - ldr r0, =gPostMenuFieldCallback - str r1, [r0] - adds r0, r4, 0 - bl sub_81B1C1C -_081B572A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B56D8 - - thumb_func_start FieldCallback_PrepareFadeInFromMenu -FieldCallback_PrepareFadeInFromMenu: @ 81B5738 - push {lr} - bl pal_fill_black - ldr r0, =task_launch_hm_phase_2 - movs r1, 0x8 - bl CreateTask - movs r0, 0x1 - pop {r1} - bx r1 - .pool - thumb_func_end FieldCallback_PrepareFadeInFromMenu - - thumb_func_start task_launch_hm_phase_2 -task_launch_hm_phase_2: @ 81B5750 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsWeatherNotFadingIn - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B577C - bl brm_get_selected_species - ldr r1, =gFieldEffectArguments - lsls r0, 16 - lsrs r0, 16 - str r0, [r1] - ldr r0, =gPostMenuFieldCallback - ldr r0, [r0] - bl _call_via_r0 - adds r0, r4, 0 - bl DestroyTask -_081B577C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task_launch_hm_phase_2 - - thumb_func_start brm_get_selected_species -brm_get_selected_species: @ 81B578C - push {lr} - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end brm_get_selected_species - - thumb_func_start task_brm_cancel_1_on_keypad_a_or_b -task_brm_cancel_1_on_keypad_a_or_b: @ 81B57B4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081B57CE - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081B57D4 -_081B57CE: - adds r0, r2, 0 - bl brm_cancel_1 -_081B57D4: - pop {r0} - bx r0 - .pool - thumb_func_end task_brm_cancel_1_on_keypad_a_or_b - - thumb_func_start sub_81B57DC -sub_81B57DC: @ 81B57DC - push {lr} - ldr r0, =0x00000888 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B57F8 - movs r0, 0xC - bl display_pokemon_menu_message - b _081B57FE - .pool -_081B57F8: - movs r0, 0xD - bl display_pokemon_menu_message -_081B57FE: - pop {r0} - bx r0 - thumb_func_end sub_81B57DC - - thumb_func_start hm_surf_run_dp02scr -hm_surf_run_dp02scr: @ 81B5804 - push {lr} - bl GetCursorSelectionMonId - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - movs r0, 0x9 - bl FieldEffectStart - pop {r0} - bx r0 - .pool - thumb_func_end hm_surf_run_dp02scr - - thumb_func_start sub_81B5820 -sub_81B5820: @ 81B5820 - push {lr} - bl PartyHasMonWithSurf - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B585C - bl IsPlayerFacingSurfableFishableWater - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B585C - ldr r1, =gFieldCallback2 - ldr r0, =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, =gPostMenuFieldCallback - ldr r0, =hm_surf_run_dp02scr - str r0, [r1] - movs r0, 0x1 - b _081B585E - .pool -_081B585C: - movs r0, 0 -_081B585E: - pop {r1} - bx r1 - thumb_func_end sub_81B5820 - - thumb_func_start sub_81B5864 -sub_81B5864: @ 81B5864 - push {lr} - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _081B587A - movs r0, 0x9 - bl display_pokemon_menu_message - b _081B5880 -_081B587A: - movs r0, 0x8 - bl display_pokemon_menu_message -_081B5880: - pop {r0} - bx r0 - thumb_func_end sub_81B5864 - - thumb_func_start sub_81B5884 -sub_81B5884: @ 81B5884 - push {lr} - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - bl Overworld_MapTypeAllowsTeleportAndFly - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B58A0 - movs r0, 0 - b _081B58A2 - .pool -_081B58A0: - movs r0, 0x1 -_081B58A2: - pop {r1} - bx r1 - thumb_func_end sub_81B5884 - - thumb_func_start sub_81B58A8 -sub_81B58A8: @ 81B58A8 - push {lr} - sub sp, 0xC - movs r0, 0 - str r0, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =CB2_ReturnToFieldWithOpenMenu - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_81B0038 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B58A8 - - thumb_func_start hm2_waterfall -hm2_waterfall: @ 81B58D4 - push {lr} - bl GetCursorSelectionMonId - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - movs r0, 0x2B - bl FieldEffectStart - pop {r0} - bx r0 - .pool - thumb_func_end hm2_waterfall - - thumb_func_start hm_prepare_waterfall -hm_prepare_waterfall: @ 81B58F0 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsWaterfall - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B594C - bl IsPlayerSurfingNorth - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B594C - ldr r1, =gFieldCallback2 - ldr r0, =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, =gPostMenuFieldCallback - ldr r0, =hm2_waterfall - str r0, [r1] - movs r0, 0x1 - b _081B594E - .pool -_081B594C: - movs r0, 0 -_081B594E: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end hm_prepare_waterfall - - thumb_func_start sub_81B5958 -sub_81B5958: @ 81B5958 - push {lr} - bl GetCursorSelectionMonId - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - movs r0, 0x2C - bl FieldEffectStart - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B5958 - - thumb_func_start sub_81B5974 -sub_81B5974: @ 81B5974 - push {lr} - bl TrySetDiveWarp - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1, 0x4] - cmp r0, 0 - bne _081B5990 - movs r0, 0 - b _081B599E - .pool -_081B5990: - ldr r1, =gFieldCallback2 - ldr r0, =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, =gPostMenuFieldCallback - ldr r0, =sub_81B5958 - str r0, [r1] - movs r0, 0x1 -_081B599E: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B5974 - - thumb_func_start party_menu_icon_anim -@ void party_menu_icon_anim(struct pokemon *mon, int a2, int a3) -party_menu_icon_anim: @ 81B59B4 - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r7, r1, 0 - adds r4, r2, 0 - movs r6, 0x1 - bl sub_81B1250 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B59EA - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081B59EA - ldr r0, =gUnknown_08616020 - adds r0, r4, r0 - ldrb r1, [r0] - eors r1, r6 - negs r0, r1 - orrs r0, r1 - lsrs r6, r0, 31 -_081B59EA: - adds r0, r5, 0 - movs r1, 0x41 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - str r6, [sp] - adds r0, r4, 0 - adds r2, r7, 0 - movs r3, 0x1 - bl party_menu_link_mon_icon_anim - ldrb r0, [r7, 0x9] - adds r1, r5, 0 - bl sub_81B5B38 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end party_menu_icon_anim - - thumb_func_start party_menu_link_mon_icon_anim -@ void party_menu_link_mon_icon_anim(u16 speciesId, u32 personality, int a3, char a4, int a5) -party_menu_link_mon_icon_anim: @ 81B5A2C - push {r4-r7,lr} - sub sp, 0xC - adds r6, r1, 0 - adds r4, r2, 0 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r3, 24 - lsrs r7, r3, 24 - cmp r5, 0 - beq _081B5A7A - ldr r1, =sub_80D3014 - ldr r0, [r4, 0x4] - ldrb r2, [r0] - ldrb r3, [r0, 0x1] - movs r0, 0x4 - str r0, [sp] - str r6, [sp, 0x4] - ldr r0, [sp, 0x20] - str r0, [sp, 0x8] - adds r0, r5, 0 - bl CreateMonIcon - strb r0, [r4, 0x9] - ldr r2, =gSprites - ldrb r0, [r4, 0x9] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - adds r2, r7, 0 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] -_081B5A7A: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end party_menu_link_mon_icon_anim - - thumb_func_start sub_81B5A8C -sub_81B5A8C: @ 81B5A8C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r0, r1, 0 - adds r1, r2, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _081B5AEC - cmp r0, 0x2 - bgt _081B5AB4 - cmp r0, 0x1 - beq _081B5B04 - b _081B5B1C -_081B5AB4: - cmp r0, 0x3 - beq _081B5AD4 - cmp r0, 0x4 - bne _081B5B1C - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - bl sub_80D32C8 - b _081B5B2C - .pool -_081B5AD4: - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl sub_80D32C8 - b _081B5B2C - .pool -_081B5AEC: - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x2 - bl sub_80D32C8 - b _081B5B2C - .pool -_081B5B04: - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x3 - bl sub_80D32C8 - b _081B5B2C - .pool -_081B5B1C: - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x4 - bl sub_80D32C8 -_081B5B2C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B5A8C - - thumb_func_start sub_81B5B38 -sub_81B5B38: @ 81B5B38 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - movs r1, 0x3A - bl GetMonData - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81B5A8C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81B5B38 - - thumb_func_start sub_81B5B6C -sub_81B5B6C: @ 81B5B6C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - ldr r5, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r6, r0, 2 - adds r2, r6, r5 - movs r7, 0 - movs r3, 0 - strh r3, [r2, 0x2E] - mov r12, r5 - cmp r1, 0 - bne _081B5BC4 - movs r1, 0x20 - ldrsh r0, [r2, r1] - cmp r0, 0x10 - bne _081B5BA4 - strh r3, [r2, 0x24] - ldr r0, =0x0000fffc - strh r0, [r2, 0x26] - b _081B5BAA - .pool -_081B5BA4: - ldr r0, =0x0000fffc - strh r0, [r2, 0x24] - strh r3, [r2, 0x26] -_081B5BAA: - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - mov r1, r12 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_81B5C08 - b _081B5BD0 - .pool -_081B5BC4: - strh r3, [r2, 0x24] - strh r3, [r2, 0x26] - adds r0, r5, 0 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, =sub_81B5BDC -_081B5BD0: - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B5B6C - - thumb_func_start sub_81B5BDC -sub_81B5BDC: @ 81B5BDC - push {r4,lr} - adds r4, r0, 0 - bl UpdateMonIconFrame - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _081B5C02 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081B5C00 - ldr r0, =0x0000fffd - strh r0, [r4, 0x26] - b _081B5C02 - .pool -_081B5C00: - strh r1, [r4, 0x26] -_081B5C02: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B5BDC - - thumb_func_start sub_81B5C08 -sub_81B5C08: @ 81B5C08 - push {lr} - bl UpdateMonIconFrame - pop {r0} - bx r0 - thumb_func_end sub_81B5C08 - - thumb_func_start party_menu_held_item_object -party_menu_held_item_object: @ 81B5C14 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B5C3C - ldr r0, =gSpriteTemplate_8615EC0 - ldr r2, [r4, 0x4] - ldrb r1, [r2, 0x2] - ldrb r2, [r2, 0x3] - movs r3, 0 - bl CreateSprite - strb r0, [r4, 0xA] - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81B5C94 -_081B5C3C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end party_menu_held_item_object - - thumb_func_start party_menu_link_mon_held_item_object -party_menu_link_mon_held_item_object: @ 81B5C48 - push {r4,r5,lr} - adds r4, r2, 0 - lsls r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - cmp r0, 0 - beq _081B5C84 - ldr r0, =gSpriteTemplate_8615EC0 - ldr r2, [r4, 0x4] - ldrb r1, [r2, 0x2] - ldrb r2, [r2, 0x3] - movs r3, 0 - bl CreateSprite - strb r0, [r4, 0xA] - ldr r2, =gSprites - ldrb r0, [r4, 0xA] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81B5CB0 -_081B5C84: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end party_menu_link_mon_held_item_object - - thumb_func_start sub_81B5C94 -sub_81B5C94: @ 81B5C94 - push {r4,lr} - adds r4, r1, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl sub_81B5CB0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B5C94 - - thumb_func_start sub_81B5CB0 -sub_81B5CB0: @ 81B5CB0 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _081B5CD8 - ldr r2, =gSprites - ldrb r1, [r4, 0xA] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - b _081B5D24 - .pool -_081B5CD8: - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _081B5CFC - ldrb r1, [r4, 0xA] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - b _081B5D0E - .pool -_081B5CFC: - ldrb r1, [r4, 0xA] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAnim -_081B5D0E: - ldr r2, =gSprites - ldrb r1, [r4, 0xA] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 -_081B5D24: - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B5CB0 - - thumb_func_start sub_81B5D30 -sub_81B5D30: @ 81B5D30 - push {lr} - ldr r0, =gUnknown_08615EB0 - bl LoadSpriteSheet - ldr r0, =gUnknown_08615EB8 - bl LoadSpritePalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B5D30 - - thumb_func_start sub_81B5D4C -sub_81B5D4C: @ 81B5D4C - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - lsls r2, 24 - lsrs r2, 24 - cmp r2, 0 - beq _081B5D60 - cmp r2, 0x1 - beq _081B5DA8 - b _081B5DE4 -_081B5D60: - movs r5, 0 - ldrb r0, [r6] - cmp r5, r0 - bcs _081B5DE4 -_081B5D68: - movs r0, 0x64 - muls r0, r5 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _081B5D94 - adds r0, r7, r5 - ldrb r4, [r0] - adds r0, r1, 0 - bl ItemIsMail - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_81B5DF0 -_081B5D94: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrb r0, [r6] - cmp r5, r0 - bcc _081B5D68 - b _081B5DE4 - .pool -_081B5DA8: - movs r5, 0 - b _081B5DDE -_081B5DAC: - movs r0, 0x64 - muls r0, r5 - ldr r1, =gEnemyParty - adds r0, r1 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _081B5DD8 - adds r0, r5, r7 - ldrb r4, [r0, 0x6] - adds r0, r1, 0 - bl ItemIsMail - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_81B5DF0 -_081B5DD8: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_081B5DDE: - ldrb r0, [r6, 0x1] - cmp r5, r0 - bcc _081B5DAC -_081B5DE4: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B5D4C - - thumb_func_start sub_81B5DF0 -sub_81B5DF0: @ 81B5DF0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - adds r6, r0, 0 - mov r9, r1 - lsls r6, 24 - lsrs r6, 24 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, =gSprites - mov r8, r0 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - add r0, r8 - adds r0, 0x43 - ldrb r3, [r0] - ldr r0, =gSpriteTemplate_8615EC0 - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0xFA - movs r2, 0xAA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - mov r0, r8 - adds r5, r4, r0 - movs r0, 0x4 - strh r0, [r5, 0x24] - movs r0, 0xA - strh r0, [r5, 0x26] - movs r0, 0x1C - add r8, r0 - add r4, r8 - ldr r0, =sub_81B5E74 - str r0, [r4] - strh r6, [r5, 0x3C] - adds r0, r5, 0 - mov r1, r9 - bl StartSpriteAnim - ldr r1, [r4] - adds r0, r5, 0 - bl _call_via_r1 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B5DF0 - - thumb_func_start sub_81B5E74 -sub_81B5E74: @ 81B5E74 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x3C] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r2 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _081B5EA8 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _081B5EC6 - .pool -_081B5EA8: - adds r3, r4, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x24] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x26] - ldrh r2, [r2, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] -_081B5EC6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B5E74 - - thumb_func_start party_menu_pokeball_object -party_menu_pokeball_object: @ 81B5ECC - push {r4,lr} - adds r4, r1, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B5EEA - ldr r0, =gSpriteTemplate_8615F08 - ldr r2, [r4, 0x4] - ldrb r1, [r2, 0x6] - ldrb r2, [r2, 0x7] - movs r3, 0x8 - bl CreateSprite - strb r0, [r4, 0xB] -_081B5EEA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end party_menu_pokeball_object - - thumb_func_start party_menu_link_mon_pokeball_object -party_menu_link_mon_pokeball_object: @ 81B5EF4 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - cmp r0, 0 - beq _081B5F24 - ldr r0, =gSpriteTemplate_8615F08 - ldr r2, [r4, 0x4] - ldrb r1, [r2, 0x6] - ldrb r2, [r2, 0x7] - movs r3, 0x8 - bl CreateSprite - strb r0, [r4, 0xB] - ldr r2, =gSprites - ldrb r0, [r4, 0xB] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] -_081B5F24: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end party_menu_link_mon_pokeball_object - - thumb_func_start sub_81B5F34 -sub_81B5F34: @ 81B5F34 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gSpriteTemplate_8615F08 - adds r1, r3, 0 - movs r3, 0x8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - ands r2, r3 - movs r3, 0x8 - orrs r2, r3 - strb r2, [r1, 0x5] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B5F34 - - thumb_func_start sub_81B5F74 -sub_81B5F74: @ 81B5F74 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gSpriteTemplate_8615F78 - adds r1, r3, 0 - movs r3, 0x8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B5F74 - - thumb_func_start sub_81B5F98 -sub_81B5F98: @ 81B5F98 - push {lr} - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r2, =gSprites - adds r0, r2 - bl StartSpriteAnim - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B5F98 - - thumb_func_start sub_81B5FBC -sub_81B5FBC: @ 81B5FBC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - cmp r6, 0 - bne _081B6000 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - mov r8, r0 - add r4, r8 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - lsls r5, r7, 4 - adds r5, r7 - lsls r5, 2 - add r5, r8 - adds r0, r5, 0 - movs r1, 0x4 - bl StartSpriteAnim - strh r6, [r4, 0x26] - strh r6, [r5, 0x26] - b _081B602C - .pool -_081B6000: - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r0, =gSprites - mov r8, r0 - add r5, r8 - adds r0, r5, 0 - movs r1, 0x3 - bl StartSpriteAnim - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - add r4, r8 - adds r0, r4, 0 - movs r1, 0x5 - bl StartSpriteAnim - ldr r0, =0x0000fffc - strh r0, [r5, 0x26] - movs r0, 0x4 - strh r0, [r4, 0x26] -_081B602C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B5FBC - - thumb_func_start sub_81B6040 -sub_81B6040: @ 81B6040 - push {lr} - ldr r0, =gUnknown_08615EF8 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_08615F70 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_08615F00 - bl LoadCompressedObjectPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6040 - - thumb_func_start party_menu_status_condition_object -party_menu_status_condition_object: @ 81B6064 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B608C - ldr r0, =gSpriteTemplate_8616008 - ldr r2, [r4, 0x4] - ldrb r1, [r2, 0x4] - ldrb r2, [r2, 0x5] - movs r3, 0 - bl CreateSprite - strb r0, [r4, 0xC] - adds r0, r5, 0 - adds r1, r4, 0 - bl party_menu_get_status_condition_and_update_object -_081B608C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end party_menu_status_condition_object - - thumb_func_start party_menu_link_mon_status_condition_object -party_menu_link_mon_status_condition_object: @ 81B6098 - push {r4,r5,lr} - adds r4, r2, 0 - lsls r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r0, 0 - beq _081B60D4 - ldr r0, =gSpriteTemplate_8616008 - ldr r2, [r4, 0x4] - ldrb r1, [r2, 0x4] - ldrb r2, [r2, 0x5] - movs r3, 0 - bl CreateSprite - strb r0, [r4, 0xC] - adds r0, r5, 0 - adds r1, r4, 0 - bl party_menu_update_status_condition_object - ldr r2, =gSprites - ldrb r0, [r4, 0xC] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] -_081B60D4: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end party_menu_link_mon_status_condition_object - - thumb_func_start party_menu_get_status_condition_and_update_object -@ void party_menu_get_status_condition_and_update_object(struct pokemon *mon, void *a2, void *a3) -party_menu_get_status_condition_and_update_object: @ 81B60E4 - push {r4,lr} - adds r4, r1, 0 - bl sub_81B205C - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl party_menu_update_status_condition_object - pop {r4} - pop {r0} - bx r0 - thumb_func_end party_menu_get_status_condition_and_update_object - - thumb_func_start party_menu_update_status_condition_object -@ void party_menu_update_status_condition_object(u8 a1, void *a2) -party_menu_update_status_condition_object: @ 81B60FC - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _081B610C - cmp r2, 0x6 - bne _081B6128 -_081B610C: - ldr r2, =gSprites - ldrb r1, [r5, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - b _081B6152 - .pool -_081B6128: - ldrb r1, [r5, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - subs r1, r2, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - ldrb r1, [r5, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 -_081B6152: - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end party_menu_update_status_condition_object - - thumb_func_start sub_81B6160 -sub_81B6160: @ 81B6160 - push {lr} - ldr r0, =gUnknown_08615FF8 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_08616000 - bl LoadCompressedObjectPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6160 - - thumb_func_start sub_81B617C -sub_81B617C: @ 81B617C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r0, =c2_815ABFC - mov r8, r0 - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081B61BC - movs r7, 0x1 - bl sub_81B8984 - lsls r0, 24 - lsrs r6, r0, 24 - b _081B61C0 - .pool -_081B61B0: - ldr r0, =gUnknown_0203CEC8 - strb r5, [r0, 0x9] - b _081B6204 - .pool -_081B61BC: - movs r7, 0 - movs r6, 0 -_081B61C0: - ldr r4, =gSpecialVar_ItemId - ldrh r0, [r4] - bl GetItemEffectType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA - bne _081B621C - ldr r1, =gUnknown_0203CEC8 - movs r0, 0 - strb r0, [r1, 0x9] - movs r5, 0 -_081B61D8: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B61FA - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _081B61B0 -_081B61FA: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _081B61D8 -_081B6204: - ldr r0, =sub_81B6280 - movs r1, 0x7F - b _081B6230 - .pool -_081B621C: - ldrh r0, [r4] - bl GetPocketByItemId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x5 - cmp r0, 0x3 - bne _081B622E - movs r1, 0x4 -_081B622E: - ldr r0, =sub_81B1370 -_081B6230: - str r1, [sp] - str r0, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_81B0038 - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B617C - - thumb_func_start c2_815ABFC -c2_815ABFC: @ 81B6254 - push {lr} - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _081B626C - movs r0, 0xC - movs r1, 0x5 - movs r2, 0 - bl GoToBagMenu - b _081B6276 -_081B626C: - ldr r0, =gPyramidBagCursorData - ldr r1, [r0] - movs r0, 0x4 - bl sub_81C4F98 -_081B6276: - pop {r0} - bx r0 - .pool - thumb_func_end c2_815ABFC - - thumb_func_start sub_81B6280 -sub_81B6280: @ 81B6280 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B62B2 - ldr r0, =gUnknown_0203CEC8 - ldrb r1, [r0, 0x8] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - bne _081B62A6 - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - ldr r0, =sub_81B9140 - str r0, [r1, 0x4] -_081B62A6: - ldr r0, =gUnknown_03006328 - ldr r1, =sub_81B6794 - ldr r2, [r0] - adds r0, r3, 0 - bl _call_via_r2 -_081B62B2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6280 - - thumb_func_start IsHPRecoveryItem -@ bool8 IsHPRecoveryItem(u16 itemId) -IsHPRecoveryItem: @ 81B62D0 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _081B62EC - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003214 - adds r0, r1 - b _081B62F6 - .pool -_081B62EC: - ldr r1, =gItemEffectTable - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] -_081B62F6: - ldrb r1, [r0, 0x4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _081B6308 - movs r0, 0 - b _081B630A - .pool -_081B6308: - movs r0, 0x1 -_081B630A: - pop {r1} - bx r1 - thumb_func_end IsHPRecoveryItem - - thumb_func_start GetMedicineItemEffectMessage -@ void GetMedicineItemEffectMessage(u16 itemId) -GetMedicineItemEffectMessage: @ 81B6310 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl GetItemEffectType - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x3 - cmp r0, 0x12 - bls _081B6326 - b _081B64BC -_081B6326: - lsls r0, 2 - ldr r1, =_081B6334 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081B6334: - .4byte _081B6380 - .4byte _081B6394 - .4byte _081B63A8 - .4byte _081B63BC - .4byte _081B63D0 - .4byte _081B63E4 - .4byte _081B63F8 - .4byte _081B64BC - .4byte _081B640C - .4byte _081B6430 - .4byte _081B6420 - .4byte _081B6460 - .4byte _081B6470 - .4byte _081B6450 - .4byte _081B6440 - .4byte _081B64BC - .4byte _081B6494 - .4byte _081B6494 - .4byte _081B64A8 -_081B6380: - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnCuredOfPoison - bl StringExpandPlaceholders - b _081B64C4 - .pool -_081B6394: - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnWokeUp2 - bl StringExpandPlaceholders - b _081B64C4 - .pool -_081B63A8: - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnBurnHealed - bl StringExpandPlaceholders - b _081B64C4 - .pool -_081B63BC: - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnThawedOut - bl StringExpandPlaceholders - b _081B64C4 - .pool -_081B63D0: - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnCuredOfParalysis - bl StringExpandPlaceholders - b _081B64C4 - .pool -_081B63E4: - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnSnappedOutOfConfusion - bl StringExpandPlaceholders - b _081B64C4 - .pool -_081B63F8: - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnGotOverInfatuation - bl StringExpandPlaceholders - b _081B64C4 - .pool -_081B640C: - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnBecameHealthy - bl StringExpandPlaceholders - b _081B64C4 - .pool -_081B6420: - ldr r0, =gStringVar2 - ldr r1, =gText_HP3 - b _081B6474 - .pool -_081B6430: - ldr r0, =gStringVar2 - ldr r1, =gText_Attack3 - b _081B6474 - .pool -_081B6440: - ldr r0, =gStringVar2 - ldr r1, =gText_Defense3 - b _081B6474 - .pool -_081B6450: - ldr r0, =gStringVar2 - ldr r1, =gText_Speed2 - b _081B6474 - .pool -_081B6460: - ldr r0, =gStringVar2 - ldr r1, =gText_SpAtk3 - b _081B6474 - .pool -_081B6470: - ldr r0, =gStringVar2 - ldr r1, =gText_SpDef3 -_081B6474: - bl StringCopy - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnBaseVar2StatIncreased - bl StringExpandPlaceholders - b _081B64C4 - .pool -_081B6494: - ldr r0, =gStringVar4 - ldr r1, =gText_MovesPPIncreased - bl StringExpandPlaceholders - b _081B64C4 - .pool -_081B64A8: - ldr r0, =gStringVar4 - ldr r1, =gText_PPWasRestored - bl StringExpandPlaceholders - b _081B64C4 - .pool -_081B64BC: - ldr r0, =gStringVar4 - ldr r1, =gText_WontHaveEffect - bl StringExpandPlaceholders -_081B64C4: - pop {r0} - bx r0 - .pool - thumb_func_end GetMedicineItemEffectMessage - - thumb_func_start UsingHPEVItemOnShedinja -@ bool8 UsingHPEVItemOnShedinja(struct pokemon *mon, u16 itemId) -UsingHPEVItemOnShedinja: @ 81B64D0 - push {r4,lr} - adds r4, r0, 0 - lsls r0, r1, 16 - lsrs r0, 16 - bl GetItemEffectType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bne _081B64FC - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - ldr r1, =0x0000012f - cmp r0, r1 - bne _081B64FC - movs r0, 0 - b _081B64FE - .pool -_081B64FC: - movs r0, 0x1 -_081B64FE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end UsingHPEVItemOnShedinja - - thumb_func_start IsBlueYellowRedFlute -@ bool8 IsBlueYellowRedFlute(u16 itemId) -IsBlueYellowRedFlute: @ 81B6504 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x27 - beq _081B6516 - cmp r0, 0x29 - beq _081B6516 - cmp r0, 0x28 - bne _081B651A -_081B6516: - movs r0, 0x1 - b _081B651C -_081B651A: - movs r0, 0 -_081B651C: - pop {r1} - bx r1 - thumb_func_end IsBlueYellowRedFlute - - thumb_func_start ExecuteTableBasedItemEffect__ -@ bool8 ExecuteTableBasedItemEffect__(u8 partyMonIndex, u16 itemId, u8 monMoveIndex) -ExecuteTableBasedItemEffect__: @ 81B6520 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081B6558 - movs r0, 0x64 - muls r0, r3 - ldr r1, =gPlayerParty - adds r0, r1 - adds r1, r5, 0 - adds r2, r3, 0 - b _081B6572 - .pool -_081B6558: - movs r0, 0x64 - adds r4, r3, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r3, 0 - bl sub_81B8F38 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 -_081B6572: - adds r3, r6, 0 - bl ExecuteTableBasedItemEffect - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end ExecuteTableBasedItemEffect__ - - thumb_func_start ItemUseCB_Medicine -ItemUseCB_Medicine: @ 81B6588 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - str r1, [sp, 0x4] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r0, 0 - mov r10, r0 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - ldr r0, =gSpecialVar_ItemId - ldrh r6, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl UsingHPEVItemOnShedinja - lsls r0, 24 - cmp r0, 0 - beq _081B6600 - adds r0, r6, 0 - bl IsHPRecoveryItem - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x1 - bne _081B65EE - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - cmp r10, r0 - bne _081B65EE - movs r1, 0 - mov r8, r1 -_081B65EE: - ldr r4, =gUnknown_0203CEC8 - ldrb r0, [r4, 0x9] - adds r1, r6, 0 - movs r2, 0 - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - cmp r0, 0 - beq _081B6624 -_081B6600: - ldr r1, =gUnknown_0203CEE8 - movs r0, 0 - strb r0, [r1] - movs r0, 0x5 - bl PlaySE - ldr r0, =gText_WontHaveEffect - b _081B66F4 - .pool -_081B6624: - ldr r1, =gUnknown_0203CEE8 - movs r0, 0x1 - strb r0, [r1] - adds r0, r6, 0 - bl IsBlueYellowRedFlute - lsls r0, 24 - cmp r0, 0 - bne _081B6650 - movs r0, 0x1 - bl PlaySE - ldrb r0, [r4, 0xB] - cmp r0, 0xE - beq _081B6656 - adds r0, r6, 0 - movs r1, 0x1 - bl RemoveBagItem - b _081B6656 - .pool -_081B6650: - movs r0, 0x75 - bl PlaySE -_081B6656: - ldr r4, =gUnknown_0203CEDC - ldr r7, =gUnknown_0203CEC8 - movs r0, 0x9 - ldrsb r0, [r7, r0] - lsls r0, 4 - ldr r1, [r4] - adds r1, r0 - adds r0, r5, 0 - bl party_menu_get_status_condition_and_update_object - ldr r2, =gSprites - movs r0, 0x9 - ldrsb r0, [r7, r0] - ldr r1, [r4] - lsls r0, 4 - adds r3, r0, r1 - ldrb r1, [r3, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _081B6694 - adds r0, r5, 0 - adds r1, r3, 0 - movs r2, 0x1 - bl sub_81B2AC8 -_081B6694: - mov r2, r8 - cmp r2, 0x1 - bne _081B66E4 - mov r0, r10 - cmp r0, 0 - bne _081B66A8 - ldrb r0, [r7, 0x9] - movs r1, 0x1 - bl sub_81B0FCC -_081B66A8: - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - adds r3, r0, 0 - mov r1, r10 - subs r3, r1 - lsls r3, 16 - asrs r3, 16 - ldrb r1, [r7, 0x9] - ldr r0, =sub_81B672C - str r0, [sp] - mov r0, r9 - movs r2, 0x1 - bl sub_81B1F18 - mov r0, r9 - movs r1, 0 - mov r2, r10 - bl sub_81B1FA8 - b _081B6710 - .pool -_081B66E4: - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - adds r0, r6, 0 - bl GetMedicineItemEffectMessage - ldr r0, =gStringVar4 -_081B66F4: - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldr r1, [sp, 0x4] - str r1, [r0] -_081B6710: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseCB_Medicine - - thumb_func_start sub_81B672C -sub_81B672C: @ 81B672C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gStringVar1 - bl GetMonNickname - ldr r4, =gStringVar4 - ldr r1, =gText_PkmnHPRestoredByVar2 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - bl HandleBattleLowHpMusicChange - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B6794 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B672C - - thumb_func_start sub_81B6794 -sub_81B6794: @ 81B6794 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B67BA - ldr r0, =gUnknown_0203CEE8 - ldrb r1, [r0] - cmp r1, 0 - bne _081B67B4 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - str r1, [r0, 0x4] -_081B67B4: - adds r0, r4, 0 - bl sub_81B12C0 -_081B67BA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6794 - - thumb_func_start sub_81B67C8 -sub_81B67C8: @ 81B67C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - str r1, [sp] - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r4, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r4, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - ldr r0, =gSpecialVar_ItemId - ldrh r6, [r0] - adds r0, r6, 0 - bl GetItemEffectType - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r5, 0 - movs r1, 0x20 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_81B691C - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - ldrb r0, [r4, 0x9] - adds r1, r6, 0 - movs r2, 0 - bl ExecuteTableBasedItemEffect__ - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x20 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_81B691C - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r4, 0 - bne _081B6850 - ldr r0, [sp, 0x4] - cmp r0, r9 - bne _081B6874 - ldr r1, [sp, 0x8] - cmp r1, r8 - bne _081B6874 -_081B6850: - ldr r1, =gUnknown_0203CEE8 - movs r0, 0 - strb r0, [r1] - movs r0, 0x5 - bl PlaySE - ldr r0, =gText_WontHaveEffect - b _081B68E2 - .pool -_081B6874: - ldr r1, =gUnknown_0203CEE8 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x1 - bl PlaySE - adds r0, r6, 0 - movs r1, 0x1 - bl RemoveBagItem - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r1, =gStringVar2 - adds r0, r7, 0 - bl option_menu_get_string - ldr r2, [sp, 0x4] - cmp r2, r9 - beq _081B68D8 - ldr r0, [sp, 0x8] - cmp r0, r8 - beq _081B68C4 - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnFriendlyBaseVar2Fell - bl StringExpandPlaceholders - b _081B68E0 - .pool -_081B68C4: - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnFriendlyBaseVar2CantFall - bl StringExpandPlaceholders - b _081B68E0 - .pool -_081B68D8: - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnAdoresBaseVar2Fell - bl StringExpandPlaceholders -_081B68E0: - ldr r0, =gStringVar4 -_081B68E2: - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - mov r2, r10 - lsls r0, r2, 2 - add r0, r10 - lsls r0, 3 - adds r0, r1 - ldr r1, [sp] - str r1, [r0] - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B67C8 - - thumb_func_start sub_81B691C -sub_81B691C: @ 81B691C - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r1, 0 - subs r0, 0xC - cmp r0, 0x5 - bhi _081B6992 - lsls r0, 2 - ldr r1, =_081B693C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081B693C: - .4byte _081B696C - .4byte _081B6954 - .4byte _081B697E - .4byte _081B6984 - .4byte _081B6978 - .4byte _081B6972 -_081B6954: - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - ldr r1, =0x0000012f - cmp r0, r1 - beq _081B6992 - adds r0, r4, 0 - movs r1, 0x1A - b _081B6988 - .pool -_081B696C: - adds r0, r4, 0 - movs r1, 0x1B - b _081B6988 -_081B6972: - adds r0, r4, 0 - movs r1, 0x1C - b _081B6988 -_081B6978: - adds r0, r4, 0 - movs r1, 0x1D - b _081B6988 -_081B697E: - adds r0, r4, 0 - movs r1, 0x1E - b _081B6988 -_081B6984: - adds r0, r4, 0 - movs r1, 0x1F -_081B6988: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - b _081B6994 -_081B6992: - movs r0, 0 -_081B6994: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81B691C - - thumb_func_start option_menu_get_string -option_menu_get_string: @ 81B699C - push {lr} - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0xC - cmp r0, 0x5 - bhi _081B6A08 - lsls r0, 2 - ldr r1, =_081B69B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081B69B8: - .4byte _081B69D8 - .4byte _081B69D0 - .4byte _081B69F0 - .4byte _081B6A00 - .4byte _081B69E8 - .4byte _081B69E0 -_081B69D0: - ldr r1, =gText_HP3 - b _081B69F2 - .pool -_081B69D8: - ldr r1, =gText_Attack3 - b _081B69F2 - .pool -_081B69E0: - ldr r1, =gText_Defense3 - b _081B69F2 - .pool -_081B69E8: - ldr r1, =gText_Speed2 - b _081B69F2 - .pool -_081B69F0: - ldr r1, =gText_SpAtk3 -_081B69F2: - adds r0, r2, 0 - bl StringCopy - b _081B6A08 - .pool -_081B6A00: - ldr r1, =gText_SpDef3 - adds r0, r2, 0 - bl StringCopy -_081B6A08: - pop {r0} - bx r0 - .pool - thumb_func_end option_menu_get_string - - thumb_func_start sub_81B6A10 -sub_81B6A10: @ 81B6A10 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r7, 0 - movs r0, 0x1 - mov r10, r0 - movs r0, 0x3 - bl sub_81B31B0 - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - movs r0, 0x64 - adds r1, r4, 0 - muls r1, r0 - mov r8, r1 - ldr r0, =gPlayerParty - mov r9, r0 -_081B6A40: - adds r1, r5, 0 - adds r1, 0xD - mov r0, r8 - add r0, r9 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0xD - adds r2, r4, 0 - muls r2, r0 - ldr r0, =gMoveNames - adds r2, r0 - lsls r0, r5, 4 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r6, 0 - mov r1, r10 - movs r3, 0x8 - bl AddTextPrinterParameterized - cmp r4, 0 - beq _081B6A82 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_081B6A82: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081B6A40 - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6A10 - - thumb_func_start ether_effect_related_3 -ether_effect_related_3: @ 81B6AB4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl Menu_ProcessInput - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _081B6AF0 - adds r0, 0x1 - cmp r1, r0 - bne _081B6AE0 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81B6BB4 - b _081B6AF0 -_081B6AE0: - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - adds r0, 0xD - bl sub_81B302C - adds r0, r5, 0 - bl ether_effect_related_2 -_081B6AF0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ether_effect_related_3 - - thumb_func_start dp05_ether -dp05_ether: @ 81B6AFC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - cmp r0, 0xAF - bne _081B6B20 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003214 - adds r0, r1 - b _081B6B2A - .pool -_081B6B20: - ldr r1, =gItemEffectTable - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] -_081B6B2A: - ldrb r1, [r0, 0x4] - movs r0, 0x10 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _081B6B4C - ldr r0, =gUnknown_0203CEC8 - strh r1, [r0, 0xE] - adds r0, r4, 0 - bl ether_effect_related - b _081B6B6E - .pool -_081B6B4C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x16 - bl display_pokemon_menu_message - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0x9] - bl sub_81B6A10 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =ether_effect_related_3 - str r1, [r0] -_081B6B6E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end dp05_ether - - thumb_func_start ether_effect_related_2 -ether_effect_related_2: @ 81B6B80 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - adds r0, 0xC - bl sub_81B302C - bl GetMenuCursorPos - ldr r1, =gUnknown_0203CEC8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0xE] - adds r0, r4, 0 - bl ether_effect_related - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ether_effect_related_2 - - thumb_func_start sub_81B6BB4 -sub_81B6BB4: @ 81B6BB4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_81B1370 - str r0, [r1] - ldr r0, =gUnknown_0203CEC4 - ldr r0, [r0] - movs r1, 0 - str r1, [r0, 0x4] - adds r0, 0xC - bl sub_81B302C - movs r0, 0x5 - bl display_pokemon_menu_message - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6BB4 - - thumb_func_start ether_effect_related -ether_effect_related: @ 81B6BEC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r7, =gUnknown_0203CED6 - ldr r0, =gSpecialVar_ItemId - ldrh r5, [r0] - movs r0, 0xE - negs r0, r0 - adds r0, r7 - mov r8, r0 - ldrb r0, [r0, 0x9] - ldrb r2, [r7] - adds r1, r5, 0 - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - cmp r0, 0 - beq _081B6C34 - ldr r0, =gUnknown_0203CEE8 - strb r4, [r0] - movs r0, 0x5 - bl PlaySE - ldr r0, =gText_WontHaveEffect - b _081B6C7E - .pool -_081B6C34: - ldr r1, =gUnknown_0203CEE8 - movs r0, 0x1 - strb r0, [r1] - mov r0, r8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - movs r0, 0x1 - bl PlaySE - adds r0, r5, 0 - movs r1, 0x1 - bl RemoveBagItem - movs r0, 0 - ldrsh r1, [r7, r0] - adds r1, 0xD - adds r0, r4, 0 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =gStringVar1 - movs r1, 0xD - muls r1, r4 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - adds r0, r5, 0 - bl GetMedicineItemEffectMessage - ldr r0, =gStringVar4 -_081B6C7E: - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B6794 - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ether_effect_related - - thumb_func_start dp05_pp_up -dp05_pp_up: @ 81B6CC0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0x17 - bl display_pokemon_menu_message - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0x9] - bl sub_81B6A10 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =ether_effect_related_3 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end dp05_pp_up - - thumb_func_start ItemIdToBattleMoveId -ItemIdToBattleMoveId: @ 81B6CFC - lsls r0, 16 - ldr r1, =0xfedf0000 - adds r0, r1 - ldr r1, =gUnknown_08616040 - lsrs r0, 15 - adds r0, r1 - ldrh r0, [r0] - bx lr - .pool - thumb_func_end ItemIdToBattleMoveId - - thumb_func_start sub_81B6D14 -sub_81B6D14: @ 81B6D14 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0 - ldr r3, =gUnknown_08616040 -_081B6D1E: - adds r0, r1, 0 - adds r0, 0x32 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _081B6D34 - movs r0, 0x1 - b _081B6D40 - .pool -_081B6D34: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _081B6D1E - movs r0, 0 -_081B6D40: - pop {r1} - bx r1 - thumb_func_end sub_81B6D14 - - thumb_func_start pokemon_has_move -pokemon_has_move: @ 81B6D44 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 -_081B6D4E: - adds r1, r4, 0 - adds r1, 0xD - adds r0, r6, 0 - bl GetMonData - cmp r0, r5 - bne _081B6D60 - movs r0, 0x1 - b _081B6D6C -_081B6D60: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081B6D4E - movs r0, 0 -_081B6D6C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end pokemon_has_move - - thumb_func_start sub_81B6D74 -sub_81B6D74: @ 81B6D74 - push {r4,lr} - adds r1, r0, 0 - ldr r4, =gStringVar4 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6D74 - - thumb_func_start sub_81B6D98 -sub_81B6D98: @ 81B6D98 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_81B6D74 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B6794 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6D98 - - thumb_func_start sub_81B6DC4 -sub_81B6DC4: @ 81B6DC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x5 - bl PlaySE - ldr r7, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r7, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - movs r0, 0xE - adds r0, r7 - mov r8, r0 - ldr r0, =gSpecialVar_ItemId - ldrh r4, [r0] - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - adds r0, r4, 0 - bl ItemIdToBattleMoveId - strh r0, [r7, 0xE] - ldr r0, =gStringVar2 - movs r1, 0xE - ldrsh r2, [r7, r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - movs r0, 0 - mov r1, r8 - strh r0, [r1, 0x2] - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_81B22D8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B6E70 - cmp r0, 0x2 - beq _081B6E78 - ldrh r1, [r7, 0xE] - adds r0, r5, 0 - bl GiveMoveToMon - lsls r0, 16 - ldr r1, =0xffff0000 - cmp r0, r1 - beq _081B6E88 - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B6EB4 - str r0, [r1] - b _081B6E9C - .pool -_081B6E70: - ldr r1, =gText_PkmnCantLearnMove - b _081B6E7A - .pool -_081B6E78: - ldr r1, =gText_PkmnAlreadyKnows -_081B6E7A: - adds r0, r6, 0 - bl sub_81B6D98 - b _081B6E9C - .pool -_081B6E88: - ldr r0, =gText_PkmnNeedsToReplaceMove - bl sub_81B6D74 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B6FF4 - str r1, [r0] -_081B6E9C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6DC4 - - thumb_func_start sub_81B6EB4 -sub_81B6EB4: @ 81B6EB4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r2, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - adds r6, r2, 0 - adds r6, 0xE - ldr r0, =gSpecialVar_ItemId - ldrh r4, [r0] - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _081B6EF0 - adds r0, r5, 0 - movs r1, 0x4 - bl AdjustFriendship - movs r0, 0xA9 - lsls r0, 1 - cmp r4, r0 - bhi _081B6EF0 - adds r0, r4, 0 - movs r1, 0x1 - bl RemoveBagItem -_081B6EF0: - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r0, =gStringVar2 - movs r1, 0 - ldrsh r2, [r6, r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_PkmnLearnedMove3 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B6F60 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6EB4 - - thumb_func_start sub_81B6F60 -sub_81B6F60: @ 81B6F60 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B6F86 - ldr r0, =0x0000016f - bl PlayFanfare - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B6F98 - str r1, [r0] -_081B6F86: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6F60 - - thumb_func_start sub_81B6F98 -sub_81B6F98: @ 81B6F98 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _081B6FEA - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _081B6FC0 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081B6FEA -_081B6FC0: - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x10 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _081B6FDC - adds r0, r4, 0 - bl sub_81B77AC - b _081B6FEA - .pool -_081B6FDC: - cmp r0, 0x2 - bne _081B6FE4 - ldr r0, =gSpecialVar_Result - strh r2, [r0] -_081B6FE4: - adds r0, r5, 0 - bl sub_81B12C0 -_081B6FEA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6F98 - - thumb_func_start sub_81B6FF4 -sub_81B6FF4: @ 81B6FF4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B7018 - bl sub_81B334C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B7028 - str r0, [r1] -_081B7018: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B6FF4 - - thumb_func_start sub_81B7028 -sub_81B7028: @ 81B7028 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081B704E - cmp r1, 0 - bgt _081B7048 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081B7074 - b _081B7080 -_081B7048: - cmp r1, 0x1 - beq _081B707A - b _081B7080 -_081B704E: - ldr r0, =gText_WhichMoveToForget - movs r1, 0x1 - bl sub_81B1B5C - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B7088 - str r1, [r0] - b _081B7080 - .pool -_081B7074: - movs r0, 0x5 - bl PlaySE -_081B707A: - adds r0, r4, 0 - bl sub_81B7230 -_081B7080: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B7028 - - thumb_func_start sub_81B7088 -sub_81B7088: @ 81B7088 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B70A8 - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - ldr r0, =sub_81B70B8 - str r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_81B12C0 -_081B70A8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B7088 - - thumb_func_start sub_81B70B8 -sub_81B70B8: @ 81B70B8 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gPlayerParty - ldr r4, =gUnknown_0203CEC8 - ldrb r1, [r4, 0x9] - ldr r2, =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, =sub_81B70F0 - ldrh r4, [r4, 0xE] - str r4, [sp] - bl ShowSelectMovePokemonSummaryScreen - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B70B8 - - thumb_func_start sub_81B70F0 -sub_81B70F0: @ 81B70F0 - push {lr} - sub sp, 0xC - movs r0, 0x7F - str r0, [sp] - ldr r0, =sub_81B711C - str r0, [sp, 0x4] - ldr r0, =gUnknown_0203CEC8 - ldr r0, [r0] - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_81B0038 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B70F0 - - thumb_func_start sub_81B711C -sub_81B711C: @ 81B711C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B714E - bl sub_81C1B94 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _081B7148 - adds r0, r4, 0 - bl sub_81B7154 - b _081B714E - .pool -_081B7148: - adds r0, r5, 0 - bl sub_81B7230 -_081B714E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81B711C - - thumb_func_start sub_81B7154 -sub_81B7154: @ 81B7154 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - adds r5, r1, 0 - muls r5, r0 - ldr r0, =gPlayerParty - adds r5, r0 - bl sub_81C1B94 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r1, 0xD - adds r0, r5, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r0, =gStringVar2 - movs r1, 0xD - muls r1, r4 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r0, =gText_12PoofForgotMove - bl sub_81B6D74 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B71D4 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B7154 - - thumb_func_start sub_81B71D4 -sub_81B71D4: @ 81B71D4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B7220 - ldr r5, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r5, r1] - movs r0, 0x64 - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - bl sub_81C1B94 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl RemoveMonPPBonus - ldrh r5, [r5, 0xE] - bl sub_81C1B94 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl SetMonMoveSlot - adds r0, r6, 0 - bl sub_81B6EB4 -_081B7220: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B71D4 - - thumb_func_start sub_81B7230 -sub_81B7230: @ 81B7230 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gStringVar2 - ldr r1, =gUnknown_0203CEC8 - movs r3, 0xE - ldrsh r2, [r1, r3] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_StopLearningMove2 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B7294 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B7230 - - thumb_func_start sub_81B7294 -sub_81B7294: @ 81B7294 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B72B8 - bl sub_81B334C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B72C8 - str r0, [r1] -_081B72B8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B7294 - - thumb_func_start sub_81B72C8 -sub_81B72C8: @ 81B72C8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r7, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r5, r0, 24 - cmp r5, 0 - beq _081B7306 - cmp r5, 0 - bgt _081B7300 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - beq _081B738C - b _081B73C2 - .pool -_081B7300: - cmp r5, 0x1 - beq _081B7392 - b _081B73C2 -_081B7306: - ldr r1, =gStringVar1 - adds r0, r4, 0 - bl GetMonNickname - ldr r0, =gStringVar2 - movs r1, 0xE - ldrsh r2, [r7, r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_MoveNotLearned - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - movs r3, 0x10 - ldrsh r0, [r7, r3] - cmp r0, 0x1 - bne _081B7368 - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B73E4 - str r0, [r1] - b _081B73C2 - .pool -_081B7368: - cmp r0, 0x2 - bne _081B7370 - ldr r0, =gSpecialVar_Result - strh r5, [r0] -_081B7370: - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B6794 - str r0, [r1] - b _081B73C2 - .pool -_081B738C: - movs r0, 0x5 - bl PlaySE -_081B7392: - ldr r1, =gStringVar1 - adds r0, r4, 0 - bl GetMonNickname - ldr r0, =gStringVar2 - ldr r1, =gUnknown_0203CEC8 - movs r3, 0xE - ldrsh r2, [r1, r3] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r0, =gText_PkmnNeedsToReplaceMove - bl sub_81B6D74 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B6FF4 - str r1, [r0] -_081B73C2: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B72C8 - - thumb_func_start sub_81B73E4 -sub_81B73E4: @ 81B73E4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B73FC - adds r0, r4, 0 - bl sub_81B77AC -_081B73FC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B73E4 - - thumb_func_start dp05_rare_candy -dp05_rare_candy: @ 81B7404 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r1 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0203CEC8 - mov r9, r0 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - ldr r0, =gUnknown_0203CEC4 - ldr r6, [r0] - movs r1, 0x86 - lsls r1, 2 - adds r4, r6, r1 - ldr r2, =gSpecialVar_ItemId - mov r8, r2 - adds r0, r5, 0 - movs r1, 0x38 - bl GetMonData - cmp r0, 0x64 - beq _081B7478 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81B79A0 - mov r1, r9 - ldrb r0, [r1, 0x9] - mov r2, r8 - ldrh r1, [r2] - movs r2, 0 - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x89 - lsls r0, 2 - adds r1, r6, r0 - adds r0, r5, 0 - bl sub_81B79A0 - b _081B747A - .pool -_081B7478: - movs r4, 0x1 -_081B747A: - movs r0, 0x5 - bl PlaySE - cmp r4, 0 - beq _081B74B4 - ldr r1, =gUnknown_0203CEE8 - movs r0, 0 - strb r0, [r1] - ldr r0, =gText_WontHaveEffect - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - mov r1, r10 - b _081B7516 - .pool -_081B74B4: - ldr r1, =gUnknown_0203CEE8 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0 - bl PlayFanfareByFanfareNum - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0x9] - adds r1, r5, 0 - bl sub_81B754C - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - movs r1, 0x1 - bl RemoveBagItem - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r4, =gStringVar2 - adds r0, r5, 0 - movs r1, 0x38 - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_PkmnElevatedToLvVar2 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B75D4 -_081B7516: - str r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end dp05_rare_candy - - thumb_func_start sub_81B754C -sub_81B754C: @ 81B754C - push {r4-r7,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - ldr r6, =gUnknown_0203CEDC - lsls r4, r7, 4 - ldr r1, [r6] - adds r1, r4 - adds r0, r5, 0 - bl party_menu_get_status_condition_and_update_object - ldr r2, =gSprites - ldr r0, [r6] - adds r3, r4, r0 - ldrb r1, [r3, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _081B7588 - adds r0, r5, 0 - adds r1, r3, 0 - movs r2, 0x1 - bl sub_81B2AC8 -_081B7588: - ldr r1, [r6] - adds r1, r4 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_81B2CD4 - ldr r1, [r6] - adds r1, r4 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_81B2D74 - ldr r1, [r6] - adds r1, r4 - adds r0, r5, 0 - bl sub_81B2E28 - ldr r0, [r6] - adds r0, r4, r0 - ldrb r0, [r0, 0x9] - adds r1, r5, 0 - bl sub_81B5B38 - adds r0, r7, 0 - movs r1, 0x1 - bl sub_81B0FCC - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B754C - - thumb_func_start sub_81B75D4 -sub_81B75D4: @ 81B75D4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl WaitFanfare - lsls r0, 24 - cmp r0, 0 - beq _081B7620 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B7620 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081B7606 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081B7620 -_081B7606: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81B767C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B7634 - str r0, [r1] -_081B7620: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B75D4 - - thumb_func_start sub_81B7634 -sub_81B7634: @ 81B7634 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081B764E - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081B7668 -_081B764E: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81B76C8 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B7704 - str r0, [r1] -_081B7668: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B7634 - - thumb_func_start sub_81B767C -sub_81B767C: @ 81B767C - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, =gUnknown_0203CEC4 - ldr r5, [r0] - movs r0, 0x86 - lsls r0, 2 - adds r4, r5, r0 - bl sub_81B3364 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x18] - ldrh r0, [r4, 0x18] - movs r1, 0x89 - lsls r1, 2 - adds r2, r5, r1 - movs r1, 0x2 - str r1, [sp] - movs r1, 0x3 - str r1, [sp, 0x4] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_81D3640 - ldrb r0, [r4, 0x18] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B767C - - thumb_func_start sub_81B76C8 -sub_81B76C8: @ 81B76C8 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - movs r0, 0x86 - lsls r0, 2 - adds r4, r1, r0 - ldrh r0, [r4, 0x18] - movs r2, 0x89 - lsls r2, 2 - adds r1, r2 - movs r2, 0x3 - str r2, [sp] - movs r2, 0x1 - movs r3, 0x2 - bl sub_81D3784 - ldrb r0, [r4, 0x18] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B76C8 - - thumb_func_start sub_81B7704 -sub_81B7704: @ 81B7704 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0 - bl WaitFanfare - lsls r0, 24 - cmp r0, 0 - beq _081B77A6 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _081B772C - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081B77A6 -_081B772C: - bl sub_81B3394 - ldr r4, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r4, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x1 - bl MonTryLearningNewMove - lsls r0, 16 - lsrs r1, r0, 16 - strh r6, [r4, 0x10] - ldr r0, =0x0000fffe - cmp r1, r0 - beq _081B7788 - cmp r1, r0 - bgt _081B776C - cmp r1, 0 - beq _081B7778 - b _081B77A0 - .pool -_081B776C: - ldr r0, =0x0000ffff - cmp r1, r0 - beq _081B7780 - b _081B77A0 - .pool -_081B7778: - adds r0, r5, 0 - bl sub_81B7810 - b _081B77A6 -_081B7780: - adds r0, r5, 0 - bl sub_81B787C - b _081B77A6 -_081B7788: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B77AC - str r0, [r1] - b _081B77A6 - .pool -_081B77A0: - adds r0, r5, 0 - bl sub_81B7910 -_081B77A6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81B7704 - - thumb_func_start sub_81B77AC -sub_81B77AC: @ 81B77AC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0 - bl MonTryLearningNewMove - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =0x0000fffe - cmp r1, r0 - beq _081B780A - cmp r1, r0 - bgt _081B77E8 - cmp r1, 0 - beq _081B77F4 - b _081B7804 - .pool -_081B77E8: - ldr r0, =0x0000ffff - cmp r1, r0 - beq _081B77FC - b _081B7804 - .pool -_081B77F4: - adds r0, r4, 0 - bl sub_81B7810 - b _081B780A -_081B77FC: - adds r0, r4, 0 - bl sub_81B787C - b _081B780A -_081B7804: - adds r0, r4, 0 - bl sub_81B7910 -_081B780A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81B77AC - - thumb_func_start sub_81B7810 -sub_81B7810: @ 81B7810 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r6, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r7, r1, r0 - adds r0, r7, 0 - movs r1, 0 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _081B7860 - bl sub_81B06F4 - ldr r0, =gCB2_AfterEvolution - ldr r1, [r6] - str r1, [r0] - ldrb r3, [r6, 0x9] - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl BeginEvolutionScene - adds r0, r5, 0 - bl DestroyTask - b _081B786E - .pool -_081B7860: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B6794 - str r0, [r1] -_081B786E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B7810 - - thumb_func_start sub_81B787C -sub_81B787C: @ 81B787C - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0203CEC8 - mov r8, r0 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gStringVar1 - bl GetMonNickname - ldr r0, =gStringVar2 - ldr r6, =gMoveToLearn - ldrh r2, [r6] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_PkmnNeedsToReplaceMove - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldrh r0, [r6] - mov r1, r8 - strh r0, [r1, 0xE] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B6FF4 - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B787C - - thumb_func_start sub_81B7910 -sub_81B7910: @ 81B7910 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r6, r0, 0 - adds r5, r1, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r0, =gUnknown_0203CEC8 - mov r8, r0 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gStringVar1 - bl GetMonNickname - ldr r0, =gStringVar2 - movs r1, 0xD - muls r1, r5 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_PkmnLearnedMove3 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - mov r0, r8 - strh r5, [r0, 0xE] - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B6F60 - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B7910 - - thumb_func_start sub_81B79A0 -sub_81B79A0: @ 81B79A0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r1, 0x3A - bl GetMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x3B - bl GetMonData - strh r0, [r5, 0x2] - adds r0, r4, 0 - movs r1, 0x3C - bl GetMonData - strh r0, [r5, 0x4] - adds r0, r4, 0 - movs r1, 0x3E - bl GetMonData - strh r0, [r5, 0x8] - adds r0, r4, 0 - movs r1, 0x3F - bl GetMonData - strh r0, [r5, 0xA] - adds r0, r4, 0 - movs r1, 0x3D - bl GetMonData - strh r0, [r5, 0x6] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81B79A0 - - thumb_func_start sub_81B79E8 -sub_81B79E8: @ 81B79E8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CEC4 - ldr r2, [r1] - movs r3, 0x86 - lsls r3, 2 - adds r1, r2, r3 - movs r3, 0 - strh r3, [r1] - ldr r4, =0x0000021a - adds r1, r2, r4 - strh r3, [r1] - ldr r1, =gUnknown_0203CEC8 - ldrb r1, [r1, 0x9] - lsls r1, 24 - asrs r1, 24 - movs r3, 0x87 - lsls r3, 2 - adds r2, r3 - strh r1, [r2] - bl sub_81B7A28 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B79E8 - - thumb_func_start sub_81B7A28 -sub_81B7A28: @ 81B7A28 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - ldr r6, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r6, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B7A6E - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - ldrb r0, [r6, 0x9] - ldr r1, =gSpecialVar_ItemId - ldrh r1, [r1] - movs r2, 0 - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - cmp r0, 0 - beq _081B7A94 -_081B7A6E: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =task_intro_gamefreak - str r0, [r1] - b _081B7B2A - .pool -_081B7A94: - movs r0, 0x1 - bl PlaySE - ldr r4, =gUnknown_0203CEDC - movs r0, 0x9 - ldrsb r0, [r6, r0] - lsls r0, 4 - ldr r1, [r4] - adds r1, r0 - adds r0, r5, 0 - bl party_menu_get_status_condition_and_update_object - ldr r2, =gSprites - movs r0, 0x9 - ldrsb r0, [r6, r0] - ldr r1, [r4] - lsls r0, 4 - adds r3, r0, r1 - ldrb r1, [r3, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _081B7AD6 - adds r0, r5, 0 - adds r1, r3, 0 - movs r2, 0x1 - bl sub_81B2AC8 -_081B7AD6: - ldr r4, =gUnknown_0203CEC4 - ldr r0, [r4] - movs r1, 0x87 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_81B0FCC - ldrb r0, [r6, 0x9] - movs r1, 0x1 - bl sub_81B0FCC - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - adds r3, r0, 0 - subs r3, r7 - lsls r3, 16 - asrs r3, 16 - ldrb r1, [r6, 0x9] - ldr r0, =sub_81B7C10 - str r0, [sp] - mov r0, r8 - movs r2, 0x1 - bl sub_81B1F18 - mov r0, r8 - movs r1, 0 - adds r2, r7, 0 - bl sub_81B1FA8 - ldr r0, [r4] - movs r2, 0x86 - lsls r2, 2 - adds r1, r0, r2 - movs r2, 0x1 - strh r2, [r1] - ldr r1, =0x0000021a - adds r0, r1 - strh r2, [r0] -_081B7B2A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B7A28 - - thumb_func_start task_intro_gamefreak -task_intro_gamefreak: @ 81B7B4C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B7C0A - ldr r5, =gUnknown_0203CEC4 - ldr r2, [r5] - movs r0, 0x86 - lsls r0, 2 - adds r1, r2, r0 - movs r3, 0 - ldrsh r0, [r1, r3] - ldr r3, =gUnknown_0203CEC8 - cmp r0, 0x1 - bne _081B7B82 - movs r0, 0 - strh r0, [r1] - movs r1, 0x9 - ldrsb r1, [r3, r1] - movs r6, 0x87 - lsls r6, 2 - adds r0, r2, r6 - strh r1, [r0] -_081B7B82: - ldrb r0, [r3, 0x9] - adds r0, 0x1 - strb r0, [r3, 0x9] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x6 - bne _081B7C04 - ldr r0, [r5] - ldr r1, =0x0000021a - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - cmp r1, 0 - bne _081B7BC8 - ldr r0, =gUnknown_0203CEE8 - strb r1, [r0] - ldr r0, =gText_WontHaveEffect - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - b _081B7BD8 - .pool -_081B7BC8: - ldr r1, =gUnknown_0203CEE8 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - movs r1, 0x1 - bl RemoveBagItem -_081B7BD8: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B6794 - str r1, [r0] - ldr r1, =gUnknown_0203CEC8 - movs r0, 0 - strb r0, [r1, 0x9] - b _081B7C0A - .pool -_081B7C04: - adds r0, r4, 0 - bl sub_81B7A28 -_081B7C0A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end task_intro_gamefreak - - thumb_func_start sub_81B7C10 -sub_81B7C10: @ 81B7C10 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gStringVar1 - bl GetMonNickname - ldr r4, =gStringVar4 - ldr r1, =gText_PkmnHPRestoredByVar2 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =task_intro_gamefreak - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B7C10 - - thumb_func_start sub_81B7C74 -sub_81B7C74: @ 81B7C74 - push {r4-r6,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x5 - bl PlaySE - ldr r2, =gCB2_AfterEvolution - ldr r1, =gUnknown_0203CEC8 - ldr r0, [r1] - str r0, [r2] - ldrb r0, [r1, 0x9] - ldr r4, =gSpecialVar_ItemId - ldrh r1, [r4] - movs r2, 0 - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - cmp r0, 0 - beq _081B7CD8 - ldr r1, =gUnknown_0203CEE8 - movs r0, 0 - strb r0, [r1] - ldr r0, =gText_WontHaveEffect - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - str r6, [r0] - b _081B7CE4 - .pool -_081B7CD8: - ldrh r0, [r4] - movs r1, 0x1 - bl RemoveBagItem - bl sub_81B06F4 -_081B7CE4: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81B7C74 - - thumb_func_start GetItemEffectType -@ u8 GetItemEffectType(u16 itemId) -GetItemEffectType: @ 81B7CEC - push {r4,r5,lr} - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - subs r2, 0xD - lsls r0, r2, 16 - lsrs r0, 16 - cmp r0, 0xA5 - bls _081B7D00 - b _081B7E40 -_081B7D00: - cmp r1, 0xAF - bne _081B7D18 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003214 - adds r4, r0, r1 - b _081B7D20 - .pool -_081B7D18: - ldr r1, =gItemEffectTable - lsls r0, r2, 2 - adds r0, r1 - ldr r4, [r0] -_081B7D20: - ldrb r1, [r4] - movs r5, 0x3F - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _081B7D42 - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _081B7D42 - ldrb r0, [r4, 0x2] - cmp r0, 0 - bne _081B7D42 - ldrb r3, [r4, 0x3] - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _081B7D4C -_081B7D42: - movs r0, 0 - b _081B7E46 - .pool -_081B7D4C: - movs r2, 0x40 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _081B7D5A - movs r0, 0xA - b _081B7E46 -_081B7D5A: - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _081B7D66 - movs r0, 0x1 - b _081B7E46 -_081B7D66: - adds r2, r5, 0 - ands r2, r3 - cmp r2, 0 - bne _081B7D74 - lsrs r0, r1, 7 - cmp r0, 0 - beq _081B7DB6 -_081B7D74: - cmp r2, 0x20 - bne _081B7D7C - movs r0, 0x4 - b _081B7E46 -_081B7D7C: - cmp r2, 0x10 - bne _081B7D84 - movs r0, 0x3 - b _081B7E46 -_081B7D84: - cmp r2, 0x8 - bne _081B7D8C - movs r0, 0x5 - b _081B7E46 -_081B7D8C: - cmp r2, 0x4 - bne _081B7D94 - movs r0, 0x6 - b _081B7E46 -_081B7D94: - cmp r2, 0x2 - bne _081B7D9C - movs r0, 0x7 - b _081B7E46 -_081B7D9C: - cmp r2, 0x1 - bne _081B7DA4 - movs r0, 0x8 - b _081B7E46 -_081B7DA4: - lsrs r0, r1, 7 - cmp r0, 0 - beq _081B7DB2 - cmp r2, 0 - bne _081B7DB2 - movs r0, 0x9 - b _081B7E46 -_081B7DB2: - movs r0, 0xB - b _081B7E46 -_081B7DB6: - ldrb r1, [r4, 0x4] - movs r0, 0x44 - ands r0, r1 - adds r2, r1, 0 - cmp r0, 0 - beq _081B7DC6 - movs r0, 0x2 - b _081B7E46 -_081B7DC6: - movs r5, 0x2 - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - beq _081B7DD4 - movs r0, 0xC - b _081B7E46 -_081B7DD4: - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r2 - cmp r0, 0 - beq _081B7DE2 - movs r0, 0xD - b _081B7E46 -_081B7DE2: - ldrb r1, [r4, 0x5] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _081B7DF0 - movs r0, 0xE - b _081B7E46 -_081B7DF0: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _081B7DFC - movs r0, 0xF - b _081B7E46 -_081B7DFC: - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _081B7E08 - movs r0, 0x10 - b _081B7E46 -_081B7E08: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _081B7E14 - movs r0, 0x11 - b _081B7E46 -_081B7E14: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _081B7E20 - movs r0, 0x12 - b _081B7E46 -_081B7E20: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _081B7E2C - movs r0, 0x13 - b _081B7E46 -_081B7E2C: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081B7E38 - movs r0, 0x14 - b _081B7E46 -_081B7E38: - movs r0, 0x18 - ands r0, r2 - cmp r0, 0 - bne _081B7E44 -_081B7E40: - movs r0, 0x16 - b _081B7E46 -_081B7E44: - movs r0, 0x15 -_081B7E46: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetItemEffectType - - thumb_func_start sub_81B7E4C -sub_81B7E4C: @ 81B7E4C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B7F1C - ldr r7, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r7, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - movs r0, 0xE - adds r0, r7 - mov r8, r0 - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r4, =gSpecialVar_0x8005 - ldrb r0, [r4] - bl sub_81B2360 - strh r0, [r7, 0xE] - ldr r0, =gStringVar2 - movs r1, 0xE - ldrsh r2, [r7, r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - movs r0, 0x2 - mov r1, r8 - strh r0, [r1, 0x2] - ldrb r2, [r4] - adds r0, r5, 0 - movs r1, 0 - bl sub_81B22D8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B7EF0 - cmp r0, 0x2 - beq _081B7EF8 - ldrh r1, [r7, 0xE] - adds r0, r5, 0 - bl GiveMoveToMon - lsls r0, 16 - ldr r1, =0xffff0000 - cmp r0, r1 - beq _081B7F08 - adds r0, r6, 0 - bl sub_81B6EB4 - b _081B7F1C - .pool -_081B7EF0: - ldr r1, =gText_PkmnCantLearnMove - b _081B7EFA - .pool -_081B7EF8: - ldr r1, =gText_PkmnAlreadyKnows -_081B7EFA: - adds r0, r6, 0 - bl sub_81B6D98 - b _081B7F1C - .pool -_081B7F08: - ldr r0, =gText_PkmnNeedsToReplaceMove - bl sub_81B6D74 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B6FF4 - str r1, [r0] -_081B7F1C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B7E4C - - thumb_func_start CB2_PartyMenuFromStartMenu -CB2_PartyMenuFromStartMenu: @ 81B7F34 - push {lr} - sub sp, 0xC - movs r0, 0 - str r0, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =CB2_ReturnToFieldWithOpenMenu - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_81B0038 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end CB2_PartyMenuFromStartMenu - - thumb_func_start sub_81B7F60 -sub_81B7F60: @ 81B7F60 - push {lr} - sub sp, 0xC - bl InBattlePyramid - lsls r0, 24 - ldr r1, =sub_81C4F84 - cmp r0, 0 - bne _081B7F72 - ldr r1, =c2_815ABFC -_081B7F72: - movs r0, 0x6 - str r0, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x5 - movs r3, 0 - bl sub_81B0038 - ldr r1, =gUnknown_0203CEC8 - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - strh r0, [r1, 0xC] - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B7F60 - - thumb_func_start sub_81B7FAC -sub_81B7FAC: @ 81B7FAC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r5, =gUnknown_0203CEFC - ldr r0, =gUnknown_0203CEC8 - mov r9, r0 - ldrb r0, [r0, 0x9] - lsls r0, 24 - asrs r0, 24 - movs r1, 0x64 - mov r8, r1 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - ldr r7, =gPlayerParty - adds r0, r7 - movs r1, 0xC - bl GetMonData - strh r0, [r5] - lsls r0, 16 - cmp r0, 0 - bne _081B7FF8 - adds r0, r4, 0 - bl sub_81B8044 - b _081B8030 - .pool -_081B7FF8: - ldrh r0, [r5] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _081B800C - adds r0, r4, 0 - bl sub_81B83B8 - b _081B8030 -_081B800C: - mov r1, r9 - movs r0, 0x9 - ldrsb r0, [r1, r0] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - ldrh r1, [r5] - movs r2, 0x1 - bl sub_81B1D1C - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B82A0 - str r1, [r0] -_081B8030: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B7FAC - - thumb_func_start sub_81B8044 -sub_81B8044: @ 81B8044 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gUnknown_0203CEC8 - ldrh r0, [r5, 0xC] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _081B807C - ldrh r0, [r5, 0xC] - bl sub_81B83F0 - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - ldr r0, =sub_81B814C - str r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_81B12C0 - b _081B8082 - .pool -_081B807C: - adds r0, r4, 0 - bl sub_81B8088 -_081B8082: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81B8044 - - thumb_func_start sub_81B8088 -sub_81B8088: @ 81B8088 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B80E4 - ldr r4, =gUnknown_0203CEC8 - ldrh r5, [r4, 0xC] - movs r0, 0x9 - ldrsb r0, [r4, r0] - movs r1, 0x64 - mov r8, r1 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - ldr r6, =gPlayerParty - adds r0, r6 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_81B1C84 - movs r0, 0x9 - ldrsb r0, [r4, r0] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r6 - adds r1, r5, 0 - bl sub_81B1DB8 - adds r0, r5, 0 - bl sub_81B83F0 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B8104 - str r1, [r0] -_081B80E4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8088 - - thumb_func_start sub_81B8104 -sub_81B8104: @ 81B8104 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_0203CEC8 - ldrb r4, [r0, 0x9] - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B8138 - lsls r2, r4, 24 - asrs r2, 24 - movs r0, 0x64 - muls r0, r2 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gUnknown_0203CEDC - lsls r2, 4 - ldr r1, [r1] - adds r1, r2 - bl sub_81B5C94 - adds r0, r5, 0 - bl sub_81B12C0 -_081B8138: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8104 - - thumb_func_start sub_81B814C -sub_81B814C: @ 81B814C - push {r4-r6,lr} - ldr r4, =gUnknown_0203CEC8 - movs r0, 0x9 - ldrsb r0, [r4, r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - ldrh r1, [r4, 0xC] - bl sub_81B1DB8 - movs r0, 0x9 - ldrsb r0, [r4, r0] - muls r0, r6 - adds r0, r5 - movs r1, 0x40 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSaveBlock1Ptr - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - ldr r0, =0x00002be0 - adds r2, r0 - ldr r1, [r1] - adds r1, r2 - ldr r2, =sub_81B81A8 - movs r0, 0x4 - movs r3, 0x3 - bl sub_811A20C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B814C - - thumb_func_start sub_81B81A8 -sub_81B81A8: @ 81B81A8 - push {r4-r7,lr} - sub sp, 0xC - ldr r6, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r6, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0 - bne _081B8208 - adds r0, r5, 0 - bl TakeMailFromMon - ldr r4, =gUnknown_0203CEFC - adds r0, r5, 0 - movs r1, 0xC - adds r2, r4, 0 - bl SetMonData - ldrh r0, [r4] - movs r1, 0x1 - bl RemoveBagItem - adds r0, r7, 0 - bl sub_81B841C - ldr r0, [r6] - bl SetMainCallback2 - b _081B8224 - .pool -_081B8208: - ldrb r0, [r6, 0x8] - lsls r0, 28 - lsrs r0, 28 - ldrb r2, [r6, 0xB] - movs r1, 0x7F - str r1, [sp] - ldr r1, =sub_81B8230 - str r1, [sp, 0x4] - ldr r1, [r6] - str r1, [sp, 0x8] - movs r1, 0xFF - movs r3, 0x1 - bl sub_81B0038 -_081B8224: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B81A8 - - thumb_func_start sub_81B8230 -sub_81B8230: @ 81B8230 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B828A - ldr r1, =gUnknown_0203CEFC - ldrh r0, [r1] - cmp r0, 0 - beq _081B8264 - ldr r0, =gUnknown_0203CEC8 - ldrh r0, [r0, 0xC] - ldrh r1, [r1] - movs r2, 0 - bl sub_81B1D68 - b _081B827C - .pool -_081B8264: - ldr r2, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r2, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldrh r1, [r2, 0xC] - movs r2, 0 - movs r3, 0x1 - bl sub_81B1C84 -_081B827C: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B8104 - str r0, [r1] -_081B828A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8230 - - thumb_func_start sub_81B82A0 -sub_81B82A0: @ 81B82A0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B82C4 - bl sub_81B334C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B82D4 - str r0, [r1] -_081B82C4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B82A0 - - thumb_func_start sub_81B82D4 -sub_81B82D4: @ 81B82D4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081B82FA - cmp r1, 0 - bgt _081B82F4 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081B8394 - b _081B83A8 -_081B82F4: - cmp r1, 0x1 - beq _081B839A - b _081B83A8 -_081B82FA: - ldr r7, =gUnknown_0203CEC8 - ldrh r4, [r7, 0xC] - adds r0, r4, 0 - bl sub_81B83F0 - ldr r6, =gUnknown_0203CEFC - ldrh r0, [r6] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - bne _081B8338 - adds r0, r4, 0 - bl sub_81B841C - ldrh r0, [r6] - bl pokemon_item_not_removed - ldr r0, =gStringVar4 - movs r1, 0 - bl sub_81B1B5C - b _081B8378 - .pool -_081B8338: - adds r0, r4, 0 - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _081B835C - ldr r0, =gUnknown_0203CEC4 - ldr r1, [r0] - ldr r0, =sub_81B814C - str r0, [r1, 0x4] - adds r0, r5, 0 - bl sub_81B12C0 - b _081B83A8 - .pool -_081B835C: - movs r1, 0x9 - ldrsb r1, [r7, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - bl sub_81B1DB8 - ldrh r1, [r6] - adds r0, r4, 0 - movs r2, 0x1 - bl sub_81B1D68 -_081B8378: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B8104 - str r1, [r0] - b _081B83A8 - .pool -_081B8394: - movs r0, 0x5 - bl PlaySE -_081B839A: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B8104 - str r0, [r1] -_081B83A8: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B82D4 - - thumb_func_start sub_81B83B8 -sub_81B83B8: @ 81B83B8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gText_RemoveMailBeforeItem - movs r1, 0x1 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B8104 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B83B8 - - thumb_func_start sub_81B83F0 -sub_81B83F0: @ 81B83F0 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0xB] - cmp r0, 0x6 - bne _081B8410 - lsls r0, r1, 24 - lsrs r0, 24 - movs r1, 0x1 - bl RemovePCItem - b _081B8418 - .pool -_081B8410: - adds r0, r1, 0 - movs r1, 0x1 - bl RemoveBagItem -_081B8418: - pop {r0} - bx r0 - thumb_func_end sub_81B83F0 - - thumb_func_start sub_81B841C -sub_81B841C: @ 81B841C - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0xB] - cmp r0, 0x5 - beq _081B8438 - adds r0, r1, 0 - movs r1, 0x1 - bl AddPCItem - b _081B8440 - .pool -_081B8438: - adds r0, r1, 0 - movs r1, 0x1 - bl AddBagItem -_081B8440: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81B841C - - thumb_func_start sub_81B8448 -sub_81B8448: @ 81B8448 - push {lr} - sub sp, 0xC - movs r0, 0x6 - str r0, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =Mailbox_ReturnToMailListAfterDeposit - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x7 - movs r3, 0 - bl sub_81B0038 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8448 - - thumb_func_start sub_81B8474 -sub_81B8474: @ 81B8474 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - ldr r1, =gUnknown_0203CEE8 - movs r0, 0 - strb r0, [r1] - ldr r2, =gSaveBlock1Ptr - ldr r0, =playerPCItemPageInfo - ldrh r1, [r0] - adds r1, 0x6 - ldrh r0, [r0, 0x2] - adds r1, r0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =0x00002be0 - adds r0, r1 - ldr r1, [r2] - adds r4, r1, r0 - adds r0, r5, 0 - movs r1, 0xC - bl GetMonData - cmp r0, 0 - beq _081B84DC - ldr r0, =gText_PkmnHoldingItemCantHoldMail - movs r1, 0x1 - bl sub_81B1B5C - b _081B84F2 - .pool -_081B84DC: - adds r0, r5, 0 - adds r1, r4, 0 - bl GiveMailToMon2 - adds r0, r4, 0 - bl ClearMailStruct - ldr r0, =gText_MailTransferredFromMailbox - movs r1, 0x1 - bl sub_81B1B5C -_081B84F2: - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B8104 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8474 - - thumb_func_start sub_81B8518 -sub_81B8518: @ 81B8518 - push {lr} - sub sp, 0xC - bl sub_81B8558 - movs r0, 0 - str r0, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =gMain - ldr r0, [r0, 0x8] - str r0, [sp, 0x8] - movs r0, 0x4 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_81B0038 - ldr r1, =gUnknown_0203CEC8 - ldr r0, =sub_81B879C - str r0, [r1, 0x4] - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8518 - - thumb_func_start sub_81B8558 -sub_81B8558: @ 81B8558 - push {lr} - ldr r0, =gSelectedOrderFromParty - movs r1, 0 - movs r2, 0x4 - bl memset - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8558 - - thumb_func_start sub_81B856C -sub_81B856C: @ 81B856C - push {r4,lr} - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - bl sub_81B85AC - lsls r0, 24 - cmp r0, 0 - bne _081B858C - movs r0, 0x2 - b _081B85A4 - .pool -_081B858C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r0, 24 - bl sub_81B8770 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B85A2 - movs r0, 0 - b _081B85A4 -_081B85A2: - movs r0, 0x1 -_081B85A4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81B856C - - thumb_func_start sub_81B85AC -sub_81B85AC: @ 81B85AC - push {r4-r6,lr} - adds r5, r0, 0 - movs r6, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _081B8608 - adds r0, r5, 0 - movs r1, 0x38 - bl GetMonData - adds r4, r0, 0 - bl sub_81B8888 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bhi _081B8608 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x0000191a - cmp r1, r0 - bne _081B85EA - adds r0, r5, 0 - movs r1, 0xC - bl GetMonData - cmp r0, 0 - bne _081B8608 -_081B85EA: - ldr r0, =0x000040cf - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - beq _081B864A - cmp r0, 0x9 - bne _081B8618 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _081B864A -_081B8608: - movs r0, 0 - b _081B864C - .pool -_081B8618: - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - ldr r3, =gFrontierBannedSpecies - lsls r1, r6, 1 - adds r0, r1, r3 - ldrh r0, [r0] - ldr r2, =0x0000ffff - cmp r0, r2 - beq _081B864A -_081B8632: - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, r4 - beq _081B8608 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, r6, 1 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _081B8632 -_081B864A: - movs r0, 0x1 -_081B864C: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B85AC - - thumb_func_start sub_81B865C -sub_81B865C: @ 81B865C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - bl sub_81B885C - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, r2, 0 - ldr r3, =gSelectedOrderFromParty - adds r0, r2, r3 - subs r0, 0x1 - ldrb r0, [r0] - cmp r0, 0 - bne _081B869C - cmp r2, 0x1 - bne _081B8688 - movs r0, 0xE - b _081B8758 - .pool -_081B8688: - ldr r0, =gStringVar1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - movs r0, 0x11 - b _081B8758 - .pool -_081B869C: - ldr r0, =0x000040cf - bl VarGet - lsls r0, 24 - movs r1, 0xF8 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _081B86C0 - b _081B8756 - .pool -_081B86B8: - movs r0, 0x12 - b _081B8758 -_081B86BC: - movs r0, 0x13 - b _081B8758 -_081B86C0: - bl sub_81B8830 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - b _081B8750 -_081B86CE: - ldr r3, =gSelectedOrderFromParty - adds r4, r3, r5 - ldrb r0, [r4] - movs r1, 0x64 - muls r0, r1 - subs r0, 0x64 - ldr r3, =gPlayerParty - adds r0, r3, r0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - ldrb r0, [r4] - movs r1, 0x64 - muls r0, r1 - subs r0, 0x64 - ldr r3, =gPlayerParty - adds r0, r3, r0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r1, r5, 0x1 - lsls r0, r1, 24 - lsrs r4, r0, 24 - mov r9, r1 - cmp r4, r8 - bcs _081B8748 - movs r7, 0x64 -_081B870E: - ldr r0, =gSelectedOrderFromParty - adds r5, r0, r4 - ldrb r0, [r5] - muls r0, r7 - subs r0, 0x64 - ldr r1, =gPlayerParty - adds r0, r1, r0 - movs r1, 0xB - bl GetMonData - cmp r10, r0 - beq _081B86B8 - cmp r6, 0 - beq _081B873E - ldrb r0, [r5] - muls r0, r7 - subs r0, 0x64 - ldr r3, =gPlayerParty - adds r0, r3, r0 - movs r1, 0xC - bl GetMonData - cmp r6, r0 - beq _081B86BC -_081B873E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r8 - bcc _081B870E -_081B8748: - mov r1, r9 - lsls r0, r1, 24 - lsrs r5, r0, 24 - mov r0, r8 -_081B8750: - subs r0, 0x1 - cmp r5, r0 - blt _081B86CE -_081B8756: - movs r0, 0xFF -_081B8758: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B865C - - thumb_func_start sub_81B8770 -sub_81B8770: @ 81B8770 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r3, =gSelectedOrderFromParty -_081B877A: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r2 - bne _081B878C - movs r0, 0x1 - b _081B8798 - .pool -_081B878C: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _081B877A - movs r0, 0 -_081B8798: - pop {r1} - bx r1 - thumb_func_end sub_81B8770 - - thumb_func_start sub_81B879C -sub_81B879C: @ 81B879C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_81B865C - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - beq _081B87D4 - movs r0, 0x20 - bl PlaySE - adds r0, r4, 0 - bl display_pokemon_menu_message - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B87E8 - str r0, [r1] - b _081B87E0 - .pool -_081B87D4: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81B12C0 -_081B87E0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81B879C - - thumb_func_start sub_81B87E8 -sub_81B87E8: @ 81B87E8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081B8802 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081B881C -_081B8802: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl display_pokemon_menu_message - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B1370 - str r0, [r1] -_081B881C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B87E8 - - thumb_func_start sub_81B8830 -sub_81B8830: @ 81B8830 - push {lr} - ldr r0, =0x000040cf - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - beq _081B884C - cmp r0, 0x9 - bne _081B8850 - movs r0, 0x3 - b _081B8854 - .pool -_081B884C: - movs r0, 0x2 - b _081B8854 -_081B8850: - ldr r0, =gSpecialVar_0x8005 - ldrb r0, [r0] -_081B8854: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B8830 - - thumb_func_start sub_81B885C -sub_81B885C: @ 81B885C - push {lr} - ldr r0, =0x000040cf - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - beq _081B8878 - cmp r0, 0x9 - bne _081B887C - movs r0, 0x1 - b _081B8880 - .pool -_081B8878: - movs r0, 0x2 - b _081B8880 -_081B887C: - ldr r0, =gSpecialVar_0x8005 - ldrb r0, [r0] -_081B8880: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B885C - - thumb_func_start sub_81B8888 -sub_81B8888: @ 81B8888 - push {lr} - ldr r0, =0x000040cf - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - beq _081B88A4 - cmp r0, 0x9 - bne _081B88A8 -_081B889C: - movs r0, 0x64 - b _081B88B2 - .pool -_081B88A4: - movs r0, 0x1E - b _081B88B2 -_081B88A8: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _081B889C - movs r0, 0x32 -_081B88B2: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B8888 - - thumb_func_start sub_81B88BC -sub_81B88BC: @ 81B88BC - push {lr} - ldr r0, =0x000040cf - bl VarGet - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xF8 - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x1 - bhi _081B88E0 - ldr r0, =gText_CancelBattle - b _081B88FA - .pool -_081B88E0: - cmp r1, 0x1 - bne _081B88F8 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x2 - bne _081B88F8 - ldr r0, =gText_ReturnToWaitingRoom - b _081B88FA - .pool -_081B88F8: - ldr r0, =gText_CancelChallenge -_081B88FA: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B88BC - - thumb_func_start sub_81B8904 -sub_81B8904: @ 81B8904 - push {lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - str r2, [sp] - ldr r2, =sub_81B1370 - str r2, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_81B0038 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8904 - - thumb_func_start sub_81B892C -sub_81B892C: @ 81B892C - push {lr} - sub sp, 0xC - movs r0, 0x4 - str r0, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0xC - movs r3, 0 - bl sub_81B0038 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B892C - - thumb_func_start sub_81B8958 -sub_81B8958: @ 81B8958 - push {lr} - sub sp, 0xC - movs r0, 0x1 - str r0, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - str r0, [sp, 0x8] - movs r0, 0xB - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl sub_81B0038 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8958 - - thumb_func_start sub_81B8984 -sub_81B8984: @ 81B8984 - push {lr} - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _081B8994 - movs r0, 0 - b _081B89A6 -_081B8994: - bl sub_81B1250 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081B89A4 - movs r0, 0x1 - b _081B89A6 -_081B89A4: - movs r0, 0x2 -_081B89A6: - pop {r1} - bx r1 - thumb_func_end sub_81B8984 - - thumb_func_start OpenPartyMenuInBattle -OpenPartyMenuInBattle: @ 81B89AC - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_81B8984 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - str r0, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =SetCB2ToReshowScreenAfterMenu - str r0, [sp, 0x8] - movs r0, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl sub_81B0038 - bl nullsub_35 - bl pokemon_change_order - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end OpenPartyMenuInBattle - - thumb_func_start sub_81B89F0 -sub_81B89F0: @ 81B89F0 - push {lr} - sub sp, 0xC - bl sub_81B8984 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x5 - str r0, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =c2_815ABFC - str r0, [sp, 0x8] - movs r0, 0x1 - movs r2, 0x3 - movs r3, 0 - bl sub_81B0038 - bl nullsub_35 - bl pokemon_change_order - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B89F0 - - thumb_func_start sub_81B8A2C -sub_81B8A2C: @ 81B8A2C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gPlayerParty + 0x64 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B8A74 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _081B8A74 - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0xB] - cmp r0, 0x1 - bne _081B8A5C - movs r0, 0x3 - b _081B8A76 - .pool -_081B8A5C: - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 11 - ands r0, r1 - cmp r0, 0 - bne _081B8A74 - movs r0, 0x2 - b _081B8A76 - .pool -_081B8A74: - movs r0, 0x7 -_081B8A76: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81B8A2C - - thumb_func_start sub_81B8A7C -sub_81B8A7C: @ 81B8A7C - push {r4-r7,lr} - mov r7, r8 - push {r7} - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_81B1250 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B8AC4 - cmp r5, 0x1 - beq _081B8AA2 - cmp r5, 0x4 - beq _081B8AA2 - cmp r5, 0x5 - bne _081B8AC4 -_081B8AA2: - ldr r4, =gStringVar1 - bl GetTrainerPartnerName - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r0, =gStringVar4 - ldr r1, =gText_CantSwitchWithAlly - b _081B8C42 - .pool -_081B8AC4: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _081B8AF8 - ldr r1, =gStringVar1 - adds r0, r4, 0 - bl GetMonNickname - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnHasNoEnergy - b _081B8C42 - .pool -_081B8AF8: - movs r4, 0 - b _081B8B24 -_081B8AFC: - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _081B8B1E - adds r0, r5, 0 - bl sub_81B8F38 - lsls r0, 24 - ldr r2, =gBattlerPartyIndexes - lsls r1, r4, 1 - adds r1, r2 - lsrs r0, 24 - ldrh r1, [r1] - cmp r0, r1 - beq _081B8BFC -_081B8B1E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_081B8B24: - ldr r0, =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bcc _081B8AFC - movs r7, 0x64 - adds r0, r5, 0 - muls r0, r7 - ldr r1, =gPlayerParty - mov r8, r1 - adds r6, r0, r1 - adds r0, r6, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _081B8B60 - ldr r0, =gStringVar4 - ldr r1, =gText_EggCantBattle - b _081B8C42 - .pool -_081B8B60: - adds r0, r5, 0 - bl sub_81B8F38 - ldr r1, =gBattleStruct - ldr r1, [r1] - adds r1, 0x8B - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _081B8B94 - ldr r1, =gStringVar1 - adds r0, r6, 0 - bl GetMonNickname - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnAlreadySelected - b _081B8C42 - .pool -_081B8B94: - ldr r0, =gUnknown_0203CEC8 - ldrb r0, [r0, 0xB] - cmp r0, 0x4 - bne _081B8BA8 - bl SetMonPreventsSwitchingString - b _081B8C46 - .pool -_081B8BA8: - cmp r0, 0x2 - beq _081B8C20 - adds r0, r5, 0 - bl sub_81B8F38 - ldr r1, =gUnknown_0203CEE9 - strb r0, [r1] - ldr r1, =gUnknown_0203CEE8 - movs r0, 0x1 - strb r0, [r1] - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerInMenuId - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - bl pokemon_order_func - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81B8FB0 - adds r0, r4, 0 - muls r0, r7 - add r0, r8 - adds r1, r6, 0 - bl sub_81B1288 - movs r0, 0x1 - b _081B8C48 - .pool -_081B8BFC: - movs r0, 0x64 - muls r0, r5 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gStringVar1 - bl GetMonNickname - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnAlreadyInBattle - b _081B8C42 - .pool -_081B8C20: - ldr r0, =gBattlerInMenuId - ldrb r0, [r0] - ldr r1, =gBattlerPartyIndexes - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - bl pokemon_order_func - lsls r0, 24 - lsrs r0, 24 - muls r0, r7 - add r0, r8 - ldr r1, =gStringVar1 - bl GetMonNickname - ldr r0, =gStringVar4 - ldr r1, =gText_PkmnCantSwitchOut -_081B8C42: - bl StringExpandPlaceholders -_081B8C46: - movs r0, 0 -_081B8C48: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B8A7C - - thumb_func_start sub_81B8C68 -sub_81B8C68: @ 81B8C68 - push {r4,lr} - ldr r4, =gUnknown_0203CF00 - bl sub_806D7EC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_81B8C88 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8C68 - - thumb_func_start sub_81B8C88 -sub_81B8C88: @ 81B8C88 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_81B1250 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B8CBE - cmp r4, 0 - beq _081B8CB0 - movs r0, 0x30 - strb r0, [r6] - movs r0, 0x45 - strb r0, [r6, 0x1] - movs r0, 0x12 - strb r0, [r6, 0x2] - b _081B8D58 -_081B8CB0: - movs r0, 0x3 - strb r0, [r6] - movs r0, 0x12 - strb r0, [r6, 0x1] - movs r0, 0x45 - strb r0, [r6, 0x2] - b _081B8D58 -_081B8CBE: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _081B8CFC - movs r5, 0x1 - movs r0, 0 - bl GetBattlerAtPosition - mov r2, sp - ldr r1, =gBattlerPartyIndexes - lsls r0, 24 - lsrs r0, 23 - adds r0, r1 - ldrh r0, [r0] - strb r0, [r2] - movs r4, 0 - mov r1, sp -_081B8CE2: - ldrb r0, [r1] - cmp r4, r0 - beq _081B8CF0 - mov r2, sp - adds r0, r2, r5 - strb r4, [r0] - adds r5, 0x1 -_081B8CF0: - adds r4, 0x1 - cmp r4, 0x5 - ble _081B8CE2 - b _081B8D40 - .pool -_081B8CFC: - movs r5, 0x2 - movs r0, 0 - bl GetBattlerAtPosition - mov r1, sp - ldr r4, =gBattlerPartyIndexes - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrh r0, [r0] - strb r0, [r1] - movs r0, 0x2 - bl GetBattlerAtPosition - mov r1, sp - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrh r0, [r0] - strb r0, [r1, 0x1] - movs r4, 0 -_081B8D26: - ldrb r0, [r1] - cmp r4, r0 - beq _081B8D3A - ldrb r0, [r1, 0x1] - cmp r4, r0 - beq _081B8D3A - mov r2, sp - adds r0, r2, r5 - strb r4, [r0] - adds r5, 0x1 -_081B8D3A: - adds r4, 0x1 - cmp r4, 0x5 - ble _081B8D26 -_081B8D40: - movs r4, 0 - mov r3, sp -_081B8D44: - adds r0, r6, r4 - ldrb r1, [r3] - lsls r1, 4 - ldrb r2, [r3, 0x1] - orrs r1, r2 - strb r1, [r0] - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - ble _081B8D44 -_081B8D58: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8C88 - - thumb_func_start sub_81B8D64 -sub_81B8D64: @ 81B8D64 - push {lr} - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =gBattleStruct - lsls r3, r2, 1 - adds r3, r2 - adds r3, 0x60 - ldr r0, [r0] - adds r0, r3 - bl sub_81B8D88 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8D64 - - thumb_func_start sub_81B8D88 -sub_81B8D88: @ 81B8D88 - push {r4-r7,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r0, r2, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _081B8DB0 - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - b _081B8DBC -_081B8DB0: - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x3 -_081B8DBC: - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_81B1250 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081B8DF0 - cmp r7, 0 - beq _081B8DE2 - movs r0, 0x30 - strb r0, [r5] - movs r0, 0x45 - strb r0, [r5, 0x1] - movs r0, 0x12 - strb r0, [r5, 0x2] - b _081B8E72 -_081B8DE2: - movs r0, 0x3 - strb r0, [r5] - movs r0, 0x12 - strb r0, [r5, 0x1] - movs r0, 0x45 - strb r0, [r5, 0x2] - b _081B8E72 -_081B8DF0: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _081B8E28 - movs r3, 0x1 - mov r2, sp - ldr r1, =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - strb r0, [r2] - movs r4, 0 - mov r1, sp -_081B8E0C: - ldrb r0, [r1] - cmp r4, r0 - beq _081B8E1A - mov r2, sp - adds r0, r2, r3 - strb r4, [r0] - adds r3, 0x1 -_081B8E1A: - adds r4, 0x1 - cmp r4, 0x5 - ble _081B8E0C - b _081B8E5A - .pool -_081B8E28: - movs r3, 0x2 - mov r1, sp - ldr r2, =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - lsls r0, r6, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x1] - movs r4, 0 -_081B8E40: - ldrb r0, [r1] - cmp r4, r0 - beq _081B8E54 - ldrb r0, [r1, 0x1] - cmp r4, r0 - beq _081B8E54 - mov r2, sp - adds r0, r2, r3 - strb r4, [r0] - adds r3, 0x1 -_081B8E54: - adds r4, 0x1 - cmp r4, 0x5 - ble _081B8E40 -_081B8E5A: - movs r4, 0 - mov r3, sp -_081B8E5E: - adds r0, r5, r4 - ldrb r1, [r3] - lsls r1, 4 - ldrb r2, [r3, 0x1] - orrs r1, r2 - strb r1, [r0] - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - ble _081B8E5E -_081B8E72: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8D88 - - thumb_func_start sub_81B8E80 -sub_81B8E80: @ 81B8E80 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - movs r7, 0 - bl sub_81B1250 - lsls r0, 24 - cmp r0, 0 - beq _081B8F2E - ldr r0, =gBattleStruct - lsls r1, r4, 1 - adds r1, r4 - adds r1, 0x60 - ldr r0, [r0] - adds r4, r0, r1 - movs r2, 0 - add r6, sp - mov r12, r6 - movs r6, 0xF - mov r3, sp -_081B8EB2: - adds r1, r4, r2 - ldrb r0, [r1] - lsrs r0, 4 - strb r0, [r3] - adds r3, 0x1 - ldrb r1, [r1] - adds r0, r6, 0 - ands r0, r1 - strb r0, [r3] - adds r3, 0x1 - adds r2, 0x1 - cmp r2, 0x2 - ble _081B8EB2 - mov r0, r12 - ldrb r3, [r0] - movs r2, 0 - mov r0, sp - ldrb r0, [r0] - cmp r0, r5 - bne _081B8EE8 - mov r0, sp - ldrb r7, [r0] - strb r3, [r0] - b _081B8EFC - .pool -_081B8EE8: - adds r2, 0x1 - cmp r2, 0x5 - bgt _081B8EFC - mov r0, sp - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, r5 - bne _081B8EE8 - adds r7, r0, 0 - strb r3, [r1] -_081B8EFC: - cmp r2, 0x6 - beq _081B8F2E - mov r0, r12 - strb r7, [r0] - mov r0, sp - ldrb r0, [r0] - lsls r0, 4 - mov r1, sp - ldrb r1, [r1, 0x1] - orrs r0, r1 - strb r0, [r4] - mov r0, sp - ldrb r0, [r0, 0x2] - lsls r0, 4 - mov r1, sp - ldrb r1, [r1, 0x3] - orrs r0, r1 - strb r0, [r4, 0x1] - mov r0, sp - ldrb r0, [r0, 0x4] - lsls r0, 4 - mov r1, sp - ldrb r1, [r1, 0x5] - orrs r0, r1 - strb r0, [r4, 0x2] -_081B8F2E: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81B8E80 - - thumb_func_start sub_81B8F38 -sub_81B8F38: @ 81B8F38 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0x1 - ands r1, r2 - lsrs r2, r0, 25 - cmp r1, 0 - beq _081B8F58 - ldr r0, =gUnknown_0203CF00 - adds r0, r2, r0 - ldrb r0, [r0] - movs r1, 0xF - ands r1, r0 - b _081B8F60 - .pool -_081B8F58: - ldr r0, =gUnknown_0203CF00 - adds r0, r2, r0 - ldrb r0, [r0] - lsrs r1, r0, 4 -_081B8F60: - adds r0, r1, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B8F38 - - thumb_func_start sub_81B8F6C -sub_81B8F6C: @ 81B8F6C - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - movs r1, 0x1 - ands r1, r3 - lsrs r3, r0, 25 - cmp r1, 0 - beq _081B8F94 - ldr r0, =gUnknown_0203CF00 - adds r0, r3, r0 - ldrb r2, [r0] - movs r1, 0xF0 - ands r1, r2 - orrs r1, r4 - strb r1, [r0] - b _081B8FA4 - .pool -_081B8F94: - ldr r2, =gUnknown_0203CF00 - adds r2, r3, r2 - ldrb r1, [r2] - movs r0, 0xF - ands r0, r1 - lsls r1, r4, 4 - orrs r0, r1 - strb r0, [r2] -_081B8FA4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B8F6C - - thumb_func_start sub_81B8FB0 -sub_81B8FB0: @ 81B8FB0 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - adds r0, r5, 0 - bl sub_81B8F38 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl sub_81B8F38 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_81B8F6C - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_81B8F6C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81B8FB0 - - thumb_func_start pokemon_order_func -pokemon_order_func: @ 81B8FEC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r3, 0 - movs r2, 0 - ldr r5, =gUnknown_0203CF00 -_081B8FF8: - adds r0, r3, r5 - ldrb r1, [r0] - lsrs r0, r1, 4 - cmp r0, r4 - beq _081B9010 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0xF - ands r0, r1 - cmp r0, r4 - bne _081B9018 -_081B9010: - adds r0, r2, 0 - b _081B902A - .pool -_081B9018: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _081B8FF8 - movs r0, 0 -_081B902A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end pokemon_order_func - - thumb_func_start pokemon_change_order -pokemon_change_order: @ 81B9030 - push {r4-r6,lr} - movs r4, 0x96 - lsls r4, 2 - adds r0, r4, 0 - bl Alloc - adds r5, r0, 0 - ldr r1, =gPlayerParty - adds r2, r4, 0 - bl memcpy - movs r4, 0 - movs r6, 0x64 -_081B904A: - adds r0, r4, 0 - bl pokemon_order_func - lsls r0, 24 - lsrs r0, 24 - muls r0, r6 - ldr r1, =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - muls r1, r6 - adds r1, r5 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _081B904A - adds r0, r5, 0 - bl Free - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end pokemon_change_order - - thumb_func_start sub_81B9080 -sub_81B9080: @ 81B9080 - push {r4-r6,lr} - movs r4, 0x96 - lsls r4, 2 - adds r0, r4, 0 - bl Alloc - adds r5, r0, 0 - ldr r1, =gPlayerParty - adds r2, r4, 0 - bl memcpy - movs r4, 0 - movs r6, 0x64 -_081B909A: - adds r0, r4, 0 - bl sub_81B8F38 - lsls r0, 24 - lsrs r0, 24 - muls r0, r6 - ldr r1, =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - muls r1, r6 - adds r1, r5 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _081B909A - adds r0, r5, 0 - bl Free - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9080 - - thumb_func_start sub_81B90D0 -sub_81B90D0: @ 81B90D0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0x1 - movs r7, 0x64 - ldr r0, =gPlayerParty - mov r8, r0 -_081B90DE: - adds r0, r6, 0 - bl sub_81B8F38 - lsls r0, 24 - lsrs r0, 24 - muls r0, r7 - mov r1, r8 - adds r5, r0, r1 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _081B912C - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _081B912C - movs r0, 0 - bl sub_81B8F38 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - adds r1, r6, 0 - bl sub_81B8FB0 - adds r0, r4, 0 - muls r0, r7 - add r0, r8 - adds r1, r5, 0 - bl sub_81B1288 - b _081B9136 - .pool -_081B912C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x5 - bls _081B90DE -_081B9136: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81B90D0 - - thumb_func_start sub_81B9140 -sub_81B9140: @ 81B9140 - push {lr} - ldr r0, =SetCB2ToReshowScreenAfterMenu - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9140 - - thumb_func_start sub_81B9150 -sub_81B9150: @ 81B9150 - push {lr} - sub sp, 0xC - movs r0, 0x7F - str r0, [sp] - ldr r0, =sub_81B917C - str r0, [sp, 0x4] - ldr r0, =gMain - ldr r0, [r0, 0x8] - str r0, [sp, 0x8] - movs r0, 0x5 - movs r1, 0x3 - movs r2, 0 - movs r3, 0 - bl sub_81B0038 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9150 - - thumb_func_start sub_81B917C -sub_81B917C: @ 81B917C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r1, 0x80 - lsls r1, 1 - strh r1, [r4, 0x8] - bl sub_81B9294 - movs r1, 0x80 - lsls r1, 9 - movs r0, 0x2 - movs r2, 0 - bl ChangeBgX - ldr r0, =sub_81B91B4 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B917C - - thumb_func_start sub_81B91B4 -sub_81B91B4: @ 81B91B4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r6, r5, 2 - adds r0, r6, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081B9220 - ldrh r0, [r4] - subs r0, 0x8 - strh r0, [r4] - adds r0, r5, 0 - bl sub_81B9294 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081B9220 - movs r4, 0x3 - ldr r7, =gUnknown_02022FF8 -_081B91E8: - subs r0, r4, 0x3 - lsls r0, 5 - adds r0, r7 - ldrh r0, [r0] - cmp r0, 0 - beq _081B9204 - ldr r0, =gUnknown_0203CEDC - ldr r1, [r0] - lsls r0, r4, 4 - adds r0, r1 - ldrb r0, [r0, 0x9] - movs r1, 0 - bl sub_81B5B6C -_081B9204: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _081B91E8 - movs r0, 0x78 - bl PlaySE - ldr r0, =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B9240 - str r0, [r1] -_081B9220: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B91B4 - - thumb_func_start sub_81B9240 -sub_81B9240: @ 81B9240 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - movs r0, 0x80 - lsls r0, 17 - cmp r1, r0 - bne _081B9266 - adds r0, r2, 0 - bl sub_81B12C0 -_081B9266: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9240 - - thumb_func_start sub_81B9270 -sub_81B9270: @ 81B9270 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - cmp r1, 0 - blt _081B928A - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - strh r3, [r0, 0x24] -_081B928A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9270 - - thumb_func_start sub_81B9294 -sub_81B9294: @ 81B9294 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r5, r1, r0 - movs r6, 0x3 - ldr r7, =gUnknown_0203CEDC -_081B92A8: - ldr r0, =gUnknown_02022FF8 - subs r1, r6, 0x3 - lsls r1, 5 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _081B9300 - ldr r0, [r7] - lsls r4, r6, 4 - adds r0, r4, r0 - ldrb r0, [r0, 0x9] - ldrh r1, [r5] - subs r1, 0x8 - lsls r1, 16 - asrs r1, 16 - bl sub_81B9270 - ldr r0, [r7] - adds r0, r4, r0 - ldrb r0, [r0, 0xA] - ldrh r1, [r5] - subs r1, 0x8 - lsls r1, 16 - asrs r1, 16 - bl sub_81B9270 - ldr r0, [r7] - adds r0, r4, r0 - ldrb r0, [r0, 0xB] - ldrh r1, [r5] - subs r1, 0x8 - lsls r1, 16 - asrs r1, 16 - bl sub_81B9270 - ldr r0, [r7] - adds r4, r0 - ldrb r0, [r4, 0xC] - ldrh r1, [r5] - subs r1, 0x8 - lsls r1, 16 - asrs r1, 16 - bl sub_81B9270 -_081B9300: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x5 - bls _081B92A8 - movs r1, 0x80 - lsls r1, 4 - movs r0, 0x2 - movs r2, 0x1 - bl ChangeBgX - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9294 - - thumb_func_start sub_81B9328 -sub_81B9328: @ 81B9328 - push {lr} - sub sp, 0xC - movs r0, 0xF - str r0, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =sub_81B9390 - str r0, [sp, 0x8] - movs r0, 0x6 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_81B0038 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9328 - - thumb_func_start sub_81B9354 -sub_81B9354: @ 81B9354 - push {lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gFieldCallback2 - ldr r1, =hm_add_c3_without_phase_2 - str r1, [r2] - movs r1, 0 - str r1, [sp] - ldr r1, =sub_81B1370 - str r1, [sp, 0x4] - ldr r1, =CB2_ReturnToField - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0xB - movs r3, 0 - bl sub_81B0038 - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9354 - - thumb_func_start sub_81B9390 -sub_81B9390: @ 81B9390 - push {r4,lr} - ldr r4, =gSpecialVar_0x8004 - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - cmp r0, 0x5 - bls _081B93A6 - movs r0, 0xFF - strh r0, [r4] -_081B93A6: - ldr r0, =gFieldCallback2 - ldr r1, =hm_add_c3_without_phase_2 - str r1, [r0] - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9390 - - thumb_func_start hm_add_c3_without_phase_2 -hm_add_c3_without_phase_2: @ 81B93C8 - push {lr} - bl pal_fill_black - ldr r0, =task_hm_without_phase_2 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - pop {r1} - bx r1 - .pool - thumb_func_end hm_add_c3_without_phase_2 - - thumb_func_start task_hm_without_phase_2 -task_hm_without_phase_2: @ 81B93E0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - beq _081B93FE - adds r0, r4, 0 - bl DestroyTask - bl ScriptContext2_Disable - bl EnableBothScriptContexts -_081B93FE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task_hm_without_phase_2 - - thumb_func_start sub_81B9404 -sub_81B9404: @ 81B9404 - push {lr} - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r0, =sub_81B9424 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9404 - - thumb_func_start sub_81B9424 -sub_81B9424: @ 81B9424 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081B945C - bl overworld_free_bg_tilemaps - str r4, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =sub_81B9470 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - movs r2, 0xB - movs r3, 0 - bl sub_81B0038 - adds r0, r5, 0 - bl DestroyTask -_081B945C: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9424 - - thumb_func_start sub_81B9470 -sub_81B9470: @ 81B9470 - push {lr} - bl GetCursorSelectionMonId - ldr r2, =gUnknown_02039F24 - strb r0, [r2] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _081B9486 - movs r0, 0xFF - strb r0, [r2] -_081B9486: - ldr r1, =gSpecialVar_0x8004 - ldrb r0, [r2] - strh r0, [r1] - ldr r1, =gFieldCallback2 - ldr r0, =hm_add_c3_without_phase_2 - str r0, [r1] - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9470 - - thumb_func_start sub_81B94B0 -sub_81B94B0: @ 81B94B0 - push {lr} - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r0, =sub_81B94D0 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B94B0 - - thumb_func_start sub_81B94D0 -sub_81B94D0: @ 81B94D0 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081B9508 - bl overworld_free_bg_tilemaps - str r4, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =sub_81B9390 - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0 - movs r2, 0xB - movs r3, 0 - bl sub_81B0038 - adds r0, r5, 0 - bl DestroyTask -_081B9508: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B94D0 - - thumb_func_start sub_81B951C -sub_81B951C: @ 81B951C - push {lr} - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r0, =sub_81B953C - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B951C - - thumb_func_start sub_81B953C -sub_81B953C: @ 81B953C - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081B9574 - bl overworld_free_bg_tilemaps - str r4, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =sub_81B9588 - str r0, [sp, 0x8] - movs r0, 0x7 - movs r1, 0 - movs r2, 0xB - movs r3, 0 - bl sub_81B0038 - adds r0, r5, 0 - bl DestroyTask -_081B9574: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B953C - - thumb_func_start sub_81B9588 -sub_81B9588: @ 81B9588 - push {r4,r5,lr} - ldr r5, =gSpecialVar_0x8004 - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - cmp r0, 0x5 - bls _081B95A4 - movs r0, 0xFF - strh r0, [r5] - b _081B95BA - .pool -_081B95A4: - ldr r4, =gSpecialVar_0x8005 - ldrh r1, [r5] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNumberOfRelearnableMoves - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] -_081B95BA: - ldr r0, =gFieldCallback2 - ldr r1, =hm_add_c3_without_phase_2 - str r1, [r0] - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9588 - - thumb_func_start sub_81B95E0 -sub_81B95E0: @ 81B95E0 - push {r4,r5,lr} - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - movs r4, 0 - adds r5, r1, 0 - b _081B95FA - .pool -_081B95F4: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_081B95FA: - cmp r4, 0x2 - bhi _081B9614 - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xC - bl GetMonData - cmp r0, 0 - beq _081B95F4 - movs r0, 0x1 - strh r0, [r5] -_081B9614: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B95E0 - - thumb_func_start sub_81B9620 -sub_81B9620: @ 81B9620 - push {lr} - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r0, =sub_81B9640 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9620 - - thumb_func_start sub_81B9640 -sub_81B9640: @ 81B9640 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081B9678 - bl overworld_free_bg_tilemaps - str r4, [sp] - ldr r0, =sub_81B1370 - str r0, [sp, 0x4] - ldr r0, =sub_81B9390 - str r0, [sp, 0x8] - movs r0, 0xC - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_81B0038 - adds r0, r5, 0 - bl DestroyTask -_081B9678: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9640 - - thumb_func_start sub_81B968C -sub_81B968C: @ 81B968C - push {lr} - sub sp, 0x4 - ldr r1, =gPlayerParty - ldr r0, =gSpecialVar_0x8004 - ldrb r2, [r0] - ldr r0, =gPlayerPartyCount - ldrb r3, [r0] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =CB2_ReturnToField - str r0, [sp] - movs r0, 0x3 - bl ShowPokemonSummaryScreen - ldr r1, =gFieldCallback - ldr r0, =sub_80AF168 - str r0, [r1] - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B968C - - thumb_func_start sub_81B96D0 -sub_81B96D0: @ 81B96D0 - push {r4,r5,lr} - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - movs r4, 0 - adds r5, r1, 0 -_081B96DC: - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - adds r1, 0xD - bl GetMonData - cmp r0, 0 - beq _081B96FA - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_081B96FA: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081B96DC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B96D0 - - thumb_func_start sub_81B9718 -sub_81B9718: @ 81B9718 - push {r4,r5,lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - adds r5, r1, 0 - muls r5, r0 - ldr r0, =gPlayerParty - adds r5, r0 - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - adds r1, 0xD - adds r0, r5, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r0, =gStringVar2 - movs r1, 0xD - muls r1, r4 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9718 - - thumb_func_start sub_81B9770 -sub_81B9770: @ 81B9770 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, =gSpecialVar_0x8004 - mov r8, r0 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - ldr r4, =gSpecialVar_0x8005 - ldrb r2, [r4] - movs r1, 0 - bl SetMonMoveSlot - mov r1, r8 - ldrh r0, [r1] - muls r0, r6 - adds r0, r5 - ldrb r1, [r4] - bl RemoveMonPPBonus - ldrh r4, [r4] - cmp r4, 0x2 - bhi _081B97C4 -_081B97A2: - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - lsls r1, r4, 24 - lsrs r1, 24 - adds r4, 0x1 - lsls r2, r4, 24 - lsrs r2, 24 - bl sub_81B97DC - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x2 - bls _081B97A2 -_081B97C4: - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9770 - - thumb_func_start sub_81B97DC -sub_81B97DC: @ 81B97DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - mov r8, r0 - adds r5, r1, 0 - adds r4, r2, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r0, 0xD - str r0, [sp, 0x8] - mov r0, r8 - ldr r1, [sp, 0x8] - bl GetMonData - mov r1, sp - adds r1, 0x2 - str r1, [sp, 0x14] - strh r0, [r1] - adds r3, r4, 0 - adds r3, 0xD - str r3, [sp, 0xC] - mov r0, r8 - adds r1, r3, 0 - bl GetMonData - mov r1, sp - strh r0, [r1] - adds r7, r5, 0 - adds r7, 0x11 - str r7, [sp, 0x10] - mov r0, r8 - adds r1, r7, 0 - bl GetMonData - mov r1, sp - adds r1, 0x5 - str r1, [sp, 0x18] - strb r0, [r1] - adds r3, r4, 0 - adds r3, 0x11 - str r3, [sp, 0x1C] - mov r0, r8 - adds r1, r3, 0 - bl GetMonData - add r7, sp, 0x4 - mov r10, r7 - strb r0, [r7] - mov r0, r8 - movs r1, 0x15 - bl GetMonData - mov r6, sp - adds r6, 0x6 - strb r0, [r6] - ldr r1, =gUnknown_08329D22 - adds r0, r5, r1 - ldrb r0, [r0] - mov r9, r0 - ldrb r0, [r6] - adds r2, r0, 0 - mov r3, r9 - ands r2, r3 - lsls r5, 1 - asrs r2, r5 - lsls r2, 24 - lsrs r2, 24 - adds r1, r4, r1 - ldrb r3, [r1] - adds r1, r0, 0 - ands r1, r3 - lsls r4, 1 - asrs r1, r4 - lsls r1, 24 - lsrs r1, 24 - mov r7, r9 - bics r0, r7 - strb r0, [r6] - ldrb r0, [r6] - bics r0, r3 - strb r0, [r6] - lsls r2, r4 - lsls r1, r5 - adds r2, r1 - ldrb r0, [r6] - orrs r0, r2 - strb r0, [r6] - mov r0, r8 - ldr r1, [sp, 0x8] - mov r2, sp - bl SetMonData - mov r0, r8 - ldr r1, [sp, 0xC] - ldr r2, [sp, 0x14] - bl SetMonData - mov r0, r8 - ldr r1, [sp, 0x10] - mov r2, r10 - bl SetMonData - mov r0, r8 - ldr r1, [sp, 0x1C] - ldr r2, [sp, 0x18] - bl SetMonData - mov r0, r8 - movs r1, 0x15 - adds r2, r6, 0 - bl SetMonData - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B97DC - - thumb_func_start sub_81B98DC -sub_81B98DC: @ 81B98DC - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - beq _081B990C - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - b _081B9910 - .pool -_081B990C: - ldr r0, =gSpecialVar_Result - strh r1, [r0] -_081B9910: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B98DC - - thumb_func_start sub_81B9918 -sub_81B9918: @ 81B9918 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gSpecialVar_0x8005 - ldrh r1, [r1] - adds r1, 0xD - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0x39 - bne _081B999C - movs r6, 0 - b _081B9980 - .pool -_081B9958: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r6, r0 - beq _081B997E - movs r4, 0 - movs r0, 0x64 - adds r5, r6, 0 - muls r5, r0 - ldr r7, =gPlayerParty -_081B996A: - adds r1, r4, 0 - adds r1, 0xD - adds r0, r5, r7 - bl GetMonData - cmp r0, 0x39 - beq _081B999C - adds r4, 0x1 - cmp r4, 0x3 - bls _081B996A -_081B997E: - adds r6, 0x1 -_081B9980: - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bcc _081B9958 - mov r0, r8 - bl sub_80D23A8 - cmp r0, 0x1 - beq _081B999C - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] -_081B999C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9918 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s deleted file mode 100644 index 3fefdd530..000000000 --- a/asm/pokemon_storage_system.s +++ /dev/null @@ -1,20963 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - - - - thumb_func_start sub_80C7D74 -sub_80C7D74: @ 80C7D74 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl ResetTasks - ldr r0, =gUnknown_02039D0D - strb r5, [r0] - ldr r4, =gUnknown_02039D08 - ldr r0, =0x000062c4 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _080C7DA8 - ldr r0, =sub_80C7678 - bl SetMainCallback2 - b _080C7DD4 - .pool -_080C7DA8: - movs r2, 0 - strb r5, [r0, 0x1] - ldr r0, [r4] - strb r2, [r0, 0x3] - ldr r0, =gUnknown_02039D12 - movs r1, 0 - strh r2, [r0] - ldr r0, [r4] - strb r1, [r0] - ldr r0, =task_box_related_3 - movs r1, 0x3 - bl CreateTask - ldr r1, [r4] - strb r0, [r1, 0x4] - bl StorageGetCurrentBox - ldr r1, =gUnknown_02039D10 - strb r0, [r1] - ldr r0, =c2_Box - bl SetMainCallback2 -_080C7DD4: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7D74 - - thumb_func_start c2_808CE60 -c2_808CE60: @ 80C7DEC - push {r4,lr} - bl ResetTasks - ldr r4, =gUnknown_02039D08 - ldr r0, =0x000062c4 - bl Alloc - adds r1, r0, 0 - str r1, [r4] - cmp r1, 0 - bne _080C7E18 - ldr r0, =sub_80C7678 - bl SetMainCallback2 - b _080C7E3C - .pool -_080C7E18: - ldr r0, =gUnknown_02039D0D - ldrb r0, [r0] - movs r2, 0 - strb r0, [r1, 0x1] - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x3] - ldr r0, [r4] - strb r2, [r0] - ldr r0, =task_box_related_3 - movs r1, 0x3 - bl CreateTask - ldr r1, [r4] - strb r0, [r1, 0x4] - ldr r0, =c2_Box - bl SetMainCallback2 -_080C7E3C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end c2_808CE60 - - thumb_func_start sub_80C7E50 -sub_80C7E50: @ 80C7E50 - push {lr} - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_80C7E50 - - thumb_func_start sub_80C7E98 -sub_80C7E98: @ 80C7E98 - push {r4,lr} - sub sp, 0x4 - bl ResetPaletteFade - bl ResetSpriteData - bl FreeSpriteTileRanges - bl FreeAllSpritePalettes - bl ClearDma3Requests - ldr r1, =gReservedSpriteTileCount - movs r2, 0xA0 - lsls r2, 2 - adds r0, r2, 0 - strh r0, [r1] - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x8 - adds r1, 0x10 - movs r2, 0x8 - bl sub_80D2A90 - ldr r1, =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - bl clear_scheduled_bg_copies_to_vram - movs r0, 0x3 - bl sub_80D259C - ldr r2, =gUnknown_0857239C - movs r0, 0x4 - str r0, [sp] - movs r0, 0 - movs r1, 0x1 - movs r3, 0x8 - bl sub_80D2644 - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_80D2770 - ldr r0, [r4] - ldr r1, =0x000002c7 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7E98 - - thumb_func_start sub_80C7F1C -sub_80C7F1C: @ 80C7F1C - push {lr} - bl sub_80CDC0C - ldr r2, =gUnknown_02039D0C - movs r1, 0 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _080C7F32 - movs r1, 0x1 -_080C7F32: - strb r1, [r2] - ldr r1, =gUnknown_02039D0E - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7F1C - - thumb_func_start sub_80C7F4C -sub_80C7F4C: @ 80C7F4C - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080C7F6A - movs r1, 0xFC - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000b07 - movs r0, 0x52 - bl SetGpuReg -_080C7F6A: - movs r1, 0xFA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7F4C - - thumb_func_start add_to_c3_somehow -add_to_c3_somehow: @ 80C7F80 - push {r4,lr} - ldr r4, =gTasks - ldr r1, =gUnknown_02039D08 - ldr r3, [r1] - ldrb r2, [r3, 0x4] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r4 - str r0, [r1] - movs r0, 0 - strb r0, [r3] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end add_to_c3_somehow - - thumb_func_start task_box_related_3 -task_box_related_3: @ 80C7FA8 - push {lr} - sub sp, 0x4 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xA - bls _080C7FB8 - b _080C81A2 -_080C7FB8: - lsls r0, 2 - ldr r1, =_080C7FCC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C7FCC: - .4byte _080C7FF8 - .4byte _080C8050 - .4byte _080C805E - .4byte _080C808C - .4byte _080C80A8 - .4byte _080C80C6 - .4byte _080C80E6 - .4byte _080C80EC - .4byte _080C80F2 - .4byte _080C8100 - .4byte _080C814A -_080C7FF8: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl sub_80C7E98 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - cmp r0, 0 - beq _080C8046 - ldr r0, =gUnknown_02039D0F - ldrb r0, [r0] - cmp r0, 0x1 - beq _080C8036 - cmp r0, 0x1 - bgt _080C8030 - cmp r0, 0 - beq _080C803C - b _080C8046 - .pool -_080C8030: - cmp r0, 0x2 - beq _080C8042 - b _080C8046 -_080C8036: - bl sub_80CE790 - b _080C8046 -_080C803C: - bl sub_80CE8E4 - b _080C8046 -_080C8042: - bl sub_80C9F6C -_080C8046: - bl sub_80CA044 - bl sub_80CA0C8 - b _080C8198 -_080C8050: - bl sub_80CA0A4 - lsls r0, 24 - cmp r0, 0 - beq _080C805C - b _080C8198 -_080C805C: - b _080C80D0 -_080C805E: - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl ClearWindowTilemap - movs r0, 0 - str r0, [sp] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05000080 - mov r0, sp - bl CpuSet - movs r0, 0x1 - movs r1, 0xB - movs r2, 0xE0 - bl LoadUserWindowBorderGfx - b _080C8198 - .pool -_080C808C: - bl sub_80C7E50 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - cmp r0, 0 - beq _080C809C - b _080C8198 -_080C809C: - bl sub_80C7F1C - b _080C8198 - .pool -_080C80A8: - bl sub_80CAF04 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - cmp r0, 0 - bne _080C80C0 - bl sub_80CD36C - b _080C8198 - .pool -_080C80C0: - bl sub_80CD3EC - b _080C8198 -_080C80C6: - bl sub_80D0164 - lsls r0, 24 - cmp r0, 0 - bne _080C80DC -_080C80D0: - ldr r0, =sub_80C9E50 - bl add_to_c3_somehow - b _080C81A2 - .pool -_080C80DC: - bl sub_80C9FEC - bl sub_80CAC1C - b _080C8198 -_080C80E6: - bl sub_80CA0D8 - b _080C8198 -_080C80EC: - bl sub_80CA704 - b _080C8198 -_080C80F2: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - bl sub_80CC32C - b _080C8198 -_080C8100: - bl sub_80CC35C - lsls r0, 24 - cmp r0, 0 - bne _080C81A2 - ldr r0, =gUnknown_02039D08 - ldr r2, [r0] - ldrb r0, [r2, 0x1] - cmp r0, 0x3 - beq _080C8140 - ldr r1, =0x00000da4 - adds r0, r2, r1 - movs r1, 0xD - strh r1, [r0] - ldr r1, =0x00000da6 - adds r2, r1 - ldr r1, =0x0000dace - strh r1, [r2] - bl sub_811F90C - bl sub_811FA90 - b _080C8198 - .pool -_080C8140: - bl sub_80D0C60 - bl sub_80CAEAC - b _080C8198 -_080C814A: - bl sub_80C7F4C - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - cmp r0, 0 - bne _080C8174 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =sub_80C81AC - bl add_to_c3_somehow - b _080C8186 - .pool -_080C8174: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =box_related_2 - bl add_to_c3_somehow -_080C8186: - ldr r0, =sub_80C7D28 - bl SetVBlankCallback - b _080C81A2 - .pool -_080C8198: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080C81A2: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end task_box_related_3 - - thumb_func_start sub_80C81AC -sub_80C81AC: @ 80C81AC - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _080C81C4 - cmp r0, 0x1 - beq _080C81DE - b _080C81EE - .pool -_080C81C4: - movs r0, 0x2 - bl PlaySE - movs r0, 0x14 - movs r1, 0 - movs r2, 0x1 - bl sub_80F9BCC - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C81EE -_080C81DE: - bl sub_80F9C1C - lsls r0, 24 - cmp r0, 0 - bne _080C81EE - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C81EE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C81AC - - thumb_func_start box_related_2 -box_related_2: @ 80C81F8 - push {r4,lr} - sub sp, 0x4 - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0x1 - beq _080C8230 - cmp r0, 0x1 - bgt _080C8214 - cmp r0, 0 - beq _080C821E - b _080C82A0 - .pool -_080C8214: - cmp r0, 0x2 - beq _080C8268 - cmp r0, 0x3 - beq _080C8290 - b _080C82A0 -_080C821E: - movs r1, 0x1 - negs r1, r1 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _080C8282 -_080C8230: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080C82A0 - ldr r0, =gUnknown_02039D0F - ldrb r0, [r0] - cmp r0, 0x2 - bne _080C825C - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - cmp r0, 0 - beq _080C825C - movs r0, 0x1C - bl sub_80CAC58 - b _080C8282 - .pool -_080C825C: - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C82A0 - .pool -_080C8268: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C82A0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080C82A0 - bl sub_80CADC4 -_080C8282: - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C82A0 - .pool -_080C8290: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C82A0 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C82A0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end box_related_2 - - thumb_func_start task_pokemon_box_related -task_pokemon_box_related: @ 80C82AC - push {r4,r5,lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xB - bls _080C82BA - b _080C879E -_080C82BA: - lsls r0, 2 - ldr r1, =_080C82CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C82CC: - .4byte _080C82FC - .4byte _080C861C - .4byte _080C865C - .4byte _080C86B4 - .4byte _080C86D8 - .4byte _080C86E2 - .4byte _080C86FC - .4byte _080C871C - .4byte _080C8722 - .4byte _080C8738 - .4byte _080C8764 - .4byte _080C878C -_080C82FC: - bl sub_80CF9EC - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x19 - bls _080C830C - b _080C879E -_080C830C: - lsls r0, 2 - ldr r1, =_080C831C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C831C: - .4byte _080C8384 - .4byte _080C879E - .4byte _080C879E - .4byte _080C8414 - .4byte _080C8398 - .4byte _080C83CC - .4byte _080C842C - .4byte _080C8440 - .4byte _080C844C - .4byte _080C8484 - .4byte _080C84C8 - .4byte _080C854C - .4byte _080C850C - .4byte _080C851E - .4byte _080C8560 - .4byte _080C8574 - .4byte _080C8588 - .4byte _080C859C - .4byte _080C8420 - .4byte _080C85B0 - .4byte _080C85D0 - .4byte _080C85BA - .4byte _080C85DA - .4byte _080C8614 - .4byte _080C85DE - .4byte _080C85F8 -_080C8384: - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1] - b _080C879E - .pool -_080C8398: - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080C83BC - movs r0, 0x10 - bl sub_80CAC58 - ldr r1, [r4] - movs r0, 0x3 - strb r0, [r1] - b _080C879E - .pool -_080C83BC: - bl sub_80CDC0C - ldr r0, =sub_80C87A8 - bl add_to_c3_somehow - b _080C879E - .pool -_080C83CC: - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0x2 - bne _080C8400 - bl sub_80CEAD0 - lsls r0, 24 - cmp r0, 0 - beq _080C8406 - ldr r0, [r4] - ldr r1, =0x00000ce6 - adds r0, r1 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _080C83F4 - b _080C84E6 -_080C83F4: - b _080C8406 - .pool -_080C8400: - cmp r0, 0x3 - beq _080C8406 - b _080C879E -_080C8406: - ldr r0, =sub_80C87E8 - bl add_to_c3_somehow - b _080C879E - .pool -_080C8414: - ldr r0, =sub_80C9BE8 - bl add_to_c3_somehow - b _080C879E - .pool -_080C8420: - ldr r0, =sub_80C9D1C - bl add_to_c3_somehow - b _080C879E - .pool -_080C842C: - movs r0, 0x5 - bl PlaySE - ldr r0, =box_related - bl add_to_c3_somehow - b _080C879E - .pool -_080C8440: - ldr r0, =sub_80C8864 - bl add_to_c3_somehow - b _080C879E - .pool -_080C844C: - movs r0, 0x5 - bl PlaySE - bl StorageGetCurrentBox - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - ldr r2, =0x000002ca - adds r1, r2 - strh r0, [r1] - cmp r0, 0xD - ble _080C846E - movs r0, 0 - strh r0, [r1] -_080C846E: - ldr r1, [r4] - ldrb r0, [r1, 0x1] - cmp r0, 0x3 - beq _080C84BC - adds r0, r1, r2 - b _080C8776 - .pool -_080C8484: - movs r0, 0x5 - bl PlaySE - bl StorageGetCurrentBox - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - ldr r2, =0x000002ca - adds r1, r2 - strh r0, [r1] - cmp r0, 0 - bge _080C84A6 - movs r0, 0xD - strh r0, [r1] -_080C84A6: - ldr r1, [r4] - ldrb r0, [r1, 0x1] - cmp r0, 0x3 - beq _080C84BC - adds r0, r1, r2 - b _080C8776 - .pool -_080C84BC: - bl sub_80CFEA8 - ldr r1, [r4] - movs r0, 0xA - strb r0, [r1] - b _080C879E -_080C84C8: - bl sub_80CEA30 - lsls r0, 24 - cmp r0, 0 - bne _080C8528 - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r1, =0x00000ce6 - adds r0, r1 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _080C84F8 -_080C84E6: - ldr r1, [r4] - movs r0, 0x5 - strb r0, [r1] - b _080C879E - .pool -_080C84F8: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C8D78 - bl add_to_c3_somehow - b _080C879E - .pool -_080C850C: - bl sub_80CEA30 - lsls r0, 24 - cmp r0, 0 - bne _080C8528 - movs r0, 0x5 - bl PlaySE - b _080C872C -_080C851E: - bl sub_80CEA6C - lsls r0, 24 - cmp r0, 0 - bne _080C8538 -_080C8528: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x4 - strb r0, [r1] - b _080C879E - .pool -_080C8538: - movs r0, 0x5 - bl PlaySE - ldr r0, =c3_0808DC50 - bl add_to_c3_somehow - b _080C879E - .pool -_080C854C: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C8C90 - bl add_to_c3_somehow - b _080C879E - .pool -_080C8560: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C8BEC - bl add_to_c3_somehow - b _080C879E - .pool -_080C8574: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C9128 - bl add_to_c3_somehow - b _080C879E - .pool -_080C8588: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C91DC - bl add_to_c3_somehow - b _080C879E - .pool -_080C859C: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C93B0 - bl add_to_c3_somehow - b _080C879E - .pool -_080C85B0: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - b _080C8600 -_080C85BA: - movs r0, 0x1 - bl sub_80D01D0 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x8 - strb r0, [r1] - b _080C879E - .pool -_080C85D0: - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - b _080C85E6 -_080C85DA: - movs r0, 0x3 - b _080C8600 -_080C85DE: - movs r0, 0x5 - bl PlaySE - movs r0, 0x4 -_080C85E6: - bl sub_80D01D0 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x9 - strb r0, [r1] - b _080C879E - .pool -_080C85F8: - movs r0, 0x5 - bl PlaySE - movs r0, 0x5 -_080C8600: - bl sub_80D01D0 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x7 - strb r0, [r1] - b _080C879E - .pool -_080C8614: - movs r0, 0x20 - bl PlaySE - b _080C879E -_080C861C: - bl sub_80CD554 - lsls r0, 24 - cmp r0, 0 - beq _080C8628 - b _080C879E -_080C8628: - bl sub_80CEAF8 - lsls r0, 24 - cmp r0, 0 - beq _080C8638 - bl sub_80CA9C0 - b _080C863C -_080C8638: - bl sub_80CA9EC -_080C863C: - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r1, =0x00000cea - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080C864E - bl BoxSetMosaic -_080C864E: - ldr r1, [r4] - b _080C86C8 - .pool -_080C865C: - bl sub_80CC54C - lsls r0, 24 - cmp r0, 0 - beq _080C8668 - b _080C879E -_080C8668: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x000002ca - adds r0, r1 - ldrb r0, [r0] - bl SetCurrentBox - ldr r0, =gUnknown_02039D0C - ldrb r0, [r0] - cmp r0, 0 - bne _080C8690 - bl sub_80CEAD0 - lsls r0, 24 - cmp r0, 0 - bne _080C8690 - bl sub_80CE00C - bl BoxSetMosaic -_080C8690: - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - ldrb r0, [r1, 0x1] - cmp r0, 0x3 - bne _080C86C8 - bl sub_80CFECC - ldr r1, [r4] - movs r0, 0xB - strb r0, [r1] - b _080C879E - .pool -_080C86B4: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C879E - bl sub_80CADC4 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] -_080C86C8: - movs r0, 0 - strb r0, [r1] - b _080C879E - .pool -_080C86D8: - movs r0, 0x20 - bl PlaySE - movs r0, 0xD - b _080C86EA -_080C86E2: - movs r0, 0x20 - bl PlaySE - movs r0, 0x16 -_080C86EA: - bl sub_80CAC58 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x6 - strb r0, [r1] - b _080C879E - .pool -_080C86FC: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C879E - bl sub_80CADC4 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C879E - .pool -_080C871C: - bl sub_80D01E4 - b _080C8790 -_080C8722: - bl sub_80D01E4 - lsls r0, 24 - cmp r0, 0 - bne _080C879E -_080C872C: - ldr r0, =sub_80C8B90 - bl add_to_c3_somehow - b _080C879E - .pool -_080C8738: - bl sub_80D01E4 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080C879E - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldr r1, =0x00000cea - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080C8756 - bl BoxSetMosaic -_080C8756: - ldr r0, [r5] - strb r4, [r0] - b _080C879E - .pool -_080C8764: - bl sub_80D1218 - lsls r0, 24 - cmp r0, 0 - bne _080C879E - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r1, =0x000002ca - adds r0, r1 -_080C8776: - ldrb r0, [r0] - bl sub_80CC464 - ldr r1, [r4] - movs r0, 0x2 - strb r0, [r1] - b _080C879E - .pool -_080C878C: - bl sub_80D1218 -_080C8790: - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080C879E - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - strb r1, [r0] -_080C879E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task_pokemon_box_related - - thumb_func_start sub_80C87A8 -sub_80C87A8: @ 80C87A8 - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _080C87C0 - cmp r0, 0x1 - beq _080C87CE - b _080C87DE - .pool -_080C87C0: - bl sub_80CAB4C - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C87DE -_080C87CE: - bl sub_80CAB70 - lsls r0, 24 - cmp r0, 0 - bne _080C87DE - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C87DE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C87A8 - - thumb_func_start sub_80C87E8 -sub_80C87E8: @ 80C87E8 - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0x1 - beq _080C8816 - cmp r0, 0x1 - bgt _080C8804 - cmp r0, 0 - beq _080C880A - b _080C8856 - .pool -_080C8804: - cmp r0, 0x2 - beq _080C8836 - b _080C8856 -_080C880A: - movs r0, 0x5 - bl PlaySE - bl sub_80CA888 - b _080C882C -_080C8816: - bl sub_80CA8C8 - lsls r0, 24 - cmp r0, 0 - bne _080C8856 - bl sub_80CDC2C - lsls r0, 24 - lsrs r0, 24 - bl sub_80CDBF8 -_080C882C: - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C8856 -_080C8836: - bl sub_80CD554 - lsls r0, 24 - cmp r0, 0 - bne _080C8856 - ldr r0, [r4] - ldr r1, =0x00000cea - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080C8850 - bl BoxSetMosaic -_080C8850: - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C8856: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C87E8 - - thumb_func_start sub_80C8864 -sub_80C8864: @ 80C8864 - push {r4,lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x6 - bls _080C8872 - b _080C8B82 -_080C8872: - lsls r0, 2 - ldr r1, =_080C8884 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C8884: - .4byte _080C88A0 - .4byte _080C8904 - .4byte _080C8920 - .4byte _080C8B3C - .4byte _080C8B50 - .4byte _080C8B46 - .4byte _080C8B6C -_080C88A0: - bl sub_80CA2B8 - lsls r0, 24 - cmp r0, 0 - beq _080C88AC - b _080C8B82 -_080C88AC: - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - beq _080C88C8 - movs r0, 0x4 - bl sub_80CAC58 - b _080C88F2 - .pool -_080C88C8: - bl sub_80D127C - lsls r0, 24 - cmp r0, 0 - bne _080C88DE - ldr r0, [r4] - ldr r1, =0x00000ce6 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080C88EC -_080C88DE: - movs r0, 0x17 - bl sub_80CAC58 - b _080C88F2 - .pool -_080C88EC: - movs r0, 0x18 - bl sub_80CAC58 -_080C88F2: - bl sub_80CFFD0 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1] - b _080C8B82 - .pool -_080C8904: - bl sub_80D00A8 - lsls r0, 24 - cmp r0, 0 - beq _080C8910 - b _080C8B82 -_080C8910: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1] - b _080C8B82 - .pool -_080C8920: - bl sub_80D00AC - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x12 - bls _080C8930 - b _080C8B82 -_080C8930: - lsls r0, 2 - ldr r1, =_080C8940 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C8940: - .4byte _080C898C - .4byte _080C898C - .4byte _080C8A0C - .4byte _080C89F4 - .4byte _080C899C - .4byte _080C89D4 - .4byte _080C89BC - .4byte _080C8AAC - .4byte _080C8A48 - .4byte _080C8AC0 - .4byte _080C8B82 - .4byte _080C8B82 - .4byte _080C8B82 - .4byte _080C8AD4 - .4byte _080C8AE8 - .4byte _080C8B1C - .4byte _080C8B08 - .4byte _080C8AFC - .4byte _080C8B30 -_080C898C: - bl sub_80CADC4 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C899C: - bl sub_80CEA30 - lsls r0, 24 - cmp r0, 0 - bne _080C8A52 - movs r0, 0x5 - bl PlaySE - bl sub_80CADC4 - ldr r0, =sub_80C8B90 - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C89BC: - movs r0, 0x5 - bl PlaySE - bl sub_80CADC4 - ldr r0, =sub_80C8BEC - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C89D4: - bl sub_80CEA6C - lsls r0, 24 - cmp r0, 0 - beq _080C8A52 - movs r0, 0x5 - bl PlaySE - bl sub_80CADC4 - ldr r0, =c3_0808DC50 - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C89F4: - movs r0, 0x5 - bl PlaySE - bl sub_80CADC4 - ldr r0, =sub_80C8C90 - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C8A0C: - bl sub_80CEA30 - lsls r0, 24 - cmp r0, 0 - bne _080C8A52 - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r2, =0x00000ce6 - adds r0, r2 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - bne _080C8A8C - movs r0, 0x5 - bl PlaySE - bl sub_80CADC4 - ldr r0, =sub_80C8D78 - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C8A48: - bl sub_80CEA30 - lsls r0, 24 - cmp r0, 0 - beq _080C8A60 -_080C8A52: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x3 - strb r0, [r1] - b _080C8B82 - .pool -_080C8A60: - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - ldr r2, =0x00000ced - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080C8A7C - movs r0, 0x5 - strb r0, [r1] - b _080C8B82 - .pool -_080C8A7C: - ldr r2, =0x00000ce6 - adds r0, r1, r2 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _080C8A98 -_080C8A8C: - ldr r1, [r4] - movs r0, 0x4 - strb r0, [r1] - b _080C8B82 - .pool -_080C8A98: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C8EB4 - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C8AAC: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C9B28 - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C8AC0: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C90A4 - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C8AD4: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C9128 - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C8AE8: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C91DC - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C8AFC: - ldr r0, =sub_80C9298 - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C8B08: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C93B0 - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C8B1C: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C9B88 - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C8B30: - ldr r0, =sub_80C9498 - bl add_to_c3_somehow - b _080C8B82 - .pool -_080C8B3C: - movs r0, 0x20 - bl PlaySE - movs r0, 0xD - b _080C8B58 -_080C8B46: - movs r0, 0x20 - bl PlaySE - movs r0, 0x11 - b _080C8B58 -_080C8B50: - movs r0, 0x20 - bl PlaySE - movs r0, 0x16 -_080C8B58: - bl sub_80CAC58 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x6 - strb r0, [r1] - b _080C8B82 - .pool -_080C8B6C: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C8B82 - bl sub_80CADC4 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C8B82: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C8864 - - thumb_func_start sub_80C8B90 -sub_80C8B90: @ 80C8B90 - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _080C8BA8 - cmp r0, 0x1 - beq _080C8BB8 - b _080C8BE2 - .pool -_080C8BA8: - movs r0, 0 - bl sub_80CDC38 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C8BE2 -_080C8BB8: - bl sub_80CDCAC - lsls r0, 24 - cmp r0, 0 - bne _080C8BE2 - ldr r0, =gUnknown_02039D0C - ldrb r0, [r0] - cmp r0, 0 - beq _080C8BDC - ldr r0, =sub_80C9670 - bl add_to_c3_somehow - b _080C8BE2 - .pool -_080C8BDC: - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C8BE2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C8B90 - - thumb_func_start sub_80C8BEC -sub_80C8BEC: @ 80C8BEC - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _080C8C04 - cmp r0, 0x1 - beq _080C8C14 - b _080C8C3E - .pool -_080C8C04: - movs r0, 0x1 - bl sub_80CDC38 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C8C3E -_080C8C14: - bl sub_80CDCAC - lsls r0, 24 - cmp r0, 0 - bne _080C8C3E - ldr r0, =gUnknown_02039D0C - ldrb r0, [r0] - cmp r0, 0 - beq _080C8C38 - ldr r0, =sub_80C9670 - bl add_to_c3_somehow - b _080C8C3E - .pool -_080C8C38: - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C8C3E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C8BEC - - thumb_func_start c3_0808DC50 -c3_0808DC50: @ 80C8C48 - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _080C8C60 - cmp r0, 0x1 - beq _080C8C70 - b _080C8C84 - .pool -_080C8C60: - movs r0, 0x2 - bl sub_80CDC38 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C8C84 -_080C8C70: - bl sub_80CDCAC - lsls r0, 24 - cmp r0, 0 - bne _080C8C84 - bl BoxSetMosaic - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C8C84: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end c3_0808DC50 - - thumb_func_start sub_80C8C90 -sub_80C8C90: @ 80C8C90 - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x5 - bhi _080C8D6E - lsls r0, 2 - ldr r1, =_080C8CB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C8CB0: - .4byte _080C8CC8 - .4byte _080C8D00 - .4byte _080C8D20 - .4byte _080C8D36 - .4byte _080C8D48 - .4byte _080C8D68 -_080C8CC8: - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _080C8CE8 - movs r0, 0xE - bl sub_80CAC58 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1] - b _080C8D6E - .pool -_080C8CE8: - bl sub_80CDC18 - movs r0, 0 - bl sub_80CDC38 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1] - b _080C8D6E - .pool -_080C8D00: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C8D6E - bl sub_80CADC4 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C8D6E - .pool -_080C8D20: - bl sub_80CDCAC - lsls r0, 24 - cmp r0, 0 - bne _080C8D6E - movs r0, 0x1 - bl sub_80CC0D4 - bl sub_80CAB4C - b _080C8D56 -_080C8D36: - bl sub_80CAB70 - lsls r0, 24 - cmp r0, 0 - bne _080C8D6E - movs r0, 0x1 - bl sub_80CDC38 - b _080C8D56 -_080C8D48: - bl sub_80CDCAC - lsls r0, 24 - cmp r0, 0 - bne _080C8D6E - bl sub_80CAB20 -_080C8D56: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C8D6E - .pool -_080C8D68: - ldr r0, =sub_80C87E8 - bl add_to_c3_somehow -_080C8D6E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C8C90 - - thumb_func_start sub_80C8D78 -sub_80C8D78: @ 80C8D78 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x4 - bls _080C8D88 - b _080C8EA2 -_080C8D88: - lsls r0, 2 - ldr r1, =_080C8D9C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C8D9C: - .4byte _080C8DB0 - .4byte _080C8DEC - .4byte _080C8E4C - .4byte _080C8E64 - .4byte _080C8E88 -_080C8DB0: - movs r0, 0x6 - bl sub_80CAC58 - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r1, =0x00001e5c - adds r0, r1 - ldr r2, =0x0000dac7 - movs r1, 0 - str r1, [sp] - movs r1, 0xA - movs r3, 0x3 - bl sub_80C77E8 - ldr r0, =gUnknown_02039D0E - ldrb r0, [r0] - bl sub_80C78D4 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - b _080C8EA0 - .pool -_080C8DEC: - bl sub_80C78F0 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r0, 0xC8 - beq _080C8EA2 - cmp r0, 0xC9 - bne _080C8E0C - bl sub_80CADC4 - bl sub_80C78E4 - bl sub_80C7890 - b _080C8E7A -_080C8E0C: - adds r0, r4, 0 - bl sub_80CE19C - lsls r0, 24 - cmp r0, 0 - beq _080C8E38 - ldr r0, =gUnknown_02039D0E - strb r4, [r0] - bl sub_80CADC4 - bl sub_80C78E4 - bl sub_80C7890 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x2 - b _080C8EA0 - .pool -_080C8E38: - movs r0, 0x8 - bl sub_80CAC58 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x4 - b _080C8EA0 - .pool -_080C8E4C: - bl CompactPartySlots - bl sub_80CB950 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _080C8EA0 - .pool -_080C8E64: - bl sub_80CB9BC - lsls r0, 24 - cmp r0, 0 - bne _080C8EA2 - bl sub_80CE22C - bl BoxSetMosaic - bl sub_80CAB20 -_080C8E7A: - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C8EA2 - .pool -_080C8E88: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C8EA2 - movs r0, 0x6 - bl sub_80CAC58 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x1 -_080C8EA0: - strb r0, [r1] -_080C8EA2: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C8D78 - - thumb_func_start sub_80C8EB4 -sub_80C8EB4: @ 80C8EB4 - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xD - bls _080C8EC2 - b _080C9096 -_080C8EC2: - lsls r0, 2 - ldr r1, =_080C8ED4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C8ED4: - .4byte _080C8F0C - .4byte _080C8F22 - .4byte _080C8F5A - .4byte _080C8F80 - .4byte _080C8F8C - .4byte _080C8FA4 - .4byte _080C8FE0 - .4byte _080C8FF8 - .4byte _080C9004 - .4byte _080C9008 - .4byte _080C901C - .4byte _080C9038 - .4byte _080C904A - .4byte _080C9080 -_080C8F0C: - movs r0, 0x9 - bl sub_80CAC58 - movs r0, 0x1 - bl sub_80CAD9C - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080C8F22: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080C8F4C - cmp r1, 0 - bgt _080C8F40 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080C8F46 - b _080C9096 - .pool -_080C8F40: - cmp r1, 0x1 - beq _080C8F46 - b _080C9096 -_080C8F46: - bl sub_80CADC4 - b _080C8FF8 -_080C8F4C: - bl sub_80CADC4 - bl sub_80CE3A0 - bl sub_80CE250 - b _080C905C -_080C8F5A: - bl sub_80CE580 - bl sub_80CE2A8 - lsls r0, 24 - cmp r0, 0 - beq _080C8F6A - b _080C9096 -_080C8F6A: - b _080C8F72 -_080C8F6C: - cmp r0, 0 - bne _080C8F72 - b _080C9070 -_080C8F72: - bl sub_80CE580 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080C8F6C - b _080C905C -_080C8F80: - bl sub_80CE2D8 - bl sub_80CA230 - movs r0, 0xA - b _080C9058 -_080C8F8C: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - bne _080C8F9A - b _080C9096 -_080C8F9A: - movs r0, 0xB - b _080C9058 - .pool -_080C8FA4: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C9096 - bl sub_80CADC4 - ldr r0, =gUnknown_02039D0C - ldrb r0, [r0] - cmp r0, 0 - beq _080C8FD0 - bl CompactPartySlots - bl sub_80CB950 - b _080C905C - .pool -_080C8FD0: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x7 - strb r0, [r1] - b _080C9096 - .pool -_080C8FE0: - bl sub_80CB9BC - lsls r0, 24 - cmp r0, 0 - bne _080C9096 - bl sub_80CE00C - bl BoxSetMosaic - bl sub_80CAB20 - b _080C905C -_080C8FF8: - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C9096 - .pool -_080C9004: - movs r0, 0xA - b _080C9058 -_080C9008: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C9096 - movs r0, 0x15 - b _080C9058 - .pool -_080C901C: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C9096 - bl sub_80CADC4 - bl sub_80CC064 - b _080C905C - .pool -_080C9038: - bl sub_80CC0A0 - lsls r0, 24 - cmp r0, 0 - bne _080C9096 - bl sub_80CE324 - movs r0, 0x13 - b _080C9058 -_080C904A: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C9096 - movs r0, 0x14 -_080C9058: - bl sub_80CAC58 -_080C905C: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C9096 - .pool -_080C9070: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x8 - strb r0, [r1] - b _080C9096 - .pool -_080C9080: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C9096 - bl sub_80CADC4 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C9096: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C8EB4 - - thumb_func_start sub_80C90A4 -sub_80C90A4: @ 80C90A4 - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _080C90BC - cmp r0, 0x1 - beq _080C90F0 - b _080C9118 - .pool -_080C90BC: - movs r0, 0xC - bl sub_80CAC58 - ldr r0, [r4] - ldr r2, =0x00000ceb - adds r1, r0, r2 - ldrb r1, [r1] - ldr r3, =0x00000da8 - adds r0, r3 - strb r1, [r0] - ldr r0, [r4] - adds r0, r2 - ldrb r0, [r0] - movs r1, 0xB0 - movs r2, 0x10 - bl sub_811FAA4 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C9118 - .pool -_080C90F0: - bl sub_811FBA4 - lsls r0, 24 - cmp r0, 0 - bne _080C9118 - bl sub_811FAF8 - bl sub_80CADC4 - ldr r0, [r4] - ldr r1, =0x00000da8 - adds r0, r1 - ldrb r0, [r0] - bl sub_80CE9A8 - bl sub_80CA230 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C9118: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C90A4 - - thumb_func_start sub_80C9128 -sub_80C9128: @ 80C9128 - push {r4,r5,lr} - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldrb r1, [r0] - cmp r1, 0x1 - beq _080C9174 - cmp r1, 0x1 - bgt _080C9144 - cmp r1, 0 - beq _080C914E - b _080C91D2 - .pool -_080C9144: - cmp r1, 0x2 - beq _080C919C - cmp r1, 0x3 - beq _080C91C2 - b _080C91D2 -_080C914E: - ldr r1, =0x00000ce6 - adds r0, r1 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - bne _080C9168 - bl sub_80CADC4 - b _080C91B8 - .pool -_080C9168: - ldr r0, =sub_80C96B8 - bl add_to_c3_somehow - b _080C91D2 - .pool -_080C9174: - movs r0, 0x2 - bl sub_80CFE54 - ldr r0, =gUnknown_02039D0C - ldrb r0, [r0] - negs r4, r0 - orrs r4, r0 - lsrs r4, 31 - bl sub_80CFE08 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80D0E90 - b _080C91B8 - .pool -_080C919C: - bl sub_80D1218 - lsls r0, 24 - cmp r0, 0 - bne _080C91D2 - movs r0, 0x3 - bl sub_80CFE54 - bl sub_80CADC4 - bl sub_80CE00C - bl sub_80CA4FC -_080C91B8: - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C91D2 -_080C91C2: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C91D2 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C91D2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9128 - - thumb_func_start sub_80C91DC -sub_80C91DC: @ 80C91DC - push {r4,lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x4 - bhi _080C928C - lsls r0, 2 - ldr r1, =_080C91FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C91FC: - .4byte _080C9264 - .4byte _080C9210 - .4byte _080C9238 - .4byte _080C9258 - .4byte _080C927C -_080C9210: - movs r0, 0x2 - bl sub_80CFE54 - ldr r0, =gUnknown_02039D0C - ldrb r0, [r0] - negs r4, r0 - orrs r4, r0 - lsrs r4, 31 - bl sub_80CFE08 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80D1080 - b _080C9268 - .pool -_080C9238: - bl sub_80D1218 - lsls r0, 24 - cmp r0, 0 - bne _080C928C - movs r0, 0 - bl sub_80CFE54 - bl sub_80CE00C - bl sub_80CA4FC - movs r0, 0x1C - bl sub_80CAC58 - b _080C9268 -_080C9258: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C928C -_080C9264: - bl sub_80CADC4 -_080C9268: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C928C - .pool -_080C927C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C928C - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C928C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C91DC - - thumb_func_start sub_80C9298 -sub_80C9298: @ 80C9298 - push {r4,r5,lr} - ldr r1, =gUnknown_02039D08 - ldr r0, [r1] - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0x4 - bls _080C92A8 - b _080C93A2 -_080C92A8: - lsls r0, 2 - ldr r1, =_080C92BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C92BC: - .4byte _080C92D0 - .4byte _080C9328 - .4byte _080C9348 - .4byte _080C938C - .4byte _080C9374 -_080C92D0: - ldr r0, [r5] - ldr r1, =0x00000ce6 - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - bne _080C92FC - movs r0, 0x20 - bl PlaySE - movs r0, 0x1A - bl sub_80CAC58 - ldr r1, [r5] - movs r0, 0x3 - strb r0, [r1] - b _080C93A2 - .pool -_080C92FC: - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_02039D0C - ldrb r0, [r0] - negs r4, r0 - orrs r4, r0 - lsrs r4, 31 - bl sub_80CFE08 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80D1114 - ldr r1, [r5] - movs r0, 0x1 - strb r0, [r1] - b _080C93A2 - .pool -_080C9328: - bl sub_80D1218 - lsls r0, 24 - cmp r0, 0 - bne _080C93A2 - movs r0, 0x19 - bl sub_80CAC58 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1] - b _080C93A2 - .pool -_080C9348: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C93A2 - bl sub_80CADC4 - bl sub_80CE00C - bl sub_80CA4FC - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x4 - strb r0, [r1] - b _080C93A2 - .pool -_080C9374: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C93A2 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C93A2 - .pool -_080C938C: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C93A2 - bl sub_80CADC4 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C93A2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9298 - - thumb_func_start sub_80C93B0 -sub_80C93B0: @ 80C93B0 - push {r4,lr} - ldr r1, =gUnknown_02039D08 - ldr r0, [r1] - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _080C948C - lsls r0, 2 - ldr r1, =_080C93D0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C93D0: - .4byte _080C93E4 - .4byte _080C9410 - .4byte _080C9438 - .4byte _080C9458 - .4byte _080C947C -_080C93E4: - ldr r0, [r4] - ldr r1, =0x00000ce6 - adds r0, r1 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - bne _080C9404 - bl sub_80CADC4 - ldr r1, [r4] - b _080C946C - .pool -_080C9404: - ldr r0, =sub_80C96B8 - bl add_to_c3_somehow - b _080C948C - .pool -_080C9410: - movs r0, 0x2 - bl sub_80CFE54 - ldr r0, =gUnknown_02039D0C - ldrb r0, [r0] - negs r4, r0 - orrs r4, r0 - lsrs r4, 31 - bl sub_80CFE08 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80D0FAC - b _080C9468 - .pool -_080C9438: - bl sub_80D1218 - lsls r0, 24 - cmp r0, 0 - bne _080C948C - movs r0, 0x3 - bl sub_80CFE54 - bl sub_80CE00C - bl sub_80CA4FC - movs r0, 0x1D - bl sub_80CAC58 - b _080C9468 -_080C9458: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C948C - bl sub_80CADC4 -_080C9468: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] -_080C946C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C948C - .pool -_080C947C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C948C - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C948C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C93B0 - - thumb_func_start sub_80C9498 -sub_80C9498: @ 80C9498 - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x6 - bhi _080C9544 - lsls r0, 2 - ldr r1, =_080C94B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C94B8: - .4byte _080C94D4 - .4byte _080C94DA - .4byte _080C94F4 - .4byte _080C94FA - .4byte _080C9500 - .4byte _080C9518 - .4byte _080C9534 -_080C94D4: - bl sub_80CADC4 - b _080C9522 -_080C94DA: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C9544 - movs r0, 0x6 - bl PlaySE - bl sub_80D17B4 - bl sub_80D1818 - b _080C9522 -_080C94F4: - bl sub_80D184C - b _080C951C -_080C94FA: - bl IsDma3ManagerBusyWithBgCopy - b _080C951C -_080C9500: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C9544 - movs r0, 0x6 - bl PlaySE - b _080C9522 - .pool -_080C9518: - bl sub_80D18E4 -_080C951C: - lsls r0, 24 - cmp r0, 0 - bne _080C9544 -_080C9522: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C9544 - .pool -_080C9534: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C9544 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C9544: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9498 - - thumb_func_start sub_80C954C -sub_80C954C: @ 80C954C - push {r4,lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x5 - bls _080C955A - b _080C9664 -_080C955A: - lsls r0, 2 - ldr r1, =_080C956C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C956C: - .4byte _080C9584 - .4byte _080C95A4 - .4byte _080C9602 - .4byte _080C9624 - .4byte _080C9638 - .4byte _080C9654 -_080C9584: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1B - bl sub_80CAC58 - movs r0, 0 - bl sub_80CAD9C - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1] - b _080C9664 - .pool -_080C95A4: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080C95C8 - cmp r1, 0 - bgt _080C95BE - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080C95C2 - b _080C9664 -_080C95BE: - cmp r1, 0x1 - bne _080C9664 -_080C95C2: - bl sub_80CADC4 - b _080C9648 -_080C95C8: - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r1, =0x00002234 - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C95F4 - bl sub_80CADC4 - ldr r1, [r4] - movs r0, 0x3 - strb r0, [r1] - b _080C9664 - .pool -_080C95F4: - movs r0, 0x1A - bl sub_80CAC58 - ldr r1, [r4] - movs r0, 0x2 - strb r0, [r1] - b _080C9664 -_080C9602: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C9664 - bl sub_80CADC4 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x5 - strb r0, [r1] - b _080C9664 - .pool -_080C9624: - bl sub_80D1194 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x4 - strb r0, [r1] - b _080C9664 - .pool -_080C9638: - bl sub_80D1218 - lsls r0, 24 - cmp r0, 0 - bne _080C9664 - movs r0, 0 - bl sub_80CFE54 -_080C9648: - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C9664 - .pool -_080C9654: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C9664 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C9664: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C954C - - thumb_func_start sub_80C9670 -sub_80C9670: @ 80C9670 - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _080C9688 - cmp r0, 0x1 - beq _080C969A - b _080C96AE - .pool -_080C9688: - bl CompactPartySlots - bl sub_80CB950 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C96AE -_080C969A: - bl sub_80CB9BC - lsls r0, 24 - cmp r0, 0 - bne _080C96AE - bl sub_80CAB20 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C96AE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9670 - - thumb_func_start sub_80C96B8 -sub_80C96B8: @ 80C96B8 - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0x1 - beq _080C96E6 - cmp r0, 0x1 - bgt _080C96D4 - cmp r0, 0 - beq _080C96DE - b _080C9720 - .pool -_080C96D4: - cmp r0, 0x2 - beq _080C96F2 - cmp r0, 0x3 - beq _080C9710 - b _080C9720 -_080C96DE: - movs r0, 0x1E - bl sub_80CAC58 - b _080C9702 -_080C96E6: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C9720 - b _080C9702 -_080C96F2: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C9720 - bl sub_80CADC4 -_080C9702: - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C9720 - .pool -_080C9710: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C9720 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C9720: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C96B8 - - thumb_func_start box_related -box_related: @ 80C972C - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0x1 - beq _080C9762 - cmp r0, 0x1 - bgt _080C9748 - cmp r0, 0 - beq _080C974E - b _080C9818 - .pool -_080C9748: - cmp r0, 0x2 - beq _080C9774 - b _080C9818 -_080C974E: - movs r0, 0x1 - bl sub_80CAC58 - bl sub_80CFFD0 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C9818 -_080C9762: - bl sub_80D00A8 - lsls r0, 24 - cmp r0, 0 - bne _080C9818 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080C9774: - bl sub_80D00AC - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bhi _080C9818 - lsls r0, 2 - ldr r1, =_080C9790 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C9790: - .4byte _080C97C4 - .4byte _080C97C4 - .4byte _080C9818 - .4byte _080C9818 - .4byte _080C9818 - .4byte _080C9818 - .4byte _080C9818 - .4byte _080C9818 - .4byte _080C9818 - .4byte _080C9818 - .4byte _080C9808 - .4byte _080C97F0 - .4byte _080C97DC -_080C97C4: - movs r0, 0x1 - bl sub_80CD1A8 - bl sub_80CADC4 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C9818 - .pool -_080C97DC: - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_80C9AC8 - bl add_to_c3_somehow - b _080C9818 - .pool -_080C97F0: - movs r0, 0x5 - bl PlaySE - bl sub_80CADC4 - ldr r0, =sub_80C9824 - bl add_to_c3_somehow - b _080C9818 - .pool -_080C9808: - movs r0, 0x5 - bl PlaySE - bl sub_80CADC4 - ldr r0, =sub_80C99D8 - bl add_to_c3_somehow -_080C9818: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end box_related - - thumb_func_start sub_80C9824 -sub_80C9824: @ 80C9824 - push {r4,r5,lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x6 - bls _080C9832 - b _080C99CC -_080C9832: - lsls r0, 2 - ldr r1, =_080C9844 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C9844: - .4byte _080C9860 - .4byte _080C9878 - .4byte _080C9894 - .4byte _080C990C - .4byte _080C993C - .4byte _080C9990 - .4byte _080C99AC -_080C9860: - bl sub_80CADD8 - movs r0, 0x2 - bl sub_80CAC58 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _080C99CA - .pool -_080C9878: - bl sub_80D00A8 - lsls r0, 24 - cmp r0, 0 - beq _080C9884 - b _080C99CC -_080C9884: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _080C99CA - .pool -_080C9894: - bl sub_80D00AC - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - ldr r5, =0x0000078e - adds r1, r5 - strh r0, [r1] - movs r0, 0 - ldrsh r1, [r1, r0] - cmp r1, 0x15 - bgt _080C98C0 - cmp r1, 0x12 - bge _080C98D2 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080C98C6 - b _080C99CC - .pool -_080C98C0: - cmp r1, 0x16 - beq _080C98EC - b _080C99CC -_080C98C6: - movs r0, 0x1 - bl sub_80CD1A8 - bl sub_80CADC4 - b _080C99A0 -_080C98D2: - movs r0, 0x5 - bl PlaySE - bl sub_80D013C - ldr r1, [r4] - adds r2, r1, r5 - ldrh r0, [r2] - subs r0, 0x12 - strh r0, [r2] - ldrb r0, [r1] - adds r0, 0x1 - b _080C99CA -_080C98EC: - movs r0, 0x5 - bl PlaySE - ldr r0, [r4] - movs r1, 0xF2 - lsls r1, 3 - adds r0, r1 - movs r1, 0x10 - strh r1, [r0] - bl sub_80D013C - bl sub_80CADC4 - ldr r1, [r4] - movs r0, 0x6 - b _080C99CA -_080C990C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C99CC - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r1, =0x0000078e - adds r0, r1 - ldrb r0, [r0] - bl sub_80CAE0C - movs r0, 0x3 - bl sub_80CAC58 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - b _080C99CA - .pool -_080C993C: - bl sub_80D00AC - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - movs r5, 0xF2 - lsls r5, 3 - adds r1, r5 - strh r0, [r1] - movs r0, 0 - ldrsh r1, [r1, r0] - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _080C99CC - adds r0, 0x1 - cmp r1, r0 - bne _080C996C - bl sub_80CADC4 - ldr r1, [r4] - movs r0, 0 - b _080C99CA - .pool -_080C996C: - movs r0, 0x5 - bl PlaySE - bl sub_80CADC4 - ldr r1, [r4] - adds r1, r5 - ldrh r0, [r1] - subs r0, 0x17 - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl sub_80CC680 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - b _080C99CA -_080C9990: - bl sub_80CC6B0 - lsls r0, 24 - cmp r0, 0 - bne _080C99CC - movs r0, 0x1 - bl sub_80CD1A8 -_080C99A0: - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C99CC - .pool -_080C99AC: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080C99CC - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - movs r1, 0xF2 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - bl sub_80CC680 - ldr r1, [r4] - movs r0, 0x5 -_080C99CA: - strb r0, [r1] -_080C99CC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9824 - - thumb_func_start sub_80C99D8 -sub_80C99D8: @ 80C99D8 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldrb r4, [r0] - cmp r4, 0x1 - beq _080C9A2C - cmp r4, 0x1 - bgt _080C99F4 - cmp r4, 0 - beq _080C99FE - b _080C9AB8 - .pool -_080C99F4: - cmp r4, 0x2 - beq _080C9A84 - cmp r4, 0x3 - beq _080C9A9C - b _080C9AB8 -_080C99FE: - movs r0, 0x5 - bl sub_80CAC58 - ldr r0, [r5] - ldr r1, =0x00001e5c - adds r0, r1 - ldr r2, =0x0000dac7 - str r4, [sp] - movs r1, 0xA - movs r3, 0x3 - bl sub_80C77E8 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - bl sub_80C78D4 - b _080C9A8E - .pool -_080C9A2C: - bl sub_80C78F0 - ldr r1, [r5] - lsls r0, 24 - lsrs r0, 24 - ldr r2, =0x000002ca - adds r1, r2 - strh r0, [r1] - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0xC8 - beq _080C9AB8 - bl sub_80CADC4 - bl sub_80C78E4 - bl sub_80C7890 - ldr r0, [r5] - ldr r2, =0x000002ca - adds r1, r0, r2 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0xC9 - beq _080C9A6C - adds r4, r0, 0 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080C9A8E -_080C9A6C: - movs r0, 0x1 - bl sub_80CD1A8 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C9AB8 - .pool -_080C9A84: - ldr r1, =0x000002ca - adds r0, r1 - ldrb r0, [r0] - bl sub_80CC464 -_080C9A8E: - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C9AB8 - .pool -_080C9A9C: - bl sub_80CC54C - lsls r0, 24 - cmp r0, 0 - bne _080C9AB8 - ldr r0, [r5] - ldr r2, =0x000002ca - adds r0, r2 - ldrb r0, [r0] - bl SetCurrentBox - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow -_080C9AB8: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C99D8 - - thumb_func_start sub_80C9AC8 -sub_80C9AC8: @ 80C9AC8 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldrb r4, [r0] - cmp r4, 0 - beq _080C9AE0 - cmp r4, 0x1 - beq _080C9AFE - b _080C9B18 - .pool -_080C9AE0: - bl sub_80CE760 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C9B18 -_080C9AFE: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080C9B18 - ldr r0, =gUnknown_02039D0F - strb r4, [r0] - ldr r1, [r5] - movs r0, 0x2 - strb r0, [r1, 0x2] - ldr r0, =sub_80C9E50 - bl add_to_c3_somehow -_080C9B18: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9AC8 - - thumb_func_start sub_80C9B28 -sub_80C9B28: @ 80C9B28 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldrb r4, [r0] - cmp r4, 0 - beq _080C9B40 - cmp r4, 0x1 - beq _080C9B5E - b _080C9B78 - .pool -_080C9B40: - bl sub_80CE7E8 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C9B78 -_080C9B5E: - bl UpdatePaletteFade - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080C9B78 - ldr r0, =gUnknown_02039D0F - strb r1, [r0] - ldr r0, [r5] - strb r4, [r0, 0x2] - ldr r0, =sub_80C9E50 - bl add_to_c3_somehow -_080C9B78: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9B28 - - thumb_func_start sub_80C9B88 -sub_80C9B88: @ 80C9B88 - push {r4,lr} - sub sp, 0x4 - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldrb r1, [r0] - cmp r1, 0 - beq _080C9BA0 - cmp r1, 0x1 - beq _080C9BBA - b _080C9BD6 - .pool -_080C9BA0: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C9BD6 -_080C9BBA: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080C9BD6 - ldr r1, =gUnknown_02039D0F - movs r0, 0x2 - strb r0, [r1] - ldr r1, [r4] - movs r0, 0x3 - strb r0, [r1, 0x2] - ldr r0, =sub_80C9E50 - bl add_to_c3_somehow -_080C9BD6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9B88 - - thumb_func_start sub_80C9BE8 -sub_80C9BE8: @ 80C9BE8 - push {r4,lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x4 - bls _080C9BF6 - b _080C9D08 -_080C9BF6: - lsls r0, 2 - ldr r1, =_080C9C08 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C9C08: - .4byte _080C9C1C - .4byte _080C9C78 - .4byte _080C9C8C - .4byte _080C9CC8 - .4byte _080C9CE4 -_080C9C1C: - bl sub_80CEAD0 - lsls r0, 24 - cmp r0, 0 - beq _080C9C40 - movs r0, 0x20 - bl PlaySE - movs r0, 0xF - bl sub_80CAC58 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1] - b _080C9D08 - .pool -_080C9C40: - bl sub_80D127C - lsls r0, 24 - cmp r0, 0 - beq _080C9C58 - ldr r0, =sub_80C954C - bl add_to_c3_somehow - b _080C9D08 - .pool -_080C9C58: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_80CAC58 - movs r0, 0 - bl sub_80CAD9C - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1] - b _080C9D08 - .pool -_080C9C78: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C9D08 - b _080C9CAA - .pool -_080C9C8C: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080C9CBC - cmp r1, 0 - bgt _080C9CA6 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080C9CAA - b _080C9D08 -_080C9CA6: - cmp r1, 0x1 - bne _080C9D08 -_080C9CAA: - bl sub_80CADC4 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C9D08 - .pool -_080C9CBC: - movs r0, 0x3 - bl PlaySE - bl sub_80CADC4 - b _080C9CD2 -_080C9CC8: - movs r0, 0x14 - movs r1, 0 - movs r2, 0x1 - bl sub_80F9BF4 -_080C9CD2: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C9D08 - .pool -_080C9CE4: - bl sub_80F9C30 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080C9D08 - bl sub_80CABE0 - bl CalculatePlayerPartyCount - ldr r1, =gPlayerPartyCount - strb r0, [r1] - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - strb r4, [r0, 0x2] - ldr r0, =sub_80C9E50 - bl add_to_c3_somehow -_080C9D08: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9BE8 - - thumb_func_start sub_80C9D1C -sub_80C9D1C: @ 80C9D1C - push {r4,lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x4 - bls _080C9D2A - b _080C9E3C -_080C9D2A: - lsls r0, 2 - ldr r1, =_080C9D3C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C9D3C: - .4byte _080C9D50 - .4byte _080C9DAC - .4byte _080C9DC0 - .4byte _080C9DFC - .4byte _080C9E18 -_080C9D50: - bl sub_80CEAD0 - lsls r0, 24 - cmp r0, 0 - beq _080C9D74 - movs r0, 0x20 - bl PlaySE - movs r0, 0xF - bl sub_80CAC58 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1] - b _080C9E3C - .pool -_080C9D74: - bl sub_80D127C - lsls r0, 24 - cmp r0, 0 - beq _080C9D8C - ldr r0, =sub_80C954C - bl add_to_c3_somehow - b _080C9E3C - .pool -_080C9D8C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x12 - bl sub_80CAC58 - movs r0, 0 - bl sub_80CAD9C - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1] - b _080C9E3C - .pool -_080C9DAC: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _080C9E3C - b _080C9DE0 - .pool -_080C9DC0: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080C9DE0 - cmp r1, 0 - bgt _080C9DDA - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080C9DF0 - b _080C9E3C -_080C9DDA: - cmp r1, 0x1 - beq _080C9DF0 - b _080C9E3C -_080C9DE0: - bl sub_80CADC4 - ldr r0, =task_pokemon_box_related - bl add_to_c3_somehow - b _080C9E3C - .pool -_080C9DF0: - movs r0, 0x3 - bl PlaySE - bl sub_80CADC4 - b _080C9E06 -_080C9DFC: - movs r0, 0x14 - movs r1, 0 - movs r2, 0 - bl sub_80F9BF4 -_080C9E06: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C9E3C - .pool -_080C9E18: - bl sub_80F9C30 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080C9E3C - bl sub_80CABE0 - bl CalculatePlayerPartyCount - ldr r1, =gPlayerPartyCount - strb r0, [r1] - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - strb r4, [r0, 0x2] - ldr r0, =sub_80C9E50 - bl add_to_c3_somehow -_080C9E3C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9D1C - - thumb_func_start sub_80C9E50 -sub_80C9E50: @ 80C9E50 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r4, [r0, 0x2] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080C9E88 - bl sub_80D127C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C9E88 - bl sub_80D12D4 - ldr r1, =gUnknown_02039D12 - b _080C9E8C - .pool -_080C9E88: - ldr r1, =gUnknown_02039D12 - movs r0, 0 -_080C9E8C: - strh r0, [r1] - cmp r4, 0x1 - beq _080C9EB4 - cmp r4, 0x1 - ble _080C9E9E - cmp r4, 0x2 - beq _080C9F1C - cmp r4, 0x3 - beq _080C9F48 -_080C9E9E: - bl sub_80C9FC8 - ldr r0, =sub_80C7678 - bl SetMainCallback2 - b _080C9F56 - .pool -_080C9EB4: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r2, =0x0000218c - adds r0, r1, r2 - ldr r4, [r0] - subs r2, 0x5 - adds r0, r1, r2 - ldrb r7, [r0] - subs r2, 0x1 - adds r0, r1, r2 - ldrb r6, [r0] - ldr r0, =0x00002188 - adds r1, r0 - ldrb r5, [r1] - bl sub_80C9FC8 - cmp r5, 0 - bne _080C9F04 - ldr r0, =gUnknown_02039D14 - cmp r4, r0 - bne _080C9F04 - ldr r0, =c2_808CE60 - str r0, [sp] - movs r0, 0 - adds r1, r4, 0 - adds r2, r7, 0 - adds r3, r6, 0 - bl ShowPokemonSummaryScreenSet40EF - b _080C9F56 - .pool -_080C9F04: - ldr r0, =c2_808CE60 - str r0, [sp] - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r7, 0 - adds r3, r6, 0 - bl ShowPokemonSummaryScreen - b _080C9F56 - .pool -_080C9F1C: - bl sub_80C9FC8 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0 - str r0, [sp] - ldr r0, =c2_808CE60 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DoNamingScreen - b _080C9F56 - .pool -_080C9F48: - bl sub_80C9FC8 - ldr r2, =c2_808CE60 - movs r0, 0xB - movs r1, 0 - bl GoToBagMenu -_080C9F56: - mov r0, r8 - bl DestroyTask - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9E50 - - thumb_func_start sub_80C9F6C -sub_80C9F6C: @ 80C9F6C - push {lr} - sub sp, 0x4 - ldr r0, =gSpecialVar_ItemId - ldrh r1, [r0] - mov r0, sp - strh r1, [r0] - cmp r1, 0 - beq _080C9FC0 - bl sub_80CFE08 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, =gUnknown_02039D0C - ldrb r0, [r0] - cmp r0, 0 - beq _080C9FAC - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xC - mov r2, sp - bl SetMonData - b _080C9FB6 - .pool -_080C9FAC: - adds r0, r1, 0 - movs r1, 0xC - mov r2, sp - bl SetBoxMonDataFromSelectedBox -_080C9FB6: - mov r0, sp - ldrh r0, [r0] - movs r1, 0x1 - bl RemoveBagItem -_080C9FC0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80C9F6C - - thumb_func_start sub_80C9FC8 -sub_80C9FC8: @ 80C9FC8 - push {r4,lr} - bl sub_80D25F0 - bl sub_80D01B8 - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - bl FreeAllWindowBuffers - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9FC8 - - thumb_func_start sub_80C9FEC -sub_80C9FEC: @ 80C9FEC - push {lr} - sub sp, 0x4 - ldr r1, =0x00001f0f - movs r0, 0xE - bl SetGpuReg - ldr r1, =gUnknown_085720DC - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r0, =gUnknown_08572174 - ldr r1, =0x0600f800 - bl LZ77UnCompVram - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C9FEC - - thumb_func_start sub_80CA028 -sub_80CA028: @ 80CA028 - push {lr} - movs r0, 0x3 - movs r1, 0x80 - movs r2, 0x1 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0x80 - movs r2, 0x2 - bl ChangeBgY - pop {r0} - bx r0 - thumb_func_end sub_80CA028 - - thumb_func_start sub_80CA044 -sub_80CA044: @ 80CA044 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, =gUnknown_08572734 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r1, =gPSSMenu_Gfx - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r0, =gUnknown_085722A0 - ldr r5, =gUnknown_02039D08 - ldr r1, [r5] - ldr r4, =0x00005ac4 - adds r1, r4 - bl LZ77UnCompWram - ldr r1, [r5] - adds r1, r4 - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r0, 0x1 - bl ShowBg - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA044 - - thumb_func_start sub_80CA0A4 -sub_80CA0A4: @ 80CA0A4 - push {lr} - ldr r0, =gUnknown_08572714 - bl InitWindows - lsls r0, 16 - cmp r0, 0 - beq _080CA0C0 - bl DeactivateAllTextPrinters - movs r0, 0x1 - b _080CA0C2 - .pool -_080CA0C0: - movs r0, 0 -_080CA0C2: - pop {r1} - bx r1 - thumb_func_end sub_80CA0A4 - - thumb_func_start sub_80CA0C8 -sub_80CA0C8: @ 80CA0C8 - push {lr} - ldr r0, =gWaveformSpritePalette - bl LoadSpritePalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA0C8 - - thumb_func_start sub_80CA0D8 -sub_80CA0D8: @ 80CA0D8 - push {lr} - ldr r0, =gUnknown_085723DC - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085723FC - movs r1, 0x20 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085726F4 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - beq _080CA124 - ldr r0, =gUnknown_0857241C - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette - b _080CA12E - .pool -_080CA124: - ldr r0, =gUnknown_0857243C - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette -_080CA12E: - ldr r1, =0x00001e05 - movs r0, 0xA - bl SetGpuReg - bl sub_80CA318 - bl sub_80CA154 - bl sub_80CA1C4 - bl sub_80CA230 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA0D8 - - thumb_func_start sub_80CA154 -sub_80CA154: @ 80CA154 - push {r4,lr} - ldr r1, =0x0000dac8 - movs r0, 0x10 - movs r2, 0 - bl sub_811FFB4 - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - ldr r3, =0x00000d94 - adds r1, r3 - str r0, [r1] - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r0, [r4] - adds r0, r3 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, r3 - ldr r2, [r0] - movs r1, 0x28 - strh r1, [r2, 0x20] - ldr r1, [r0] - movs r0, 0x96 - strh r0, [r1, 0x22] - movs r0, 0x10 - bl GetSpriteTileStartByTag - ldr r1, [r4] - movs r2, 0xDA - lsls r2, 4 - adds r1, r2 - lsls r0, 16 - lsrs r0, 11 - ldr r2, =0x06010000 - adds r0, r2 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA154 - - thumb_func_start sub_80CA1C4 -sub_80CA1C4: @ 80CA1C4 - push {r4,lr} - sub sp, 0x8 - ldr r0, =gWaveformSpriteSheet - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - movs r4, 0 -_080CA1DA: - lsls r1, r4, 6 - subs r1, r4 - adds r1, 0x8 - lsls r1, 16 - asrs r1, 16 - ldr r0, =gUnknown_085728BC - movs r2, 0x9 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039D08 - ldr r2, [r1] - lsls r1, r4, 2 - ldr r3, =0x00000d98 - adds r2, r3 - adds r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080CA1DA - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA1C4 - - thumb_func_start sub_80CA230 -sub_80CA230: @ 80CA230 - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r2, =0x00000ce4 - adds r0, r1, r2 - ldrh r0, [r0] - subs r2, 0x4 - adds r1, r2 - ldr r1, [r1] - bl sub_80CA44C - bl sub_80CA4FC - bl sub_80CA65C - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA230 - - thumb_func_start BoxSetMosaic -BoxSetMosaic: @ 80CA260 - push {lr} - bl sub_80CA230 - ldr r3, =gUnknown_02039D08 - ldr r0, [r3] - movs r1, 0x89 - lsls r1, 6 - adds r0, r1 - ldr r2, [r0] - cmp r2, 0 - beq _080CA2AC - ldrb r0, [r2, 0x1] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r1, [r3] - movs r0, 0x89 - lsls r0, 6 - adds r1, r0 - ldr r2, [r1] - movs r0, 0xA - strh r0, [r2, 0x2E] - ldr r2, [r1] - movs r0, 0x1 - strh r0, [r2, 0x30] - ldr r2, [r1] - ldr r0, =BoxSetMosaic2 - str r0, [r2, 0x1C] - ldr r0, [r1] - ldrh r0, [r0, 0x2E] - lsls r1, r0, 12 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg -_080CA2AC: - pop {r0} - bx r0 - .pool - thumb_func_end BoxSetMosaic - - thumb_func_start sub_80CA2B8 -sub_80CA2B8: @ 80CA2B8 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r1, 0x89 - lsls r1, 6 - adds r0, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - lsls r0, 27 - lsrs r0, 31 - bx lr - .pool - thumb_func_end sub_80CA2B8 - - thumb_func_start BoxSetMosaic2 -BoxSetMosaic2: @ 80CA2D0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - subs r0, r1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bge _080CA2E6 - movs r0, 0 - strh r0, [r4, 0x2E] -_080CA2E6: - ldrh r0, [r4, 0x2E] - lsls r1, r0, 12 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080CA30E - ldrb r0, [r4, 0x1] - movs r1, 0x11 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x1] - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_080CA30E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end BoxSetMosaic2 - - thumb_func_start sub_80CA318 -sub_80CA318: @ 80CA318 - push {r4-r7,lr} - sub sp, 0x28 - ldr r0, =gUnknown_02039D08 - mov r12, r0 - ldr r1, [r0] - ldr r4, =0x000022c4 - adds r0, r1, r4 - str r0, [sp, 0x18] - add r3, sp, 0x18 - movs r0, 0x82 - lsls r0, 10 - str r0, [r3, 0x4] - ldr r5, =0x00002244 - adds r1, r5 - str r1, [sp, 0x20] - ldr r0, =0x0000dac6 - add r2, sp, 0x20 - str r0, [r2, 0x4] - mov r1, sp - ldr r0, =gUnknown_08572754 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - movs r6, 0 - adds r7, r2, 0 - mov r5, r12 - movs r2, 0 - ldr r1, =0x000007ff -_080CA352: - ldr r0, [r5] - adds r0, r4 - adds r0, r6 - strb r2, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, r1 - bls _080CA352 - movs r6, 0 - ldr r5, =gUnknown_02039D08 - ldr r4, =0x00002244 - movs r2, 0 -_080CA36C: - ldr r0, [r5] - lsls r1, r6, 1 - adds r0, r4 - adds r0, r1 - strh r2, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0xF - bls _080CA36C - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r6, 0x89 - lsls r6, 6 - adds r0, r6 - movs r1, 0 - str r1, [r0] - adds r0, r3, 0 - bl LoadSpriteSheet - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _080CA420 - adds r0, r7, 0 - bl LoadSpritePalette - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - beq _080CA420 - b _080CA40C - .pool -_080CA3C4: - ldr r0, =gUnknown_02039D08 - ldr r2, [r0] - movs r7, 0x89 - lsls r7, 6 - adds r3, r2, r7 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r3] - lsls r0, r4, 4 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldr r3, =0x0000223a - adds r1, r2, r3 - strh r0, [r1] - ldr r6, =0x0000223c - adds r2, r6 - lsls r0, r5, 5 - ldr r7, =0x06010000 - adds r0, r7 - str r0, [r2] - b _080CA420 - .pool -_080CA40C: - mov r0, sp - movs r1, 0x28 - movs r2, 0x30 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - bne _080CA3C4 -_080CA420: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r1, 0x89 - lsls r1, 6 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _080CA43C - movs r0, 0x2 - bl FreeSpriteTilesByTag - ldr r0, =0x0000dac6 - bl FreeSpritePaletteByTag -_080CA43C: - add sp, 0x28 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA318 - - thumb_func_start sub_80CA44C -sub_80CA44C: @ 80CA44C - push {r4-r7,lr} - sub sp, 0x4 - adds r3, r1, 0 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r6, =gUnknown_02039D08 - ldr r2, [r6] - movs r7, 0x89 - lsls r7, 6 - adds r0, r2, r7 - ldr r0, [r0] - cmp r0, 0 - beq _080CA4F2 - cmp r4, 0 - beq _080CA4E8 - lsls r0, r4, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r5, =0x000022c4 - adds r1, r2, r5 - movs r2, 0x1 - str r2, [sp] - adds r2, r4, 0 - bl LoadSpecialPokePic - ldr r1, [r6] - ldr r2, =0x00000cdc - adds r0, r1, r2 - ldr r0, [r0] - ldr r4, =0x00002244 - adds r1, r4 - bl LZ77UnCompWram - ldr r0, [r6] - adds r5, r0, r5 - ldr r1, =0x0000223c - adds r0, r1 - ldr r1, [r0] - ldr r2, =0x04000200 - adds r0, r5, 0 - bl CpuSet - ldr r0, [r6] - adds r4, r0, r4 - ldr r2, =0x0000223a - adds r0, r2 - ldrh r1, [r0] - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, [r6] - adds r0, r7 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - b _080CA4F2 - .pool -_080CA4E8: - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080CA4F2: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80CA44C - - thumb_func_start sub_80CA4FC -sub_80CA4FC: @ 80CA4FC - push {r4-r6,lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r6, =gUnknown_02039D08 - ldr r2, [r6] - ldrb r0, [r2, 0x1] - cmp r0, 0x3 - beq _080CA588 - ldr r0, =0x00000cf9 - adds r2, r0 - movs r4, 0 - str r4, [sp] - movs r5, 0xFF - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r3, 0x6 - bl AddTextPrinterParameterized - ldr r2, [r6] - ldr r1, =0x00000d1d - adds r2, r1 - movs r0, 0xF - str r0, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x2 - movs r3, 0x6 - bl AddTextPrinterParameterized - ldr r2, [r6] - ldr r0, =0x00000d41 - adds r2, r0 - movs r0, 0x1D - str r0, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x2 - movs r3, 0xA - bl AddTextPrinterParameterized - ldr r2, [r6] - ldr r1, =0x00000d65 - adds r2, r1 - movs r0, 0x2B - str r0, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r3, 0x6 - bl AddTextPrinterParameterized - b _080CA5E8 - .pool -_080CA588: - ldr r0, =0x00000d65 - adds r2, r0 - movs r4, 0 - str r4, [sp] - movs r5, 0xFF - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r3, 0x6 - bl AddTextPrinterParameterized - ldr r2, [r6] - ldr r1, =0x00000cf9 - adds r2, r1 - movs r0, 0xD - str r0, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r3, 0x6 - bl AddTextPrinterParameterized - ldr r2, [r6] - ldr r0, =0x00000d1d - adds r2, r0 - movs r0, 0x1C - str r0, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x2 - movs r3, 0x6 - bl AddTextPrinterParameterized - ldr r2, [r6] - ldr r1, =0x00000d41 - adds r2, r1 - movs r0, 0x2A - str r0, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x2 - movs r3, 0xA - bl AddTextPrinterParameterized -_080CA5E8: - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - ldr r2, =0x00000ce4 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, 0 - beq _080CA640 - adds r2, 0x7 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0xB5 - adds r1, r2 - ldr r1, [r1] - bl sub_8120084 - ldr r0, [r4] - ldr r1, =0x00000d94 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - b _080CA64E - .pool -_080CA640: - ldr r2, =0x00000d94 - adds r0, r1, r2 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 -_080CA64E: - strb r0, [r1] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA4FC - - thumb_func_start sub_80CA65C -sub_80CA65C: @ 80CA65C - push {r4,lr} - sub sp, 0x4 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000ce4 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080CA6B4 - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x8 - bl sub_80D27AC - movs r4, 0 -_080CA680: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r4, 2 - ldr r2, =0x00000d98 - adds r0, r2 - adds r0, r1 - ldr r0, [r0] - lsls r1, r4, 1 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnimIfDifferent - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080CA680 - b _080CA6E6 - .pool -_080CA6B4: - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x8 - bl sub_80D27AC - movs r4, 0 -_080CA6C6: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r4, 2 - ldr r2, =0x00000d98 - adds r0, r2 - adds r0, r1 - ldr r0, [r0] - lsls r1, r4, 25 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080CA6C6 -_080CA6E6: - movs r0, 0 - bl sub_80D2918 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA65C - - thumb_func_start sub_80CA704 -sub_80CA704: @ 80CA704 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gUnknown_08DD36C8 - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - adds r1, 0xB0 - bl LZ77UnCompWram - ldr r0, =gPSSMenu_Pal - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r2, [r4] - adds r2, 0xB0 - movs r0, 0x16 - str r0, [sp] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0xC - bl sub_80D2644 - ldr r2, =gUnknown_0857245C - movs r0, 0x4 - str r0, [sp] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0x9 - bl sub_80D2644 - movs r0, 0x1 - movs r1, 0xA - movs r2, 0 - bl sub_80D2770 - movs r0, 0x2 - movs r1, 0x15 - movs r2, 0 - bl sub_80D2770 - bl sub_80CAA74 - ldr r0, =gUnknown_02039D0C - ldrb r0, [r0] - cmp r0, 0 - beq _080CA790 - movs r0, 0x1 - bl sub_80CA984 - movs r0, 0x1 - bl sub_80CB7E8 - movs r0, 0x2 - bl sub_80D2918 - movs r0, 0x1 - bl sub_80D2918 - b _080CA7B2 - .pool -_080CA790: - movs r0, 0x2 - str r0, [sp] - movs r0, 0x1 - movs r1, 0 - movs r2, 0x14 - movs r3, 0xC - bl sub_80D27AC - movs r0, 0x1 - bl sub_80CA984 - movs r0, 0x1 - bl sub_80D2918 - movs r0, 0x2 - bl sub_80D2918 -_080CA7B2: - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x000002c7 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA704 - - thumb_func_start sub_80CA7D4 -sub_80CA7D4: @ 80CA7D4 - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r0, 0xB0 - lsls r0, 2 - adds r2, r1, r0 - movs r3, 0 - movs r0, 0x14 - strh r0, [r2] - ldr r0, =0x000002c2 - adds r2, r1, r0 - movs r0, 0x2 - strh r0, [r2] - ldr r0, =0x000002c5 - adds r1, r0 - strb r3, [r1] - movs r0, 0 - bl sub_80CB7E8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA7D4 - - thumb_func_start sub_80CA80C -sub_80CA80C: @ 80CA80C - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r2, [r4] - ldr r1, =0x000002c5 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x14 - beq _080CA87A - movs r0, 0xB0 - lsls r0, 2 - adds r1, r2, r0 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldr r0, =0x000002c2 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_80D27F4 - movs r0, 0x1 - bl sub_80D2918 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x8 - bl sub_80CBAF0 - ldr r1, [r4] - ldr r0, =0x000002c5 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x14 - beq _080CA874 - movs r0, 0x1 - b _080CA87C - .pool -_080CA874: - ldr r1, =gUnknown_02039D0C - movs r0, 0x1 - strb r0, [r1] -_080CA87A: - movs r0, 0 -_080CA87C: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CA80C - - thumb_func_start sub_80CA888 -sub_80CA888: @ 80CA888 - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - movs r0, 0xB0 - lsls r0, 2 - adds r2, r1, r0 - movs r3, 0 - movs r0, 0 - strh r0, [r2] - ldr r0, =0x000002c2 - adds r2, r1, r0 - movs r0, 0x16 - strh r0, [r2] - ldr r0, =0x000002c5 - adds r1, r0 - strb r3, [r1] - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080CA8B4 - bl sub_80D11CC -_080CA8B4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA888 - - thumb_func_start sub_80CA8C8 -sub_80CA8C8: @ 80CA8C8 - push {r4,r5,lr} - sub sp, 0x8 - ldr r5, =gUnknown_02039D08 - ldr r2, [r5] - ldr r1, =0x000002c5 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x14 - beq _080CA974 - movs r0, 0xB0 - lsls r0, 2 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r4, =0x000002c2 - adds r1, r2, r4 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r2, 0x1 - negs r2, r2 - movs r0, 0x1 - movs r1, 0x3 - bl sub_80D27F4 - movs r0, 0x1 - bl sub_80D2918 - movs r1, 0x80 - lsls r1, 1 - ldr r0, [r5] - adds r0, r4 - ldrb r3, [r0] - movs r0, 0xC - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r2, 0xA - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x8 - negs r0, r0 - bl sub_80CBAF0 - ldr r1, [r5] - ldr r0, =0x000002c5 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x14 - beq _080CA94C - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - b _080CA976 - .pool -_080CA94C: - ldr r0, =gUnknown_02039D0C - movs r1, 0 - strb r1, [r0] - bl sub_80CBB9C - bl CompactPartySlots - movs r0, 0x2 - str r0, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x9 - bl sub_80D27AC - movs r0, 0x2 - bl sub_80D2918 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram -_080CA974: - movs r0, 0 -_080CA976: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CA8C8 - - thumb_func_start sub_80CA984 -sub_80CA984: @ 80CA984 - push {lr} - sub sp, 0x4 - lsls r0, 24 - cmp r0, 0 - beq _080CA99E - movs r0, 0x2 - str r0, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x9 - bl sub_80D27AC - b _080CA9AC -_080CA99E: - movs r0, 0x2 - str r0, [sp] - movs r1, 0 - movs r2, 0x2 - movs r3, 0x9 - bl sub_80D27AC -_080CA9AC: - movs r0, 0x2 - bl sub_80D2918 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80CA984 - - thumb_func_start sub_80CA9C0 -sub_80CA9C0: @ 80CA9C0 - ldr r2, =gUnknown_02039D08 - ldr r0, [r2] - ldr r1, =0x000002c7 - adds r0, r1 - movs r3, 0x1 - strb r3, [r0] - ldr r0, [r2] - adds r1, 0x1 - adds r0, r1 - movs r1, 0x1E - strb r1, [r0] - ldr r0, [r2] - ldr r1, =0x000002c9 - adds r0, r1 - strb r3, [r0] - bx lr - .pool - thumb_func_end sub_80CA9C0 - - thumb_func_start sub_80CA9EC -sub_80CA9EC: @ 80CA9EC - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r2, =0x000002c7 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _080CAA06 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - bl sub_80CA984 -_080CAA06: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CA9EC - - thumb_func_start sub_80CAA14 -sub_80CAA14: @ 80CAA14 - push {r4,lr} - ldr r3, =gUnknown_02039D08 - ldr r1, [r3] - ldr r2, =0x000002c7 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080CAA60 - movs r0, 0xB2 - lsls r0, 2 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1E - bls _080CAA60 - ldr r0, [r3] - movs r1, 0xB2 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r3] - movs r2, 0 - ldr r4, =0x000002c9 - adds r1, r0, r4 - ldrb r0, [r1] - cmp r0, 0 - bne _080CAA54 - movs r2, 0x1 -_080CAA54: - strb r2, [r1] - ldr r0, [r3] - adds r0, r4 - ldrb r0, [r0] - bl sub_80CA984 -_080CAA60: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CAA14 - - thumb_func_start sub_80CAA74 -sub_80CAA74: @ 80CAA74 - push {r4,lr} - movs r4, 0x1 -_080CAA78: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - negs r1, r0 - orrs r1, r0 - lsrs r1, 31 - adds r0, r4, 0 - bl sub_80CAAA8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _080CAA78 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CAA74 - - thumb_func_start sub_80CAAA8 -sub_80CAAA8: @ 80CAAA8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r7, =gUnknown_085724BC - cmp r1, 0 - beq _080CAAB8 - ldr r7, =gUnknown_085724A4 -_080CAAB8: - subs r0, 0x1 - lsls r1, r0, 1 - adds r1, r0 - adds r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 18 - movs r1, 0xE0 - lsls r1, 11 - adds r0, r1 - lsrs r3, r0, 16 - movs r0, 0 - ldr r1, =gUnknown_02039D08 - mov r12, r1 -_080CAAD4: - movs r2, 0 - adds r4, r7, 0 - adds r4, 0x8 - adds r5, r3, 0 - adds r5, 0xC - adds r6, r0, 0x1 -_080CAAE0: - mov r0, r12 - ldr r1, [r0] - adds r0, r3, r2 - lsls r0, 1 - adds r1, 0xB0 - adds r1, r0 - lsls r0, r2, 1 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x3 - bls _080CAAE0 - adds r7, r4, 0 - lsls r0, r5, 16 - lsrs r3, r0, 16 - lsls r0, r6, 16 - lsrs r0, 16 - cmp r0, 0x2 - bls _080CAAD4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CAAA8 - - thumb_func_start sub_80CAB20 -sub_80CAB20: @ 80CAB20 - push {lr} - sub sp, 0x4 - bl sub_80CAA74 - movs r0, 0x16 - str r0, [sp] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0xC - bl sub_80D27AC - movs r0, 0x1 - bl sub_80D2918 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80CAB20 - - thumb_func_start sub_80CAB4C -sub_80CAB4C: @ 80CAB4C - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x000002c6 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x6 - bl PlaySE - bl sub_80CA7D4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CAB4C - - thumb_func_start sub_80CAB70 -sub_80CAB70: @ 80CAB70 - push {r4,r5,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r5, =0x000002c6 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080CABAA - cmp r0, 0x1 - bgt _080CAB94 - cmp r0, 0 - beq _080CAB9A - b _080CABD8 - .pool -_080CAB94: - cmp r0, 0x2 - beq _080CABD4 - b _080CABD8 -_080CAB9A: - bl sub_80CA80C - lsls r0, 24 - cmp r0, 0 - bne _080CABD8 - bl sub_80CDBA0 - b _080CABC4 -_080CABAA: - bl sub_80CD554 - lsls r0, 24 - cmp r0, 0 - bne _080CABD8 - ldr r0, [r4] - ldr r1, =0x00000cea - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080CABC4 - bl BoxSetMosaic -_080CABC4: - ldr r1, [r4] - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080CABD8 - .pool -_080CABD4: - movs r0, 0 - b _080CABDA -_080CABD8: - movs r0, 0x1 -_080CABDA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80CAB70 - - thumb_func_start sub_80CABE0 -sub_80CABE0: @ 80CABE0 - push {r4,lr} - ldr r4, =gUnknown_02039D10 - bl StorageGetCurrentBox - ldrb r1, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - beq _080CAC0A - ldr r0, =0x000008d7 - bl FlagClear - ldr r4, =0x00004036 - bl StorageGetCurrentBox - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl VarSet -_080CAC0A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CABE0 - - thumb_func_start sub_80CAC1C -sub_80CAC1C: @ 80CAC1C - push {lr} - sub sp, 0xC - movs r1, 0xE8 - lsls r1, 5 - movs r0, 0x8 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0xD0 - bl LoadUserWindowBorderGfx - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_80CAC1C - - thumb_func_start sub_80CAC58 -sub_80CAC58: @ 80CAC58 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - bl DynamicPlaceholderTextUtil_Reset - ldr r1, =gUnknown_0857276C - lsls r0, r6, 3 - adds r0, r1 - ldrb r0, [r0, 0x4] - cmp r0, 0x7 - bhi _080CAD30 - lsls r0, 2 - ldr r1, =_080CAC84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080CAC84: - .4byte _080CAD30 - .4byte _080CACA4 - .4byte _080CACA4 - .4byte _080CACA4 - .4byte _080CACB8 - .4byte _080CACB8 - .4byte _080CACB8 - .4byte _080CACD0 -_080CACA4: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r0, =0x00000cee - adds r1, r0 - b _080CACC0 - .pool -_080CACB8: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r2, =0x000021e0 - adds r1, r2 -_080CACC0: - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - b _080CAD30 - .pool -_080CACD0: - bl sub_80D127C - lsls r0, 24 - cmp r0, 0 - beq _080CACF4 - ldr r0, =gUnknown_02039D08 - ldr r4, [r0] - ldr r0, =0x000021eb - adds r4, r0 - bl sub_80D12B8 - adds r1, r0, 0 - adds r0, r4, 0 - b _080CAD00 - .pool -_080CACF4: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r2, =0x000021eb - adds r0, r1, r2 - ldr r2, =0x00000d65 - adds r1, r2 -_080CAD00: - bl StringCopy - adds r2, r0, 0 - b _080CAD16 - .pool -_080CAD14: - adds r2, r1, 0 -_080CAD16: - subs r1, r2, 0x1 - ldrb r0, [r1] - cmp r0, 0 - beq _080CAD14 - movs r0, 0xFF - strb r0, [r2] - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r0, =0x000021eb - adds r1, r0 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr -_080CAD30: - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldr r4, =0x00002190 - adds r0, r4 - ldr r2, =gUnknown_0857276C - lsls r1, r6, 3 - adds r1, r2 - ldr r1, [r1] - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, [r5] - adds r2, r4 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0xE - bl sub_8098858 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CAC58 - - thumb_func_start sub_80CAD9C -sub_80CAD9C: @ 80CAD9C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_08572864 - movs r1, 0xB - movs r2, 0xE - movs r3, 0 - bl CreateYesNoMenu - lsls r4, 24 - asrs r4, 24 - adds r0, r4, 0 - bl MoveMenuCursorNoWrapAround - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CAD9C - - thumb_func_start sub_80CADC4 -sub_80CADC4: @ 80CADC4 - push {lr} - movs r0, 0x1 - movs r1, 0 - bl sub_8198070 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - pop {r0} - bx r0 - thumb_func_end sub_80CADC4 - - thumb_func_start sub_80CADD8 -sub_80CADD8: @ 80CADD8 - push {lr} - bl sub_80CFEF0 - movs r0, 0x12 - bl sub_80CFF34 - movs r0, 0x13 - bl sub_80CFF34 - movs r0, 0x14 - bl sub_80CFF34 - movs r0, 0x15 - bl sub_80CFF34 - bl IsWaldaWallpaperUnlocked - cmp r0, 0 - beq _080CAE04 - movs r0, 0x16 - bl sub_80CFF34 -_080CAE04: - bl sub_80CFFD0 - pop {r0} - bx r0 - thumb_func_end sub_80CADD8 - - thumb_func_start sub_80CAE0C -sub_80CAE0C: @ 80CAE0C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_80CFEF0 - cmp r4, 0x1 - beq _080CAE4A - cmp r4, 0x1 - bgt _080CAE26 - cmp r4, 0 - beq _080CAE30 - b _080CAE96 -_080CAE26: - cmp r5, 0x2 - beq _080CAE64 - cmp r5, 0x3 - beq _080CAE7E - b _080CAE96 -_080CAE30: - movs r0, 0x17 - bl sub_80CFF34 - movs r0, 0x18 - bl sub_80CFF34 - movs r0, 0x19 - bl sub_80CFF34 - movs r0, 0x1A - bl sub_80CFF34 - b _080CAE96 -_080CAE4A: - movs r0, 0x1B - bl sub_80CFF34 - movs r0, 0x1C - bl sub_80CFF34 - movs r0, 0x1D - bl sub_80CFF34 - movs r0, 0x1E - bl sub_80CFF34 - b _080CAE96 -_080CAE64: - movs r0, 0x1F - bl sub_80CFF34 - movs r0, 0x20 - bl sub_80CFF34 - movs r0, 0x21 - bl sub_80CFF34 - movs r0, 0x22 - bl sub_80CFF34 - b _080CAE96 -_080CAE7E: - movs r0, 0x23 - bl sub_80CFF34 - movs r0, 0x24 - bl sub_80CFF34 - movs r0, 0x25 - bl sub_80CFF34 - movs r0, 0x26 - bl sub_80CFF34 -_080CAE96: - bl sub_80CFFD0 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80CAE0C - - thumb_func_start sub_80CAEA0 -sub_80CAEA0: @ 80CAEA0 - ldr r0, =gUnknown_02039D0D - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80CAEA0 - - thumb_func_start sub_80CAEAC -sub_80CAEAC: @ 80CAEAC - push {lr} - bl sub_80CEADC - lsls r0, 24 - cmp r0, 0 - bne _080CAEE8 - ldr r0, =gUnknown_02039D0C - ldrb r0, [r0] - cmp r0, 0 - beq _080CAED8 - bl sub_80CFE08 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1 - bl sub_80D0D8C - b _080CAEE8 - .pool -_080CAED8: - bl sub_80CFE08 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_80D0D8C -_080CAEE8: - ldr r1, =gUnknown_02039D12 - ldrh r0, [r1] - cmp r0, 0 - beq _080CAEFA - bl sub_80D0F38 - movs r0, 0x3 - bl sub_80CFE54 -_080CAEFA: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CAEAC - - thumb_func_start sub_80CAF04 -sub_80CAF04: @ 80CAF04 - push {r4-r6,lr} - bl LoadMonIconPalettes - movs r2, 0 - ldr r3, =gUnknown_02039D08 - ldr r5, =0x00000b08 - movs r4, 0 - adds r6, r3, 0 -_080CAF14: - ldr r0, [r3] - lsls r1, r2, 1 - adds r0, r5 - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x27 - bls _080CAF14 - movs r2, 0 - ldr r5, =gUnknown_02039D08 - ldr r4, =0x00000b58 - movs r3, 0 -_080CAF30: - ldr r0, [r5] - lsls r1, r2, 1 - adds r0, r4 - adds r0, r1 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x27 - bls _080CAF30 - movs r2, 0 - ldr r5, =gUnknown_02039D08 - movs r4, 0xA7 - lsls r4, 4 - movs r3, 0 -_080CAF4E: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - str r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _080CAF4E - movs r2, 0 - ldr r5, =gUnknown_02039D08 - ldr r4, =0x00000a88 - movs r3, 0 -_080CAF6A: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - str r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1D - bls _080CAF6A - ldr r0, [r6] - ldr r2, =0x00000a6c - adds r1, r0, r2 - movs r2, 0 - str r2, [r1] - ldr r1, =0x0000078c - adds r0, r1 - strh r2, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CAF04 - - thumb_func_start sub_80CAFAC -sub_80CAFAC: @ 80CAFAC - push {lr} - bl sub_80CEB24 - lsls r0, 24 - movs r1, 0x1 - cmp r0, 0 - beq _080CAFBC - movs r1, 0x2 -_080CAFBC: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_80CAFAC - - thumb_func_start sub_80CAFC4 -sub_80CAFC4: @ 80CAFC4 - push {r4-r6,lr} - sub sp, 0x8 - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldr r4, =0x000020a4 - adds r0, r4 - movs r1, 0 - bl GetMonData - adds r6, r0, 0 - ldr r0, [r5] - adds r0, r4 - movs r1, 0x41 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_80CAFAC - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0 - bl sub_80CC230 - ldr r1, [r5] - ldr r2, =0x00000a6c - adds r1, r2 - str r0, [r1] - ldr r1, =sub_80CC100 - str r1, [r0, 0x1C] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CAFC4 - - thumb_func_start sub_80CB028 -sub_80CB028: @ 80CB028 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r0, 0 - mov r8, r0 - movs r6, 0 - movs r7, 0 -_080CB042: - movs r5, 0 - adds r1, r7, 0x1 - mov r10, r1 -_080CB048: - mov r0, r9 - adds r1, r6, 0 - movs r2, 0x41 - bl GetBoxMonDataFromAnyBox - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080CB0B0 - mov r0, r9 - adds r1, r6, 0 - movs r2, 0 - bl GetBoxMonDataFromAnyBox - adds r1, r0, 0 - lsls r2, r5, 1 - adds r2, r5 - lsls r2, 19 - movs r3, 0xC8 - lsls r3, 15 - adds r2, r3 - asrs r2, 16 - lsls r3, r7, 1 - adds r3, r7 - lsls r3, 19 - movs r0, 0xB0 - lsls r0, 14 - adds r3, r0 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x13 - subs r0, r5 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - adds r0, r4, 0 - asrs r3, 16 - bl sub_80CC230 - ldr r1, =gUnknown_02039D08 - ldr r1, [r1] - mov r3, r8 - lsls r2, r3, 2 - ldr r3, =0x00000a88 - adds r1, r3 - adds r1, r2 - str r0, [r1] - b _080CB0C0 - .pool -_080CB0B0: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 2 - ldr r3, =0x00000a88 - adds r0, r3 - adds r0, r1 - str r4, [r0] -_080CB0C0: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _080CB048 - mov r1, r10 - lsls r0, r1, 16 - lsrs r7, r0, 16 - cmp r7, 0x4 - bls _080CB042 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080CB126 - movs r6, 0 - movs r2, 0xD - negs r2, r2 - adds r4, r2, 0 -_080CB0F6: - mov r0, r9 - adds r1, r6, 0 - movs r2, 0xC - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - bne _080CB11C - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r6, 2 - ldr r3, =0x00000a88 - adds r0, r3 - adds r0, r1 - ldr r2, [r0] - ldrb r0, [r2, 0x1] - ands r0, r4 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x1] -_080CB11C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1D - bls _080CB0F6 -_080CB126: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB028 - - thumb_func_start sub_80CB140 -sub_80CB140: @ 80CB140 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r7, 0 - movs r1, 0x41 - bl GetBoxMonDataFromSelectedBox - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0 - beq _080CB1DA - adds r0, r7, 0 - movs r1, 0x6 - bl __umodsi3 - adds r6, r0, 0 - lsls r0, r6, 24 - lsrs r0, 24 - lsls r5, r0, 1 - adds r5, r0 - lsls r5, 19 - movs r0, 0xC8 - lsls r0, 15 - adds r5, r0 - lsrs r5, 16 - adds r0, r7, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 19 - movs r0, 0xB0 - lsls r0, 14 - adds r4, r0 - lsrs r4, 16 - adds r0, r7, 0 - movs r1, 0 - bl GetBoxMonDataFromSelectedBox - adds r1, r0, 0 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x13 - subs r0, r6 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r8 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_80CC230 - adds r3, r0, 0 - ldr r0, =gUnknown_02039D08 - ldr r2, [r0] - lsls r1, r7, 2 - ldr r4, =0x00000a88 - adds r0, r2, r4 - adds r0, r1 - str r3, [r0] - ldrb r0, [r2, 0x1] - cmp r0, 0x3 - bne _080CB1DA - ldrb r0, [r3, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r3, 0x1] -_080CB1DA: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB140 - - thumb_func_start sub_80CB1F0 -sub_80CB1F0: @ 80CB1F0 - push {r4-r7,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r7, =gUnknown_02039D08 - ldr r6, =0x00000a88 - movs r5, 0x1 - ldr r4, =sub_80CB278 -_080CB200: - ldr r0, [r7] - lsls r1, r2, 2 - adds r0, r6 - adds r1, r0, r1 - ldr r0, [r1] - cmp r0, 0 - beq _080CB218 - strh r3, [r0, 0x32] - ldr r0, [r1] - strh r5, [r0, 0x36] - ldr r0, [r1] - str r4, [r0, 0x1C] -_080CB218: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1D - bls _080CB200 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB1F0 - - thumb_func_start sub_80CB234 -sub_80CB234: @ 80CB234 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x30] - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080CB250 - subs r0, r1, 0x1 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - b _080CB266 -_080CB250: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r3, =0x00000c66 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrh r0, [r2, 0x34] - strh r0, [r2, 0x20] - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_080CB266: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB234 - - thumb_func_start sub_80CB278 -sub_80CB278: @ 80CB278 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x36] - movs r3, 0x36 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080CB28C - subs r0, r1, 0x1 - strh r0, [r2, 0x36] - b _080CB2A8 -_080CB28C: - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x38] - subs r0, 0x45 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB6 - bls _080CB2A8 - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_080CB2A8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB278 - - thumb_func_start sub_80CB2B0 -sub_80CB2B0: @ 80CB2B0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - ldr r7, =gUnknown_02039D08 -_080CB2BA: - ldr r0, [r7] - lsls r4, r5, 2 - ldr r1, =0x00000a88 - adds r0, r1 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080CB2DA - bl sub_80CC314 - ldr r0, [r7] - ldr r1, =0x00000a88 - adds r0, r1 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_080CB2DA: - adds r0, r5, 0x6 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x4 - bls _080CB2BA - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB2B0 - - thumb_func_start sub_80CB2F8 -sub_80CB2F8: @ 80CB2F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x8] - lsls r2, 16 - movs r1, 0x2C - mov r8, r1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 19 - movs r3, 0xC8 - lsls r3, 15 - adds r1, r3 - lsrs r1, 16 - str r1, [sp, 0x10] - ldr r1, [sp, 0x8] - adds r1, 0x1 - lsrs r6, r2, 16 - str r6, [sp, 0xC] - asrs r2, 16 - muls r1, r2 - ldr r2, [sp, 0x10] - subs r1, r2, r1 - lsls r1, 16 - lsrs r2, r1, 16 - movs r1, 0x13 - subs r1, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x14] - movs r3, 0 - mov r9, r3 - adds r5, r0, 0 - ldr r1, =gUnknown_02039D08 - ldr r0, [r1] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - beq _080CB3F0 - movs r7, 0x4 - lsls r2, 16 - mov r10, r2 -_080CB358: - ldr r6, =gUnknown_02039D08 - ldr r2, [r6] - lsls r0, r5, 1 - ldr r3, =0x00000ba8 - adds r1, r2, r3 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _080CB3C2 - lsls r4, r5, 2 - ldr r6, =0x00000be4 - adds r1, r2, r6 - adds r1, r4 - ldr r1, [r1] - mov r2, r8 - lsls r3, r2, 16 - asrs r3, 16 - movs r2, 0x2 - str r2, [sp] - ldr r6, [sp, 0x14] - str r6, [sp, 0x4] - mov r6, r10 - asrs r2, r6, 16 - bl sub_80CC230 - adds r2, r0, 0 - ldr r1, =gUnknown_02039D08 - ldr r0, [r1] - ldr r3, =0x00000a88 - adds r0, r3 - adds r1, r0, r4 - str r2, [r1] - cmp r2, 0 - beq _080CB3C2 - mov r6, sp - ldrh r6, [r6, 0x8] - strh r6, [r2, 0x30] - ldr r0, [r1] - mov r2, sp - ldrh r2, [r2, 0xC] - strh r2, [r0, 0x32] - ldr r0, [r1] - mov r3, sp - ldrh r3, [r3, 0x10] - strh r3, [r0, 0x34] - ldr r1, [r1] - ldr r0, =sub_80CB234 - str r0, [r1, 0x1C] - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_080CB3C2: - adds r0, r5, 0x6 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - adds r0, 0x18 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - subs r7, 0x1 - cmp r7, 0 - bge _080CB358 - b _080CB4A6 - .pool -_080CB3F0: - mov r10, r1 - movs r7, 0x4 - lsls r2, 16 - str r2, [sp, 0x18] -_080CB3F8: - mov r6, r10 - ldr r2, [r6] - lsls r0, r5, 1 - ldr r3, =0x00000ba8 - adds r1, r2, r3 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _080CB490 - lsls r4, r5, 2 - ldr r6, =0x00000be4 - adds r1, r2, r6 - adds r1, r4 - ldr r1, [r1] - mov r2, r8 - lsls r3, r2, 16 - asrs r3, 16 - movs r2, 0x2 - str r2, [sp] - ldr r6, [sp, 0x14] - str r6, [sp, 0x4] - ldr r6, [sp, 0x18] - asrs r2, r6, 16 - bl sub_80CC230 - adds r2, r0, 0 - mov r0, r10 - ldr r3, [r0] - ldr r1, =0x00000a88 - adds r0, r3, r1 - adds r1, r0, r4 - str r2, [r1] - cmp r2, 0 - beq _080CB490 - mov r6, sp - ldrh r6, [r6, 0x8] - strh r6, [r2, 0x30] - ldr r0, [r1] - mov r2, sp - ldrh r2, [r2, 0xC] - strh r2, [r0, 0x32] - ldr r0, [r1] - mov r6, sp - ldrh r6, [r6, 0x10] - strh r6, [r0, 0x34] - ldr r1, [r1] - ldr r0, =sub_80CB234 - str r0, [r1, 0x1C] - ldr r1, =0x00000c5c - adds r0, r3, r1 - ldrb r0, [r0] - adds r1, r5, 0 - movs r2, 0xC - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - bne _080CB486 - mov r2, r10 - ldr r0, [r2] - ldr r3, =0x00000a88 - adds r0, r3 - adds r0, r4 - ldr r2, [r0] - ldrb r1, [r2, 0x1] - movs r6, 0xD - negs r6, r6 - adds r0, r6, 0 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r2, 0x1] -_080CB486: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_080CB490: - adds r0, r5, 0x6 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - adds r0, 0x18 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - subs r7, 0x1 - cmp r7, 0 - bge _080CB3F8 -_080CB4A6: - mov r0, r9 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CB2F8 - - thumb_func_start sub_80CB4CC -sub_80CB4CC: @ 80CB4CC - push {r4-r7,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r6, =gUnknown_02039D08 - ldr r1, [r6] - ldr r2, =0x00000c6a - adds r1, r2 - movs r5, 0 - strb r5, [r1] - ldr r1, [r6] - ldr r3, =0x00000c6b - adds r1, r3 - strb r0, [r1] - ldr r1, [r6] - ldr r7, =0x00000c69 - adds r1, r7 - strb r4, [r1] - ldr r3, [r6] - movs r1, 0xC6 - lsls r1, 4 - adds r2, r3, r1 - movs r1, 0x20 - strh r1, [r2] - lsls r4, 24 - asrs r4, 24 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 1 - negs r1, r1 - subs r7, 0x5 - adds r2, r3, r7 - strh r1, [r2] - ldr r1, =0x00000c66 - adds r3, r1 - strh r5, [r3] - bl sub_80CB6F0 - cmp r4, 0 - ble _080CB544 - ldr r0, [r6] - ldr r2, =0x00000c68 - adds r0, r2 - movs r1, 0 - b _080CB54C - .pool -_080CB544: - ldr r0, [r6] - ldr r3, =0x00000c68 - adds r0, r3 - movs r1, 0x5 -_080CB54C: - strb r1, [r0] - ldr r0, =gUnknown_02039D08 - ldr r2, [r0] - ldr r7, =0x00000c68 - adds r0, r2, r7 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x64 - ldr r3, =0x00000c62 - adds r1, r2, r3 - strh r0, [r1] - subs r7, 0x4 - adds r2, r7 - movs r1, 0 - ldrsh r0, [r2, r1] - bl sub_80CB1F0 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB4CC - - thumb_func_start sub_80CB584 -sub_80CB584: @ 80CB584 - push {r4-r6,lr} - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - movs r4, 0xC6 - lsls r4, 4 - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, 0 - beq _080CB59A - subs r0, 0x1 - strh r0, [r1] -_080CB59A: - ldr r3, [r5] - ldr r6, =0x00000c6a - adds r0, r3, r6 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080CB61C - cmp r0, 0x1 - bgt _080CB5B8 - cmp r0, 0 - beq _080CB5C0 - b _080CB6DE - .pool -_080CB5B8: - cmp r0, 0x2 - bne _080CB5BE - b _080CB6CC -_080CB5BE: - b _080CB6DE -_080CB5C0: - ldr r0, =0x00000c62 - adds r1, r3, r0 - ldr r2, =0x00000c64 - adds r0, r3, r2 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - subs r0, 0x41 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xBA - bhi _080CB5DC - b _080CB6E8 -_080CB5DC: - ldr r1, =0x00000c68 - adds r0, r3, r1 - ldrb r0, [r0] - bl sub_80CB2B0 - ldr r2, [r5] - ldr r0, =0x00000c62 - adds r3, r2, r0 - ldr r1, =0x00000c69 - adds r0, r2, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldrh r1, [r3] - adds r0, r1 - strh r0, [r3] - adds r2, r6 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _080CB6E8 - .pool -_080CB61C: - ldr r2, =0x00000c62 - adds r1, r3, r2 - ldr r6, =0x00000c64 - adds r2, r3, r6 - ldrh r0, [r2] - ldrh r6, [r1] - adds r0, r6 - strh r0, [r1] - ldr r6, =0x00000c68 - adds r0, r3, r6 - ldrb r0, [r0] - adds r1, r3, r4 - ldrh r1, [r1] - movs r3, 0 - ldrsh r2, [r2, r3] - bl sub_80CB2F8 - ldr r2, [r5] - ldr r3, =0x00000c66 - adds r1, r2, r3 - lsls r0, 24 - lsrs r0, 24 - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - ldr r1, =0x00000c69 - adds r0, r2, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - cmp r1, 0 - ble _080CB662 - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, 0x5 - beq _080CB66E -_080CB662: - cmp r1, 0 - bge _080CB69C - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, 0 - bne _080CB69C -_080CB66E: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r2, =0x00000c6a - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080CB6E8 - .pool -_080CB69C: - ldr r3, =gUnknown_02039D08 - ldr r0, [r3] - ldr r6, =0x00000c68 - adds r1, r0, r6 - ldr r2, =0x00000c69 - adds r0, r2 - ldrb r0, [r0] - ldrb r6, [r1] - adds r0, r6 - movs r2, 0 - strb r0, [r1] - ldr r0, [r3] - ldr r1, =0x00000c6a - adds r0, r1 - strb r2, [r0] - b _080CB6E8 - .pool -_080CB6CC: - ldr r2, =0x00000c66 - adds r0, r3, r2 - ldrh r0, [r0] - cmp r0, 0 - bne _080CB6E8 - adds r1, r3, r4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080CB6DE: - movs r0, 0 - b _080CB6EA - .pool -_080CB6E8: - movs r0, 0x1 -_080CB6EA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80CB584 - - thumb_func_start sub_80CB6F0 -sub_80CB6F0: @ 80CB6F0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - movs r0, 0 - ldr r1, =gUnknown_02039D08 - mov r9, r1 -_080CB704: - adds r0, 0x1 - mov r8, r0 - movs r7, 0x5 -_080CB70A: - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x41 - bl GetBoxMonDataFromAnyBox - mov r2, r9 - ldr r1, [r2] - lsls r2, r5, 1 - ldr r3, =0x00000ba8 - adds r1, r3 - adds r1, r2 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - beq _080CB744 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetBoxMonDataFromAnyBox - mov r2, r9 - ldr r1, [r2] - lsls r2, r5, 2 - ldr r3, =0x00000be4 - adds r1, r3 - adds r1, r2 - str r0, [r1] -_080CB744: - adds r5, 0x1 - subs r7, 0x1 - cmp r7, 0 - bge _080CB70A - mov r0, r8 - cmp r0, 0x4 - ble _080CB704 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000c5c - adds r0, r1 - strb r6, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB6F0 - - thumb_func_start sub_80CB778 -sub_80CB778: @ 80CB778 - push {r4,r5,lr} - lsls r0, 24 - ldr r5, =gUnknown_02039D08 - ldr r1, [r5] - lsrs r4, r0, 22 - ldr r0, =0x00000a88 - adds r1, r0 - adds r1, r4 - ldr r0, [r1] - cmp r0, 0 - beq _080CB79E - bl sub_80CC314 - ldr r0, [r5] - ldr r1, =0x00000a88 - adds r0, r1 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_080CB79E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB778 - - thumb_func_start sub_80CB7AC -sub_80CB7AC: @ 80CB7AC - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r1, =gUnknown_02039D08 - ldr r1, [r1] - lsrs r0, 22 - ldr r3, =0x00000a88 - adds r1, r3 - adds r1, r0 - ldr r3, [r1] - cmp r3, 0 - beq _080CB7DA - movs r0, 0x3 - adds r1, r2, 0 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] -_080CB7DA: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB7AC - - thumb_func_start sub_80CB7E8 -sub_80CB7E8: @ 80CB7E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, =gPlayerParty - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x68 - movs r3, 0x40 - bl sub_80CC230 - ldr r1, =gUnknown_02039D08 - ldr r1, [r1] - movs r2, 0xA7 - lsls r2, 4 - adds r1, r2 - str r0, [r1] - movs r7, 0x1 - movs r6, 0x1 -_080CB830: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _080CB894 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - subs r0, r6, 0x1 - lsls r3, r0, 1 - adds r3, r0 - lsls r3, 19 - movs r0, 0x80 - lsls r0, 13 - adds r3, r0 - asrs r3, 16 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x98 - bl sub_80CC230 - ldr r1, =gUnknown_02039D08 - ldr r1, [r1] - lsls r2, r6, 2 - movs r3, 0xA7 - lsls r3, 4 - adds r1, r3 - adds r1, r2 - str r0, [r1] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - b _080CB8A4 - .pool -_080CB894: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r6, 2 - movs r2, 0xA7 - lsls r2, 4 - adds r0, r2 - adds r0, r1 - str r5, [r0] -_080CB8A4: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _080CB830 - ldr r3, =gUnknown_02039D08 - mov r0, r8 - cmp r0, 0 - bne _080CB8EA - movs r6, 0 - cmp r6, r7 - bcs _080CB8EA - mov r12, r3 - movs r5, 0xA7 - lsls r5, 4 - movs r4, 0x4 -_080CB8C4: - mov r2, r12 - ldr r1, [r2] - lsls r0, r6, 2 - adds r1, r5 - adds r1, r0 - ldr r2, [r1] - ldrh r0, [r2, 0x22] - subs r0, 0xA0 - strh r0, [r2, 0x22] - ldr r1, [r1] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, r7 - bcc _080CB8C4 -_080CB8EA: - ldr r0, [r3] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080CB93C - movs r6, 0 - adds r7, r3, 0 - movs r5, 0xA7 - lsls r5, 4 -_080CB8FA: - ldr r0, [r7] - lsls r4, r6, 2 - adds r0, r5 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080CB932 - movs r0, 0x64 - muls r0, r6 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xC - bl GetMonData - cmp r0, 0 - bne _080CB932 - ldr r0, [r7] - adds r0, r5 - adds r0, r4 - ldr r2, [r0] - ldrb r1, [r2, 0x1] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r2, 0x1] -_080CB932: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _080CB8FA -_080CB93C: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB7E8 - - thumb_func_start sub_80CB950 -sub_80CB950: @ 80CB950 - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r2, =0x00000c5e - adds r1, r2 - movs r2, 0 - strb r2, [r1] - movs r5, 0 - movs r6, 0 - adds r3, r0, 0 - movs r7, 0xA7 - lsls r7, 4 -_080CB96A: - ldr r0, [r3] - lsls r4, r5, 2 - adds r0, r7 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080CB9A0 - cmp r5, r6 - beq _080CB99A - adds r1, r6, 0 - str r3, [sp] - bl sub_80CB9D0 - ldr r3, [sp] - ldr r2, [r3] - adds r0, r2, r7 - adds r0, r4 - movs r1, 0 - str r1, [r0] - ldr r0, =0x00000c5e - adds r2, r0 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] -_080CB99A: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080CB9A0: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _080CB96A - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB950 - - thumb_func_start sub_80CB9BC -sub_80CB9BC: @ 80CB9BC - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000c5e - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80CB9BC - - thumb_func_start sub_80CB9D0 -sub_80CB9D0: @ 80CB9D0 - push {r4,lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - strh r1, [r2, 0x30] - cmp r1, 0 - bne _080CB9E4 - movs r3, 0x68 - movs r4, 0x40 - b _080CB9F6 -_080CB9E4: - movs r3, 0x98 - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 19 - movs r1, 0x80 - lsls r1, 13 - adds r0, r1 - lsrs r4, r0, 16 -_080CB9F6: - ldrh r0, [r2, 0x20] - lsls r0, 3 - strh r0, [r2, 0x32] - ldrh r0, [r2, 0x22] - lsls r0, 3 - strh r0, [r2, 0x34] - lsls r1, r3, 3 - movs r3, 0x32 - ldrsh r0, [r2, r3] - subs r0, r1, r0 - cmp r0, 0 - bge _080CBA10 - adds r0, 0x7 -_080CBA10: - asrs r0, 3 - strh r0, [r2, 0x36] - lsls r0, r4, 16 - asrs r0, 13 - movs r3, 0x34 - ldrsh r1, [r2, r3] - subs r0, r1 - cmp r0, 0 - bge _080CBA24 - adds r0, 0x7 -_080CBA24: - asrs r0, 3 - strh r0, [r2, 0x38] - movs r0, 0x8 - strh r0, [r2, 0x3A] - ldr r0, =sub_80CBA3C - str r0, [r2, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CB9D0 - - thumb_func_start sub_80CBA3C -sub_80CBA3C: @ 80CBA3C - push {r4,lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x3A] - movs r1, 0x3A - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _080CBA6C - ldrh r0, [r3, 0x36] - ldrh r4, [r3, 0x32] - adds r0, r4 - strh r0, [r3, 0x32] - ldrh r1, [r3, 0x38] - ldrh r4, [r3, 0x34] - adds r1, r4 - strh r1, [r3, 0x34] - lsls r0, 16 - asrs r0, 19 - strh r0, [r3, 0x20] - lsls r1, 16 - asrs r1, 19 - strh r1, [r3, 0x22] - subs r0, r2, 0x1 - strh r0, [r3, 0x3A] - b _080CBAB2 -_080CBA6C: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080CBA7C - movs r0, 0x68 - strh r0, [r3, 0x20] - movs r0, 0x40 - b _080CBA8E -_080CBA7C: - movs r0, 0x98 - strh r0, [r3, 0x20] - movs r4, 0x30 - ldrsh r1, [r3, r4] - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x10 -_080CBA8E: - strh r0, [r3, 0x22] - ldr r0, =SpriteCallbackDummy - str r0, [r3, 0x1C] - ldr r0, =gUnknown_02039D08 - ldr r2, [r0] - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r1, 2 - movs r4, 0xA7 - lsls r4, 4 - adds r0, r2, r4 - adds r0, r1 - str r3, [r0] - ldr r0, =0x00000c5e - adds r2, r0 - ldrb r0, [r2] - subs r0, 0x1 - strb r0, [r2] -_080CBAB2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CBA3C - - thumb_func_start sub_80CBAC4 -sub_80CBAC4: @ 80CBAC4 - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r1, =0x00000a6c - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080CBAE2 - bl sub_80CC314 - ldr r0, [r4] - ldr r1, =0x00000a6c - adds r0, r1 - movs r1, 0 - str r1, [r0] -_080CBAE2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CBAC4 - - thumb_func_start sub_80CBAF0 -sub_80CBAF0: @ 80CBAF0 - push {r4-r6,lr} - movs r3, 0 - ldr r6, =gUnknown_02039D08 - lsls r0, 16 - asrs r4, r0, 16 - movs r5, 0x5 - negs r5, r5 -_080CBAFE: - ldr r0, [r6] - lsls r1, r3, 2 - movs r2, 0xA7 - lsls r2, 4 - adds r0, r2 - adds r2, r0, r1 - ldr r1, [r2] - cmp r1, 0 - beq _080CBB56 - ldrh r0, [r1, 0x22] - adds r0, r4, r0 - strh r0, [r1, 0x22] - ldr r2, [r2] - ldrh r1, [r2, 0x26] - ldrh r0, [r2, 0x22] - adds r1, r0 - adds r0, r2, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 13 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0xC0 - bls _080CBB4C - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _080CBB56 - .pool -_080CBB4C: - adds r2, 0x3E - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] -_080CBB56: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _080CBAFE - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80CBAF0 - - thumb_func_start sub_80CBB68 -sub_80CBB68: @ 80CBB68 - push {r4,r5,lr} - lsls r0, 24 - ldr r5, =gUnknown_02039D08 - ldr r1, [r5] - lsrs r4, r0, 22 - movs r0, 0xA7 - lsls r0, 4 - adds r1, r0 - adds r1, r4 - ldr r0, [r1] - cmp r0, 0 - beq _080CBB92 - bl sub_80CC314 - ldr r0, [r5] - movs r1, 0xA7 - lsls r1, 4 - adds r0, r1 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_080CBB92: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CBB68 - - thumb_func_start sub_80CBB9C -sub_80CBB9C: @ 80CBB9C - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gUnknown_02039D08 -_080CBBA2: - ldr r0, [r6] - lsls r4, r5, 2 - movs r1, 0xA7 - lsls r1, 4 - adds r0, r1 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080CBBC6 - bl sub_80CC314 - ldr r0, [r6] - movs r1, 0xA7 - lsls r1, 4 - adds r0, r1 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_080CBBC6: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _080CBBA2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CBB9C - - thumb_func_start sub_80CBBDC -sub_80CBBDC: @ 80CBBDC - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r1, =gUnknown_02039D08 - ldr r1, [r1] - lsrs r0, 22 - movs r3, 0xA7 - lsls r3, 4 - adds r1, r3 - adds r1, r0 - ldr r3, [r1] - cmp r3, 0 - beq _080CBC0C - movs r0, 0x3 - adds r1, r2, 0 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] -_080CBC0C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CBBDC - - thumb_func_start sub_80CBC14 -sub_80CBC14: @ 80CBC14 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - adds r5, r1, 0 - cmp r4, 0 - bne _080CBC44 - ldr r3, =gUnknown_02039D08 - ldr r0, [r3] - ldr r5, =0x00000a6c - adds r2, r0, r5 - lsls r1, 2 - adds r5, 0x4 - adds r0, r5 - adds r0, r1 - ldr r1, [r0] - str r1, [r2] - str r4, [r0] - b _080CBC60 - .pool -_080CBC44: - cmp r4, 0x1 - bne _080CBC96 - ldr r3, =gUnknown_02039D08 - ldr r0, [r3] - ldr r1, =0x00000a6c - adds r2, r0, r1 - lsls r1, r5, 2 - ldr r4, =0x00000a88 - adds r0, r4 - adds r0, r1 - ldr r1, [r0] - str r1, [r2] - movs r1, 0 - str r1, [r0] -_080CBC60: - adds r5, r3, 0 - ldr r0, [r5] - ldr r4, =0x00000a6c - adds r0, r4 - ldr r1, [r0] - ldr r0, =sub_80CC100 - str r0, [r1, 0x1C] - bl sub_80CAFAC - ldr r1, [r5] - adds r1, r4 - ldr r3, [r1] - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r5] - adds r0, r4 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0x7 - strb r1, [r0] -_080CBC96: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CBC14 - - thumb_func_start sub_80CBCAC -sub_80CBCAC: @ 80CBCAC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r0, 0xE - bne _080CBCF8 - ldr r3, =gUnknown_02039D08 - ldr r1, [r3] - lsls r5, r6, 2 - movs r4, 0xA7 - lsls r4, 4 - adds r0, r1, r4 - adds r0, r5 - ldr r2, =0x00000a6c - adds r1, r2 - ldr r2, [r1] - str r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r3] - adds r0, r4 - adds r0, r5 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0xC - strb r1, [r0] - b _080CBD34 - .pool -_080CBCF8: - ldr r5, =gUnknown_02039D08 - ldr r1, [r5] - lsls r4, r6, 2 - ldr r3, =0x00000a88 - adds r0, r1, r3 - adds r0, r4 - ldr r2, =0x00000a6c - adds r1, r2 - ldr r2, [r1] - str r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r5] - adds r0, r3 - adds r0, r4 - ldr r4, [r0] - adds r0, r6, 0 - movs r1, 0x6 - bl __umodsi3 - movs r1, 0x13 - subs r1, r0 - adds r4, 0x43 - strb r1, [r4] - adds r3, r5, 0 -_080CBD34: - ldr r1, [r3] - ldr r0, =0x00000a6c - adds r1, r0 - ldr r2, [r1] - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - movs r0, 0 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CBCAC - - thumb_func_start sub_80CBD5C -sub_80CBD5C: @ 80CBD5C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r0, 0xE - bne _080CBD80 - ldr r3, =gUnknown_02039D08 - ldr r1, [r3] - movs r0, 0xB0 - lsls r0, 4 - adds r2, r1, r0 - lsls r0, r4, 2 - movs r4, 0xA7 - lsls r4, 4 - b _080CBD8E - .pool -_080CBD80: - ldr r3, =gUnknown_02039D08 - ldr r1, [r3] - movs r0, 0xB0 - lsls r0, 4 - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, =0x00000a88 -_080CBD8E: - adds r0, r4 - adds r1, r0 - str r1, [r2] - ldr r1, [r3] - ldr r2, =0x00000a6c - adds r0, r1, r2 - ldr r2, [r0] - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - ldr r4, =0x00000c5d - adds r1, r4 - movs r0, 0 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CBD5C - - thumb_func_start sub_80CBDC4 -sub_80CBDC4: @ 80CBDC4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r6, =gUnknown_02039D08 - ldr r0, [r6] - ldr r1, =0x00000c5d - mov r9, r1 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0x10 - bne _080CBDE8 - movs r0, 0 - b _080CBEF4 - .pool -_080CBDE8: - adds r0, 0x1 - strb r0, [r1] - ldr r2, [r6] - ldr r5, =0x00000c5d - adds r0, r2, r5 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CBE18 - movs r1, 0xB0 - lsls r1, 4 - adds r0, r2, r1 - ldr r0, [r0] - ldr r1, [r0] - ldrh r0, [r1, 0x22] - subs r0, 0x1 - strh r0, [r1, 0x22] - ldr r5, =0x00000a6c - adds r0, r2, r5 - ldr r1, [r0] - ldrh r0, [r1, 0x22] - adds r0, 0x1 - strh r0, [r1, 0x22] -_080CBE18: - ldr r3, [r6] - movs r7, 0xB0 - lsls r7, 4 - adds r4, r3, r7 - ldr r0, [r4] - ldr r0, [r0] - mov r8, r0 - ldr r5, =gSineTable - mov r0, r9 - adds r1, r3, r0 - ldrb r0, [r1] - lsls r0, 4 - adds r0, r5 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _080CBE3C - adds r0, 0xF -_080CBE3C: - asrs r0, 4 - mov r2, r8 - strh r0, [r2, 0x24] - ldr r0, =0x00000a6c - mov r8, r0 - add r3, r8 - ldr r2, [r3] - ldrb r0, [r1] - lsls r0, 4 - adds r0, r5 - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r0, 0 - bge _080CBE5A - adds r0, 0xF -_080CBE5A: - asrs r0, 4 - negs r0, r0 - strh r0, [r2, 0x24] - ldrb r0, [r1] - cmp r0, 0x8 - bne _080CBEBE - ldr r3, [r3] - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0, 0x5] - movs r5, 0x3 - movs r1, 0xC - ands r1, r0 - ldrb r2, [r3, 0x5] - movs r4, 0xD - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r6] - mov r2, r8 - adds r1, r0, r2 - ldr r1, [r1] - adds r0, r7 - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x43 - ldrb r0, [r0] - adds r1, 0x43 - strb r0, [r1] - bl sub_80CAFAC - ldr r1, [r6] - adds r1, r7 - ldr r1, [r1] - ldr r1, [r1] - ands r5, r0 - lsls r5, 2 - ldrb r0, [r1, 0x5] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0x5] - ldr r0, [r6] - adds r0, r7 - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0x7 - strb r1, [r0] -_080CBEBE: - ldr r1, [r6] - mov r5, r9 - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x10 - bne _080CBEF2 - mov r0, r8 - adds r2, r1, r0 - ldr r3, [r2] - adds r1, r7 - ldr r0, [r1] - ldr r0, [r0] - str r0, [r2] - ldr r0, [r1] - str r3, [r0] - ldr r1, [r6] - mov r2, r8 - adds r0, r1, r2 - ldr r2, [r0] - ldr r0, =sub_80CC100 - str r0, [r2, 0x1C] - adds r1, r7 - ldr r0, [r1] - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - str r0, [r1, 0x1C] -_080CBEF2: - movs r0, 0x1 -_080CBEF4: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CBDC4 - - thumb_func_start sub_80CBF14 -sub_80CBF14: @ 80CBF14 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r0, 0x1 - beq _080CBF4C - cmp r0, 0x1 - bgt _080CBF2E - cmp r0, 0 - beq _080CBF34 - b _080CBFC0 -_080CBF2E: - cmp r2, 0x2 - beq _080CBF70 - b _080CBFC0 -_080CBF34: - ldr r3, =gUnknown_02039D08 - ldr r1, [r3] - ldr r0, =0x00000b04 - adds r2, r1, r0 - lsls r0, r4, 2 - movs r4, 0xA7 - lsls r4, 4 - b _080CBF58 - .pool -_080CBF4C: - ldr r3, =gUnknown_02039D08 - ldr r1, [r3] - ldr r0, =0x00000b04 - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, =0x00000a88 -_080CBF58: - adds r0, r4 - adds r1, r0 - str r1, [r2] - adds r4, r3, 0 - b _080CBF80 - .pool -_080CBF70: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r3, =0x00000b04 - adds r2, r1, r3 - ldr r4, =0x00000a6c - adds r1, r4 - str r1, [r2] - adds r4, r0, 0 -_080CBF80: - ldr r0, [r4] - ldr r1, =0x00000b04 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _080CBFC0 - bl InitSpriteAffineAnim - ldr r0, [r4] - ldr r3, =0x00000b04 - adds r0, r3 - ldr r0, [r0] - ldr r2, [r0] - ldrb r1, [r2, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r1, [r4] - adds r1, r3 - ldr r0, [r1] - ldr r2, [r0] - ldr r0, =gSpriteAffineAnimTable_857291C - str r0, [r2, 0x10] - ldr r0, [r1] - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAffineAnim -_080CBFC0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CBF14 - - thumb_func_start sub_80CBFD8 -sub_80CBFD8: @ 80CBFD8 - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000b04 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0] - cmp r1, 0 - beq _080CBFF8 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r0, 0x4 - ands r0, r2 - cmp r0, 0 - beq _080CC004 -_080CBFF8: - movs r0, 0 - b _080CC01A - .pool -_080CC004: - adds r0, r1, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080CC018 - movs r0, 0x4 - orrs r0, r2 - strb r0, [r3] -_080CC018: - movs r0, 0x1 -_080CC01A: - pop {r1} - bx r1 - thumb_func_end sub_80CBFD8 - - thumb_func_start sub_80CC020 -sub_80CC020: @ 80CC020 - push {r4,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r1, =0x00000b04 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _080CC056 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, [r4] - ldr r1, =0x00000b04 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - bl sub_80CC314 - ldr r0, [r4] - ldr r1, =0x00000b04 - adds r0, r1 - ldr r1, [r0] - movs r0, 0 - str r0, [r1] -_080CC056: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CC020 - - thumb_func_start sub_80CC064 -sub_80CC064: @ 80CC064 - push {lr} - ldr r3, =gUnknown_02039D08 - ldr r0, [r3] - ldr r1, =0x00000b04 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _080CC094 - adds r2, r0, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, [r3] - ldr r1, =0x00000b04 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAffineAnim -_080CC094: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CC064 - - thumb_func_start sub_80CC0A0 -sub_80CC0A0: @ 80CC0A0 - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000b04 - adds r2, r0, r1 - ldr r0, [r2] - cmp r0, 0 - bne _080CC0BC - movs r0, 0 - b _080CC0D0 - .pool -_080CC0BC: - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080CC0CE - movs r0, 0 - str r0, [r2] -_080CC0CE: - movs r0, 0x1 -_080CC0D0: - pop {r1} - bx r1 - thumb_func_end sub_80CC0A0 - - thumb_func_start sub_80CC0D4 -sub_80CC0D4: @ 80CC0D4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039D08 - ldr r1, [r1] - ldr r2, =0x00000a6c - adds r1, r2 - ldr r3, [r1] - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r3, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x5] - bx lr - .pool - thumb_func_end sub_80CC0D4 - - thumb_func_start sub_80CC100 -sub_80CC100: @ 80CC100 - ldr r1, =gUnknown_02039D08 - ldr r1, [r1] - ldr r2, =0x00000cb4 - adds r1, r2 - ldr r2, [r1] - ldrh r2, [r2, 0x20] - strh r2, [r0, 0x20] - ldr r2, [r1] - ldrh r1, [r2, 0x26] - ldrh r2, [r2, 0x22] - adds r1, r2 - adds r1, 0x4 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end sub_80CC100 - - thumb_func_start sub_80CC124 -sub_80CC124: @ 80CC124 - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r4, 0 - ldr r1, =gUnknown_02039D08 - ldr r0, [r1] - ldr r2, =0x00000b58 - adds r0, r2 - ldrh r0, [r0] - adds r2, r1, 0 - cmp r0, r3 - beq _080CC158 - adds r6, r2, 0 - ldr r5, =0x00000b58 -_080CC140: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x27 - bhi _080CC158 - ldr r0, [r6] - lsls r1, r4, 1 - adds r0, r5 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r3 - bne _080CC140 -_080CC158: - cmp r4, 0x28 - bne _080CC198 - movs r4, 0 - ldr r0, [r2] - ldr r5, =0x00000b58 - adds r0, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _080CC184 - adds r6, r2, 0 -_080CC16C: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x27 - bhi _080CC184 - ldr r0, [r6] - lsls r1, r4, 1 - adds r0, r5 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _080CC16C -_080CC184: - cmp r4, 0x28 - bne _080CC198 - ldr r0, =0x0000ffff - b _080CC1CA - .pool -_080CC198: - ldr r1, [r2] - lsls r2, r4, 1 - ldr r5, =0x00000b58 - adds r0, r1, r5 - adds r0, r2 - strh r3, [r0] - ldr r0, =0x00000b08 - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r4, 20 - lsrs r4, 16 - adds r0, r3, 0 - movs r1, 0x1 - bl GetMonIconTiles - lsls r1, r4, 5 - ldr r2, =0x06010000 - adds r1, r2 - ldr r2, =0x04000080 - bl CpuSet - adds r0, r4, 0 -_080CC1CA: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CC124 - - thumb_func_start sub_80CC1E0 -sub_80CC1E0: @ 80CC1E0 - push {r4-r6,lr} - lsls r0, 16 - lsrs r5, r0, 16 - movs r3, 0 - ldr r6, =gUnknown_02039D08 -_080CC1EA: - ldr r1, [r6] - lsls r2, r3, 1 - ldr r4, =0x00000b58 - adds r0, r1, r4 - adds r4, r0, r2 - ldrh r0, [r4] - cmp r0, r5 - bne _080CC220 - ldr r0, =0x00000b08 - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _080CC22A - strh r0, [r4] - b _080CC22A - .pool -_080CC220: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x27 - bls _080CC1EA -_080CC22A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80CC1E0 - - thumb_func_start sub_80CC230 -sub_80CC230: @ 80CC230 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r4, [sp, 0x3C] - ldr r5, [sp, 0x40] - lsls r0, 16 - lsrs r6, r0, 16 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x18] - lsls r3, 16 - lsrs r3, 16 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r9, r5 - mov r2, sp - ldr r0, =gUnknown_085728D4 - ldm r0!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldm r0!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - adds r0, r6, 0 - bl mon_icon_convert_unown_species_id - mov r10, r0 - mov r6, r10 - mov r2, sp - ldr r1, =gMonIconPaletteIndices - adds r1, r6, r1 - ldr r3, =0x0000dac0 - adds r0, r3, 0 - ldrb r1, [r1] - adds r0, r1 - strh r0, [r2, 0x2] - adds r0, r6, 0 - bl sub_80CC124 - lsls r0, 16 - lsrs r0, 16 - adds r5, r0, 0 - ldr r0, =0x0000ffff - cmp r5, r0 - beq _080CC302 - ldr r7, [sp, 0x18] - lsls r1, r7, 16 - asrs r1, 16 - mov r0, r8 - lsls r2, r0, 16 - asrs r2, 16 - mov r0, sp - mov r3, r9 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080CC2FC - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldr r2, =0x000003ff - ands r2, r5 - ldrh r3, [r0, 0x4] - ldr r1, =0xfffffc00 - ands r1, r3 - orrs r1, r2 - strh r1, [r0, 0x4] - movs r1, 0x3 - ands r4, r1 - lsls r3, r4, 2 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, 0x5] - mov r1, r10 - strh r1, [r0, 0x2E] - b _080CC304 - .pool -_080CC2FC: - adds r0, r6, 0 - bl sub_80CC1E0 -_080CC302: - movs r0, 0 -_080CC304: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80CC230 - - thumb_func_start sub_80CC314 -sub_80CC314: @ 80CC314 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - bl sub_80CC1E0 - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CC314 - - thumb_func_start sub_80CC32C -sub_80CC32C: @ 80CC32C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =sub_80CC370 - movs r1, 0x2 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xC] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CC32C - - thumb_func_start sub_80CC35C -sub_80CC35C: @ 80CC35C - push {lr} - ldr r0, =sub_80CC370 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CC35C - - thumb_func_start sub_80CC370 -sub_80CC370: @ 80CC370 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bhi _080CC454 - lsls r0, 2 - ldr r1, =_080CC39C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080CC39C: - .4byte _080CC3B0 - .4byte _080CC3E8 - .4byte _080CC41C - .4byte _080CC426 - .4byte _080CC44C -_080CC3B0: - ldr r1, =gUnknown_02039D08 - ldr r0, [r1] - ldr r2, =0x000002d2 - adds r0, r2 - movs r2, 0 - strb r2, [r0] - ldr r1, [r1] - movs r3, 0xB3 - lsls r3, 2 - adds r0, r1, r3 - strh r2, [r0] - ldr r0, =0x00004ac4 - adds r1, r0 - movs r2, 0x80 - lsls r2, 5 - movs r0, 0 - movs r3, 0x1 - bl RequestDma3Fill - strh r0, [r4, 0xA] - b _080CC458 - .pool -_080CC3E8: - movs r1, 0xA - ldrsh r0, [r4, r1] - bl CheckForSpaceForDma3Request - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _080CC45E - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r2, =0x00004ac4 - adds r1, r2 - movs r0, 0x2 - bl SetBgTilemapBuffer - movs r0, 0x2 - bl ShowBg - b _080CC458 - .pool -_080CC41C: - ldrb r0, [r4, 0xC] - movs r1, 0 - bl sub_80CC7A0 - b _080CC458 -_080CC426: - bl sub_80CCA00 - cmp r0, 0 - beq _080CC45E - ldrb r0, [r4, 0xC] - bl sub_80CCB50 - bl sub_80CD02C - ldrb r0, [r4, 0xC] - bl sub_80CB028 - ldr r1, =0x00005b0a - movs r0, 0xC - bl SetGpuReg - b _080CC458 - .pool -_080CC44C: - adds r0, r2, 0 - bl DestroyTask - b _080CC458 -_080CC454: - movs r0, 0 - b _080CC45C -_080CC458: - ldrh r0, [r4, 0x8] - adds r0, 0x1 -_080CC45C: - strh r0, [r4, 0x8] -_080CC45E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CC370 - - thumb_func_start sub_80CC464 -sub_80CC464: @ 80CC464 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - adds r0, r4, 0 - bl sub_80CC644 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r5, =gUnknown_02039D08 - ldr r2, [r5] - lsls r0, r6, 24 - asrs r3, r0, 24 - movs r0, 0x6 - negs r0, r0 - adds r1, r0, 0 - cmp r3, 0 - ble _080CC490 - movs r1, 0x6 -_080CC490: - ldr r7, =0x000002ce - adds r0, r2, r7 - strh r1, [r0] - movs r1, 0x2 - cmp r3, 0 - ble _080CC49E - movs r1, 0x1 -_080CC49E: - ldr r7, =0x000002d3 - adds r0, r2, r7 - strb r1, [r0] - ldr r2, [r5] - movs r0, 0xB4 - lsls r0, 2 - adds r1, r2, r0 - movs r0, 0x20 - strh r0, [r1] - movs r1, 0xB5 - lsls r1, 2 - adds r0, r2, r1 - strb r4, [r0] - ldr r2, [r5] - movs r1, 0 - cmp r3, 0 - bgt _080CC4C2 - movs r1, 0x5 -_080CC4C2: - ldr r4, =0x000002d6 - adds r0, r2, r4 - strh r1, [r0] - movs r7, 0xB6 - lsls r7, 2 - adds r0, r2, r7 - strh r3, [r0] - movs r1, 0x38 - cmp r3, 0 - ble _080CC4DC - movs r0, 0x84 - lsls r0, 1 - adds r1, r0, 0 -_080CC4DC: - ldr r4, =0x000002da - adds r0, r2, r4 - strh r1, [r0] - movs r1, 0 - cmp r3, 0 - bgt _080CC4EA - movs r1, 0x5 -_080CC4EA: - movs r7, 0xB7 - lsls r7, 2 - adds r0, r2, r7 - strh r1, [r0] - ldr r0, =0x000002de - adds r1, r2, r0 - movs r0, 0 - strh r0, [r1] - movs r3, 0xB8 - lsls r3, 2 - adds r1, r2, r3 - movs r0, 0x2 - strh r0, [r1] - ldr r4, =0x00000a64 - adds r0, r2, r4 - mov r7, r8 - strb r7, [r0] - ldr r0, [r5] - ldr r1, =0x00000a65 - adds r0, r1 - strb r6, [r0] - ldr r0, [r5] - ldr r3, =0x00000a63 - adds r0, r3 - movs r1, 0 - strb r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CC464 - - thumb_func_start sub_80CC54C -sub_80CC54C: @ 80CC54C - push {r4-r6,lr} - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - ldr r5, =0x00000a63 - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080CC594 - cmp r0, 0x1 - bgt _080CC570 - cmp r0, 0 - beq _080CC576 - b _080CC624 - .pool -_080CC570: - cmp r0, 0x2 - beq _080CC5E4 - b _080CC624 -_080CC576: - ldr r2, =0x00000a64 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - bl sub_80CC7A0 - ldr r1, [r4] - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080CC594: - bl sub_80CCA00 - cmp r0, 0 - beq _080CC632 - ldr r6, =gUnknown_02039D08 - ldr r1, [r6] - ldr r4, =0x00000a64 - adds r0, r1, r4 - ldrb r0, [r0] - ldr r5, =0x00000a65 - adds r1, r5 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - bl sub_80CB4CC - ldr r1, [r6] - adds r4, r1, r4 - ldrb r0, [r4] - adds r1, r5 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - bl sub_80CCCFC - ldr r0, [r6] - adds r0, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80CD0B8 - b _080CC624 - .pool -_080CC5E4: - bl sub_80CB584 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, [r4] - movs r4, 0xB4 - lsls r4, 2 - adds r3, r2, r4 - ldrh r0, [r3] - cmp r0, 0 - beq _080CC620 - movs r0, 0xB3 - lsls r0, 2 - adds r1, r2, r0 - subs r4, 0x2 - adds r0, r2, r4 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - ldrh r0, [r3] - subs r0, 0x1 - strh r0, [r3] - lsls r0, 16 - cmp r0, 0 - bne _080CC632 - bl sub_80CCEE0 - bl sub_80CD158 -_080CC620: - adds r0, r5, 0 - b _080CC634 -_080CC624: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r4, =0x00000a63 - adds r1, r4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080CC632: - movs r0, 0x1 -_080CC634: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CC54C - - thumb_func_start sub_80CC644 -sub_80CC644: @ 80CC644 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0 - cmp r1, r4 - beq _080CC66E -_080CC658: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xD - bls _080CC664 - movs r1, 0 -_080CC664: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r1, r4 - bne _080CC658 -_080CC66E: - movs r0, 0x1 - negs r0, r0 - cmp r2, 0x6 - bhi _080CC678 - movs r0, 0x1 -_080CC678: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80CC644 - - thumb_func_start sub_80CC680 -sub_80CC680: @ 80CC680 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl SetBoxWallpaper - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000a62 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CC680 - - thumb_func_start sub_80CC6B0 -sub_80CC6B0: @ 80CC6B0 - push {r4,lr} - sub sp, 0x4 - ldr r1, =gUnknown_02039D08 - ldr r0, [r1] - ldr r2, =0x00000a62 - adds r0, r2 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _080CC794 - lsls r0, 2 - ldr r1, =_080CC6DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080CC6DC: - .4byte _080CC6F0 - .4byte _080CC718 - .4byte _080CC732 - .4byte _080CC76C - .4byte _080CC790 -_080CC6F0: - ldr r0, [r4] - movs r1, 0xE7 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldr r2, =0x00000a62 - adds r1, r2 - b _080CC77E - .pool -_080CC718: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080CC794 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80CC7A0 - b _080CC776 -_080CC732: - bl sub_80CCA00 - cmp r0, 0x1 - bne _080CC794 - bl sub_80CCF9C - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - movs r1, 0xE7 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldr r2, =0x00000a62 - adds r1, r2 - b _080CC77E - .pool -_080CC76C: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080CC794 -_080CC776: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r0, =0x00000a62 - adds r1, r0 -_080CC77E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080CC794 - .pool -_080CC790: - movs r0, 0 - b _080CC796 -_080CC794: - movs r0, 0x1 -_080CC796: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80CC6B0 - - thumb_func_start sub_80CC7A0 -sub_80CC7A0: @ 80CC7A0 - push {r4-r7,lr} - sub sp, 0x8 - ldr r4, =gUnknown_02039D08 - ldr r2, [r4] - ldr r3, =0x000006f9 - adds r2, r3 - movs r3, 0 - strb r3, [r2] - ldr r2, [r4] - ldr r3, =0x000006fa - adds r2, r3 - strb r0, [r2] - ldr r0, [r4] - ldr r2, =0x000006fb - adds r0, r2 - strb r1, [r0] - ldr r1, [r4] - adds r2, r1, r2 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0 - beq _080CC7E6 - movs r3, 0 - ldr r0, =0x000002d2 - adds r2, r1, r0 - ldrb r0, [r2] - cmp r0, 0 - bne _080CC7DA - movs r3, 0x1 -_080CC7DA: - strb r3, [r2] - ldr r0, [r4] - ldr r1, =0x00004ac4 - adds r0, r1 - bl sub_80CCAE0 -_080CC7E6: - ldr r7, =gUnknown_02039D08 - ldr r0, [r7] - ldr r2, =0x000006fa - adds r0, r2 - ldrb r0, [r0] - bl sub_80D20F8 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x10 - beq _080CC8C4 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, =gWallpaperTable - adds r6, r0, r1 - ldr r0, [r6, 0x4] - ldr r1, [r7] - ldr r5, =0x00000792 - adds r1, r5 - bl LZ77UnCompWram - ldr r0, [r7] - adds r5, r0, r5 - ldr r4, =0x000006fb - adds r1, r0, r4 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - ldr r3, =0x000002d2 - adds r0, r3 - ldrb r2, [r0] - adds r0, r5, 0 - bl sub_80CCA3C - ldr r1, [r7] - adds r4, r1, r4 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - beq _080CC874 - ldr r0, [r6, 0x8] - ldr r2, =0x000002d2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 21 - movs r3, 0x80 - lsls r3, 15 - adds r1, r3 - lsrs r1, 16 - movs r2, 0x40 - bl LoadPalette - b _080CC888 - .pool -_080CC874: - ldr r0, [r6, 0x8] - ldr r2, =0x000002d2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 6 - ldr r2, =gPlttBufferUnfaded + 0x80 - adds r1, r2 - movs r2, 0x20 - bl CpuSet -_080CC888: - ldr r0, [r6] - mov r1, sp - bl malloc_and_decompress - adds r1, r0, 0 - ldr r0, =gUnknown_02039D08 - ldr r3, [r0] - ldr r2, =0x00000a68 - adds r0, r3, r2 - str r1, [r0] - ldr r2, [sp] - lsls r2, 16 - lsrs r2, 16 - ldr r0, =0x000002d2 - adds r3, r0 - ldrb r3, [r3] - lsls r3, 8 - movs r0, 0x2 - bl LoadBgTiles - b _080CC9DA - .pool -_080CC8C4: - bl GetWaldaWallpaperPatternId - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r0, =gUnknown_0857AF44 - adds r6, r1, r0 - ldr r0, [r6, 0x4] - ldr r1, [r7] - ldr r4, =0x00000792 - adds r1, r4 - bl LZ77UnCompWram - ldr r2, [r7] - adds r0, r2, r4 - ldr r5, =0x000006fb - adds r1, r2, r5 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - ldr r3, =0x000002d2 - adds r2, r3 - ldrb r2, [r2] - bl sub_80CCA3C - ldr r0, [r6, 0x8] - ldr r1, [r7] - adds r1, r4 - movs r2, 0x20 - bl CpuSet - bl GetWaldaWallpaperColorsPtr - ldr r1, [r7] - ldr r2, =0x00000794 - adds r1, r2 - movs r2, 0x2 - bl CpuSet - bl GetWaldaWallpaperColorsPtr - ldr r1, [r7] - ldr r3, =0x000007b4 - adds r1, r3 - movs r2, 0x2 - bl CpuSet - ldr r1, [r7] - adds r5, r1, r5 - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0 - beq _080CC960 - adds r0, r1, r4 - ldr r2, =0x000002d2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 21 - movs r3, 0x80 - lsls r3, 15 - adds r1, r3 - lsrs r1, 16 - movs r2, 0x40 - bl LoadPalette - b _080CC976 - .pool -_080CC960: - ldr r2, =0x00000792 - adds r0, r1, r2 - ldr r3, =0x000002d2 - adds r1, r3 - ldrb r1, [r1] - lsls r1, 6 - ldr r2, =gPlttBufferUnfaded + 0x80 - adds r1, r2 - movs r2, 0x20 - bl CpuSet -_080CC976: - ldr r0, [r6] - mov r1, sp - bl malloc_and_decompress - ldr r6, =gUnknown_02039D08 - ldr r1, [r6] - ldr r5, =0x00000a68 - adds r1, r5 - str r0, [r1] - ldr r4, =gUnknown_0857B004 - bl GetWaldaWallpaperIconId - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - add r1, sp, 0x4 - bl malloc_and_decompress - adds r4, r0, 0 - ldr r0, [r6] - adds r0, r5 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 4 - adds r1, r0 - ldr r2, [sp, 0x4] - lsls r2, 9 - lsrs r2, 11 - movs r0, 0x80 - lsls r0, 19 - orrs r2, r0 - adds r0, r4, 0 - bl CpuSet - adds r0, r4, 0 - bl Free - ldr r0, [r6] - adds r5, r0, r5 - ldr r1, [r5] - ldr r2, [sp] - lsls r2, 16 - lsrs r2, 16 - ldr r3, =0x000002d2 - adds r0, r3 - ldrb r3, [r0] - lsls r3, 8 - movs r0, 0x2 - bl LoadBgTiles -_080CC9DA: - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CC7A0 - - thumb_func_start sub_80CCA00 -sub_80CCA00: @ 80CCA00 - push {r4,r5,lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080CCA12 - movs r0, 0 - b _080CCA2E -_080CCA12: - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldr r1, =0x00000a68 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080CCA2C - bl Free - ldr r0, [r5] - ldr r1, =0x00000a68 - adds r0, r1 - str r4, [r0] -_080CCA2C: - movs r0, 0x1 -_080CCA2E: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CCA00 - - thumb_func_start sub_80CCA3C -sub_80CCA3C: @ 80CCA3C - push {r4-r7,lr} - sub sp, 0x24 - adds r5, r0, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r4, r2, 17 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r3, 0xB3 - lsls r3, 2 - adds r0, r3 - ldrh r3, [r0] - lsrs r3, 3 - adds r3, 0xA - lsls r1, 24 - asrs r7, r1, 24 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - adds r6, r3, r0 - movs r0, 0x3F - ands r6, r0 - movs r3, 0x14 - str r3, [sp] - movs r1, 0x12 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - str r3, [sp, 0x10] - str r1, [sp, 0x14] - movs r0, 0x11 - str r0, [sp, 0x18] - lsls r2, 24 - asrs r2, 16 - str r2, [sp, 0x1C] - movs r0, 0xC0 - lsls r0, 10 - adds r4, r0 - asrs r4, 16 - str r4, [sp, 0x20] - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - cmp r7, 0 - beq _080CCAD2 - cmp r7, 0 - ble _080CCAB0 - lsls r0, r6, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - b _080CCAB6 - .pool -_080CCAB0: - lsls r0, r6, 16 - ldr r3, =0xfffc0000 - adds r0, r3 -_080CCAB6: - lsrs r6, r0, 16 - lsls r2, r6, 24 - lsrs r2, 24 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x12 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - movs r3, 0x2 - bl FillBgTilemapBufferRect -_080CCAD2: - add sp, 0x24 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CCA3C - - thumb_func_start sub_80CCAE0 -sub_80CCAE0: @ 80CCAE0 - push {r4-r6,lr} - adds r2, r0, 0 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r1, 0xB3 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 3 - adds r3, r0, 0 - adds r3, 0x1E - movs r0, 0x3F - ands r3, r0 - adds r0, r3, 0 - cmp r0, 0x1F - bgt _080CCB10 - lsls r0, 1 - movs r6, 0x98 - lsls r6, 3 - adds r0, r6 - b _080CCB18 - .pool -_080CCB10: - lsls r0, 1 - movs r1, 0xC8 - lsls r1, 4 - adds r0, r1 -_080CCB18: - adds r2, r0 - movs r0, 0 - movs r5, 0 - movs r4, 0x3F -_080CCB20: - strh r5, [r2] - adds r2, 0x2 - adds r3, 0x1 - ands r3, r4 - adds r1, r3, 0 - cmp r1, 0 - bne _080CCB32 - ldr r6, =0xfffff7c0 - adds r2, r6 -_080CCB32: - cmp r1, 0x20 - bne _080CCB3C - movs r1, 0xF8 - lsls r1, 3 - adds r2, r1 -_080CCB3C: - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2B - bls _080CCB20 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CCAE0 - - thumb_func_start sub_80CCB50 -sub_80CCB50: @ 80CCB50 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gUnknown_02039D08 - mov r10, r1 - ldr r1, [r1] - movs r2, 0xBE - lsls r2, 2 - adds r0, r1, r2 - str r0, [sp, 0x24] - mov r3, sp - adds r3, 0x24 - str r3, [sp, 0x2C] - ldr r0, =0x00030200 - str r0, [r3, 0x4] - ldr r4, =0x000006fc - adds r1, r4 - str r1, [sp, 0x14] - add r0, sp, 0x18 - ldr r7, =0x0000dac9 - strh r7, [r0] - add r0, sp, 0x1C - movs r1, 0 - movs r2, 0x8 - bl memset - add r1, sp, 0x14 - add r0, sp, 0x4 - movs r2, 0x10 - bl memcpy - mov r0, r8 - bl sub_80D20F8 - lsls r0, 24 - mov r5, r10 - ldr r4, [r5] - ldr r2, =gUnknown_08577574 - lsrs r0, 22 - adds r1, r0, r2 - ldrh r3, [r1] - movs r5, 0xE3 - lsls r5, 3 - adds r1, r4, r5 - strh r3, [r1] - adds r2, 0x2 - adds r0, r2 - ldrh r0, [r0] - ldr r1, =0x0000071a - adds r4, r1 - strh r0, [r4] - add r0, sp, 0x4 - bl LoadSpritePalettes - mov r2, r10 - ldr r0, [r2] - movs r6, 0xE7 - lsls r6, 3 - adds r0, r6 - movs r1, 0xFC - lsls r1, 2 - str r1, [r0] - adds r0, r7, 0 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - mov r4, r10 - ldr r3, [r4] - lsls r1, r0, 4 - movs r5, 0x87 - lsls r5, 1 - mov r9, r5 - add r1, r9 - ldr r4, =0x0000071c - adds r2, r3, r4 - strh r1, [r2] - adds r3, r6 - movs r5, 0x80 - lsls r5, 9 - adds r1, r5, 0 - lsls r1, r0 - ldr r0, [r3] - orrs r0, r1 - str r0, [r3] - adds r0, r7, 0 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - mov r1, r10 - ldr r4, [r1] - lsls r1, r0, 4 - add r1, r9 - ldr r3, =0x0000071e - adds r2, r4, r3 - strh r1, [r2] - adds r6, r4, r6 - lsls r5, r0 - ldr r0, [r6] - orrs r0, r5 - str r0, [r6] - ldr r5, =0x000021b8 - adds r4, r5 - mov r0, r8 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x8 - bl StringCopyPadded - mov r4, r10 - ldr r1, [r4] - adds r5, r1, r5 - movs r0, 0xBE - lsls r0, 2 - adds r1, r0 - movs r0, 0x2 - str r0, [sp] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - ldr r0, [sp, 0x2C] - bl LoadSpriteSheet - mov r0, r8 - bl GetBoxNamePtr - bl sub_80CD00C - movs r4, 0 - lsls r0, 16 - asrs r6, r0, 16 -_080CCC70: - lsls r1, r4, 5 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - ldr r0, =gSpriteTemplate_857B0A8 - movs r2, 0x1C - movs r3, 0x18 - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r5, =gUnknown_02039D08 - ldr r2, [r5] - lsls r0, r4, 2 - movs r3, 0xE4 - lsls r3, 3 - adds r2, r3 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r2] - lsls r1, r4, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080CCC70 - ldr r0, [r5] - movs r4, 0xDF - lsls r4, 3 - adds r0, r4 - movs r1, 0 - strb r1, [r0] - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CCB50 - - thumb_func_start sub_80CCCFC -sub_80CCCFC: @ 80CCCFC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x28] - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - ldr r4, =gUnknown_02039D08 - ldr r2, [r4] - movs r1, 0xBE - lsls r1, 2 - adds r0, r2, r1 - str r0, [sp, 0x1C] - add r3, sp, 0x1C - ldr r5, =0x0000ffff - mov r12, r5 - movs r6, 0xC0 - lsls r6, 10 - mov r9, r6 - ldr r0, =0x00030200 - str r0, [r3, 0x4] - add r1, sp, 0x4 - ldr r0, =gSpriteTemplate_857B0A8 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - movs r1, 0 - movs r5, 0xDF - lsls r5, 3 - adds r2, r5 - ldrb r0, [r2] - mov r8, r4 - adds r6, r3, 0 - cmp r0, 0 - bne _080CCD50 - movs r1, 0x1 -_080CCD50: - strb r1, [r2] - mov r7, r8 - ldr r0, [r7] - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _080CCD8C - ldr r0, [r6, 0x4] - mov r1, r12 - ands r0, r1 - mov r3, r9 - orrs r0, r3 - str r0, [r6, 0x4] - ldr r0, [r7] - ldr r5, =0x0000071c - adds r0, r5 - ldrh r0, [r0] - mov r9, r0 - b _080CCDB0 - .pool -_080CCD8C: - ldr r0, [r6, 0x4] - mov r7, r12 - ands r0, r7 - movs r1, 0x80 - lsls r1, 11 - orrs r0, r1 - str r0, [r6, 0x4] - mov r1, r8 - ldr r0, [r1] - ldr r3, =0x0000071c - adds r0, r3 - ldrh r0, [r0] - mov r9, r0 - add r1, sp, 0x4 - movs r0, 0x4 - strh r0, [r1] - ldr r0, =0x0000dac9 - strh r0, [r1, 0x2] -_080CCDB0: - mov r5, r8 - ldr r4, [r5] - ldr r5, =0x000021b8 - adds r4, r5 - ldr r0, [sp, 0x28] - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x8 - bl StringCopyPadded - mov r7, r8 - ldr r1, [r7] - adds r5, r1, r5 - movs r0, 0xBE - lsls r0, 2 - adds r1, r0 - movs r0, 0x2 - str r0, [sp] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - adds r0, r6, 0 - bl LoadSpriteSheet - ldr r0, [sp, 0x28] - bl sub_80D20F8 - lsls r0, 24 - lsrs r0, 22 - ldr r1, =gUnknown_08577574 - adds r0, r1 - mov r1, r9 - movs r2, 0x4 - bl LoadPalette - ldr r0, [sp, 0x28] - bl GetBoxNamePtr - bl sub_80CD00C - lsls r0, 16 - mov r1, r10 - lsls r2, r1, 24 - asrs r2, 24 - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 6 - lsrs r3, r0, 16 - str r3, [sp, 0x24] - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - movs r7, 0 - mov r9, r8 - negs r2, r2 - mov r8, r2 -_080CCE2E: - lsls r6, r7, 5 - mov r5, r10 - lsls r1, r5, 16 - asrs r1, 16 - adds r1, r6 - lsls r1, 16 - asrs r1, 16 - add r0, sp, 0x4 - movs r2, 0x1C - movs r3, 0x18 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r1, r9 - ldr r2, [r1] - lsls r5, r7, 2 - movs r3, 0xE5 - lsls r3, 3 - adds r2, r3 - adds r2, r5 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r2] - mov r0, r8 - lsls r4, r0, 1 - add r4, r8 - lsls r4, 1 - strh r4, [r1, 0x2E] - ldr r1, [r2] - ldr r3, [sp, 0x24] - lsls r0, r3, 16 - asrs r0, 16 - adds r0, r6 - strh r0, [r1, 0x30] - ldr r0, [r2] - movs r6, 0 - strh r6, [r0, 0x32] - ldr r0, [r2] - ldr r1, =sub_80CCF30 - str r1, [r0, 0x1C] - lsls r1, r7, 24 - lsrs r1, 24 - bl StartSpriteAnim - mov r1, r9 - ldr r0, [r1] - movs r3, 0xE4 - lsls r3, 3 - adds r0, r3 - adds r0, r5 - ldr r1, [r0] - strh r4, [r1, 0x2E] - ldr r2, [r0] - movs r1, 0x1 - strh r1, [r2, 0x30] - ldr r1, [r0] - ldr r0, =sub_80CCF64 - str r0, [r1, 0x1C] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x1 - bls _080CCE2E - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CCCFC - - thumb_func_start sub_80CCEE0 -sub_80CCEE0: @ 80CCEE0 - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r1, 0xDF - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080CCF00 - movs r0, 0x4 - bl FreeSpriteTilesByTag - b _080CCF06 - .pool -_080CCF00: - movs r0, 0x3 - bl FreeSpriteTilesByTag -_080CCF06: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r3, 0xE4 - lsls r3, 3 - adds r2, r0, r3 - adds r3, 0x8 - adds r1, r0, r3 - ldr r1, [r1] - str r1, [r2] - ldr r2, =0x00000724 - adds r1, r0, r2 - adds r3, 0x4 - adds r0, r3 - ldr r0, [r0] - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CCEE0 - - thumb_func_start sub_80CCF30 -sub_80CCF30: @ 80CCF30 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x32] - movs r3, 0x32 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080CCF44 - subs r0, r1, 0x1 - strh r0, [r2, 0x32] - b _080CCF5C -_080CCF44: - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x30 - ldrsh r1, [r2, r3] - cmp r0, r1 - bne _080CCF5C - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_080CCF5C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CCF30 - - thumb_func_start sub_80CCF64 -sub_80CCF64: @ 80CCF64 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x30] - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080CCF78 - subs r0, r1, 0x1 - strh r0, [r2, 0x30] - b _080CCF96 -_080CCF78: - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x32] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC0 - bls _080CCF96 - adds r0, r2, 0 - bl DestroySprite -_080CCF96: - pop {r0} - bx r0 - thumb_func_end sub_80CCF64 - - thumb_func_start sub_80CCF9C -sub_80CCF9C: @ 80CCF9C - push {lr} - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - bl sub_80D20F8 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, =gUnknown_02039D08 - ldr r2, [r0] - movs r3, 0xDF - lsls r3, 3 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _080CCFE4 - lsls r0, r1, 2 - ldr r1, =gUnknown_08577574 - adds r0, r1 - adds r3, 0x24 - adds r1, r2, r3 - ldrh r1, [r1] - lsls r1, 1 - ldr r2, =gPlttBufferUnfaded - adds r1, r2 - movs r2, 0x2 - bl CpuSet - b _080CCFFC - .pool -_080CCFE4: - lsls r0, r1, 2 - ldr r1, =gUnknown_08577574 - adds r0, r1 - ldr r3, =0x0000071e - adds r1, r2, r3 - ldrh r1, [r1] - lsls r1, 1 - ldr r2, =gPlttBufferUnfaded - adds r1, r2 - movs r2, 0x2 - bl CpuSet -_080CCFFC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CCF9C - - thumb_func_start sub_80CD00C -sub_80CD00C: @ 80CD00C - push {lr} - adds r1, r0, 0 - movs r0, 0x1 - movs r2, 0 - bl GetStringWidth - adds r1, r0, 0 - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - movs r0, 0xB0 - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80CD00C - - thumb_func_start sub_80CD02C -sub_80CD02C: @ 80CD02C - push {r4,r5,lr} - ldr r0, =gUnknown_0857B080 - bl LoadSpriteSheet - movs r5, 0 -_080CD036: - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 19 - movs r0, 0xB8 - lsls r0, 15 - adds r1, r0 - asrs r1, 16 - ldr r0, =gUnknown_0857B0E0 - movs r2, 0x1C - movs r3, 0x16 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080CD088 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r4, r0, r1 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - movs r0, 0x1 - cmp r5, 0 - bne _080CD076 - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 -_080CD076: - strh r0, [r4, 0x34] - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r5, 2 - movs r2, 0xE6 - lsls r2, 3 - adds r0, r2 - adds r0, r1 - str r4, [r0] -_080CD088: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080CD036 - bl sub_80CEADC - lsls r0, 24 - cmp r0, 0 - beq _080CD0A2 - movs r0, 0x1 - bl sub_80CD1A8 -_080CD0A2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CD02C - - thumb_func_start sub_80CD0B8 -sub_80CD0B8: @ 80CD0B8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r2, 0 - ldr r7, =gUnknown_02039D08 - mov r12, r7 - movs r6, 0xE6 - lsls r6, 3 - movs r4, 0 - movs r3, 0x2 -_080CD0CC: - mov r0, r12 - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r6 - adds r1, r0 - ldr r0, [r1] - strh r4, [r0, 0x24] - ldr r0, [r1] - strh r3, [r0, 0x2E] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1 - bls _080CD0CC - lsls r0, r5, 24 - cmp r0, 0 - bge _080CD114 - ldr r1, [r7] - movs r2, 0xE6 - lsls r2, 3 - adds r3, r1, r2 - ldr r2, [r3] - movs r0, 0x1D - strh r0, [r2, 0x30] - ldr r0, =0x00000734 - adds r1, r0 - ldr r2, [r1] - movs r0, 0x5 - strh r0, [r2, 0x30] - ldr r0, [r3] - movs r2, 0x48 - b _080CD130 - .pool -_080CD114: - ldr r1, [r7] - movs r2, 0xE6 - lsls r2, 3 - adds r3, r1, r2 - ldr r2, [r3] - movs r0, 0x5 - strh r0, [r2, 0x30] - ldr r0, =0x00000734 - adds r1, r0 - ldr r2, [r1] - movs r0, 0x1D - strh r0, [r2, 0x30] - ldr r0, [r3] - movs r2, 0xF8 -_080CD130: - strh r2, [r0, 0x32] - ldr r0, [r1] - strh r2, [r0, 0x32] - ldr r1, [r7] - movs r2, 0xE6 - lsls r2, 3 - adds r0, r1, r2 - ldr r2, [r0] - movs r0, 0 - strh r0, [r2, 0x3C] - ldr r0, =0x00000734 - adds r1, r0 - ldr r1, [r1] - movs r0, 0x1 - strh r0, [r1, 0x3C] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CD0B8 - - thumb_func_start sub_80CD158 -sub_80CD158: @ 80CD158 - push {r4-r6,lr} - movs r3, 0 - movs r5, 0 - movs r6, 0x5 - negs r6, r6 - ldr r4, =gUnknown_02039D08 -_080CD164: - ldr r1, [r4] - lsls r0, r3, 2 - movs r2, 0xE6 - lsls r2, 3 - adds r1, r2 - adds r1, r0 - ldr r2, [r1] - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 3 - adds r0, 0x5C - strh r0, [r2, 0x20] - ldr r0, [r1] - strh r5, [r0, 0x24] - ldr r1, [r1] - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x1 - bls _080CD164 - movs r0, 0x1 - bl sub_80CD1A8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CD158 - - thumb_func_start sub_80CD1A8 -sub_80CD1A8: @ 80CD1A8 - push {r4-r6,lr} - lsls r0, 24 - cmp r0, 0 - beq _080CD1E4 - movs r2, 0 - ldr r6, =gUnknown_02039D08 - movs r5, 0xE6 - lsls r5, 3 - movs r3, 0 - movs r4, 0x1 -_080CD1BC: - ldr r1, [r6] - lsls r0, r2, 2 - adds r1, r5 - adds r1, r0 - ldr r0, [r1] - strh r4, [r0, 0x2E] - ldr r0, [r1] - strh r3, [r0, 0x30] - ldr r0, [r1] - strh r3, [r0, 0x32] - ldr r0, [r1] - strh r3, [r0, 0x36] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1 - bls _080CD1BC - b _080CD204 - .pool -_080CD1E4: - movs r2, 0 - ldr r5, =gUnknown_02039D08 - movs r4, 0xE6 - lsls r4, 3 - movs r3, 0 -_080CD1EE: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - ldr r0, [r0] - strh r3, [r0, 0x2E] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1 - bls _080CD1EE -_080CD204: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CD1A8 - - thumb_func_start sub_80CD210 -sub_80CD210: @ 80CD210 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x4 - bhi _080CD2DC - lsls r0, 2 - ldr r1, =_080CD22C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080CD22C: - .4byte _080CD240 - .4byte _080CD246 - .4byte _080CD274 - .4byte _080CD27A - .4byte _080CD2CC -_080CD240: - movs r0, 0 - strh r0, [r2, 0x24] - b _080CD2DC -_080CD246: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - movs r1, 0 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080CD2DC - strh r1, [r2, 0x30] - ldrh r0, [r2, 0x34] - ldrh r3, [r2, 0x24] - adds r0, r3 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080CD2DC - strh r1, [r2, 0x32] - strh r1, [r2, 0x24] - b _080CD2DC -_080CD274: - movs r0, 0x3 - strh r0, [r2, 0x2E] - b _080CD2DC -_080CD27A: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r0, =0x000002ce - adds r1, r0 - ldrh r0, [r2, 0x20] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2, 0x20] - subs r0, 0x49 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAE - bls _080CD2A0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] -_080CD2A0: - ldrh r0, [r2, 0x30] - subs r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080CD2DC - ldrh r0, [r2, 0x32] - strh r0, [r2, 0x20] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - movs r0, 0x4 - strh r0, [r2, 0x2E] - b _080CD2DC - .pool -_080CD2CC: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x000002ce - adds r0, r1 - ldrh r1, [r2, 0x20] - ldrh r0, [r0] - subs r1, r0 - strh r1, [r2, 0x20] -_080CD2DC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CD210 - - thumb_func_start sub_80CD2E8 -sub_80CD2E8: @ 80CD2E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r4, [sp, 0x18] - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0857B0E0 - lsls r5, 16 - asrs r5, 16 - lsls r6, 16 - asrs r6, 16 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080CD360 - movs r1, 0x1 - ands r1, r7 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r5, =gSprites - adds r6, r4, r5 - adds r0, r6, 0 - bl StartSpriteAnim - movs r0, 0x3 - mov r1, r8 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r6, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x5] - adds r5, 0x1C - adds r4, r5 - ldr r0, =SpriteCallbackDummy - str r0, [r4] - adds r0, r6, 0 - b _080CD362 - .pool -_080CD360: - movs r0, 0 -_080CD362: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80CD2E8 - - thumb_func_start sub_80CD36C -sub_80CD36C: @ 80CD36C - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - cmp r1, 0x1 - beq _080CD388 - ldr r1, =gUnknown_02039D78 - movs r0, 0 - strb r0, [r1] - b _080CD38C - .pool -_080CD388: - ldr r0, =gUnknown_02039D78 - strb r1, [r0] -_080CD38C: - ldr r0, =gUnknown_02039D79 - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_02039D7A - strb r1, [r0] - ldr r0, =gUnknown_02039D7B - strb r1, [r0] - ldr r0, =gUnknown_02039D7C - strb r1, [r0] - ldr r0, =gUnknown_02039D7D - strb r1, [r0] - bl sub_80CDC0C - bl sub_80CFC14 - ldr r2, =gUnknown_02039D08 - ldr r0, [r2] - ldr r1, =0x00000cd6 - adds r0, r1 - movs r3, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldr r1, =0x000021ff - adds r0, r1 - strb r3, [r0] - bl sub_80CEB40 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CD36C - - thumb_func_start sub_80CD3EC -sub_80CD3EC: @ 80CD3EC - push {lr} - bl sub_80CFC14 - bl sub_80CEBDC - ldr r3, =gUnknown_02039D08 - ldr r0, [r3] - ldr r1, =0x00000cd6 - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r3] - ldr r1, =0x000021ff - adds r0, r1 - strb r2, [r0] - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CD426 - ldr r0, [r3] - ldr r1, =0x000020a4 - adds r0, r1 - ldr r1, =gUnknown_02039D14 - movs r2, 0x64 - bl memcpy - bl sub_80CAFC4 -_080CD426: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CD3EC - - thumb_func_start sub_80CD444 -sub_80CD444: @ 80CD444 - push {r4-r6,lr} - adds r4, r2, 0 - adds r6, r3, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r0, 0x4 - bhi _080CD4FC - lsls r0, 2 - ldr r1, =_080CD464 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080CD464: - .4byte _080CD478 - .4byte _080CD4A6 - .4byte _080CD4CE - .4byte _080CD4D6 - .4byte _080CD4F4 -_080CD478: - adds r0, r5, 0 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, 0x64 - strh r1, [r4] - adds r0, r5, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, 0x20 - strh r1, [r6] - b _080CD4FC -_080CD4A6: - cmp r5, 0 - bne _080CD4B2 - movs r0, 0x68 - strh r0, [r4] - movs r0, 0x34 - b _080CD4FA -_080CD4B2: - cmp r5, 0x6 - bne _080CD4BE - movs r0, 0x98 - strh r0, [r4] - movs r0, 0x84 - b _080CD4FA -_080CD4BE: - movs r0, 0x98 - strh r0, [r4] - subs r1, r5, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x4 - b _080CD4FA -_080CD4CE: - movs r0, 0xA2 - strh r0, [r4] - movs r0, 0xC - b _080CD4FA -_080CD4D6: - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - movs r1, 0xE - cmp r0, 0 - beq _080CD4E2 - movs r1, 0x8 -_080CD4E2: - strh r1, [r6] - movs r0, 0x58 - muls r0, r5 - adds r0, 0x78 - strh r0, [r4] - b _080CD4FC - .pool -_080CD4F4: - movs r0, 0xA0 - strh r0, [r4] - movs r0, 0x60 -_080CD4FA: - strh r0, [r6] -_080CD4FC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80CD444 - - thumb_func_start sub_80CD504 -sub_80CD504: @ 80CD504 - push {lr} - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080CD538 - cmp r0, 0x1 - bne _080CD54C - ldr r0, =gUnknown_02039D79 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - b _080CD542 - .pool -_080CD538: - ldr r0, =gUnknown_02039D79 - ldrb r0, [r0] - movs r1, 0xB - bl GetBoxMonDataFromSelectedBox -_080CD542: - lsls r0, 16 - lsrs r0, 16 - b _080CD54E - .pool -_080CD54C: - movs r0, 0 -_080CD54E: - pop {r1} - bx r1 - thumb_func_end sub_80CD504 - - thumb_func_start sub_80CD554 -sub_80CD554: @ 80CD554 - push {r4-r7,lr} - ldr r7, =gUnknown_02039D08 - ldr r5, [r7] - movs r0, 0xCD - lsls r0, 4 - adds r1, r5, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _080CD57E - ldrb r0, [r5, 0x1] - cmp r0, 0x3 - beq _080CD574 - movs r0, 0 - b _080CD69A - .pool -_080CD574: - bl sub_80D1218 - lsls r0, 24 - lsrs r0, 24 - b _080CD69A -_080CD57E: - subs r0, 0x1 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - beq _080CD67C - ldr r1, =0x00000cbc - adds r4, r5, r1 - ldr r2, =0x00000cc4 - adds r1, r5, r2 - ldr r0, [r4] - ldr r1, [r1] - adds r0, r1 - str r0, [r4] - movs r0, 0xCC - lsls r0, 4 - adds r3, r5, r0 - adds r2, 0x4 - adds r1, r5, r2 - ldr r0, [r3] - ldr r1, [r1] - adds r0, r1 - str r0, [r3] - ldr r6, =0x00000cb4 - adds r1, r5, r6 - ldr r2, [r1] - ldr r0, [r4] - asrs r0, 8 - strh r0, [r2, 0x20] - ldr r2, [r1] - ldr r0, [r3] - asrs r0, 8 - strh r0, [r2, 0x22] - ldr r1, [r1] - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x80 - lsls r3, 1 - cmp r0, r3 - ble _080CD5DA - ldr r4, =0xffffff00 - adds r0, r2, r4 - lsls r0, 16 - asrs r0, 16 - adds r0, 0x40 - strh r0, [r1, 0x20] -_080CD5DA: - ldr r0, [r7] - adds r0, r6 - ldr r1, [r0] - ldrh r2, [r1, 0x20] - movs r4, 0x20 - ldrsh r0, [r1, r4] - cmp r0, 0x3F - bgt _080CD5F6 - movs r0, 0x40 - subs r0, r2 - lsls r0, 16 - asrs r0, 16 - subs r0, r3, r0 - strh r0, [r1, 0x20] -_080CD5F6: - ldr r0, [r7] - adds r0, r6 - ldr r1, [r0] - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0xB0 - ble _080CD612 - adds r0, r2, 0 - subs r0, 0xB0 - lsls r0, 16 - asrs r0, 16 - subs r0, 0x10 - strh r0, [r1, 0x22] -_080CD612: - ldr r0, [r7] - adds r0, r6 - ldr r2, [r0] - ldrh r3, [r2, 0x22] - movs r4, 0x22 - ldrsh r0, [r2, r4] - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _080CD632 - subs r0, r1, r3 - movs r1, 0xB0 - lsls r0, 16 - asrs r0, 16 - subs r1, r0 - strh r1, [r2, 0x22] -_080CD632: - ldr r0, [r7] - ldr r2, =0x00000cd7 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _080CD698 - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _080CD698 - ldr r0, [r7] - adds r0, r6 - ldr r2, [r0] - adds r2, 0x3F - ldrb r3, [r2] - lsrs r1, r3, 1 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 1 - movs r0, 0x3 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - b _080CD698 - .pool -_080CD67C: - ldr r3, =0x00000cb4 - adds r2, r5, r3 - ldr r1, [r2] - ldr r4, =0x00000ccc - adds r0, r5, r4 - ldrh r0, [r0] - strh r0, [r1, 0x20] - ldr r1, [r2] - ldr r2, =0x00000cce - adds r0, r5, r2 - ldrh r0, [r0] - strh r0, [r1, 0x22] - bl sub_80CDA68 -_080CD698: - movs r0, 0x1 -_080CD69A: - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CD554 - - thumb_func_start sub_80CD6AC -sub_80CD6AC: @ 80CD6AC - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r6, sp - adds r6, 0x2 - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - adds r3, r6, 0 - bl sub_80CD444 - ldr r1, =gUnknown_02039D08 - ldr r0, [r1] - ldr r2, =0x00000cd4 - adds r0, r2 - strb r4, [r0] - ldr r0, [r1] - ldr r3, =0x00000cd5 - adds r0, r3 - strb r5, [r0] - ldr r1, [r1] - mov r0, sp - ldrh r2, [r0] - subs r3, 0x9 - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r6] - ldr r2, =0x00000cce - adds r1, r2 - strh r0, [r1] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CD6AC - - thumb_func_start sub_80CD70C -sub_80CD70C: @ 80CD70C - push {r4-r7,lr} - ldr r0, =gUnknown_02039D08 - ldr r2, [r0] - ldr r3, =0x00000cd2 - adds r1, r2, r3 - ldrh r1, [r1] - adds r4, r0, 0 - cmp r1, 0 - beq _080CD730 - movs r0, 0xCD - lsls r0, 4 - adds r1, r2, r0 - movs r0, 0xC - b _080CD738 - .pool -_080CD730: - movs r3, 0xCD - lsls r3, 4 - adds r1, r2, r3 - movs r0, 0x6 -_080CD738: - strh r0, [r1] - ldr r1, [r4] - ldr r0, =0x00000cd7 - adds r2, r1, r0 - ldrb r0, [r2] - cmp r0, 0 - beq _080CD752 - movs r3, 0xCD - lsls r3, 4 - adds r0, r1, r3 - ldrh r0, [r0] - lsrs r0, 1 - strb r0, [r2] -_080CD752: - ldr r2, [r4] - ldr r1, =0x00000cd2 - adds r0, r2, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080CD78C - cmp r1, 0x1 - beq _080CD7AC - ldr r3, =0x00000cce - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r3, =0x00000cb4 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x22 - ldrsh r0, [r0, r2] - b _080CD7C0 - .pool -_080CD78C: - ldr r3, =0x00000cce - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r3, =0x00000cb4 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x22 - ldrsh r0, [r0, r2] - adds r0, 0xC0 - b _080CD7C0 - .pool -_080CD7AC: - ldr r3, =0x00000cce - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r3, =0x00000cb4 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x22 - ldrsh r0, [r0, r2] - subs r0, 0xC0 -_080CD7C0: - subs r7, r1, r0 - ldr r2, [r4] - ldr r3, =0x00000cd3 - adds r0, r2, r3 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080CD7FC - cmp r1, 0x1 - beq _080CD81C - ldr r1, =0x00000ccc - adds r0, r2, r1 - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r3, =0x00000cb4 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x20 - ldrsh r0, [r0, r2] - b _080CD830 - .pool -_080CD7FC: - ldr r3, =0x00000ccc - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r3, =0x00000cb4 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x20 - ldrsh r0, [r0, r2] - adds r0, 0xC0 - b _080CD830 - .pool -_080CD81C: - ldr r3, =0x00000ccc - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r3, =0x00000cb4 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x20 - ldrsh r0, [r0, r2] - subs r0, 0xC0 -_080CD830: - subs r0, r1, r0 - lsls r7, 8 - lsls r0, 8 - ldr r4, [r4] - ldr r3, =0x00000cc4 - adds r6, r4, r3 - movs r1, 0xCD - lsls r1, 4 - adds r5, r4, r1 - ldrh r1, [r5] - bl __divsi3 - str r0, [r6] - ldr r2, =0x00000cc8 - adds r6, r4, r2 - ldrh r1, [r5] - adds r0, r7, 0 - bl __divsi3 - str r0, [r6] - ldr r3, =0x00000cbc - adds r2, r4, r3 - ldr r0, =0x00000cb4 - adds r1, r4, r0 - ldr r0, [r1] - movs r3, 0x20 - ldrsh r0, [r0, r3] - lsls r0, 8 - str r0, [r2] - movs r0, 0xCC - lsls r0, 4 - adds r4, r0 - ldr r0, [r1] - movs r1, 0x22 - ldrsh r0, [r0, r1] - lsls r0, 8 - str r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CD70C - - thumb_func_start sub_80CD894 -sub_80CD894: @ 80CD894 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_80CD6AC - bl sub_80CD70C - ldr r5, =gUnknown_02039D08 - ldr r1, [r5] - ldrb r0, [r1, 0x1] - cmp r0, 0x3 - beq _080CD8E4 - ldr r2, =0x000021ff - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080CD8FC - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - bne _080CD8FC - ldr r2, =0x00000cb4 - adds r0, r1, r2 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _080CD8FC - .pool -_080CD8E4: - bl sub_80D127C - lsls r0, 24 - cmp r0, 0 - bne _080CD8FC - ldr r0, [r5] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim -_080CD8FC: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080CD95C - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080CD930 - ldr r0, =gUnknown_02039D79 - ldrb r1, [r0] - movs r0, 0 - bl sub_80D0E50 - b _080CD93E - .pool -_080CD930: - cmp r0, 0x1 - bne _080CD93E - ldr r0, =gUnknown_02039D79 - ldrb r1, [r0] - movs r0, 0x1 - bl sub_80D0E50 -_080CD93E: - cmp r4, 0 - bne _080CD950 - movs r0, 0 - adds r1, r6, 0 - bl sub_80D0D8C - b _080CD95C - .pool -_080CD950: - cmp r4, 0x1 - bne _080CD988 - movs r0, 0x1 - adds r1, r6, 0 - bl sub_80D0D8C -_080CD95C: - cmp r4, 0x1 - bne _080CD988 - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _080CD988 - ldr r1, =gUnknown_02039D08 - ldr r0, [r1] - ldr r2, =0x00000cd6 - adds r0, r2 - strb r4, [r0] - ldr r0, [r1] - ldr r1, =0x00000cb8 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] -_080CD988: - cmp r4, 0 - beq _080CD9E4 - cmp r4, 0 - blt _080CDA56 - cmp r4, 0x3 - bgt _080CDA56 - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldr r2, =0x00000cb4 - adds r0, r2 - ldr r4, [r0] - ldrb r1, [r4, 0x5] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r4, 0x5] - ldr r0, [r5] - ldr r4, =0x00000cb8 - adds r0, r4 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r3 - strb r0, [r1] - ldr r0, [r5] - adds r0, r4 - ldr r1, [r0] - ldrb r0, [r1, 0x5] - ands r2, r0 - orrs r2, r3 - strb r2, [r1, 0x5] - b _080CDA56 - .pool -_080CD9E4: - ldr r3, =gUnknown_02039D08 - ldr r1, [r3] - ldr r2, =0x000021ff - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080CDA28 - ldr r2, =0x00000cb4 - adds r0, r1, r2 - ldr r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r3] - ldr r1, =0x00000cb8 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - b _080CDA56 - .pool -_080CDA28: - ldr r2, =0x00000cb4 - adds r0, r1, r2 - ldr r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080CDA56 - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CDA56 - movs r0, 0x2 - bl sub_80CC0D4 -_080CDA56: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CD894 - - thumb_func_start sub_80CDA68 -sub_80CDA68: @ 80CDA68 - push {r4,lr} - ldr r1, =gUnknown_02039D78 - ldr r4, =gUnknown_02039D08 - ldr r2, [r4] - ldr r3, =0x00000cd4 - adds r0, r2, r3 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, =gUnknown_02039D79 - adds r3, 0x1 - adds r0, r2, r3 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r2, 0x1] - cmp r0, 0x3 - beq _080CDAC0 - ldr r1, =0x000021ff - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080CDAD8 - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - bne _080CDAD8 - subs r3, 0x21 - adds r0, r2, r3 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - b _080CDAD8 - .pool -_080CDAC0: - bl sub_80D127C - lsls r0, 24 - cmp r0, 0 - bne _080CDAD8 - ldr r0, [r4] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim -_080CDAD8: - bl sub_80CEB40 - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _080CDB0E - cmp r0, 0x1 - bgt _080CDAFC - cmp r0, 0 - beq _080CDB30 - b _080CDB8A - .pool -_080CDAFC: - cmp r0, 0x2 - beq _080CDB06 - cmp r0, 0x3 - bne _080CDB8A - b _080CDB1E -_080CDB06: - movs r0, 0x1 - bl sub_80CD1A8 - b _080CDB8A -_080CDB0E: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r2, =0x00000cb8 - adds r0, r2 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0xD - strb r1, [r0] -_080CDB1E: - movs r0, 0x1 - bl sub_80CC0D4 - b _080CDB8A - .pool -_080CDB30: - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - ldr r3, =0x000021ff - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _080CDB8A - ldr r2, =0x00000cb4 - adds r0, r1, r2 - ldr r3, [r0] - ldrb r1, [r3, 0x5] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r4] - ldr r3, =0x00000cb8 - adds r0, r3 - ldr r1, [r0] - ldrb r0, [r1, 0x5] - ands r2, r0 - movs r0, 0x8 - orrs r2, r0 - strb r2, [r1, 0x5] - ldr r0, [r4] - adds r0, r3 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0x15 - strb r1, [r0] - ldr r0, [r4] - adds r0, r3 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - movs r0, 0x2 - bl sub_80CC0D4 -_080CDB8A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CDA68 - - thumb_func_start sub_80CDBA0 -sub_80CDBA0: @ 80CDBA0 - push {lr} - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - bne _080CDBB4 - movs r3, 0 - b _080CDBC2 - .pool -_080CDBB4: - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x5 - bls _080CDBC2 - movs r3, 0x5 -_080CDBC2: - ldr r0, =gUnknown_02039D08 - ldr r2, [r0] - ldr r1, =0x00000cb4 - adds r0, r2, r1 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080CDBE0 - ldr r0, =0x00000cd7 - adds r1, r2, r0 - movs r0, 0x1 - strb r0, [r1] -_080CDBE0: - movs r0, 0x1 - adds r1, r3, 0 - bl sub_80CD894 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CDBA0 - - thumb_func_start sub_80CDBF8 -sub_80CDBF8: @ 80CDBF8 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_80CD894 - pop {r0} - bx r0 - thumb_func_end sub_80CDBF8 - - thumb_func_start sub_80CDC0C -sub_80CDC0C: @ 80CDC0C - ldr r1, =gUnknown_02039D7E - movs r0, 0 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_80CDC0C - - thumb_func_start sub_80CDC18 -sub_80CDC18: @ 80CDC18 - ldr r0, =gUnknown_02039D7E - ldr r1, =gUnknown_02039D79 - ldrb r1, [r1] - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_80CDC18 - - thumb_func_start sub_80CDC2C -sub_80CDC2C: @ 80CDC2C - ldr r0, =gUnknown_02039D7E - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80CDC2C - - thumb_func_start sub_80CDC38 -sub_80CDC38: @ 80CDC38 - lsls r0, 24 - ldr r1, =gUnknown_02039D08 - ldr r1, [r1] - ldr r2, =0x00000d8c - adds r3, r1, r2 - ldr r2, =gUnknown_0857B998 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - str r0, [r3] - movs r0, 0xD9 - lsls r0, 4 - adds r1, r0 - movs r0, 0 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_80CDC38 - - thumb_func_start sub_80CDC64 -sub_80CDC64: @ 80CDC64 - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _080CDC84 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r2, =0x00000d8c - adds r1, r2 - ldr r2, =sub_80CDEB4 - b _080CDC8E - .pool -_080CDC84: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r2, =0x00000d8c - adds r1, r2 - ldr r2, =sub_80CDEC4 -_080CDC8E: - str r2, [r1] - ldr r0, [r0] - movs r1, 0xD9 - lsls r1, 4 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CDC64 - - thumb_func_start sub_80CDCAC -sub_80CDCAC: @ 80CDCAC - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000d8c - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CDCAC - - thumb_func_start sub_80CDCCC -sub_80CDCCC: @ 80CDCCC - push {r4,r5,lr} - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - movs r5, 0xD9 - lsls r5, 4 - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080CDD1C - cmp r0, 0x1 - bgt _080CDCEC - cmp r0, 0 - beq _080CDCF6 - b _080CDD54 - .pool -_080CDCEC: - cmp r0, 0x2 - beq _080CDD40 - cmp r0, 0x3 - beq _080CDCFE - b _080CDD54 -_080CDCF6: - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CDD08 -_080CDCFE: - movs r0, 0 - b _080CDD56 - .pool -_080CDD08: - ldr r2, =0x00000cb4 - adds r0, r1, r2 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - b _080CDD4A - .pool -_080CDD1C: - bl sub_80CDED4 - lsls r0, 24 - cmp r0, 0 - bne _080CDD54 - ldr r0, [r4] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim - bl sub_80CDF38 - b _080CDD4A - .pool -_080CDD40: - bl sub_80CDF08 - lsls r0, 24 - cmp r0, 0 - bne _080CDD54 -_080CDD4A: - ldr r1, [r4] - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080CDD54: - movs r0, 0x1 -_080CDD56: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80CDCCC - - thumb_func_start sub_80CDD5C -sub_80CDD5C: @ 80CDD5C - push {r4,r5,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - movs r5, 0xD9 - lsls r5, 4 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080CDDA4 - cmp r0, 0x1 - bgt _080CDD7C - cmp r0, 0 - beq _080CDD82 - b _080CDDD0 - .pool -_080CDD7C: - cmp r0, 0x2 - beq _080CDDCC - b _080CDDD0 -_080CDD82: - bl sub_80CDED4 - lsls r0, 24 - cmp r0, 0 - bne _080CDDD0 - ldr r0, [r4] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - bl sub_80CDFAC - b _080CDDBC - .pool -_080CDDA4: - bl sub_80CDF08 - lsls r0, 24 - cmp r0, 0 - bne _080CDDD0 - ldr r0, [r4] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim -_080CDDBC: - ldr r1, [r4] - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080CDDD0 - .pool -_080CDDCC: - movs r0, 0 - b _080CDDD2 -_080CDDD0: - movs r0, 0x1 -_080CDDD2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80CDD5C - - thumb_func_start sub_80CDDD8 -sub_80CDDD8: @ 80CDDD8 - push {r4,r5,lr} - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - movs r5, 0xD9 - lsls r5, 4 - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080CDE68 - cmp r0, 0x1 - bgt _080CDDF8 - cmp r0, 0 - beq _080CDDFE - b _080CDEAC - .pool -_080CDDF8: - cmp r0, 0x2 - beq _080CDEA8 - b _080CDEAC -_080CDDFE: - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080CDE20 - cmp r0, 0x1 - bne _080CDEA8 - ldr r0, =0x00000d91 - adds r1, r0 - movs r0, 0xE - b _080CDE2A - .pool -_080CDE20: - bl StorageGetCurrentBox - ldr r1, [r4] - ldr r2, =0x00000d91 - adds r1, r2 -_080CDE2A: - strb r0, [r1] - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - ldr r0, [r4] - ldr r2, =0x00000d91 - adds r0, r2 - ldrb r0, [r0] - ldr r1, =gUnknown_02039D79 - ldrb r1, [r1] - bl sub_80CBD5C - ldr r1, [r4] - movs r0, 0xD9 - lsls r0, 4 - adds r1, r0 - b _080CDE94 - .pool -_080CDE68: - bl sub_80CBDC4 - lsls r0, 24 - cmp r0, 0 - bne _080CDEAC - ldr r0, [r4] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim - ldr r0, [r4] - ldr r2, =0x00000d91 - adds r0, r2 - ldrb r0, [r0] - ldr r1, =gUnknown_02039D79 - ldrb r1, [r1] - bl diegohint1 - ldr r1, [r4] - adds r1, r5 -_080CDE94: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080CDEAC - .pool -_080CDEA8: - movs r0, 0 - b _080CDEAE -_080CDEAC: - movs r0, 0x1 -_080CDEAE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80CDDD8 - - thumb_func_start sub_80CDEB4 -sub_80CDEB4: @ 80CDEB4 - push {lr} - bl sub_80CDED4 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80CDEB4 - - thumb_func_start sub_80CDEC4 -sub_80CDEC4: @ 80CDEC4 - push {lr} - bl sub_80CDF08 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80CDEC4 - - thumb_func_start sub_80CDED4 -sub_80CDED4: @ 80CDED4 - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r1, [r0] - movs r2, 0x26 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080CDEEC - cmp r0, 0x8 - beq _080CDEFC -_080CDEEC: - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _080CDF00 - .pool -_080CDEFC: - movs r0, 0 - b _080CDF02 -_080CDF00: - movs r0, 0x1 -_080CDF02: - pop {r1} - bx r1 - thumb_func_end sub_80CDED4 - - thumb_func_start sub_80CDF08 -sub_80CDF08: @ 80CDF08 - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r1, [r0] - movs r2, 0x26 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080CDF30 - ldrh r0, [r1, 0x26] - subs r0, 0x1 - strh r0, [r1, 0x26] - movs r0, 0x1 - b _080CDF32 - .pool -_080CDF30: - movs r0, 0 -_080CDF32: - pop {r1} - bx r1 - thumb_func_end sub_80CDF08 - - thumb_func_start sub_80CDF38 -sub_80CDF38: @ 80CDF38 - push {r4,lr} - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080CDF68 - cmp r0, 0x1 - bne _080CDF94 - ldr r4, =gUnknown_02039D79 - ldrb r1, [r4] - movs r0, 0xE - bl sub_80CE018 - ldrb r1, [r4] - movs r0, 0 - bl sub_80CBC14 - b _080CDF8E - .pool -_080CDF68: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x000021ff - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080CDF8E - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gUnknown_02039D79 - ldrb r1, [r4] - bl sub_80CE018 - ldrb r1, [r4] - movs r0, 0x1 - bl sub_80CBC14 -_080CDF8E: - ldr r1, =gUnknown_02039D7A - movs r0, 0x1 - strb r0, [r1] -_080CDF94: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CDF38 - - thumb_func_start sub_80CDFAC -sub_80CDFAC: @ 80CDFAC - push {r4,r5,lr} - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080CDFDC - cmp r0, 0x1 - bne _080CDFFE - ldr r4, =gUnknown_02039D79 - ldrb r1, [r4] - movs r0, 0xE - bl diegohint2 - ldrb r1, [r4] - movs r0, 0xE - bl sub_80CBCAC - b _080CDFF8 - .pool -_080CDFDC: - bl StorageGetCurrentBox - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gUnknown_02039D79 - ldrb r1, [r5] - adds r0, r4, 0 - bl diegohint2 - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_80CBCAC -_080CDFF8: - ldr r1, =gUnknown_02039D7A - movs r0, 0 - strb r0, [r1] -_080CDFFE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CDFAC - - thumb_func_start sub_80CE00C -sub_80CE00C: @ 80CE00C - push {lr} - bl sub_80CEB40 - pop {r0} - bx r0 - thumb_func_end sub_80CE00C - - thumb_func_start sub_80CE018 -sub_80CE018: @ 80CE018 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r4, 0xE - bne _080CE054 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x000020a4 - adds r0, r1 - ldr r3, =gPlayerParty - ldr r1, =gUnknown_02039D79 - movs r2, 0 - ldrsb r2, [r1, r2] - movs r1, 0x64 - muls r1, r2 - adds r1, r3 - movs r2, 0x64 - bl memcpy - b _080CE064 - .pool -_080CE054: - ldr r0, =gUnknown_02039D08 - ldr r2, [r0] - ldr r0, =0x000020a4 - adds r2, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80D2054 -_080CE064: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80CE0E8 - ldr r0, =gUnknown_02039D7B - strb r4, [r0] - ldr r0, =gUnknown_02039D7C - strb r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CE018 - - thumb_func_start diegohint2 -diegohint2: @ 80CE08C - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - cmp r6, 0xE - bne _080CE0C0 - ldr r1, =gPlayerParty - movs r0, 0x64 - muls r0, r7 - adds r0, r1 - ldr r1, =gUnknown_02039D08 - ldr r1, [r1] - ldr r2, =0x000020a4 - adds r1, r2 - movs r2, 0x64 - bl memcpy - b _080CE0D8 - .pool -_080CE0C0: - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldr r4, =0x000020a4 - adds r0, r4 - bl BoxMonRestorePP - ldr r2, [r5] - adds r2, r4 - adds r0, r6, 0 - adds r1, r7, 0 - bl CopyBoxMonFromAnyBox -_080CE0D8: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end diegohint2 - - thumb_func_start sub_80CE0E8 -sub_80CE0E8: @ 80CE0E8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r0, 0xE - bne _080CE108 - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl ZeroMonData - b _080CE10C - .pool -_080CE108: - bl ClearMonInBox -_080CE10C: - pop {r0} - bx r0 - thumb_func_end sub_80CE0E8 - - thumb_func_start diegohint1 -diegohint1: @ 80CE110 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - cmp r6, 0xE - bne _080CE144 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00002108 - adds r0, r1 - ldr r2, =gPlayerParty - movs r1, 0x64 - muls r1, r7 - adds r1, r2 - movs r2, 0x64 - bl memcpy - b _080CE154 - .pool -_080CE144: - ldr r0, =gUnknown_02039D08 - ldr r2, [r0] - ldr r0, =0x00002108 - adds r2, r0 - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_80D2054 -_080CE154: - adds r0, r6, 0 - adds r1, r7, 0 - bl diegohint2 - ldr r5, =gUnknown_02039D08 - ldr r1, [r5] - ldr r4, =0x000020a4 - adds r0, r1, r4 - ldr r2, =0x00002108 - adds r1, r2 - movs r2, 0x64 - bl memcpy - ldr r0, [r5] - adds r0, r4 - movs r1, 0 - bl sub_80CEC00 - ldr r0, =gUnknown_02039D7B - strb r6, [r0] - ldr r0, =gUnknown_02039D7C - strb r7, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end diegohint1 - - thumb_func_start sub_80CE19C -sub_80CE19C: @ 80CE19C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl GetFirstFreeBoxSpot - lsls r0, 16 - lsrs r4, r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080CE1BA - movs r0, 0 - b _080CE21A -_080CE1BA: - ldr r5, =gUnknown_02039D7A - ldrb r0, [r5] - cmp r0, 0 - beq _080CE1DC - lsls r4, 24 - lsrs r1, r4, 24 - adds r0, r6, 0 - bl diegohint2 - bl sub_80CBAC4 - movs r0, 0 - strb r0, [r5] - b _080CE1F6 - .pool -_080CE1DC: - ldr r5, =gUnknown_02039D79 - ldrb r1, [r5] - movs r0, 0xE - bl sub_80CE018 - lsls r4, 24 - lsrs r1, r4, 24 - adds r0, r6, 0 - bl diegohint2 - ldrb r0, [r5] - bl sub_80CBB68 -_080CE1F6: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bne _080CE208 - lsrs r0, r4, 24 - bl sub_80CB140 -_080CE208: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0x1 -_080CE21A: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CE19C - - thumb_func_start sub_80CE22C -sub_80CE22C: @ 80CE22C - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - bl sub_80CEB40 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CE22C - - thumb_func_start sub_80CE250 -sub_80CE250: @ 80CE250 - push {lr} - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CE264 - movs r2, 0x2 - b _080CE274 - .pool -_080CE264: - ldr r0, =gUnknown_02039D78 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r2, 0x1 - eors r1, r2 - negs r0, r1 - orrs r0, r1 - lsrs r2, r0, 31 -_080CE274: - ldr r0, =gUnknown_02039D79 - ldrb r1, [r0] - adds r0, r2, 0 - bl sub_80CBF14 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r2, =0x000021e0 - adds r0, r1, r2 - ldr r2, =0x00000cee - adds r1, r2 - bl StringCopy - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CE250 - - thumb_func_start sub_80CE2A8 -sub_80CE2A8: @ 80CE2A8 - push {lr} - bl sub_80CBFD8 - lsls r0, 24 - cmp r0, 0 - beq _080CE2B8 - movs r0, 0x1 - b _080CE2CA -_080CE2B8: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - movs r0, 0 -_080CE2CA: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CE2A8 - - thumb_func_start sub_80CE2D8 -sub_80CE2D8: @ 80CE2D8 - push {lr} - bl sub_80CC020 - ldr r1, =gUnknown_02039D7A - ldrb r0, [r1] - cmp r0, 0 - beq _080CE2F0 - movs r0, 0 - strb r0, [r1] - b _080CE316 - .pool -_080CE2F0: - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080CE304 - movs r2, 0xE - b _080CE30C - .pool -_080CE304: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r2, r0, 24 -_080CE30C: - ldr r0, =gUnknown_02039D79 - ldrb r1, [r0] - adds r0, r2, 0 - bl sub_80CE0E8 -_080CE316: - bl sub_80CEB40 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CE2D8 - - thumb_func_start sub_80CE324 -sub_80CE324: @ 80CE324 - push {lr} - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CE33E - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim -_080CE33E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CE324 - - thumb_func_start sub_80CE350 -sub_80CE350: @ 80CE350 - push {r4,r5,lr} - adds r3, r0, 0 - movs r5, 0 - ldr r4, =gUnknown_0857B9A4 -_080CE358: - movs r1, 0 - ldrsb r1, [r4, r1] - cmp r1, 0x22 - beq _080CE378 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _080CE37E - movs r1, 0x1 - ldrsb r1, [r4, r1] - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _080CE37E -_080CE378: - ldrh r0, [r4, 0x2] - strh r0, [r3] - adds r3, 0x2 -_080CE37E: - adds r4, 0x4 - adds r5, 0x1 - cmp r5, 0x5 - bls _080CE358 - ldr r1, =0x00000163 - adds r0, r1, 0 - strh r0, [r3] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CE350 - - thumb_func_start sub_80CE3A0 -sub_80CE3A0: @ 80CE3A0 - push {r4,r5,lr} - bl sub_80CE51C - adds r3, r0, 0 - cmp r3, 0 - bne _080CE3D0 - ldr r2, =gUnknown_02039D08 - ldr r0, [r2] - ldr r1, =0x0000216d - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldr r2, =0x0000216c - adds r0, r2 - strb r3, [r0] - b _080CE504 - .pool -_080CE3D0: - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CE418 - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - ldr r3, =0x00002108 - adds r0, r1, r3 - ldr r2, =0x000020a4 - adds r1, r2 - movs r2, 0x64 - bl memcpy - ldr r0, [r4] - ldr r3, =0x00002170 - adds r0, r3 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r4] - ldr r1, =0x00002171 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - b _080CE494 - .pool -_080CE418: - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080CE464 - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r2, =0x00002108 - adds r0, r2 - ldr r3, =gPlayerParty - ldr r1, =gUnknown_02039D79 - movs r2, 0 - ldrsb r2, [r1, r2] - movs r1, 0x64 - muls r1, r2 - adds r1, r3 - movs r2, 0x64 - bl memcpy - ldr r0, [r4] - ldr r3, =0x00002170 - adds r0, r3 - movs r1, 0xE - strb r1, [r0] - b _080CE488 - .pool -_080CE464: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039D79 - ldrb r1, [r1] - ldr r4, =gUnknown_02039D08 - ldr r2, [r4] - ldr r3, =0x00002108 - adds r2, r3 - bl sub_80D2054 - bl StorageGetCurrentBox - ldr r1, [r4] - ldr r2, =0x00002170 - adds r1, r2 - strb r0, [r1] -_080CE488: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =gUnknown_02039D79 - ldrb r1, [r1] - ldr r3, =0x00002171 - adds r0, r3 -_080CE494: - strb r1, [r0] - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldr r4, =0x00002176 - adds r0, r4 - bl sub_80CE350 - ldr r2, [r5] - ldr r1, =0x00002108 - adds r0, r2, r1 - adds r2, r4 - movs r1, 0x51 - bl GetMonData - ldr r2, [r5] - ldr r3, =0x00002174 - adds r1, r2, r3 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - beq _080CE4E8 - ldr r0, =0x0000216d - adds r1, r2, r0 - movs r0, 0 - strb r0, [r1] - b _080CE4F8 - .pool -_080CE4E8: - ldr r1, =0x0000216d - adds r0, r2, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r5] - ldr r2, =0x0000216c - adds r0, r2 - strb r1, [r0] -_080CE4F8: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r3, =0x00002172 - adds r0, r3 - movs r1, 0 - strh r1, [r0] -_080CE504: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CE3A0 - - thumb_func_start sub_80CE51C -sub_80CE51C: @ 80CE51C - push {r4-r6,lr} - ldr r0, =gUnknown_02039D7A - ldrb r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r5, r0, 31 - movs r4, 0 -_080CE52A: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _080CE53E - adds r5, 0x1 -_080CE53E: - adds r4, 0x1 - cmp r4, 0x5 - ble _080CE52A - cmp r5, 0x2 - ble _080CE554 -_080CE548: - movs r0, 0x1 - b _080CE578 - .pool -_080CE554: - movs r6, 0 -_080CE556: - movs r4, 0 -_080CE558: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80D2270 - cmp r0, 0 - beq _080CE56A - adds r5, 0x1 - cmp r5, 0x2 - bgt _080CE548 -_080CE56A: - adds r4, 0x1 - cmp r4, 0x1D - ble _080CE558 - adds r6, 0x1 - cmp r6, 0xD - ble _080CE556 - movs r0, 0 -_080CE578: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80CE51C - - thumb_func_start sub_80CE580 -sub_80CE580: @ 80CE580 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gUnknown_02039D08 - ldr r2, [r0] - ldr r3, =0x0000216d - adds r1, r2, r3 - ldrb r1, [r1] - adds r5, r0, 0 - cmp r1, 0 - beq _080CE5B0 - ldr r1, =0x0000216c - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - b _080CE736 - .pool -_080CE5B0: - ldr r3, =0x00002172 - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, 0 - beq _080CE5C4 - cmp r0, 0x1 - beq _080CE690 - b _080CE732 - .pool -_080CE5C4: - movs r6, 0 -_080CE5C6: - ldr r2, [r5] - ldr r1, =0x00002170 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xE - bne _080CE5E4 - ldr r3, =0x00002171 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, r6 - beq _080CE606 -_080CE5E4: - movs r0, 0x64 - muls r0, r6 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =0x00002176 - adds r2, r1 - movs r1, 0x51 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - ldr r1, [r5] - ldr r2, =0x00002174 - adds r1, r2 - ldrh r0, [r1] - bics r0, r4 - strh r0, [r1] -_080CE606: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _080CE5C6 - ldr r2, =gUnknown_02039D08 - ldr r1, [r2] - ldr r3, =0x00002174 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, 0 - bne _080CE64C - subs r3, 0x7 - adds r0, r1, r3 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldr r2, =0x0000216c - adds r0, r2 - strb r1, [r0] - b _080CE732 - .pool -_080CE64C: - ldr r3, =0x0000216e - adds r0, r1, r3 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - adds r3, 0x1 - adds r0, r3 - strb r1, [r0] - ldr r1, [r2] - ldr r0, =0x00002172 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080CE732 - .pool -_080CE674: - ldr r1, =0x0000216d - adds r0, r5, r1 - movs r1, 0x1 - strb r1, [r0] - mov r2, r8 - ldr r0, [r2] - ldr r3, =0x0000216c - adds r0, r3 - strb r1, [r0] - b _080CE732 - .pool -_080CE690: - movs r6, 0 - mov r8, r5 - ldr r7, =0x0000ffff -_080CE696: - mov r0, r8 - ldr r3, [r0] - ldr r1, =0x0000216e - adds r0, r3, r1 - ldrb r0, [r0] - ldr r2, =0x0000216f - adds r1, r3, r2 - ldrb r1, [r1] - adds r2, 0x7 - adds r3, r2 - movs r2, 0x51 - bl GetAndCopyBoxMonDataFromAnyBox - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080CE6E0 - ldr r5, [r5] - ldr r3, =0x00002170 - adds r0, r5, r3 - ldrh r2, [r0] - ldr r1, =0x0000216e - adds r0, r5, r1 - ldrh r3, [r0] - adds r1, r7, 0 - ands r1, r2 - adds r0, r7, 0 - ands r0, r3 - cmp r1, r0 - beq _080CE6E0 - ldr r2, =0x00002174 - adds r1, r5, r2 - ldrh r0, [r1] - bics r0, r4 - strh r0, [r1] - cmp r0, 0 - beq _080CE674 -_080CE6E0: - ldr r2, =gUnknown_02039D08 - ldr r1, [r2] - ldr r3, =0x0000216f - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - movs r3, 0 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - adds r5, r2, 0 - cmp r0, 0x1D - ble _080CE728 - ldr r0, [r2] - ldr r1, =0x0000216f - adds r0, r1 - strb r3, [r0] - ldr r1, [r2] - ldr r0, =0x0000216e - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xD - ble _080CE728 - ldr r0, [r2] - ldr r1, =0x0000216d - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldr r2, =0x0000216c - adds r0, r2 - strb r3, [r0] -_080CE728: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x1D - bls _080CE696 -_080CE732: - movs r0, 0x1 - negs r0, r0 -_080CE736: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CE580 - - thumb_func_start sub_80CE760 -sub_80CE760: @ 80CE760 - push {lr} - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CE77A - ldr r0, =gUnknown_02039D14 - ldr r1, =gUnknown_02039D08 - ldr r1, [r1] - ldr r2, =0x000020a4 - adds r1, r2 - movs r2, 0x64 - bl memcpy -_080CE77A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CE760 - - thumb_func_start sub_80CE790 -sub_80CE790: @ 80CE790 - push {lr} - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CE7D8 - ldr r0, =gUnknown_02039D7B - ldrb r0, [r0] - cmp r0, 0xE - bne _080CE7C8 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x000020a4 - adds r0, r1 - ldr r1, =gUnknown_02039D14 - movs r2, 0x64 - bl memcpy - b _080CE7D8 - .pool -_080CE7C8: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x000020a4 - adds r0, r1 - ldr r1, =gUnknown_02039D14 - movs r2, 0x50 - bl memcpy -_080CE7D8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CE790 - - thumb_func_start sub_80CE7E8 -sub_80CE7E8: @ 80CE7E8 - push {r4,r5,lr} - ldr r0, =gUnknown_02039D7A - ldrb r5, [r0] - cmp r5, 0 - beq _080CE838 - bl sub_80CE760 - ldr r3, =gUnknown_02039D08 - ldr r1, [r3] - ldr r0, =0x0000218c - adds r2, r1, r0 - ldr r0, =gUnknown_02039D14 - str r0, [r2] - ldr r2, =0x00002187 - adds r1, r2 - movs r2, 0 - strb r2, [r1] - ldr r0, [r3] - ldr r4, =0x00002186 - adds r0, r4 - strb r2, [r0] - ldr r0, [r3] - ldr r1, =0x00002188 - adds r0, r1 - strb r2, [r0] - b _080CE8CA - .pool -_080CE838: - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080CE894 - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - ldr r0, =0x0000218c - adds r2, r1, r0 - ldr r0, =gPlayerParty - str r0, [r2] - ldr r0, =gUnknown_02039D79 - ldrb r0, [r0] - ldr r2, =0x00002187 - adds r1, r2 - strb r0, [r1] - bl CountPartyMons - ldr r1, [r4] - subs r0, 0x1 - ldr r2, =0x00002186 - adds r1, r2 - strb r0, [r1] - ldr r0, [r4] - ldr r4, =0x00002188 - adds r0, r4 - strb r5, [r0] - b _080CE8CA - .pool -_080CE894: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl GetBoxedMonPtr - ldr r3, =gUnknown_02039D08 - ldr r2, [r3] - ldr r4, =0x0000218c - adds r1, r2, r4 - str r0, [r1] - ldr r0, =gUnknown_02039D79 - ldrb r0, [r0] - ldr r1, =0x00002187 - adds r2, r1 - strb r0, [r2] - ldr r0, [r3] - ldr r2, =0x00002186 - adds r0, r2 - movs r1, 0x1D - strb r1, [r0] - ldr r0, [r3] - subs r4, 0x4 - adds r0, r4 - movs r1, 0x2 - strb r1, [r0] -_080CE8CA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CE7E8 - - thumb_func_start sub_80CE8E4 -sub_80CE8E4: @ 80CE8E4 - push {lr} - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CE8F8 - bl sub_80CE790 - b _080CE900 - .pool -_080CE8F8: - ldr r0, =gUnknown_02039D79 - ldr r1, =gUnknown_0203CF20 - ldrb r1, [r1] - strb r1, [r0] -_080CE900: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CE8E4 - - thumb_func_start CompactPartySlots -CompactPartySlots: @ 80CE90C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r7, =0x0000ffff - movs r6, 0 - movs r5, 0 - movs r0, 0x64 - mov r9, r0 - ldr r1, =gPlayerParty - mov r8, r1 - subs r0, 0x65 - mov r10, r0 -_080CE928: - mov r0, r9 - muls r0, r6 - mov r1, r8 - adds r4, r0, r1 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - cmp r0, 0 - beq _080CE960 - cmp r6, r5 - beq _080CE950 - mov r0, r9 - muls r0, r5 - add r0, r8 - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy -_080CE950: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - b _080CE96A - .pool -_080CE960: - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, r10 - bne _080CE96A - adds r7, r6, 0 -_080CE96A: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _080CE928 - lsls r7, 16 - cmp r5, 0x5 - bhi _080CE992 - movs r6, 0x64 - ldr r4, =gPlayerParty -_080CE97E: - adds r0, r5, 0 - muls r0, r6 - adds r0, r4 - bl ZeroMonData - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _080CE97E -_080CE992: - asrs r0, r7, 16 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CompactPartySlots - - thumb_func_start sub_80CE9A8 -sub_80CE9A8: @ 80CE9A8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - ldr r2, =gUnknown_02039D08 - ldr r1, [r2] - ldr r3, =0x00000ceb - adds r1, r3 - strb r0, [r1] - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CE9E8 - ldr r0, [r2] - ldr r1, =0x000020a4 - adds r0, r1 - movs r1, 0x8 - mov r2, sp - bl SetMonData - b _080CEA1C - .pool -_080CE9E8: - ldr r4, =gUnknown_02039D78 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0x1 - bne _080CEA08 - ldr r0, =gUnknown_02039D79 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x8 - mov r2, sp - bl SetMonData -_080CEA08: - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - bne _080CEA1C - ldr r0, =gUnknown_02039D79 - ldrb r0, [r0] - movs r1, 0x8 - mov r2, sp - bl SetBoxMonDataFromSelectedBox -_080CEA1C: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CE9A8 - - thumb_func_start sub_80CEA30 -sub_80CEA30: @ 80CEA30 - push {lr} - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080CEA64 - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - bne _080CEA64 - ldr r0, =gUnknown_02039D79 - ldrb r0, [r0] - bl CountPartyAliveNonEggMonsExcept - lsls r0, 24 - cmp r0, 0 - bne _080CEA64 - movs r0, 0x1 - b _080CEA66 - .pool -_080CEA64: - movs r0, 0 -_080CEA66: - pop {r1} - bx r1 - thumb_func_end sub_80CEA30 - - thumb_func_start sub_80CEA6C -sub_80CEA6C: @ 80CEA6C - push {lr} - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CEAC8 - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080CEAAC - ldr r0, =gUnknown_02039D79 - ldrb r0, [r0] - bl CountPartyAliveNonEggMonsExcept - lsls r0, 24 - cmp r0, 0 - bne _080CEAAC - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r2, =0x00000ced - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080CEAC8 - ldr r2, =0x000020a4 - adds r0, r1, r2 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080CEAC8 -_080CEAAC: - movs r0, 0x1 - b _080CEACA - .pool -_080CEAC8: - movs r0, 0 -_080CEACA: - pop {r1} - bx r1 - thumb_func_end sub_80CEA6C - - thumb_func_start sub_80CEAD0 -sub_80CEAD0: @ 80CEAD0 - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80CEAD0 - - thumb_func_start sub_80CEADC -sub_80CEADC: @ 80CEADC - push {lr} - movs r1, 0 - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x2 - bne _080CEAEE - movs r1, 0x1 -_080CEAEE: - adds r0, r1, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CEADC - - thumb_func_start sub_80CEAF8 -sub_80CEAF8: @ 80CEAF8 - push {lr} - movs r1, 0 - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _080CEB16 - ldr r0, =gUnknown_02039D79 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080CEB16 - movs r1, 0x1 -_080CEB16: - adds r0, r1, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CEAF8 - - thumb_func_start sub_80CEB24 -sub_80CEB24: @ 80CEB24 - push {lr} - movs r1, 0 - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080CEB36 - movs r1, 0x1 -_080CEB36: - adds r0, r1, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CEB24 - - thumb_func_start sub_80CEB40 -sub_80CEB40: @ 80CEB40 - push {r4,lr} - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - movs r2, 0 - ldr r3, =gUnknown_02039D7A - ldrb r0, [r3] - cmp r0, 0 - bne _080CEB52 - movs r2, 0x1 -_080CEB52: - ldr r4, =0x00000cea - adds r0, r1, r4 - strb r2, [r0] - ldrb r0, [r3] - cmp r0, 0 - bne _080CEBD0 - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _080CEB8A - cmp r0, 0x1 - bgt _080CEB84 - cmp r0, 0 - beq _080CEBBA - b _080CEBD0 - .pool -_080CEB84: - cmp r0, 0x3 - bgt _080CEBD0 - b _080CEBB0 -_080CEB8A: - ldr r1, =gUnknown_02039D79 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _080CEBB0 - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0 - bl sub_80CEC00 - b _080CEBD0 - .pool -_080CEBB0: - movs r0, 0 - movs r1, 0x2 - bl sub_80CEC00 - b _080CEBD0 -_080CEBBA: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039D79 - ldrb r1, [r1] - bl GetBoxedMonPtr - movs r1, 0x1 - bl sub_80CEC00 -_080CEBD0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CEB40 - - thumb_func_start sub_80CEBDC -sub_80CEBDC: @ 80CEBDC - push {lr} - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CEBF8 - ldr r0, =gUnknown_02039D14 - movs r1, 0 - bl sub_80CEC00 - b _080CEBFC - .pool -_080CEBF8: - bl sub_80CEB40 -_080CEBFC: - pop {r0} - bx r0 - thumb_func_end sub_80CEBDC - - thumb_func_start sub_80CEC00 -sub_80CEC00: @ 80CEC00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r5, r1, 0 - ldr r0, =gUnknown_02039D08 - mov r8, r0 - ldr r1, [r0] - ldr r3, =0x00000ce6 - adds r2, r1, r3 - movs r0, 0 - strh r0, [r2] - mov r9, r0 - mov r10, r0 - cmp r5, 0 - bne _080CED18 - adds r6, r4, 0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - mov r2, r8 - ldr r1, [r2] - ldr r3, =0x00000ce4 - adds r1, r3 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _080CEC44 - b _080CEE34 -_080CEC44: - adds r0, r4, 0 - movs r1, 0x4 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0 - beq _080CEC74 - mov r1, r8 - ldr r0, [r1] - ldr r2, =0x00000ced - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - b _080CEC86 - .pool -_080CEC74: - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - mov r3, r8 - ldr r1, [r3] - ldr r2, =0x00000ced - adds r1, r2 - strb r0, [r1] -_080CEC86: - ldr r4, =gUnknown_02039D08 - ldr r2, [r4] - ldr r5, =0x00000cee - adds r2, r5 - adds r0, r6, 0 - movs r1, 0x2 - bl GetMonData - ldr r0, [r4] - adds r0, r5 - bl StringGetEnd10 - adds r0, r6, 0 - movs r1, 0x38 - bl GetMonData - ldr r1, [r4] - ldr r3, =0x00000cec - adds r1, r3 - strb r0, [r1] - adds r0, r6, 0 - movs r1, 0x8 - bl GetMonData - ldr r1, [r4] - ldr r2, =0x00000ceb - adds r1, r2 - strb r0, [r1] - adds r0, r6, 0 - movs r1, 0 - bl GetMonData - ldr r1, [r4] - movs r3, 0xCE - lsls r3, 4 - adds r1, r3 - str r0, [r1] - adds r0, r6, 0 - bl GetMonFrontSpritePal - ldr r1, [r4] - ldr r2, =0x00000cdc - adds r1, r2 - str r0, [r1] - adds r0, r6, 0 - bl GetMonGender - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r0, r6, 0 - movs r1, 0xC - bl GetMonData - ldr r1, [r4] - ldr r3, =0x00000ce6 - adds r1, r3 - strh r0, [r1] - b _080CEE26 - .pool -_080CED18: - cmp r5, 0x1 - beq _080CED1E - b _080CEE1C -_080CED1E: - adds r7, r4, 0 - adds r0, r7, 0 - movs r1, 0x41 - bl GetBoxMonData - mov r2, r8 - ldr r1, [r2] - ldr r3, =0x00000ce4 - adds r1, r3 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _080CED3A - b _080CEE34 -_080CED3A: - adds r0, r7, 0 - movs r1, 0x1 - bl GetBoxMonData - mov r9, r0 - adds r0, r7, 0 - movs r1, 0x4 - bl GetBoxMonData - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0 - beq _080CED6C - mov r1, r8 - ldr r0, [r1] - ldr r2, =0x00000ced - adds r0, r2 - strb r5, [r0] - b _080CED7E - .pool -_080CED6C: - adds r0, r7, 0 - movs r1, 0x2D - bl GetBoxMonData - mov r3, r8 - ldr r1, [r3] - ldr r2, =0x00000ced - adds r1, r2 - strb r0, [r1] -_080CED7E: - ldr r5, =gUnknown_02039D08 - ldr r2, [r5] - ldr r4, =0x00000cee - adds r2, r4 - adds r0, r7, 0 - movs r1, 0x2 - bl GetBoxMonData - ldr r0, [r5] - adds r0, r4 - bl StringGetEnd10 - adds r0, r7, 0 - bl GetLevelFromBoxMonExp - ldr r1, [r5] - ldr r3, =0x00000cec - adds r1, r3 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x8 - bl GetBoxMonData - ldr r1, [r5] - ldr r2, =0x00000ceb - adds r1, r2 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0 - bl GetBoxMonData - adds r2, r0, 0 - ldr r1, [r5] - movs r6, 0xCE - lsls r6, 4 - adds r0, r1, r6 - str r2, [r0] - subs r4, 0xA - adds r1, r4 - ldrh r0, [r1] - mov r1, r9 - bl GetFrontSpritePalFromSpeciesAndPersonality - ldr r1, [r5] - ldr r3, =0x00000cdc - adds r2, r1, r3 - str r0, [r2] - adds r4, r1, r4 - ldrh r0, [r4] - adds r1, r6 - ldr r1, [r1] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r0, r7, 0 - movs r1, 0xC - bl GetBoxMonData - ldr r1, [r5] - ldr r2, =0x00000ce6 - adds r1, r2 - strh r0, [r1] - b _080CEE26 - .pool -_080CEE1C: - ldr r3, =0x00000ce4 - adds r0, r1, r3 - mov r1, r9 - strh r1, [r0] - strh r1, [r2] -_080CEE26: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r2, =0x00000ce4 - adds r0, r1, r2 - ldrh r2, [r0] - cmp r2, 0 - bne _080CEE94 -_080CEE34: - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r3, =0x00000cee - adds r0, r3 - movs r1, 0 - movs r2, 0x5 - bl StringFill - ldr r0, [r4] - ldr r1, =0x00000cf9 - adds r0, r1 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r2, =0x00000d1d - adds r0, r2 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r3, =0x00000d41 - adds r0, r3 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r1, =0x00000d65 - adds r0, r1 - b _080CEEF2 - .pool -_080CEE94: - ldr r3, =0x00000ced - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _080CEF14 - mov r0, r10 - cmp r0, 0 - beq _080CEEC0 - ldr r2, =0x00000cf9 - adds r0, r1, r2 - adds r3, 0x1 - adds r1, r3 - movs r2, 0 - movs r3, 0x5 - bl StringCopyPadded - b _080CEECE - .pool -_080CEEC0: - ldr r2, =0x00000cf9 - adds r0, r1, r2 - ldr r1, =gText_EggNickname - movs r2, 0 - movs r3, 0x8 - bl StringCopyPadded -_080CEECE: - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r3, =0x00000d1d - adds r0, r3 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r1, =0x00000d41 - adds r0, r1 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r2, =0x00000d65 - adds r0, r2 -_080CEEF2: - movs r1, 0 - movs r2, 0x8 - bl StringFill - b _080CF0B8 - .pool -_080CEF14: - cmp r2, 0x1D - beq _080CEF1C - cmp r2, 0x20 - bne _080CEF20 -_080CEF1C: - movs r3, 0xFF - mov r9, r3 -_080CEF20: - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - ldr r2, =0x00000cf9 - adds r0, r1, r2 - ldr r3, =0x00000cee - adds r1, r3 - movs r2, 0 - movs r3, 0x5 - bl StringCopyPadded - ldr r1, [r4] - ldr r0, =0x00000d1d - adds r2, r1, r0 - movs r0, 0xBA - strb r0, [r2] - ldr r3, =0x00000d1e - adds r2, r1, r3 - ldr r0, [r4] - ldr r1, =0x00000ce4 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r2, 0 - movs r2, 0 - movs r3, 0x5 - bl StringCopyPadded - ldr r4, [r4] - ldr r3, =0x00000d41 - adds r2, r4, r3 - movs r0, 0xFC - strb r0, [r2] - ldr r0, =0x00000d42 - adds r2, r4, r0 - movs r0, 0x4 - strb r0, [r2] - ldr r1, =0x00000d43 - adds r2, r4, r1 - mov r3, r9 - cmp r3, 0 - beq _080CEFD4 - cmp r3, 0xFE - beq _080CF000 - movs r0, 0x2 - strb r0, [r2] - ldr r0, =0x00000d44 - adds r2, r4, r0 - movs r0, 0x1 - strb r0, [r2] - adds r1, 0x2 - adds r2, r4, r1 - movs r0, 0x3 - strb r0, [r2] - ldr r3, =0x00000d46 - adds r2, r4, r3 - movs r0, 0x77 - strb r0, [r2] - ldr r0, =0x00000d47 - adds r2, r4, r0 - b _080CF020 - .pool -_080CEFD4: - strb r0, [r2] - ldr r1, =0x00000d44 - adds r2, r4, r1 - movs r0, 0x1 - strb r0, [r2] - ldr r3, =0x00000d45 - adds r2, r4, r3 - movs r0, 0x5 - strb r0, [r2] - ldr r0, =0x00000d46 - adds r2, r4, r0 - movs r0, 0xB5 - strb r0, [r2] - adds r1, 0x3 - adds r2, r4, r1 - b _080CF020 - .pool -_080CF000: - movs r0, 0x6 - strb r0, [r2] - ldr r3, =0x00000d44 - adds r2, r4, r3 - movs r0, 0x1 - strb r0, [r2] - ldr r0, =0x00000d45 - adds r2, r4, r0 - movs r0, 0x7 - strb r0, [r2] - ldr r1, =0x00000d46 - adds r2, r4, r1 - movs r0, 0xB6 - strb r0, [r2] - adds r3, 0x3 - adds r2, r4, r3 -_080CF020: - movs r0, 0xFC - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x4 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x2 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x1 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x3 - strb r0, [r2] - adds r2, 0x1 - movs r5, 0 - strb r5, [r2] - adds r2, 0x1 - movs r0, 0xF9 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x5 - strb r0, [r2] - adds r2, 0x1 - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r1, =0x00000cec - adds r0, r1 - ldrb r1, [r0] - adds r0, r2, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r2, r0, 0 - strb r5, [r2] - movs r0, 0xFF - strb r0, [r2, 0x1] - ldr r4, [r4] - ldr r2, =0x00000ce6 - adds r1, r4, r2 - ldrh r0, [r1] - cmp r0, 0 - beq _080CF0AC - ldr r3, =0x00000d65 - adds r4, r3 - bl ItemId_GetName - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x8 - bl StringCopyPadded - b _080CF0B8 - .pool -_080CF0AC: - ldr r1, =0x00000d65 - adds r0, r4, r1 - movs r1, 0 - movs r2, 0x8 - bl StringFill -_080CF0B8: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CEC00 - - thumb_func_start sub_80CF0CC -sub_80CF0CC: @ 80CF0CC - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x000021ff - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080CF0F4 - cmp r0, 0x1 - ble _080CF0E4 - cmp r0, 0x2 - beq _080CF0FA -_080CF0E4: - bl sub_80CF108 - b _080CF0FE - .pool -_080CF0F4: - bl sub_80CF374 - b _080CF0FE -_080CF0FA: - bl sub_80CF4B0 -_080CF0FE: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80CF0CC - - thumb_func_start sub_80CF108 -sub_80CF108: @ 80CF108 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - mov r8, r0 - ldr r2, =gUnknown_02039D79 - ldrb r4, [r2] - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldr r1, =0x00000cd2 - mov r10, r1 - add r0, r10 - movs r1, 0 - strb r1, [r0] - ldr r0, [r5] - ldr r7, =0x00000cd3 - adds r0, r7 - strb r1, [r0] - ldr r0, [r5] - ldr r3, =0x00000cd7 - mov r9, r3 - add r0, r9 - strb r1, [r0] - ldr r6, =gMain - ldrh r1, [r6, 0x30] - movs r0, 0x40 - ands r0, r1 - adds r3, r2, 0 - cmp r0, 0 - beq _080CF14C - b _080CF33C -_080CF14C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080CF1A8 - movs r6, 0x1 - lsls r0, r4, 24 - movs r1, 0xC0 - lsls r1, 19 - adds r0, r1 - lsrs r4, r0, 24 - asrs r0, 24 - cmp r0, 0x1D - bgt _080CF168 - b _080CF358 -_080CF168: - movs r2, 0x3 - mov r8, r2 - subs r0, 0x1E - lsls r0, 24 - asrs r0, 24 - movs r1, 0x3 - bl __divsi3 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [r5] - add r0, r10 - strb r6, [r0] - ldr r0, [r5] - add r0, r9 - strb r6, [r0] - b _080CF358 - .pool -_080CF1A8: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080CF1DE - movs r6, 0x1 - movs r0, 0 - ldrsb r0, [r3, r0] - movs r1, 0x6 - bl __modsi3 - lsls r0, 24 - cmp r0, 0 - beq _080CF1CA - lsls r0, r4, 24 - movs r3, 0xFF - lsls r3, 24 - b _080CF34C -_080CF1CA: - ldr r0, [r5] - adds r0, r7 - movs r1, 0xFF - strb r1, [r0] - lsls r0, r4, 24 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - lsrs r4, r0, 24 - b _080CF358 -_080CF1DE: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080CF212 - movs r6, 0x1 - movs r0, 0 - ldrsb r0, [r3, r0] - adds r0, 0x1 - movs r1, 0x6 - bl __modsi3 - cmp r0, 0 - beq _080CF204 - lsls r0, r4, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r4, r0, 24 - b _080CF358 -_080CF204: - ldr r0, [r5] - adds r0, r7 - strb r6, [r0] - lsls r0, r4, 24 - movs r3, 0xFB - lsls r3, 24 - b _080CF34C -_080CF212: - ldrh r1, [r6, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080CF220 - movs r6, 0x1 - b _080CF352 -_080CF220: - movs r4, 0x1 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CF2E4 - bl sub_80CFA5C - lsls r0, 24 - cmp r0, 0 - beq _080CF2E4 - ldr r0, =gUnknown_02039D7D - ldrb r0, [r0] - cmp r0, 0 - bne _080CF244 - movs r0, 0x8 - b _080CF366 - .pool -_080CF244: - ldr r1, [r5] - ldrb r0, [r1, 0x1] - cmp r0, 0x2 - bne _080CF254 - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0x1 - bne _080CF2D4 -_080CF254: - movs r0, 0 - bl sub_80CFF98 - subs r0, 0x1 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xE - bhi _080CF2E4 - lsls r0, 2 - ldr r1, =_080CF278 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080CF278: - .4byte _080CF2B4 - .4byte _080CF2B8 - .4byte _080CF2BC - .4byte _080CF2C0 - .4byte _080CF2C4 - .4byte _080CF2E4 - .4byte _080CF2E4 - .4byte _080CF2E4 - .4byte _080CF2E4 - .4byte _080CF2E4 - .4byte _080CF2E4 - .4byte _080CF2C8 - .4byte _080CF2CC - .4byte _080CF2E4 - .4byte _080CF2D0 -_080CF2B4: - movs r0, 0xB - b _080CF366 -_080CF2B8: - movs r0, 0xC - b _080CF366 -_080CF2BC: - movs r0, 0xD - b _080CF366 -_080CF2C0: - movs r0, 0xE - b _080CF366 -_080CF2C4: - movs r0, 0xF - b _080CF366 -_080CF2C8: - movs r0, 0x10 - b _080CF366 -_080CF2CC: - movs r0, 0x11 - b _080CF366 -_080CF2D0: - movs r0, 0x12 - b _080CF366 -_080CF2D4: - ldr r2, =0x000021ff - adds r0, r1, r2 - strb r4, [r0] - movs r0, 0x14 - b _080CF366 - .pool -_080CF2E4: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080CF2F8 - movs r0, 0x13 - b _080CF366 - .pool -_080CF2F8: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _080CF326 - ldrh r1, [r2, 0x2C] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _080CF318 - movs r0, 0xA - b _080CF366 - .pool -_080CF318: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080CF326 - movs r0, 0x9 - b _080CF366 -_080CF326: - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080CF338 - bl sub_80CFDC4 - movs r0, 0 - b _080CF366 -_080CF338: - movs r6, 0 - b _080CF364 -_080CF33C: - movs r6, 0x1 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0x5 - ble _080CF352 - lsls r0, r4, 24 - movs r3, 0xFA - lsls r3, 24 -_080CF34C: - adds r0, r3 - lsrs r4, r0, 24 - b _080CF358 -_080CF352: - movs r0, 0x2 - mov r8, r0 - movs r4, 0 -_080CF358: - cmp r6, 0 - beq _080CF364 - mov r0, r8 - adds r1, r4, 0 - bl sub_80CD894 -_080CF364: - adds r0, r6, 0 -_080CF366: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80CF108 - - thumb_func_start sub_80CF374 -sub_80CF374: @ 80CF374 - push {r4,lr} - ldr r1, =gMain - ldrh r0, [r1, 0x2C] - movs r4, 0x1 - ands r4, r0 - cmp r4, 0 - beq _080CF428 - ldrh r1, [r1, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080CF3AC - ldr r4, =gUnknown_02039D79 - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x6 - bl __divsi3 - lsls r0, 24 - cmp r0, 0 - beq _080CF420 - ldrb r1, [r4] - subs r1, 0x6 - b _080CF40E - .pool -_080CF3AC: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080CF3CC - ldr r1, =gUnknown_02039D79 - movs r0, 0 - ldrsb r0, [r1, r0] - adds r0, 0x6 - cmp r0, 0x1D - bgt _080CF420 - ldrb r1, [r1] - adds r1, 0x6 - b _080CF40E - .pool -_080CF3CC: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080CF3F0 - ldr r4, =gUnknown_02039D79 - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x6 - bl __modsi3 - lsls r0, 24 - cmp r0, 0 - beq _080CF420 - ldrb r1, [r4] - subs r1, 0x1 - b _080CF40E - .pool -_080CF3F0: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080CF424 - ldr r4, =gUnknown_02039D79 - movs r0, 0 - ldrsb r0, [r4, r0] - adds r0, 0x1 - movs r1, 0x6 - bl __modsi3 - cmp r0, 0 - beq _080CF420 - ldrb r1, [r4] - adds r1, 0x1 -_080CF40E: - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_80CD894 - movs r0, 0x15 - b _080CF49C - .pool -_080CF420: - movs r0, 0x18 - b _080CF49C -_080CF424: - movs r0, 0 - b _080CF49C -_080CF428: - bl sub_80D0BA4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039D79 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - cmp r0, r1 - beq _080CF47C - ldr r2, =gUnknown_02039D7A - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r3, =0x00000ce4 - adds r0, r1, r3 - ldrh r0, [r0] - negs r0, r0 - lsrs r0, 31 - strb r0, [r2] - ldr r0, =0x000021ff - adds r1, r0 - movs r0, 0x2 - strb r0, [r1] - bl StorageGetCurrentBox - ldr r1, =gUnknown_02039D7B - strb r0, [r1] - movs r0, 0x17 - b _080CF49C - .pool -_080CF47C: - ldr r1, =gUnknown_02039D08 - ldr r0, [r1] - ldr r2, =0x000021ff - adds r0, r2 - strb r4, [r0] - ldr r0, [r1] - ldr r3, =0x00000cb8 - adds r0, r3 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - movs r0, 0x16 -_080CF49C: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80CF374 - - thumb_func_start sub_80CF4B0 -sub_80CF4B0: @ 80CF4B0 - push {r4,lr} - ldr r2, =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080CF4DC - movs r0, 0 - bl sub_80D0580 - lsls r0, 24 - cmp r0, 0 - beq _080CF588 - ldr r0, =gUnknown_02039D79 - ldrb r1, [r0] - subs r1, 0x6 - b _080CF53A - .pool -_080CF4DC: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080CF4FC - movs r0, 0x1 - bl sub_80D0580 - lsls r0, 24 - cmp r0, 0 - beq _080CF588 - ldr r0, =gUnknown_02039D79 - ldrb r1, [r0] - adds r1, 0x6 - b _080CF53A - .pool -_080CF4FC: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080CF51C - movs r0, 0x2 - bl sub_80D0580 - lsls r0, 24 - cmp r0, 0 - beq _080CF5A2 - ldr r0, =gUnknown_02039D79 - ldrb r1, [r0] - subs r1, 0x1 - b _080CF53A - .pool -_080CF51C: - movs r0, 0x10 - ands r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080CF54C - movs r0, 0x3 - bl sub_80D0580 - lsls r0, 24 - cmp r0, 0 - beq _080CF5B6 - ldr r0, =gUnknown_02039D79 - ldrb r1, [r0] - adds r1, 0x1 -_080CF53A: - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_80CD894 - movs r0, 0x19 - b _080CF5BC - .pool -_080CF54C: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CF580 - bl sub_80D0BC0 - lsls r0, 24 - cmp r0, 0 - beq _080CF588 - ldr r0, =gUnknown_02039D7A - strb r4, [r0] - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x000021ff - adds r0, r1 - strb r4, [r0] - movs r0, 0x1A - b _080CF5BC - .pool -_080CF580: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080CF58C -_080CF588: - movs r0, 0x18 - b _080CF5BC -_080CF58C: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _080CF5BA - ldrh r1, [r2, 0x2C] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _080CF5AC -_080CF5A2: - movs r0, 0xA - b _080CF5BC - .pool -_080CF5AC: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080CF5BA -_080CF5B6: - movs r0, 0x9 - b _080CF5BC -_080CF5BA: - movs r0, 0 -_080CF5BC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80CF4B0 - - thumb_func_start sub_80CF5C4 -sub_80CF5C4: @ 80CF5C4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - mov r9, r0 - ldr r6, =gUnknown_02039D79 - ldrb r4, [r6] - ldr r2, =gUnknown_02039D08 - ldr r0, [r2] - ldr r1, =0x00000cd3 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - ldr r3, =0x00000cd2 - adds r0, r3 - strb r1, [r0] - ldr r0, [r2] - adds r3, 0x5 - adds r0, r3 - strb r1, [r0] - mov r8, r1 - movs r7, 0 - ldr r1, =gMain - ldrh r3, [r1, 0x30] - movs r0, 0x40 - ands r0, r3 - adds r5, r6, 0 - mov r12, r1 - cmp r0, 0 - beq _080CF608 - b _080CF7A8 -_080CF608: - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _080CF64C - lsls r0, r4, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r4, r0, 24 - asrs r0, 24 - cmp r0, 0x6 - ble _080CF622 - movs r4, 0 -_080CF622: - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r5, r1] - cmp r0, r1 - bne _080CF630 - b _080CF7C6 -_080CF630: - movs r7, 0x1 - b _080CF7CA - .pool -_080CF64C: - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _080CF670 - ldrb r1, [r5] - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0 - beq _080CF670 - movs r7, 0x1 - ldr r0, [r2] - ldr r2, =0x00000cd6 - adds r0, r2 - strb r1, [r0] - movs r4, 0 - b _080CF7C6 - .pool -_080CF670: - mov r3, r12 - ldrh r1, [r3, 0x30] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080CF69E - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0 - bne _080CF694 - movs r7, 0x1 - ldr r0, [r2] - ldr r1, =0x00000cd6 - adds r0, r1 - ldrb r4, [r0] - b _080CF7C6 - .pool -_080CF694: - movs r7, 0x6 - movs r2, 0 - mov r9, r2 - movs r4, 0 - b _080CF7C6 -_080CF69E: - mov r3, r12 - ldrh r1, [r3, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CF75C - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0x6 - bne _080CF6C4 - ldr r0, [r2] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _080CF6BE - movs r0, 0x4 - b _080CF7D8 -_080CF6BE: - movs r0, 0x1 - mov r8, r0 - b _080CF75C -_080CF6C4: - bl sub_80CFA5C - lsls r0, 24 - cmp r0, 0 - beq _080CF75C - ldr r0, =gUnknown_02039D7D - ldrb r0, [r0] - cmp r0, 0 - bne _080CF6E0 - movs r0, 0x8 - b _080CF7D8 - .pool -_080CF6E0: - movs r0, 0 - bl sub_80CFF98 - subs r0, 0x1 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xE - bhi _080CF75C - lsls r0, 2 - ldr r1, =_080CF700 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080CF700: - .4byte _080CF73C - .4byte _080CF740 - .4byte _080CF744 - .4byte _080CF748 - .4byte _080CF74C - .4byte _080CF75C - .4byte _080CF75C - .4byte _080CF75C - .4byte _080CF75C - .4byte _080CF75C - .4byte _080CF75C - .4byte _080CF750 - .4byte _080CF754 - .4byte _080CF75C - .4byte _080CF758 -_080CF73C: - movs r0, 0xB - b _080CF7D8 -_080CF740: - movs r0, 0xC - b _080CF7D8 -_080CF744: - movs r0, 0xD - b _080CF7D8 -_080CF748: - movs r0, 0xE - b _080CF7D8 -_080CF74C: - movs r0, 0xF - b _080CF7D8 -_080CF750: - movs r0, 0x10 - b _080CF7D8 -_080CF754: - movs r0, 0x11 - b _080CF7D8 -_080CF758: - movs r0, 0x12 - b _080CF7D8 -_080CF75C: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - mov r12, r2 - cmp r0, 0 - beq _080CF784 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _080CF780 - movs r0, 0x13 - b _080CF7D8 - .pool -_080CF780: - movs r1, 0x1 - mov r8, r1 -_080CF784: - mov r2, r8 - cmp r2, 0 - beq _080CF794 - movs r7, 0x6 - movs r3, 0 - mov r9, r3 - movs r4, 0 - b _080CF7C6 -_080CF794: - mov r0, r12 - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080CF7C6 - bl sub_80CFDC4 - movs r0, 0 - b _080CF7D8 -_080CF7A8: - lsls r0, r4, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r4, r0, 24 - cmp r0, 0 - bge _080CF7B8 - movs r4, 0x6 -_080CF7B8: - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r6, r1] - cmp r0, r1 - beq _080CF7C6 - movs r7, 0x1 -_080CF7C6: - cmp r7, 0 - beq _080CF7D6 -_080CF7CA: - cmp r7, 0x6 - beq _080CF7D6 - mov r0, r9 - adds r1, r4, 0 - bl sub_80CD894 -_080CF7D6: - adds r0, r7, 0 -_080CF7D8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80CF5C4 - - thumb_func_start sub_80CF7E4 -sub_80CF7E4: @ 80CF7E4 - push {r4-r6,lr} - ldr r3, =gUnknown_02039D08 - ldr r0, [r3] - ldr r1, =0x00000cd3 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r3] - ldr r2, =0x00000cd2 - adds r0, r2 - strb r1, [r0] - ldr r0, [r3] - ldr r5, =0x00000cd7 - adds r0, r5 - strb r1, [r0] - ldr r1, =gMain - ldrh r2, [r1, 0x30] - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - bne _080CF8AA - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _080CF834 - movs r4, 0x1 - movs r1, 0 - movs r6, 0x2 - b _080CF8B6 - .pool -_080CF834: - ldrh r2, [r1, 0x2C] - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - bne _080CF85A - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - bne _080CF86E - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _080CF872 - movs r0, 0x80 - lsls r0, 2 - ands r0, r2 - cmp r0, 0 - beq _080CF864 -_080CF85A: - movs r0, 0xA - b _080CF8D2 - .pool -_080CF864: - movs r0, 0x80 - lsls r0, 1 - ands r0, r2 - cmp r0, 0 - beq _080CF872 -_080CF86E: - movs r0, 0x9 - b _080CF8D2 -_080CF872: - ldrh r1, [r1, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CF88A - movs r0, 0 - bl sub_80CD1A8 - bl sub_80CFA38 - movs r0, 0x7 - b _080CF8D2 -_080CF88A: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080CF896 - movs r0, 0x13 - b _080CF8D2 -_080CF896: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080CF8A6 - bl sub_80CFDC4 - movs r0, 0 - b _080CF8D2 -_080CF8A6: - movs r4, 0 - b _080CF8D0 -_080CF8AA: - movs r4, 0x1 - movs r1, 0x3 - movs r6, 0 - ldr r0, [r3] - adds r0, r5 - strb r4, [r0] -_080CF8B6: - cmp r4, 0 - beq _080CF8D0 - lsls r5, r1, 24 - cmp r1, 0x2 - beq _080CF8C6 - movs r0, 0 - bl sub_80CD1A8 -_080CF8C6: - lsrs r0, r5, 24 - lsls r1, r6, 24 - lsrs r1, 24 - bl sub_80CD894 -_080CF8D0: - adds r0, r4, 0 -_080CF8D2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80CF7E4 - - thumb_func_start sub_80CF8D8 -sub_80CF8D8: @ 80CF8D8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - mov r8, r0 - ldr r0, =gUnknown_02039D79 - mov r12, r0 - ldrb r2, [r0] - ldr r3, =gUnknown_02039D08 - ldr r0, [r3] - ldr r1, =0x00000cd3 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r3] - ldr r6, =0x00000cd2 - adds r0, r6 - strb r1, [r0] - ldr r0, [r3] - ldr r5, =0x00000cd7 - adds r0, r5 - strb r1, [r0] - ldr r7, =gMain - ldrh r1, [r7, 0x30] - movs r0, 0x40 - ands r0, r1 - adds r4, r3, 0 - cmp r0, 0 - bne _080CF9B2 - movs r0, 0x88 - ands r0, r1 - cmp r0, 0 - beq _080CF944 - movs r7, 0x1 - movs r0, 0x2 - mov r8, r0 - movs r2, 0 - ldr r0, [r4] - b _080CF9D0 - .pool -_080CF944: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080CF960 - movs r7, 0x1 - lsls r0, r2, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r2, r0, 24 - cmp r0, 0 - bge _080CF9D4 - movs r2, 0x1 - b _080CF9D4 -_080CF960: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080CF97E - movs r7, 0x1 - lsls r0, r2, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r2, r0, 24 - asrs r0, 24 - cmp r0, 0x1 - ble _080CF9D4 - movs r2, 0 - b _080CF9D4 -_080CF97E: - ldrh r1, [r7, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CF992 - movs r0, 0x4 - cmp r2, 0 - bne _080CF9E2 - movs r0, 0x5 - b _080CF9E2 -_080CF992: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080CF99E - movs r0, 0x13 - b _080CF9E2 -_080CF99E: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080CF9AE - bl sub_80CFDC4 - movs r0, 0 - b _080CF9E2 -_080CF9AE: - movs r7, 0 - b _080CF9E0 -_080CF9B2: - movs r7, 0x1 - movs r0, 0 - mov r8, r0 - ldr r0, [r3] - adds r0, r6 - movs r1, 0xFF - strb r1, [r0] - mov r1, r12 - movs r0, 0 - ldrsb r0, [r1, r0] - movs r2, 0x1D - cmp r0, 0 - bne _080CF9CE - movs r2, 0x18 -_080CF9CE: - ldr r0, [r3] -_080CF9D0: - adds r0, r5 - strb r7, [r0] -_080CF9D4: - cmp r7, 0 - beq _080CF9E0 - mov r0, r8 - adds r1, r2, 0 - bl sub_80CD894 -_080CF9E0: - adds r0, r7, 0 -_080CF9E2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80CF8D8 - - thumb_func_start sub_80CF9EC -sub_80CF9EC: @ 80CF9EC - push {r4,r5,lr} - movs r3, 0 - ldr r0, =gUnknown_0857B9BC - ldr r1, [r0] - adds r4, r0, 0 - cmp r1, 0 - beq _080CFA30 - ldr r5, =gUnknown_02039D78 -_080CF9FC: - lsls r0, r3, 3 - adds r2, r0, r4 - movs r1, 0x4 - ldrsb r1, [r2, r1] - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r1, r0 - bne _080CFA20 - ldr r0, [r2] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - b _080CFA32 - .pool -_080CFA20: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - lsls r0, r3, 3 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - bne _080CF9FC -_080CFA30: - movs r0, 0 -_080CFA32: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80CF9EC - - thumb_func_start sub_80CFA38 -sub_80CFA38: @ 80CFA38 - push {lr} - bl sub_80CFEF0 - movs r0, 0x9 - bl sub_80CFF34 - movs r0, 0xA - bl sub_80CFF34 - movs r0, 0xB - bl sub_80CFF34 - movs r0, 0 - bl sub_80CFF34 - pop {r0} - bx r0 - thumb_func_end sub_80CFA38 - - thumb_func_start sub_80CFA5C -sub_80CFA5C: @ 80CFA5C - push {lr} - bl sub_80CFEF0 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080CFA78 - bl sub_80CFB44 - b _080CFA7C - .pool -_080CFA78: - bl sub_80CFA84 -_080CFA7C: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80CFA5C - - thumb_func_start sub_80CFA84 -sub_80CFA84: @ 80CFA84 - push {lr} - bl sub_80CD504 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - beq _080CFAAE - cmp r0, 0x1 - bgt _080CFAA8 - cmp r0, 0 - beq _080CFABA - b _080CFAF4 - .pool -_080CFAA8: - cmp r0, 0x2 - beq _080CFAC6 - b _080CFAF4 -_080CFAAE: - cmp r1, 0 - beq _080CFAF4 - movs r0, 0x1 - bl sub_80CFF34 - b _080CFAF8 -_080CFABA: - cmp r1, 0 - beq _080CFAF4 - movs r0, 0x2 - bl sub_80CFF34 - b _080CFAF8 -_080CFAC6: - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CFAE8 - cmp r1, 0 - beq _080CFAE0 - movs r0, 0x4 - bl sub_80CFF34 - b _080CFAF8 - .pool -_080CFAE0: - movs r0, 0x5 - bl sub_80CFF34 - b _080CFAF8 -_080CFAE8: - cmp r1, 0 - beq _080CFAF4 - movs r0, 0x3 - bl sub_80CFF34 - b _080CFAF8 -_080CFAF4: - movs r0, 0 - b _080CFB3E -_080CFAF8: - movs r0, 0x6 - bl sub_80CFF34 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x2 - bne _080CFB2A - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080CFB24 - movs r0, 0x2 - bl sub_80CFF34 - b _080CFB2A - .pool -_080CFB24: - movs r0, 0x1 - bl sub_80CFF34 -_080CFB2A: - movs r0, 0x8 - bl sub_80CFF34 - movs r0, 0x7 - bl sub_80CFF34 - movs r0, 0 - bl sub_80CFF34 - movs r0, 0x1 -_080CFB3E: - pop {r1} - bx r1 - thumb_func_end sub_80CFA84 - - thumb_func_start sub_80CFB44 -sub_80CFB44: @ 80CFB44 - push {r4,r5,lr} - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - ldr r5, =0x00000ce4 - adds r0, r5 - ldrh r1, [r0] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _080CFBDA - bl sub_80D127C - lsls r0, 24 - cmp r0, 0 - bne _080CFBAC - ldr r2, [r4] - ldr r0, =0x00000ce6 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _080CFB8C - adds r0, r2, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _080CFBDA - movs r0, 0xE - bl sub_80CFF34 - b _080CFBE4 - .pool -_080CFB8C: - ldrh r0, [r1] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - bne _080CFBA4 - movs r0, 0xC - bl sub_80CFF34 - movs r0, 0x10 - bl sub_80CFF34 -_080CFBA4: - movs r0, 0x11 - bl sub_80CFF34 - b _080CFBE4 -_080CFBAC: - ldr r2, [r4] - ldr r0, =0x00000ce6 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _080CFBCC - adds r0, r2, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _080CFBDA - movs r0, 0xD - bl sub_80CFF34 - b _080CFBE4 - .pool -_080CFBCC: - ldrh r0, [r1] - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CFBDE -_080CFBDA: - movs r0, 0 - b _080CFBEC -_080CFBDE: - movs r0, 0xF - bl sub_80CFF34 -_080CFBE4: - movs r0, 0 - bl sub_80CFF34 - movs r0, 0x1 -_080CFBEC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80CFB44 - - thumb_func_start sub_80CFBF4 -sub_80CFBF4: @ 80CFBF4 - ldr r1, =gUnknown_02039D08 - ldr r1, [r1] - ldr r2, =0x00000cb4 - adds r1, r2 - ldr r2, [r1] - ldrh r2, [r2, 0x20] - strh r2, [r0, 0x20] - ldr r1, [r1] - ldrh r1, [r1, 0x22] - adds r1, 0x14 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end sub_80CFBF4 - - thumb_func_start sub_80CFC14 -sub_80CFC14: @ 80CFC14 - push {r4-r6,lr} - sub sp, 0x2C - mov r1, sp - ldr r0, =gHandCursorSpriteSheets - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - add r4, sp, 0x18 - adds r1, r4, 0 - ldr r0, =gHandCursorSpritePalettes - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - mov r0, sp - bl LoadSpriteSheets - adds r0, r4, 0 - bl LoadSpritePalettes - ldr r0, =0x0000daca - bl IndexOfSpritePaletteTag - ldr r6, =gUnknown_02039D08 - ldr r1, [r6] - ldr r4, =0x00000cd8 - adds r1, r4 - strb r0, [r1] - ldr r0, =0x0000dac7 - bl IndexOfSpritePaletteTag - ldr r1, [r6] - ldr r5, =0x00000cd9 - adds r1, r5 - strb r0, [r1] - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - ldr r1, =gUnknown_02039D79 - ldrb r1, [r1] - add r4, sp, 0x28 - mov r5, sp - adds r5, 0x2A - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80CD444 - ldr r0, =gSpriteTemplate_857BA50 - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0 - ldrsh r2, [r5, r3] - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080CFD18 - ldr r2, [r6] - ldr r4, =0x00000cb4 - adds r3, r2, r4 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r3] - ldr r0, =gUnknown_02039D7D - ldr r5, =0x00000cd8 - adds r2, r5 - ldrb r0, [r0] - adds r2, r0 - ldrb r2, [r2] - lsls r2, 4 - ldrb r3, [r1, 0x5] - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r0, [r6] - adds r0, r4 - ldr r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, =gUnknown_02039D7A - ldrb r0, [r0] - cmp r0, 0 - beq _080CFD22 - ldr r0, [r6] - adds r0, r4 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim - b _080CFD22 - .pool -_080CFD18: - ldr r0, [r6] - ldr r1, =0x00000cb4 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_080CFD22: - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080CFD3C - movs r3, 0xD - movs r4, 0x1 - b _080CFD40 - .pool -_080CFD3C: - movs r3, 0x15 - movs r4, 0x2 -_080CFD40: - ldr r0, =gSpriteTemplate_857BA68 - movs r1, 0 - movs r2, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080CFDA8 - ldr r5, =gUnknown_02039D08 - ldr r2, [r5] - ldr r3, =0x00000cb8 - adds r2, r3 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r2] - lsls r3, r4, 2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080CFDB4 - ldr r0, [r5] - ldr r4, =0x00000cb8 - adds r0, r4 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - b _080CFDB4 - .pool -_080CFDA8: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r5, =0x00000cb8 - adds r0, r5 - movs r1, 0 - str r1, [r0] -_080CFDB4: - add sp, 0x2C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CFC14 - - thumb_func_start sub_80CFDC4 -sub_80CFDC4: @ 80CFDC4 - push {lr} - ldr r2, =gUnknown_02039D7D - movs r1, 0 - ldrb r0, [r2] - cmp r0, 0 - bne _080CFDD2 - movs r1, 0x1 -_080CFDD2: - strb r1, [r2] - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r3, =0x00000cb4 - adds r1, r0, r3 - ldr r3, [r1] - ldr r1, =0x00000cd8 - adds r0, r1 - ldrb r2, [r2] - adds r0, r2 - ldrb r1, [r0] - lsls r1, 4 - ldrb r2, [r3, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CFDC4 - - thumb_func_start sub_80CFE08 -sub_80CFE08: @ 80CFE08 - ldr r0, =gUnknown_02039D79 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80CFE08 - - thumb_func_start sub_80CFE14 -sub_80CFE14: @ 80CFE14 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080CFE48 - ldr r4, =gUnknown_02039D79 - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x6 - bl __modsi3 - strb r0, [r5] - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x6 - bl __divsi3 - b _080CFE4C - .pool -_080CFE48: - movs r0, 0 - strb r0, [r5] -_080CFE4C: - strb r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80CFE14 - - thumb_func_start sub_80CFE54 -sub_80CFE54: @ 80CFE54 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r2, =0x00000cb4 - adds r0, r2 - ldr r0, [r0] - bl StartSpriteAnim - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CFE54 - - thumb_func_start sub_80CFE78 -sub_80CFE78: @ 80CFE78 - ldr r0, =gUnknown_02039D7B - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80CFE78 - - thumb_func_start sub_80CFE84 -sub_80CFE84: @ 80CFE84 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000cb4 - adds r0, r1 - ldr r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - bx lr - .pool - thumb_func_end sub_80CFE84 - - thumb_func_start sub_80CFEA8 -sub_80CFEA8: @ 80CFEA8 - push {lr} - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080CFEC0 - ldr r0, =gUnknown_02039D79 - ldrb r1, [r0] - movs r0, 0 - bl sub_80D0E50 -_080CFEC0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CFEA8 - - thumb_func_start sub_80CFECC -sub_80CFECC: @ 80CFECC - push {lr} - ldr r0, =gUnknown_02039D78 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080CFEE4 - ldr r0, =gUnknown_02039D79 - ldrb r1, [r0] - movs r0, 0 - bl sub_80D0D8C -_080CFEE4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CFECC - - thumb_func_start sub_80CFEF0 -sub_80CFEF0: @ 80CFEF0 - ldr r2, =gUnknown_02039D08 - ldr r0, [r2] - ldr r1, =0x00000cac - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - ldr r3, =0x00000cad - adds r0, r3 - strb r1, [r0] - ldr r0, [r2] - subs r3, 0x41 - adds r0, r3 - strb r1, [r0] - ldr r0, [r2] - ldr r1, =0x00000c71 - adds r0, r1 - movs r1, 0xF - strb r1, [r0] - ldr r0, [r2] - adds r3, 0x6 - adds r0, r3 - movs r1, 0x5C - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_80CFEF0 - - thumb_func_start sub_80CFF34 -sub_80CFF34: @ 80CFF34 - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r4, =gUnknown_02039D08 - ldr r2, [r4] - ldr r5, =0x00000cac - adds r1, r2, r5 - ldrb r0, [r1] - cmp r0, 0x6 - bhi _080CFF7E - adds r1, r0, 0 - lsls r1, 3 - ldr r0, =0x00000c74 - adds r1, r0 - adds r1, r2, r1 - ldr r2, =gUnknown_0857BA80 - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - str r3, [r1, 0x4] - bl StringLength - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, [r4] - ldr r2, =0x00000cad - adds r0, r2 - ldrb r2, [r0] - cmp r1, r2 - bls _080CFF74 - strb r1, [r0] -_080CFF74: - ldr r1, [r4] - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080CFF7E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CFF34 - - thumb_func_start sub_80CFF98 -sub_80CFF98: @ 80CFF98 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldr r3, =0x00000cac - adds r0, r1, r3 - ldrb r0, [r0] - cmp r2, r0 - bcs _080CFFC8 - lsls r0, r2, 3 - ldr r2, =0x00000c78 - adds r1, r2 - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - b _080CFFCC - .pool -_080CFFC8: - movs r0, 0x1 - negs r0, r0 -_080CFFCC: - pop {r1} - bx r1 - thumb_func_end sub_80CFF98 - - thumb_func_start sub_80CFFD0 -sub_80CFFD0: @ 80CFFD0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r5, =gUnknown_02039D08 - ldr r1, [r5] - ldr r2, =0x00000cad - adds r0, r1, r2 - ldrb r0, [r0] - adds r0, 0x2 - subs r2, 0x3E - adds r1, r2 - strb r0, [r1] - ldr r1, [r5] - ldr r6, =0x00000cac - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, 1 - movs r3, 0xC7 - lsls r3, 4 - adds r1, r3 - strb r0, [r1] - ldr r1, [r5] - adds r2, r1, r2 - ldrb r2, [r2] - movs r0, 0x1D - subs r0, r2 - ldr r2, =0x00000c6d - adds r1, r2 - strb r0, [r1] - ldr r1, [r5] - adds r3, r1, r3 - ldrb r2, [r3] - movs r0, 0xF - subs r0, r2 - ldr r3, =0x00000c6e - adds r1, r3 - strb r0, [r1] - ldr r0, [r5] - ldr r1, =0x00000c6c - adds r0, r1 - bl AddWindow - ldr r1, [r5] - movs r4, 0xCB - lsls r4, 4 - adds r1, r4 - movs r2, 0 - mov r8, r2 - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - movs r2, 0xB - movs r3, 0xE - bl SetWindowBorderStyle - ldr r2, [r5] - adds r0, r2, r4 - ldrb r0, [r0] - adds r1, r2, r6 - ldrb r1, [r1] - ldr r3, =0x00000c74 - adds r2, r3 - bl PrintMenuTable - ldr r1, [r5] - adds r4, r1, r4 - ldrb r0, [r4] - adds r1, r6 - ldrb r1, [r1] - movs r2, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, [r5] - ldr r1, =0x00000cae - adds r0, r1 - mov r2, r8 - strb r2, [r0] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80CFFD0 - - thumb_func_start sub_80D00A8 -sub_80D00A8: @ 80D00A8 - movs r0, 0 - bx lr - thumb_func_end sub_80D00A8 - - thumb_func_start sub_80D00AC -sub_80D00AC: @ 80D00AC - push {r4,r5,lr} - movs r5, 0x2 - negs r5, r5 - ldr r4, =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080D0102 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D00CE - movs r0, 0x5 - bl PlaySE - adds r5, 0x1 -_080D00CE: - ldrh r1, [r4, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080D00EC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _080D010A - .pool -_080D00EC: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080D010A - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _080D010A -_080D0102: - bl GetMenuCursorPos - lsls r0, 24 - lsrs r5, r0, 24 -_080D010A: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _080D0116 - bl sub_80D013C -_080D0116: - cmp r5, 0 - blt _080D0128 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r5, 3 - ldr r2, =0x00000c78 - adds r0, r2 - adds r0, r1 - ldr r5, [r0] -_080D0128: - lsls r0, r5, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D00AC - - thumb_func_start sub_80D013C -sub_80D013C: @ 80D013C - push {r4,r5,lr} - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - movs r4, 0xCB - lsls r4, 4 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_8198070 - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D013C - - thumb_func_start sub_80D0164 -sub_80D0164: @ 80D0164 - push {r4,lr} - ldr r4, =gUnknown_02039D80 - ldr r0, =0x00000974 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _080D01B0 - ldr r0, =gUnknown_0857BB1C - bl AddWindow8Bit - adds r1, r0, 0 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r2, 0x88 - lsls r2, 6 - adds r0, r2 - strh r1, [r0] - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, 0xFF - beq _080D01B0 - lsls r0, r1, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - b _080D01B2 - .pool -_080D01B0: - movs r0, 0 -_080D01B2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80D0164 - - thumb_func_start sub_80D01B8 -sub_80D01B8: @ 80D01B8 - push {lr} - ldr r0, =gUnknown_02039D80 - ldr r0, [r0] - cmp r0, 0 - beq _080D01C6 - bl Free -_080D01C6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D01B8 - - thumb_func_start sub_80D01D0 -sub_80D01D0: @ 80D01D0 - ldr r2, =gUnknown_02039D80 - ldr r1, [r2] - movs r3, 0 - strb r0, [r1] - ldr r0, [r2] - strb r3, [r0, 0x1] - bx lr - .pool - thumb_func_end sub_80D01D0 - - thumb_func_start sub_80D01E4 -sub_80D01E4: @ 80D01E4 - push {lr} - ldr r0, =gUnknown_02039D80 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x5 - bhi _080D0244 - lsls r0, 2 - ldr r1, =_080D0204 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D0204: - .4byte _080D021C - .4byte _080D0222 - .4byte _080D0228 - .4byte _080D022E - .4byte _080D0234 - .4byte _080D023A -_080D021C: - bl sub_80D024C - b _080D023E -_080D0222: - bl sub_80D0344 - b _080D023E -_080D0228: - bl sub_80D03B0 - b _080D023E -_080D022E: - bl sub_80D0420 - b _080D023E -_080D0234: - bl sub_80D04A0 - b _080D023E -_080D023A: - bl sub_80D04C8 -_080D023E: - lsls r0, 24 - lsrs r0, 24 - b _080D0246 -_080D0244: - movs r0, 0 -_080D0246: - pop {r1} - bx r1 - thumb_func_end sub_80D01E4 - - thumb_func_start sub_80D024C -sub_80D024C: @ 80D024C - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, =gUnknown_02039D80 - ldr r1, [r6] - ldrb r0, [r1, 0x1] - cmp r0, 0x1 - beq _080D027C - cmp r0, 0x1 - bgt _080D0268 - cmp r0, 0 - beq _080D026E - b _080D0338 - .pool -_080D0268: - cmp r0, 0x2 - beq _080D0324 - b _080D0338 -_080D026E: - movs r0, 0 - bl HideBg - movs r0, 0x80 - bl sub_80D304C - b _080D030E -_080D027C: - adds r0, r1, 0x2 - adds r1, 0x3 - bl sub_80CFE14 - ldr r1, [r6] - ldrb r0, [r1, 0x2] - strb r0, [r1, 0x4] - ldr r1, [r6] - ldrb r0, [r1, 0x3] - strb r0, [r1, 0x5] - ldr r4, =0xfffffc00 - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - movs r4, 0x88 - lsls r4, 6 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer8Bit - ldr r1, [r6] - ldrb r0, [r1, 0x2] - ldrb r1, [r1, 0x3] - bl sub_80D07B0 - movs r0, 0 - movs r1, 0x4 - movs r2, 0x1 - bl SetBgAttribute - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram8Bit - movs r0, 0xFC - lsls r0, 6 - ldr r2, =0x00007fff - movs r1, 0x8 - bl BlendPalettes - movs r0, 0x2 - bl sub_80CFE54 - movs r0, 0x8 - movs r1, 0x80 - bl SetGpuRegBits -_080D030E: - ldr r1, [r6] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _080D0338 - .pool -_080D0324: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080D0338 - movs r0, 0 - bl ShowBg - movs r0, 0 - b _080D033A -_080D0338: - movs r0, 0x1 -_080D033A: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80D024C - - thumb_func_start sub_80D0344 -sub_80D0344: @ 80D0344 - push {r4,lr} - ldr r4, =gUnknown_02039D80 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - beq _080D036E - cmp r0, 0x1 - bgt _080D0360 - cmp r0, 0 - beq _080D0366 - b _080D03A8 - .pool -_080D0360: - cmp r0, 0x2 - beq _080D0382 - b _080D03A8 -_080D0366: - movs r0, 0 - bl HideBg - b _080D0378 -_080D036E: - bl sub_80D0B5C - movs r0, 0 - bl sub_80CFE54 -_080D0378: - ldr r1, [r4] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _080D03A8 -_080D0382: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080D03A8 - bl sub_80CFE84 - movs r0, 0x3 - bl stdpal_get - movs r1, 0xD0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - bl ShowBg - movs r0, 0 - b _080D03AA -_080D03A8: - movs r0, 0x1 -_080D03AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80D0344 - - thumb_func_start sub_80D03B0 -sub_80D03B0: @ 80D03B0 - push {r4,lr} - ldr r4, =gUnknown_02039D80 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _080D03C8 - cmp r0, 0x1 - beq _080D040C - b _080D0416 - .pool -_080D03C8: - bl sub_80CD554 - lsls r0, 24 - cmp r0, 0 - bne _080D0416 - ldr r1, [r4] - adds r0, r1, 0x6 - adds r1, 0x7 - bl sub_80CFE14 - bl sub_80D062C - ldr r1, [r4] - ldrb r0, [r1, 0x6] - strb r0, [r1, 0x4] - ldr r1, [r4] - ldrb r0, [r1, 0x7] - strb r0, [r1, 0x5] - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r1, 0x88 - lsls r1, 6 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram8Bit - ldr r1, [r4] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _080D0416 - .pool -_080D040C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _080D0418 -_080D0416: - movs r0, 0x1 -_080D0418: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80D03B0 - - thumb_func_start sub_80D0420 -sub_80D0420: @ 80D0420 - push {r4,lr} - ldr r4, =gUnknown_02039D80 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - beq _080D044E - cmp r0, 0x1 - bgt _080D043C - cmp r0, 0 - beq _080D0442 - b _080D0498 - .pool -_080D043C: - cmp r0, 0x2 - beq _080D047A - b _080D0498 -_080D0442: - bl sub_80D08CC - bl sub_80D09A4 - movs r0, 0 - b _080D046C -_080D044E: - bl sub_80CDCAC - lsls r0, 24 - cmp r0, 0 - bne _080D0498 - movs r0, 0x3 - bl sub_80CFE54 - movs r1, 0x80 - lsls r1, 1 - movs r0, 0 - movs r2, 0x8 - bl sub_80D0884 - movs r0, 0x1 -_080D046C: - bl sub_80CDC64 - ldr r1, [r4] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _080D0498 -_080D047A: - bl sub_80D0894 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80CDCAC - lsls r0, 24 - lsrs r0, 24 - cmp r4, 0 - bne _080D0498 - cmp r0, 0 - bne _080D0498 - movs r0, 0 - b _080D049A -_080D0498: - movs r0, 0x1 -_080D049A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80D0420 - - thumb_func_start sub_80D04A0 -sub_80D04A0: @ 80D04A0 - push {r4,lr} - bl sub_80CD554 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80D0894 - lsls r0, 24 - lsrs r0, 24 - cmp r4, 0 - bne _080D04C0 - cmp r0, 0 - bne _080D04C0 - movs r0, 0 - b _080D04C2 -_080D04C0: - movs r0, 0x1 -_080D04C2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80D04A0 - - thumb_func_start sub_80D04C8 -sub_80D04C8: @ 80D04C8 - push {r4,lr} - ldr r4, =gUnknown_02039D80 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - beq _080D0506 - cmp r0, 0x1 - bgt _080D04E4 - cmp r0, 0 - beq _080D04EE - b _080D0576 - .pool -_080D04E4: - cmp r0, 0x2 - beq _080D0532 - cmp r0, 0x3 - beq _080D0550 - b _080D0576 -_080D04EE: - bl sub_80D0AAC - movs r1, 0xFF - lsls r1, 8 - movs r0, 0 - movs r2, 0x8 - bl sub_80D0884 - movs r0, 0 - bl sub_80CDC64 - b _080D0546 -_080D0506: - bl sub_80CDCAC - lsls r0, 24 - cmp r0, 0 - bne _080D0576 - bl sub_80D0894 - lsls r0, 24 - cmp r0, 0 - bne _080D0576 - bl sub_80D0A1C - movs r0, 0x2 - bl sub_80CFE54 - movs r0, 0x1 - bl sub_80CDC64 - movs r0, 0 - bl HideBg - b _080D0546 -_080D0532: - bl sub_80CDCAC - lsls r0, 24 - cmp r0, 0 - bne _080D0576 - movs r0, 0 - bl sub_80CFE54 - bl sub_80D0B5C -_080D0546: - ldr r1, [r4] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _080D0576 -_080D0550: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080D0576 - movs r0, 0x3 - bl stdpal_get - movs r1, 0xD0 - movs r2, 0x20 - bl LoadPalette - bl sub_80CFE84 - movs r0, 0 - bl ShowBg - movs r0, 0 - b _080D0578 -_080D0576: - movs r0, 0x1 -_080D0578: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80D04C8 - - thumb_func_start sub_80D0580 -sub_80D0580: @ 80D0580 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x1 - beq _080D05BC - cmp r0, 0x1 - bgt _080D0596 - cmp r0, 0 - beq _080D05A0 - b _080D0624 -_080D0596: - cmp r1, 0x2 - beq _080D05DC - cmp r1, 0x3 - beq _080D05FC - b _080D0624 -_080D05A0: - ldr r0, =gUnknown_02039D80 - ldr r1, [r0] - ldrb r0, [r1, 0x9] - cmp r0, 0 - beq _080D060A - subs r0, 0x1 - strb r0, [r1, 0x9] - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - b _080D05F0 - .pool -_080D05BC: - ldr r0, =gUnknown_02039D80 - ldr r1, [r0] - ldrb r2, [r1, 0x9] - ldrb r0, [r1, 0xB] - adds r0, r2, r0 - cmp r0, 0x4 - bgt _080D060A - adds r0, r2, 0x1 - strb r0, [r1, 0x9] - movs r1, 0xFC - lsls r1, 8 - movs r0, 0 - b _080D05F0 - .pool -_080D05DC: - ldr r0, =gUnknown_02039D80 - ldr r1, [r0] - ldrb r0, [r1, 0x8] - cmp r0, 0 - beq _080D060A - subs r0, 0x1 - strb r0, [r1, 0x8] - movs r0, 0x80 - lsls r0, 3 - movs r1, 0 -_080D05F0: - movs r2, 0x6 - bl sub_80D0884 - b _080D0624 - .pool -_080D05FC: - ldr r0, =gUnknown_02039D80 - ldr r1, [r0] - ldrb r2, [r1, 0x8] - ldrb r0, [r1, 0xA] - adds r0, r2, r0 - cmp r0, 0x5 - ble _080D0614 -_080D060A: - movs r0, 0 - b _080D0626 - .pool -_080D0614: - adds r0, r2, 0x1 - strb r0, [r1, 0x8] - movs r0, 0xFC - lsls r0, 8 - movs r1, 0 - movs r2, 0x6 - bl sub_80D0884 -_080D0624: - movs r0, 0x1 -_080D0626: - pop {r1} - bx r1 - thumb_func_end sub_80D0580 - - thumb_func_start sub_80D062C -sub_80D062C: @ 80D062C - push {r4-r7,lr} - ldr r6, =gUnknown_02039D80 - ldr r2, [r6] - ldrb r3, [r2, 0x2] - ldrb r5, [r2, 0x6] - subs r1, r3, r5 - cmp r1, 0 - bge _080D063E - negs r1, r1 -_080D063E: - ldrb r0, [r2, 0x4] - subs r0, r3, r0 - cmp r0, 0 - bge _080D0648 - negs r0, r0 -_080D0648: - subs r0, r1, r0 - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x7] - subs r3, r1, r0 - cmp r3, 0 - bge _080D065A - negs r3, r3 -_080D065A: - ldrb r2, [r2, 0x5] - subs r0, r1, r2 - cmp r0, 0 - bge _080D0664 - negs r0, r0 -_080D0664: - subs r0, r3, r0 - lsls r0, 16 - lsrs r7, r0, 16 - lsls r0, r4, 16 - asrs r4, r0, 16 - cmp r4, 0 - ble _080D0678 - adds r0, r5, 0 - bl sub_80D06D0 -_080D0678: - cmp r4, 0 - bge _080D0694 - ldr r2, [r6] - ldrb r0, [r2, 0x4] - ldrb r1, [r2, 0x3] - ldrb r2, [r2, 0x5] - bl sub_80D0740 - ldr r2, [r6] - ldrb r0, [r2, 0x6] - ldrb r1, [r2, 0x3] - ldrb r2, [r2, 0x5] - bl sub_80D06D0 -_080D0694: - lsls r0, r7, 16 - asrs r4, r0, 16 - cmp r4, 0 - ble _080D06A8 - ldr r2, [r6] - ldrb r0, [r2, 0x7] - ldrb r1, [r2, 0x2] - ldrb r2, [r2, 0x4] - bl sub_80D0708 -_080D06A8: - cmp r4, 0 - bge _080D06C4 - ldr r2, [r6] - ldrb r0, [r2, 0x5] - ldrb r1, [r2, 0x2] - ldrb r2, [r2, 0x4] - bl sub_80D0778 - ldr r2, [r6] - ldrb r0, [r2, 0x7] - ldrb r1, [r2, 0x2] - ldrb r2, [r2, 0x4] - bl sub_80D0708 -_080D06C4: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D062C - - thumb_func_start sub_80D06D0 -sub_80D06D0: @ 80D06D0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r1, r4, 0 - lsls r2, 24 - lsrs r5, r2, 24 - adds r0, r5, 0 - cmp r4, r5 - bls _080D06EE - adds r4, r5, 0 - adds r5, r1, 0 - cmp r0, r5 - bhi _080D0700 -_080D06EE: - adds r1, r4, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - bl sub_80D07B0 - cmp r4, r5 - bls _080D06EE -_080D0700: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80D06D0 - - thumb_func_start sub_80D0708 -sub_80D0708: @ 80D0708 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r1, r4, 0 - lsls r2, 24 - lsrs r5, r2, 24 - adds r0, r5, 0 - cmp r4, r5 - bls _080D0726 - adds r4, r5, 0 - adds r5, r1, 0 - cmp r0, r5 - bhi _080D0738 -_080D0726: - adds r0, r4, 0 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r4, r1, 24 - adds r1, r6, 0 - bl sub_80D07B0 - cmp r4, r5 - bls _080D0726 -_080D0738: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80D0708 - - thumb_func_start sub_80D0740 -sub_80D0740: @ 80D0740 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r1, r4, 0 - lsls r2, 24 - lsrs r5, r2, 24 - adds r0, r5, 0 - cmp r4, r5 - bls _080D075E - adds r4, r5, 0 - adds r5, r1, 0 - cmp r0, r5 - bhi _080D0770 -_080D075E: - adds r1, r4, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - bl sub_80D0834 - cmp r4, r5 - bls _080D075E -_080D0770: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80D0740 - - thumb_func_start sub_80D0778 -sub_80D0778: @ 80D0778 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r1, r4, 0 - lsls r2, 24 - lsrs r5, r2, 24 - adds r0, r5, 0 - cmp r4, r5 - bls _080D0796 - adds r4, r5, 0 - adds r5, r1, 0 - cmp r0, r5 - bhi _080D07A8 -_080D0796: - adds r0, r4, 0 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r4, r1, 24 - adds r1, r6, 0 - bl sub_80D0834 - cmp r4, r5 - bls _080D0796 -_080D07A8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80D0778 - - thumb_func_start sub_80D07B0 -sub_80D07B0: @ 80D07B0 - push {r4-r7,lr} - sub sp, 0x1C - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r7, r0, r1 - lsls r4, r7, 1 - adds r4, r6, r4 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x41 - bl GetBoxMonDataFromSelectedBox - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetBoxMonDataFromSelectedBox - adds r1, r0, 0 - cmp r5, 0 - beq _080D0828 - adds r0, r5, 0 - movs r2, 0x1 - bl GetMonIconPtr - adds r4, r0, 0 - adds r0, r5, 0 - bl sub_80D3080 - adds r0, 0x8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039D08 - ldr r1, [r1] - movs r2, 0x88 - lsls r2, 6 - adds r1, r2 - ldrb r3, [r1] - movs r2, 0x20 - str r2, [sp] - str r2, [sp, 0x4] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - str r1, [sp, 0x8] - lsls r1, r7, 3 - str r1, [sp, 0xC] - str r2, [sp, 0x10] - str r2, [sp, 0x14] - str r0, [sp, 0x18] - adds r0, r3, 0 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl BlitBitmapRectToWindow4BitTo8Bit -_080D0828: - add sp, 0x1C - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D07B0 - - thumb_func_start sub_80D0834 -sub_80D0834: @ 80D0834 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r5, r0, r1 - lsls r0, r5, 1 - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x41 - bl GetBoxMonDataFromSelectedBox - lsls r0, 16 - cmp r0, 0 - beq _080D0878 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r1, 0x88 - lsls r1, 6 - adds r0, r1 - ldrb r0, [r0] - lsls r2, r4, 1 - adds r2, r4 - lsls r2, 3 - lsls r3, r5, 3 - movs r1, 0x20 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0 - bl FillWindowPixelRect8Bit -_080D0878: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D0834 - - thumb_func_start sub_80D0884 -sub_80D0884: @ 80D0884 - ldr r3, =gUnknown_02039D80 - ldr r3, [r3] - strh r0, [r3, 0xC] - strh r1, [r3, 0xE] - strh r2, [r3, 0x10] - bx lr - .pool - thumb_func_end sub_80D0884 - - thumb_func_start sub_80D0894 -sub_80D0894: @ 80D0894 - push {r4,lr} - ldr r4, =gUnknown_02039D80 - ldr r1, [r4] - ldrh r0, [r1, 0x10] - cmp r0, 0 - beq _080D08BE - ldrh r1, [r1, 0xC] - movs r0, 0 - movs r2, 0x1 - bl ChangeBgX - ldr r0, [r4] - ldrh r1, [r0, 0xE] - movs r0, 0 - movs r2, 0x1 - bl ChangeBgY - ldr r1, [r4] - ldrh r0, [r1, 0x10] - subs r0, 0x1 - strh r0, [r1, 0x10] -_080D08BE: - ldr r0, [r4] - ldrb r0, [r0, 0x10] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D0894 - - thumb_func_start sub_80D08CC -sub_80D08CC: @ 80D08CC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, =gUnknown_02039D80 - ldr r1, [r4] - ldrb r0, [r1, 0x4] - ldrb r2, [r1, 0x2] - cmp r0, r2 - bls _080D08E4 - adds r0, r2, 0 -_080D08E4: - strb r0, [r1, 0x8] - ldr r1, [r4] - ldrb r0, [r1, 0x5] - ldrb r2, [r1, 0x3] - cmp r0, r2 - bls _080D08F2 - adds r0, r2, 0 -_080D08F2: - strb r0, [r1, 0x9] - ldr r2, [r4] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x4] - subs r0, r1, r0 - cmp r0, 0 - bge _080D0902 - negs r0, r0 -_080D0902: - adds r0, 0x1 - strb r0, [r2, 0xA] - ldr r2, [r4] - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x5] - subs r0, r1, r0 - cmp r0, 0 - bge _080D0914 - negs r0, r0 -_080D0914: - adds r0, 0x1 - strb r0, [r2, 0xB] - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r6, 0 - ldr r0, [r4] - ldrb r2, [r0, 0x8] - ldrb r1, [r0, 0xA] - adds r2, r1 - mov r8, r2 - ldrb r1, [r0, 0x9] - ldrb r0, [r0, 0xB] - adds r0, r1 - mov r9, r0 - adds r2, r1, 0 - cmp r2, r9 - bge _080D0990 -_080D093C: - lsls r0, r2, 1 - adds r0, r2 - ldr r3, =gUnknown_02039D80 - ldr r1, [r3] - lsls r0, 1 - ldrb r3, [r1, 0x8] - adds r0, r3 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r4, [r1, 0x8] - adds r7, r2, 0x1 - cmp r4, r8 - bge _080D098A - mov r0, r8 - subs r4, r0, r4 -_080D095A: - mov r0, r10 - adds r1, r5, 0 - bl GetBoxedMonPtr - adds r1, r0, 0 - ldr r2, =gUnknown_02039D80 - ldr r0, [r2] - lsls r2, r6, 2 - adds r2, r6 - lsls r2, 4 - adds r0, r2 - adds r0, 0x14 - movs r2, 0x50 - bl memcpy - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - subs r4, 0x1 - cmp r4, 0 - bne _080D095A -_080D098A: - adds r2, r7, 0 - cmp r2, r9 - blt _080D093C -_080D0990: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D08CC - - thumb_func_start sub_80D09A4 -sub_80D09A4: @ 80D09A4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r4, =gUnknown_02039D80 - ldr r0, [r4] - ldrb r2, [r0, 0x8] - ldrb r1, [r0, 0xA] - adds r7, r2, r1 - ldrb r1, [r0, 0x9] - ldrb r0, [r0, 0xB] - adds r1, r0 - mov r9, r1 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, [r4] - ldrb r2, [r0, 0x9] - cmp r2, r9 - bge _080D0A0C -_080D09D0: - lsls r0, r2, 1 - adds r0, r2 - ldr r1, =gUnknown_02039D80 - ldr r1, [r1] - lsls r0, 1 - ldrb r3, [r1, 0x8] - adds r0, r3 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r4, [r1, 0x8] - adds r6, r2, 0x1 - cmp r4, r7 - bge _080D0A06 - subs r4, r7, r4 -_080D09EC: - adds r0, r5, 0 - bl sub_80CB778 - mov r0, r8 - adds r1, r5, 0 - bl ClearMonInBox - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - subs r4, 0x1 - cmp r4, 0 - bne _080D09EC -_080D0A06: - adds r2, r6, 0 - cmp r2, r9 - blt _080D09D0 -_080D0A0C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D09A4 - - thumb_func_start sub_80D0A1C -sub_80D0A1C: @ 80D0A1C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, =gUnknown_02039D80 - ldr r0, [r0] - ldrb r2, [r0, 0x8] - ldrb r1, [r0, 0xA] - adds r2, r1 - mov r8, r2 - ldrb r1, [r0, 0x9] - ldrb r0, [r0, 0xB] - adds r0, r1 - mov r10, r0 - movs r6, 0 - adds r2, r1, 0 - cmp r2, r10 - bge _080D0A98 -_080D0A42: - lsls r0, r2, 1 - adds r0, r2 - ldr r3, =gUnknown_02039D80 - ldr r1, [r3] - lsls r0, 1 - ldrb r4, [r1, 0x8] - adds r0, r4 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r4, [r1, 0x8] - adds r7, r2, 0x1 - cmp r4, r8 - bge _080D0A92 - mov r9, r3 - mov r0, r8 - subs r4, r0, r4 -_080D0A62: - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 4 - adds r1, 0x14 - mov r2, r9 - ldr r0, [r2] - adds r0, r1 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _080D0A80 - adds r0, r5, 0 - bl sub_80CB140 -_080D0A80: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - subs r4, 0x1 - cmp r4, 0 - bne _080D0A62 -_080D0A92: - adds r2, r7, 0 - cmp r2, r10 - blt _080D0A42 -_080D0A98: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D0A1C - - thumb_func_start sub_80D0AAC -sub_80D0AAC: @ 80D0AAC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r4, =gUnknown_02039D80 - ldr r0, [r4] - ldrb r2, [r0, 0x8] - ldrb r1, [r0, 0xA] - adds r2, r1 - mov r10, r2 - ldrb r1, [r0, 0x9] - ldrb r0, [r0, 0xB] - adds r1, r0 - str r1, [sp] - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r7, 0 - ldr r0, [r4] - ldrb r3, [r0, 0x9] - ldr r0, [sp] - cmp r3, r0 - bge _080D0B46 -_080D0AE2: - lsls r0, r3, 1 - adds r0, r3 - ldr r2, =gUnknown_02039D80 - ldr r1, [r2] - lsls r0, 1 - ldrb r4, [r1, 0x8] - adds r0, r4 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r5, [r1, 0x8] - adds r3, 0x1 - mov r9, r3 - cmp r5, r10 - bge _080D0B3E - mov r8, r2 - mov r0, r10 - subs r5, r0, r5 -_080D0B04: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 4 - adds r4, r0, 0 - adds r4, 0x14 - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _080D0B2C - mov r0, r8 - ldr r2, [r0] - adds r2, r4 - ldr r0, [sp, 0x4] - adds r1, r6, 0 - bl CopyBoxMonFromAnyBox -_080D0B2C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - subs r5, 0x1 - cmp r5, 0 - bne _080D0B04 -_080D0B3E: - mov r3, r9 - ldr r1, [sp] - cmp r3, r1 - blt _080D0AE2 -_080D0B46: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D0AAC - - thumb_func_start sub_80D0B5C -sub_80D0B5C: @ 80D0B5C - push {lr} - sub sp, 0x8 - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0 - movs r1, 0x4 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x8 - movs r1, 0x80 - bl ClearGpuRegBits - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_80D0B5C - - thumb_func_start sub_80D0BA4 -sub_80D0BA4: @ 80D0BA4 - ldr r0, =gUnknown_02039D80 - ldr r2, [r0] - ldrb r1, [r2, 0x3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - ldrb r2, [r2, 0x2] - adds r0, r2 - lsls r0, 24 - lsrs r0, 24 - bx lr - .pool - thumb_func_end sub_80D0BA4 - - thumb_func_start sub_80D0BC0 -sub_80D0BC0: @ 80D0BC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r0, =gUnknown_02039D80 - ldr r0, [r0] - ldrb r2, [r0, 0x8] - ldrb r1, [r0, 0xA] - adds r2, r1 - mov r9, r2 - ldrb r1, [r0, 0x9] - ldrb r0, [r0, 0xB] - adds r0, r1, r0 - str r0, [sp] - movs r7, 0 - adds r6, r1, 0 - cmp r6, r0 - bge _080D0C4E - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 1 - mov r8, r0 -_080D0BF0: - ldr r2, =gUnknown_02039D80 - ldr r1, [r2] - ldrb r0, [r1, 0x8] - add r0, r8 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r4, [r1, 0x8] - cmp r4, r9 - bge _080D0C42 - mov r10, r2 -_080D0C04: - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 4 - adds r1, 0x14 - mov r2, r10 - ldr r0, [r2] - adds r0, r1 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _080D0C30 - adds r0, r5, 0 - movs r1, 0x5 - bl GetBoxMonDataFromSelectedBox - cmp r0, 0 - beq _080D0C30 - movs r0, 0 - b _080D0C50 - .pool -_080D0C30: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x1 - cmp r4, r9 - blt _080D0C04 -_080D0C42: - movs r0, 0x6 - add r8, r0 - adds r6, 0x1 - ldr r2, [sp] - cmp r6, r2 - blt _080D0BF0 -_080D0C4E: - movs r0, 0x1 -_080D0C50: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D0BC0 - - thumb_func_start sub_80D0C60 -sub_80D0C60: @ 80D0C60 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r3, =gUnknown_02039D08 - ldr r0, [r3] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080D0D3E - ldr r0, =gUnknown_03000F78 - str r0, [sp, 0x18] - ldr r1, =0xffff0000 - add r2, sp, 0x18 - ldr r0, [r2, 0x4] - ands r0, r1 - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - str r0, [r2, 0x4] - mov r1, sp - ldr r0, =gSpriteTemplate_857BC70 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - movs r7, 0 - mov r9, r2 - mov r8, r3 - movs r0, 0 - mov r10, r0 -_080D0CA0: - adds r6, r7, 0x7 - lsls r1, r6, 16 - mov r2, r9 - ldrh r0, [r2, 0x4] - orrs r0, r1 - str r0, [r2, 0x4] - mov r0, r9 - bl LoadCompressedObjectPic - mov r4, r9 - ldrh r0, [r4, 0x6] - bl GetSpriteTileStartByTag - mov r5, r8 - ldr r1, [r5] - lsls r5, r7, 4 - ldr r2, =0x00002208 - adds r1, r2 - adds r1, r5 - lsls r0, 16 - lsrs r0, 11 - ldr r4, =0x06010000 - adds r0, r4 - str r0, [r1] - ldr r0, =0xffffdacb - adds r4, r7, r0 - lsls r0, r4, 16 - lsrs r0, 16 - bl AllocSpritePalette - mov r2, r8 - ldr r1, [r2] - adds r1, r5 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =0x0000220c - adds r1, r2 - strh r0, [r1] - ldrh r0, [r1] - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2 - strh r0, [r1] - mov r0, sp - strh r6, [r0] - strh r4, [r0, 0x2] - movs r1, 0 - movs r2, 0 - movs r3, 0xB - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r4, r8 - ldr r2, [r4] - ldr r6, =0x00002204 - adds r2, r6 - adds r2, r5 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, [r4] - adds r0, r5 - ldr r1, =0x00002210 - adds r0, r1 - mov r2, r10 - strb r2, [r0] - adds r7, 0x1 - cmp r7, 0x2 - ble _080D0CA0 -_080D0D3E: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r4, =0x00002234 - adds r0, r4 - movs r1, 0 - strh r1, [r0] - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D0C60 - - thumb_func_start sub_80D0D8C -sub_80D0D8C: @ 80D0D8C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080D0E42 - mov r0, r8 - adds r1, r7, 0 - bl sub_80D1324 - cmp r0, 0 - bne _080D0E42 - mov r0, r8 - cmp r0, 0 - beq _080D0DC4 - cmp r0, 0x1 - beq _080D0DDA - b _080D0E42 - .pool -_080D0DC4: - adds r0, r7, 0 - movs r1, 0x5 - bl GetBoxMonDataFromSelectedBox - cmp r0, 0 - beq _080D0E42 - adds r0, r7, 0 - movs r1, 0xC - bl GetBoxMonDataFromSelectedBox - b _080D0DFC -_080D0DDA: - cmp r7, 0x5 - bhi _080D0E42 - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _080D0E42 - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData -_080D0DFC: - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080D0E42 - adds r0, r4, 0 - bl GetItemIconPic - adds r6, r0, 0 - adds r0, r4, 0 - bl GetItemIconPalette - adds r5, r0, 0 - bl sub_80D12E8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - mov r1, r8 - adds r2, r7, 0 - bl sub_80D140C - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_80D1524 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80D15D4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80D1740 -_080D0E42: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D0D8C - - thumb_func_start sub_80D0E50 -sub_80D0E50: @ 80D0E50 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080D0E86 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80D1370 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x2 - bl sub_80D15D4 - adds r0, r4, 0 - movs r1, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_80D1604 -_080D0E86: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D0E50 - - thumb_func_start sub_80D0E90 -sub_80D0E90: @ 80D0E90 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - adds r7, r5, 0 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080D0F20 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80D1370 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0 - mov r0, sp - strh r1, [r0] - adds r0, r4, 0 - movs r1, 0x3 - bl sub_80D15D4 - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_80D1604 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0 - bl sub_80D140C - cmp r6, 0 - bne _080D0EF8 - adds r0, r5, 0 - movs r1, 0xC - mov r2, sp - bl SetBoxMonDataFromSelectedBox - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80CB7AC - b _080D0F10 - .pool -_080D0EF8: - movs r0, 0x64 - muls r0, r7 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r0, r7, 0 - movs r1, 0x1 - bl sub_80CBBDC -_080D0F10: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r2, =0x00000ce6 - adds r1, r0, r2 - ldrh r1, [r1] - ldr r2, =0x00002234 - adds r0, r2 - strh r1, [r0] -_080D0F20: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D0E90 - - thumb_func_start sub_80D0F38 -sub_80D0F38: @ 80D0F38 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r5, 0 - bl GetItemIconPic - mov r8, r0 - adds r0, r5, 0 - bl GetItemIconPalette - adds r6, r0, 0 - bl sub_80D12E8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - mov r1, r8 - adds r2, r6, 0 - bl sub_80D1524 - adds r0, r4, 0 - movs r1, 0x6 - bl sub_80D15D4 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl sub_80D1604 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0 - bl sub_80D140C - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80D1740 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00002234 - adds r0, r1 - strh r5, [r0] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D0F38 - - thumb_func_start sub_80D0FAC -sub_80D0FAC: @ 80D0FAC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, =gUnknown_02039D08 - mov r8, r0 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080D106A - mov r0, r9 - adds r1, r7, 0 - bl sub_80D1370 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x3 - bl sub_80D15D4 - adds r0, r4, 0 - movs r1, 0x3 - movs r2, 0x2 - movs r3, 0 - bl sub_80D1604 - mov r1, r9 - cmp r1, 0 - bne _080D101C - adds r0, r7, 0 - movs r1, 0xC - bl GetBoxMonDataFromSelectedBox - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r8 - ldr r2, [r0] - ldr r4, =0x00002234 - adds r2, r4 - adds r0, r7, 0 - movs r1, 0xC - bl SetBoxMonDataFromSelectedBox - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - b _080D1048 - .pool -_080D101C: - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r8 - ldr r2, [r0] - ldr r5, =0x00002234 - adds r2, r5 - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - mov r1, r8 - ldr r0, [r1] - adds r0, r5 -_080D1048: - strh r6, [r0] - movs r0, 0x2 - movs r1, 0 - bl sub_80D1370 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x4 - bl sub_80D15D4 - adds r0, r4, 0 - movs r1, 0x4 - mov r2, r9 - adds r3, r7, 0 - bl sub_80D1604 -_080D106A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D0FAC - - thumb_func_start sub_80D1080 -sub_80D1080: @ 80D1080 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - mov r8, r5 - ldr r6, =gUnknown_02039D08 - ldr r0, [r6] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080D1100 - movs r0, 0x2 - movs r1, 0 - bl sub_80D1370 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x4 - bl sub_80D15D4 - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r7, 0 - adds r3, r5, 0 - bl sub_80D1604 - cmp r7, 0 - bne _080D10E0 - ldr r2, [r6] - ldr r0, =0x00002234 - adds r2, r0 - adds r0, r5, 0 - movs r1, 0xC - bl SetBoxMonDataFromSelectedBox - adds r0, r5, 0 - movs r1, 0 - bl sub_80CB7AC - b _080D1100 - .pool -_080D10E0: - movs r0, 0x64 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r2, [r6] - ldr r1, =0x00002234 - adds r2, r1 - movs r1, 0xC - bl SetMonData - mov r0, r8 - movs r1, 0 - bl sub_80CBBDC -_080D1100: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1080 - - thumb_func_start sub_80D1114 -sub_80D1114: @ 80D1114 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - adds r7, r5, 0 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080D1188 - movs r1, 0 - mov r0, sp - strh r1, [r0] - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80D1370 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x2 - bl sub_80D15D4 - adds r0, r4, 0 - movs r1, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_80D1604 - cmp r6, 0 - bne _080D1170 - adds r0, r5, 0 - movs r1, 0xC - mov r2, sp - bl SetBoxMonDataFromSelectedBox - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80CB7AC - b _080D1188 - .pool -_080D1170: - movs r0, 0x64 - muls r0, r7 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r0, r7, 0 - movs r1, 0x1 - bl sub_80CBBDC -_080D1188: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1114 - - thumb_func_start sub_80D1194 -sub_80D1194: @ 80D1194 - push {r4,lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080D11C2 - movs r0, 0x2 - movs r1, 0 - bl sub_80D1370 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x5 - bl sub_80D15D4 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x2 - movs r3, 0 - bl sub_80D1604 -_080D11C2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1194 - - thumb_func_start sub_80D11CC -sub_80D11CC: @ 80D11CC - push {r4,lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080D120A - movs r4, 0 -_080D11DA: - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - lsls r0, r4, 4 - adds r1, r0 - ldr r2, =0x00002210 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080D1204 - subs r2, 0x2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080D1204 - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0x7 - movs r2, 0x2 - movs r3, 0 - bl sub_80D1604 -_080D1204: - adds r4, 0x1 - cmp r4, 0x2 - ble _080D11DA -_080D120A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D11CC - - thumb_func_start sub_80D1218 -sub_80D1218: @ 80D1218 - push {r4,r5,lr} - movs r5, 0 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00002204 - adds r4, r0, r1 - adds r3, r0, 0 -_080D1226: - ldr r1, =0x00002210 - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080D1268 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x28 - ands r0, r1 - cmp r0, 0x8 - beq _080D124E - ldr r1, [r2, 0x1C] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _080D1268 - ldr r0, =sub_80D1AD8 - cmp r1, r0 - beq _080D1268 -_080D124E: - movs r0, 0x1 - b _080D1274 - .pool -_080D1268: - adds r4, 0x10 - adds r3, 0x10 - adds r5, 0x1 - cmp r5, 0x2 - ble _080D1226 - movs r0, 0 -_080D1274: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80D1218 - - thumb_func_start sub_80D127C -sub_80D127C: @ 80D127C - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] - ldrb r0, [r1, 0x1] - cmp r0, 0x3 - bne _080D12B0 - movs r2, 0 - ldr r0, =0x0000220e - adds r1, r0 -_080D128E: - ldrb r0, [r1, 0x2] - cmp r0, 0 - beq _080D12A8 - ldrb r0, [r1] - cmp r0, 0x2 - bne _080D12A8 - movs r0, 0x1 - b _080D12B2 - .pool -_080D12A8: - adds r1, 0x10 - adds r2, 0x1 - cmp r2, 0x2 - ble _080D128E -_080D12B0: - movs r0, 0 -_080D12B2: - pop {r1} - bx r1 - thumb_func_end sub_80D127C - - thumb_func_start sub_80D12B8 -sub_80D12B8: @ 80D12B8 - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00002234 - adds r0, r1 - ldrh r0, [r0] - bl ItemId_GetName - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D12B8 - - thumb_func_start sub_80D12D4 -sub_80D12D4: @ 80D12D4 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00002234 - adds r0, r1 - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_80D12D4 - - thumb_func_start sub_80D12E8 -sub_80D12E8: @ 80D12E8 - push {r4,r5,lr} - movs r2, 0 - ldr r5, =gUnknown_02039D08 - ldr r3, =0x00002210 - movs r4, 0x1 -_080D12F2: - ldr r0, [r5] - lsls r1, r2, 4 - adds r0, r1 - adds r1, r0, r3 - ldrb r0, [r1] - cmp r0, 0 - bne _080D1310 - strb r4, [r1] - adds r0, r2, 0 - b _080D131C - .pool -_080D1310: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _080D12F2 - movs r0, 0x3 -_080D131C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80D12E8 - - thumb_func_start sub_80D1324 -sub_80D1324: @ 80D1324 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r3, 0 - ldr r0, =gUnknown_02039D08 - ldr r2, [r0] -_080D1334: - ldr r5, =0x00002210 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0 - beq _080D1360 - subs r5, 0x2 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, r4 - bne _080D1360 - adds r5, 0x1 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, r1 - bne _080D1360 - movs r0, 0x1 - b _080D136A - .pool -_080D1360: - adds r2, 0x10 - adds r3, 0x1 - cmp r3, 0x2 - ble _080D1334 - movs r0, 0 -_080D136A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80D1324 - - thumb_func_start sub_80D1370 -sub_80D1370: @ 80D1370 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r0, =gUnknown_02039D08 - ldr r1, [r0] -_080D1380: - lsls r0, r3, 4 - adds r2, r1, r0 - ldr r6, =0x00002210 - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _080D13B0 - subs r6, 0x2 - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, r5 - bne _080D13B0 - adds r6, 0x1 - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, r4 - bne _080D13B0 - adds r0, r3, 0 - b _080D13BC - .pool -_080D13B0: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _080D1380 - movs r0, 0x3 -_080D13BC: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80D1370 - - thumb_func_start sub_80D13C4 -sub_80D13C4: @ 80D13C4 - push {r4-r6,lr} - adds r5, r0, 0 - movs r2, 0 - ldr r0, =gUnknown_02039D08 - ldr r3, [r0] - ldr r0, =0x00002204 - adds r4, r3, r0 - ldr r6, =0x00002210 -_080D13D4: - lsls r1, r2, 4 - adds r0, r3, r1 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _080D13F8 - adds r0, r4, r1 - ldr r0, [r0] - cmp r0, r5 - bne _080D13F8 - adds r0, r2, 0 - b _080D1404 - .pool -_080D13F8: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _080D13D4 - movs r0, 0x3 -_080D1404: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80D13C4 - - thumb_func_start sub_80D140C -sub_80D140C: @ 80D140C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 24 - lsrs r7, r2, 24 - cmp r5, 0x2 - bhi _080D150A - cmp r1, 0 - beq _080D1438 - cmp r1, 0x1 - beq _080D1494 - ldr r4, =gUnknown_02039D08 - lsls r3, r5, 4 - b _080D14F4 - .pool -_080D1438: - adds r0, r7, 0 - movs r1, 0x6 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gUnknown_02039D08 - ldr r2, [r6] - lsls r5, 4 - ldr r1, =0x00002204 - adds r2, r1 - adds r2, r5 - ldr r3, [r2] - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 3 - adds r1, 0x70 - strh r1, [r3, 0x20] - ldr r3, [r2] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, 0x38 - strh r1, [r3, 0x22] - ldr r2, [r2] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2, 0x5] - adds r4, r6, 0 - adds r3, r5, 0 - b _080D14F4 - .pool -_080D1494: - cmp r7, 0 - bne _080D14BC - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - lsls r3, r5, 4 - ldr r1, =0x00002204 - adds r0, r1 - adds r0, r3 - ldr r2, [r0] - movs r1, 0x74 - strh r1, [r2, 0x20] - ldr r1, [r0] - movs r0, 0x4C - strh r0, [r1, 0x22] - b _080D14DC - .pool -_080D14BC: - ldr r4, =gUnknown_02039D08 - ldr r0, [r4] - lsls r3, r5, 4 - ldr r1, =0x00002204 - adds r0, r1 - adds r0, r3 - ldr r2, [r0] - movs r1, 0xA4 - strh r1, [r2, 0x20] - ldr r2, [r0] - subs r1, r7, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x1C - strh r0, [r2, 0x22] -_080D14DC: - ldr r0, [r4] - ldr r1, =0x00002204 - adds r0, r1 - adds r0, r3 - ldr r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] -_080D14F4: - ldr r0, [r4] - adds r0, r3 - ldr r1, =0x0000220e - adds r0, r1 - mov r1, r8 - strb r1, [r0] - ldr r0, [r4] - adds r0, r3 - ldr r1, =0x0000220f - adds r0, r1 - strb r7, [r0] -_080D150A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D140C - - thumb_func_start sub_80D1524 -sub_80D1524: @ 80D1524 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - mov r8, r1 - mov r9, r2 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bhi _080D15AC - movs r0, 0 - str r0, [sp] - ldr r4, =gUnknown_02039D08 - ldr r1, [r4] - ldr r6, =0x000042c4 - adds r1, r6 - ldr r2, =0x01000080 - mov r0, sp - bl CpuFastSet - ldr r1, [r4] - ldr r5, =0x000022c4 - adds r1, r5 - mov r0, r8 - bl LZ77UnCompWram - lsls r7, 4 - mov r8, r7 - adds r7, r4, 0 - movs r4, 0x2 -_080D1562: - ldr r1, [r7] - adds r0, r1, r5 - adds r1, r6 - movs r2, 0x18 - bl CpuFastSet - adds r6, 0x80 - adds r5, 0x60 - subs r4, 0x1 - cmp r4, 0 - bge _080D1562 - ldr r5, =gUnknown_02039D08 - ldr r1, [r5] - ldr r4, =0x000042c4 - adds r0, r1, r4 - ldr r2, =0x00002208 - adds r1, r2 - add r1, r8 - ldr r1, [r1] - movs r2, 0x80 - bl CpuFastSet - ldr r1, [r5] - adds r1, r4 - mov r0, r9 - bl LZ77UnCompWram - ldr r0, [r5] - adds r4, r0, r4 - add r0, r8 - ldr r1, =0x0000220c - adds r0, r1 - ldrh r1, [r0] - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette -_080D15AC: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1524 - - thumb_func_start sub_80D15D4 -sub_80D15D4: @ 80D15D4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - cmp r2, 0x2 - bhi _080D15F6 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r2, 4 - ldr r2, =0x00002204 - adds r0, r2 - adds r0, r1 - ldr r0, [r0] - adds r1, r3, 0 - bl StartSpriteAffineAnim -_080D15F6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D15D4 - - thumb_func_start sub_80D1604 -sub_80D1604: @ 80D1604 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r0, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - lsrs r3, 24 - cmp r4, 0x2 - bls _080D161C - b _080D172E -_080D161C: - cmp r0, 0x7 - bls _080D1622 - b _080D172E -_080D1622: - lsls r0, 2 - ldr r1, =_080D1630 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D1630: - .4byte _080D1650 - .4byte _080D1674 - .4byte _080D1698 - .4byte _080D16C4 - .4byte _080D16F0 - .4byte _080D172E - .4byte _080D172E - .4byte _080D171C -_080D1650: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r4, 4 - ldr r2, =0x00002204 - adds r0, r2 - adds r0, r1 - ldr r1, [r0] - strh r4, [r1, 0x2E] - ldr r1, [r0] - ldr r0, =sub_80D1A48 - b _080D172C - .pool -_080D1674: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r4, 4 - ldr r2, =0x00002204 - adds r0, r2 - adds r0, r1 - ldr r2, [r0] - movs r1, 0 - strh r1, [r2, 0x2E] - ldr r1, [r0] - ldr r0, =sub_80D1A74 - b _080D172C - .pool -_080D1698: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r4, 4 - ldr r2, =0x00002204 - adds r0, r2 - adds r0, r1 - ldr r2, [r0] - movs r1, 0 - strh r1, [r2, 0x2E] - ldr r1, [r0] - strh r5, [r1, 0x3A] - ldr r1, [r0] - strh r3, [r1, 0x3C] - ldr r1, [r0] - ldr r0, =sub_80D1B14 - b _080D172C - .pool -_080D16C4: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r4, 4 - ldr r2, =0x00002204 - adds r0, r2 - adds r0, r1 - ldr r2, [r0] - movs r1, 0 - strh r1, [r2, 0x2E] - ldr r2, [r0] - ldr r1, =sub_80D1B94 - str r1, [r2, 0x1C] - strh r5, [r2, 0x3A] - ldr r0, [r0] - strh r3, [r0, 0x3C] - b _080D172E - .pool -_080D16F0: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r4, 4 - ldr r2, =0x00002204 - adds r0, r2 - adds r0, r1 - ldr r2, [r0] - movs r1, 0 - strh r1, [r2, 0x2E] - ldr r1, [r0] - strh r5, [r1, 0x3A] - ldr r1, [r0] - strh r3, [r1, 0x3C] - ldr r1, [r0] - ldr r0, =sub_80D1C30 - b _080D172C - .pool -_080D171C: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - lsls r1, r4, 4 - ldr r2, =0x00002204 - adds r0, r2 - adds r0, r1 - ldr r1, [r0] - ldr r0, =sub_80D1CCC -_080D172C: - str r0, [r1, 0x1C] -_080D172E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1604 - - thumb_func_start sub_80D1740 -sub_80D1740: @ 80D1740 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r2, 0x2 - bhi _080D1780 - ldr r1, =gUnknown_02039D08 - ldr r0, [r1] - lsls r2, 4 - adds r0, r2 - ldr r3, =0x00002210 - adds r0, r3 - strb r4, [r0] - ldr r0, [r1] - ldr r1, =0x00002204 - adds r0, r1 - adds r0, r2 - ldr r0, [r0] - movs r3, 0 - cmp r4, 0 - bne _080D176E - movs r3, 0x1 -_080D176E: - adds r2, r0, 0 - adds r2, 0x3E - lsls r3, 2 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] -_080D1780: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1740 - - thumb_func_start GetItemIconPic -GetItemIconPic: @ 80D1794 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl GetItemIconPicOrPalette - pop {r1} - bx r1 - thumb_func_end GetItemIconPic - - thumb_func_start GetItemIconPalette -GetItemIconPalette: @ 80D17A4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetItemIconPicOrPalette - pop {r1} - bx r1 - thumb_func_end GetItemIconPalette - - thumb_func_start sub_80D17B4 -sub_80D17B4: @ 80D17B4 - push {r4,lr} - sub sp, 0x14 - bl sub_80D127C - lsls r0, 24 - cmp r0, 0 - beq _080D17D4 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00002234 - b _080D17DA - .pool -_080D17D4: - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00000ce6 -_080D17DA: - adds r0, r1 - ldrh r0, [r0] - bl ItemId_GetDescription - adds r4, r0, 0 - movs r0, 0x2 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - movs r0, 0x1 - str r0, [sp, 0x10] - movs r0, 0x2 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized5 - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D17B4 - - thumb_func_start sub_80D1818 -sub_80D1818: @ 80D1818 - push {lr} - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00002236 - adds r0, r1 - movs r1, 0x15 - strh r1, [r0] - ldr r1, =gUnknown_0857BB24 - movs r3, 0x9D - lsls r3, 1 - movs r0, 0 - movs r2, 0x80 - bl LoadBgTiles - movs r0, 0 - bl sub_80D19B4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1818 - - thumb_func_start sub_80D184C -sub_80D184C: @ 80D184C - push {r4,r5,lr} - sub sp, 0x10 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r2, =0x00002236 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0 - bne _080D186C - movs r0, 0 - b _080D18D2 - .pool -_080D186C: - subs r0, 0x1 - strh r0, [r1] - ldrh r1, [r1] - movs r0, 0x15 - subs r5, r0, r1 - movs r4, 0 - cmp r4, r5 - bge _080D18BC -_080D187C: - movs r0, 0 - movs r1, 0xA - bl GetBgAttribute - adds r1, r0, 0 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r2, =0x00002236 - adds r0, r2 - adds r1, 0x14 - ldrh r0, [r0] - adds r1, r0 - adds r1, r4 - lsls r1, 16 - lsrs r1, 16 - lsls r2, r4, 24 - lsrs r2, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x15 - str r0, [sp, 0xC] - movs r0, 0 - movs r3, 0xD - bl WriteSequenceToBgTilemapBuffer - adds r4, 0x1 - cmp r4, r5 - blt _080D187C -_080D18BC: - adds r0, r5, 0 - bl sub_80D19B4 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r1, =0x00002236 - adds r0, r1 - ldrh r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 -_080D18D2: - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D184C - - thumb_func_start sub_80D18E4 -sub_80D18E4: @ 80D18E4 - push {r4,r5,lr} - sub sp, 0x10 - ldr r5, =gUnknown_02039D08 - ldr r0, [r5] - ldr r4, =0x00002236 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0x16 - bne _080D1904 - movs r0, 0 - b _080D19A4 - .pool -_080D1904: - cmp r0, 0 - bne _080D1920 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x15 - movs r3, 0xC - bl FillBgTilemapBufferRect -_080D1920: - ldr r1, [r5] - adds r1, r4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrh r1, [r1] - movs r0, 0x15 - subs r5, r0, r1 - movs r4, 0 - cmp r4, r5 - bge _080D1976 -_080D1936: - movs r0, 0 - movs r1, 0xA - bl GetBgAttribute - adds r1, r0, 0 - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - ldr r2, =0x00002236 - adds r0, r2 - adds r1, 0x14 - ldrh r0, [r0] - adds r1, r0 - adds r1, r4 - lsls r1, 16 - lsrs r1, 16 - lsls r2, r4, 24 - lsrs r2, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x15 - str r0, [sp, 0xC] - movs r0, 0 - movs r3, 0xD - bl WriteSequenceToBgTilemapBuffer - adds r4, 0x1 - cmp r4, r5 - blt _080D1936 -_080D1976: - cmp r5, 0 - blt _080D1980 - adds r0, r5, 0 - bl sub_80D19B4 -_080D1980: - adds r2, r5, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r3, 0xC - bl FillBgTilemapBufferRect - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 -_080D19A4: - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D18E4 - - thumb_func_start sub_80D19B4 -sub_80D19B4: @ 80D19B4 - push {r4-r7,lr} - sub sp, 0xC - adds r7, r0, 0 - cmp r7, 0 - beq _080D19EC - movs r1, 0x9D - lsls r1, 1 - lsls r4, r7, 24 - lsrs r4, 24 - str r4, [sp] - movs r6, 0x1 - str r6, [sp, 0x4] - movs r5, 0xF - str r5, [sp, 0x8] - movs r0, 0 - movs r2, 0 - movs r3, 0xC - bl FillBgTilemapBufferRect - ldr r1, =0x0000093a - str r4, [sp] - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r2, 0 - movs r3, 0x14 - bl FillBgTilemapBufferRect -_080D19EC: - ldr r1, =0x0000013b - lsls r5, r7, 24 - lsrs r5, 24 - movs r4, 0x1 - str r4, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - movs r6, 0xF - str r6, [sp, 0x8] - movs r0, 0 - adds r2, r5, 0 - movs r3, 0xD - bl FillBgTilemapBufferRect - movs r1, 0x9E - lsls r1, 1 - str r4, [sp] - str r4, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - adds r2, r5, 0 - movs r3, 0xC - bl FillBgTilemapBufferRect - ldr r1, =0x0000013d - str r4, [sp] - str r4, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - adds r2, r5, 0 - movs r3, 0x14 - bl FillBgTilemapBufferRect - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D19B4 - - thumb_func_start sub_80D1A48 -sub_80D1A48: @ 80D1A48 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080D1A68 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80D1740 - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_080D1A68: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1A48 - - thumb_func_start sub_80D1A74 -sub_80D1A74: @ 80D1A74 - push {lr} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r1, [r3, r0] - cmp r1, 0 - beq _080D1A86 - cmp r1, 0x1 - beq _080D1AA2 - b _080D1AD0 -_080D1A86: - ldrh r0, [r3, 0x20] - lsls r0, 4 - strh r0, [r3, 0x30] - ldrh r0, [r3, 0x22] - lsls r0, 4 - strh r0, [r3, 0x32] - movs r0, 0xA - strh r0, [r3, 0x34] - movs r0, 0x15 - strh r0, [r3, 0x36] - strh r1, [r3, 0x38] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] -_080D1AA2: - ldrh r1, [r3, 0x30] - ldrh r0, [r3, 0x34] - subs r1, r0 - strh r1, [r3, 0x30] - ldrh r0, [r3, 0x32] - ldrh r2, [r3, 0x36] - subs r0, r2 - strh r0, [r3, 0x32] - lsls r1, 16 - asrs r1, 20 - strh r1, [r3, 0x20] - lsls r0, 16 - asrs r0, 20 - strh r0, [r3, 0x22] - ldrh r0, [r3, 0x38] - adds r0, 0x1 - strh r0, [r3, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _080D1AD0 - ldr r0, =sub_80D1AD8 - str r0, [r3, 0x1C] -_080D1AD0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1A74 - - thumb_func_start sub_80D1AD8 -sub_80D1AD8: @ 80D1AD8 - ldr r1, =gUnknown_02039D08 - ldr r3, [r1] - ldr r1, =0x00000cb4 - adds r3, r1 - ldr r1, [r3] - ldrh r1, [r1, 0x20] - adds r1, 0x4 - strh r1, [r0, 0x20] - ldr r2, [r3] - ldrh r1, [r2, 0x26] - ldrh r2, [r2, 0x22] - adds r1, r2 - adds r1, 0x8 - strh r1, [r0, 0x22] - ldr r1, [r3] - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - bx lr - .pool - thumb_func_end sub_80D1AD8 - - thumb_func_start sub_80D1B14 -sub_80D1B14: @ 80D1B14 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _080D1B26 - cmp r1, 0x1 - beq _080D1B42 - b _080D1B8A -_080D1B26: - ldrh r0, [r4, 0x20] - lsls r0, 4 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - lsls r0, 4 - strh r0, [r4, 0x32] - movs r0, 0xA - strh r0, [r4, 0x34] - movs r0, 0x15 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_080D1B42: - ldrh r0, [r4, 0x34] - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x36] - ldrh r2, [r4, 0x32] - adds r1, r2 - strh r1, [r4, 0x32] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r4, 0x22] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _080D1B8A - adds r0, r4, 0 - bl sub_80D13C4 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x3A] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - bl sub_80D140C - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_080D1B8A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1B14 - - thumb_func_start sub_80D1B94 -sub_80D1B94: @ 80D1B94 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _080D1BA6 - cmp r1, 0x1 - beq _080D1BC2 - b _080D1C20 -_080D1BA6: - ldrh r0, [r4, 0x20] - lsls r0, 4 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - lsls r0, 4 - strh r0, [r4, 0x32] - movs r0, 0xA - strh r0, [r4, 0x34] - movs r0, 0x15 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_080D1BC2: - ldrh r1, [r4, 0x30] - ldrh r0, [r4, 0x34] - subs r1, r0 - strh r1, [r4, 0x30] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x36] - subs r0, r2 - strh r0, [r4, 0x32] - lsls r1, 16 - asrs r1, 20 - strh r1, [r4, 0x20] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x22] - ldr r1, =gSineTable - movs r2, 0x38 - ldrsh r0, [r4, r2] - lsls r0, 4 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _080D1C20 - adds r0, r4, 0 - bl sub_80D13C4 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x3A] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - bl sub_80D140C - movs r0, 0 - strh r0, [r4, 0x24] - ldr r0, =sub_80D1AD8 - str r0, [r4, 0x1C] -_080D1C20: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1B94 - - thumb_func_start sub_80D1C30 -sub_80D1C30: @ 80D1C30 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _080D1C42 - cmp r1, 0x1 - beq _080D1C5E - b _080D1CBE -_080D1C42: - ldrh r0, [r4, 0x20] - lsls r0, 4 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - lsls r0, 4 - strh r0, [r4, 0x32] - movs r0, 0xA - strh r0, [r4, 0x34] - movs r0, 0x15 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_080D1C5E: - ldrh r0, [r4, 0x34] - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x36] - ldrh r2, [r4, 0x32] - adds r1, r2 - strh r1, [r4, 0x32] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r4, 0x22] - ldr r1, =gSineTable - movs r2, 0x38 - ldrsh r0, [r4, r2] - lsls r0, 4 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _080D1CBE - adds r0, r4, 0 - bl sub_80D13C4 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x3A] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - bl sub_80D140C - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] -_080D1CBE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1C30 - - thumb_func_start sub_80D1CCC -sub_80D1CCC: @ 80D1CCC - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x22] - subs r0, 0x8 - strh r0, [r2, 0x22] - movs r1, 0x22 - ldrsh r0, [r2, r1] - movs r3, 0x26 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _080D1CFC - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - adds r0, r2, 0 - bl sub_80D13C4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80D1740 -_080D1CFC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1CCC - - thumb_func_start TaskDummy0 -TaskDummy0: @ 80D1D04 - bx lr - thumb_func_end TaskDummy0 - - thumb_func_start nullsub_98 -nullsub_98: @ 80D1D08 - bx lr - thumb_func_end nullsub_98 - - thumb_func_start StorageGetCurrentBox -@ char StorageGetCurrentBox() -StorageGetCurrentBox: @ 80D1D0C - ldr r0, =gPokemonStoragePtr - ldr r0, [r0] - ldrb r0, [r0] - bx lr - .pool - thumb_func_end StorageGetCurrentBox - - thumb_func_start SetCurrentBox -SetCurrentBox: @ 80D1D18 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xD - bhi _080D1D28 - ldr r0, =gPokemonStoragePtr - ldr r0, [r0] - strb r1, [r0] -_080D1D28: - pop {r0} - bx r0 - .pool - thumb_func_end SetCurrentBox - - thumb_func_start GetBoxMonDataFromAnyBox -GetBoxMonDataFromAnyBox: @ 80D1D30 - push {r4,r5,lr} - adds r5, r2, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _080D1D6C - cmp r4, 0x1D - bhi _080D1D6C - ldr r2, =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - adds r1, r5, 0 - bl GetBoxMonData - b _080D1D6E - .pool -_080D1D6C: - movs r0, 0 -_080D1D6E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetBoxMonDataFromAnyBox - - thumb_func_start SetBoxMonDataFromAnyBox -SetBoxMonDataFromAnyBox: @ 80D1D74 - push {r4-r6,lr} - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _080D1DAC - cmp r4, 0x1D - bhi _080D1DAC - ldr r2, =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - adds r1, r5, 0 - adds r2, r6, 0 - bl SetBoxMonData -_080D1DAC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end SetBoxMonDataFromAnyBox - - thumb_func_start GetBoxMonDataFromSelectedBox -GetBoxMonDataFromSelectedBox: @ 80D1DB8 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gPokemonStoragePtr - ldr r0, [r0] - ldrb r0, [r0] - adds r1, r3, 0 - bl GetBoxMonDataFromAnyBox - pop {r1} - bx r1 - .pool - thumb_func_end GetBoxMonDataFromSelectedBox - - thumb_func_start SetBoxMonDataFromSelectedBox -SetBoxMonDataFromSelectedBox: @ 80D1DD8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gPokemonStoragePtr - ldr r0, [r0] - ldrb r0, [r0] - adds r1, r4, 0 - adds r2, r5, 0 - bl SetBoxMonDataFromAnyBox - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end SetBoxMonDataFromSelectedBox - - thumb_func_start GetBoxMonNickFromAnyBox -GetBoxMonNickFromAnyBox: @ 80D1DFC - push {r4,r5,lr} - adds r5, r2, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _080D1E38 - cmp r4, 0x1D - bhi _080D1E38 - ldr r2, =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - movs r1, 0x2 - adds r2, r5, 0 - bl GetBoxMonData - b _080D1E3C - .pool -_080D1E38: - movs r0, 0xFF - strb r0, [r5] -_080D1E3C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetBoxMonNickFromAnyBox - - thumb_func_start sub_80D1E44 -sub_80D1E44: @ 80D1E44 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - cmp r0, 0xD - bhi _080D1E84 - cmp r2, 0x1D - bhi _080D1E84 - ldr r6, =gPokemonStoragePtr - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - adds r5, r0, 0x4 - ldr r0, [r6] - adds r0, r5 - lsls r1, r2, 2 - adds r1, r2 - lsls r4, r1, 4 - adds r0, r4 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _080D1E84 - ldr r0, [r6] - adds r0, r5 - adds r0, r4 - bl GetLevelFromBoxMonExp -_080D1E84: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D1E44 - - thumb_func_start SetBoxMonNickFromAnyBox -SetBoxMonNickFromAnyBox: @ 80D1E90 - push {r4,r5,lr} - adds r5, r2, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _080D1EC6 - cmp r4, 0x1D - bhi _080D1EC6 - ldr r2, =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - movs r1, 0x2 - adds r2, r5, 0 - bl SetBoxMonData -_080D1EC6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end SetBoxMonNickFromAnyBox - - thumb_func_start GetAndCopyBoxMonDataFromAnyBox -GetAndCopyBoxMonDataFromAnyBox: @ 80D1ED0 - push {r4-r6,lr} - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _080D1F10 - cmp r4, 0x1D - bhi _080D1F10 - ldr r2, =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - adds r1, r5, 0 - adds r2, r6, 0 - bl GetBoxMonData - b _080D1F12 - .pool -_080D1F10: - movs r0, 0 -_080D1F12: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetAndCopyBoxMonDataFromAnyBox - - thumb_func_start CopyBoxMonFromAnyBox -CopyBoxMonFromAnyBox: @ 80D1F18 - push {r4,r5,lr} - adds r5, r2, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r4, 0xD - bhi _080D1F4E - cmp r1, 0x1D - bhi _080D1F4E - ldr r0, =gPokemonStoragePtr - ldr r0, [r0] - lsls r3, r1, 2 - adds r3, r1 - lsls r3, 4 - lsls r2, r4, 2 - adds r2, r4 - lsls r1, r2, 4 - subs r1, r2 - lsls r1, 5 - adds r3, r1 - adds r0, r3 - adds r0, 0x4 - adds r1, r5, 0 - movs r2, 0x50 - bl memcpy -_080D1F4E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end CopyBoxMonFromAnyBox - - thumb_func_start sub_80D1F58 -sub_80D1F58: @ 80D1F58 - push {r4,r5,lr} - adds r5, r2, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - cmp r4, 0xD - bhi _080D1F8E - cmp r2, 0x1D - bhi _080D1F8E - ldr r0, =gPokemonStoragePtr - ldr r1, [r0] - lsls r3, r2, 2 - adds r3, r2 - lsls r3, 4 - lsls r2, r4, 2 - adds r2, r4 - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 5 - adds r3, r0 - adds r1, r3 - adds r1, 0x4 - adds r0, r5, 0 - movs r2, 0x50 - bl memcpy -_080D1F8E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1F58 - - thumb_func_start sub_80D1F98 -sub_80D1F98: @ 80D1F98 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r4, [sp, 0x30] - ldr r5, [sp, 0x34] - ldr r6, [sp, 0x3C] - mov r12, r6 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r0, r12 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r7, 0xD - bhi _080D2004 - cmp r6, 0x1D - bhi _080D2004 - ldr r2, =gPokemonStoragePtr - lsls r0, r7, 2 - adds r0, r7 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 4 - adds r0, r1 - str r5, [sp] - ldr r1, [sp, 0x38] - str r1, [sp, 0x4] - str r3, [sp, 0x8] - ldr r1, [sp, 0x40] - str r1, [sp, 0xC] - mov r1, r9 - mov r2, r8 - adds r3, r4, 0 - bl CreateBoxMon -_080D2004: - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D1F98 - - thumb_func_start ClearMonInBox -ClearMonInBox: @ 80D2018 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _080D2048 - cmp r4, 0x1D - bhi _080D2048 - ldr r2, =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - bl ZeroBoxMonData -_080D2048: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ClearMonInBox - - thumb_func_start sub_80D2054 -sub_80D2054: @ 80D2054 - push {r4,r5,lr} - adds r5, r2, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _080D2088 - cmp r4, 0x1D - bhi _080D2088 - ldr r2, =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - adds r1, r5, 0 - bl BoxMonToMon -_080D2088: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2054 - - thumb_func_start GetBoxedMonPtr -@ pokemon *GetBoxedMonPtr(u8 box_id, u8 pos) -GetBoxedMonPtr: @ 80D2094 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _080D20C8 - cmp r4, 0x1D - bhi _080D20C8 - ldr r2, =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - b _080D20CA - .pool -_080D20C8: - movs r0, 0 -_080D20CA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetBoxedMonPtr - - thumb_func_start GetBoxNamePtr -GetBoxNamePtr: @ 80D20D0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xD - bls _080D20DE - movs r0, 0 - b _080D20EC -_080D20DE: - ldr r0, =gPokemonStoragePtr - lsls r1, r2, 3 - adds r1, r2 - ldr r2, =0x00008344 - adds r1, r2 - ldr r0, [r0] - adds r0, r1 -_080D20EC: - pop {r1} - bx r1 - .pool - thumb_func_end GetBoxNamePtr - - thumb_func_start sub_80D20F8 -sub_80D20F8: @ 80D20F8 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xD - bls _080D2106 - movs r0, 0 - b _080D2112 -_080D2106: - ldr r0, =gPokemonStoragePtr - ldr r0, [r0] - ldr r2, =0x000083c2 - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] -_080D2112: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D20F8 - - thumb_func_start SetBoxWallpaper -SetBoxWallpaper: @ 80D2120 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r2, 0xD - bhi _080D213E - cmp r1, 0x10 - bhi _080D213E - ldr r0, =gPokemonStoragePtr - ldr r0, [r0] - ldr r3, =0x000083c2 - adds r0, r3 - adds r0, r2 - strb r1, [r0] -_080D213E: - pop {r0} - bx r0 - .pool - thumb_func_end SetBoxWallpaper - - thumb_func_start sub_80D214C -sub_80D214C: @ 80D214C - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - lsls r1, 24 - lsrs r0, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - adds r4, r3, 0 - ldr r2, =0x0000ffff - cmp r3, 0x1 - bhi _080D216E - movs r2, 0x1 - cmp r3, 0x1 - beq _080D2172 -_080D216E: - cmp r4, 0x3 - bne _080D21BC -_080D2172: - lsls r0, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _080D2208 - cmp r1, r7 - bgt _080D2208 -_080D218A: - asrs r4, r0, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - add r0, r8 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _080D21B4 - asrs r0, r6, 16 - adds r0, r4, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _080D2208 - cmp r2, r7 - ble _080D218A - b _080D2208 - .pool -_080D21B4: - adds r0, r4, 0 - b _080D220C -_080D21B8: - adds r0, r5, 0 - b _080D220C -_080D21BC: - lsls r0, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _080D2208 - cmp r1, r7 - bgt _080D2208 -_080D21D4: - asrs r5, r0, 16 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 4 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _080D21F8 - adds r0, r4, 0 - movs r1, 0x2D - bl GetBoxMonData - cmp r0, 0 - beq _080D21B8 -_080D21F8: - asrs r0, r6, 16 - adds r0, r5, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _080D2208 - cmp r2, r7 - ble _080D21D4 -_080D2208: - movs r0, 0x1 - negs r0, r0 -_080D220C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D214C - - thumb_func_start CheckFreePokemonStorageSpace -CheckFreePokemonStorageSpace: @ 80D2218 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, =gPokemonStoragePtr - mov r8, r0 - movs r7, 0x4 -_080D2228: - movs r5, 0 - adds r6, r7, 0 - movs r4, 0 -_080D222E: - mov r1, r8 - ldr r0, [r1] - adds r0, r6 - adds r0, r4 - movs r1, 0x5 - str r2, [sp] - bl GetBoxMonData - ldr r2, [sp] - cmp r0, 0 - bne _080D224C - movs r0, 0x1 - b _080D2262 - .pool -_080D224C: - adds r4, 0x50 - adds r5, 0x1 - cmp r5, 0x1D - ble _080D222E - movs r0, 0x96 - lsls r0, 4 - adds r7, r0 - adds r2, 0x1 - cmp r2, 0xD - ble _080D2228 - movs r0, 0 -_080D2262: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckFreePokemonStorageSpace - - thumb_func_start sub_80D2270 -sub_80D2270: @ 80D2270 - push {r4-r6,lr} - adds r2, r1, 0 - cmp r0, 0xD - bhi _080D22C8 - cmp r2, 0x1D - bhi _080D22C8 - ldr r6, =gPokemonStoragePtr - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - adds r5, r0, 0x4 - ldr r0, [r6] - adds r0, r5 - lsls r1, r2, 2 - adds r1, r2 - lsls r4, r1, 4 - adds r0, r4 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _080D22C8 - ldr r0, [r6] - adds r0, r5 - adds r0, r4 - movs r1, 0x6 - bl GetBoxMonData - cmp r0, 0 - bne _080D22C8 - ldr r0, [r6] - adds r0, r5 - adds r0, r4 - movs r1, 0x4 - bl GetBoxMonData - cmp r0, 0 - bne _080D22C8 - movs r0, 0x1 - b _080D22CA - .pool -_080D22C8: - movs r0, 0 -_080D22CA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80D2270 - - thumb_func_start sub_80D22D0 -sub_80D22D0: @ 80D22D0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - movs r0, 0 - ldr r1, =gPokemonStoragePtr - mov r9, r1 -_080D22E0: - lsls r1, r0, 2 - adds r2, r0, 0x1 - mov r8, r2 - adds r1, r0 - movs r5, 0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - adds r4, r0, 0x4 - movs r6, 0x1D -_080D22F4: - mov r1, r9 - ldr r0, [r1] - adds r0, r4 - adds r0, r5 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _080D231A - mov r2, r9 - ldr r0, [r2] - adds r0, r4 - adds r0, r5 - movs r1, 0x6 - bl GetBoxMonData - cmp r0, 0 - bne _080D231A - adds r7, 0x1 -_080D231A: - adds r5, 0x50 - subs r6, 0x1 - cmp r6, 0 - bge _080D22F4 - mov r0, r8 - cmp r0, 0xD - ble _080D22E0 - adds r0, r7, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D22D0 - - thumb_func_start sub_80D233C -sub_80D233C: @ 80D233C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - movs r0, 0 - ldr r1, =gPokemonStoragePtr - mov r9, r1 -_080D234C: - lsls r1, r0, 2 - adds r2, r0, 0x1 - mov r8, r2 - adds r1, r0 - movs r5, 0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - adds r4, r0, 0x4 - movs r6, 0x1D -_080D2360: - mov r1, r9 - ldr r0, [r1] - adds r0, r4 - adds r0, r5 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - bne _080D2384 - mov r2, r9 - ldr r0, [r2] - adds r0, r4 - adds r0, r5 - movs r1, 0x6 - bl GetBoxMonData - cmp r0, 0 - beq _080D2386 -_080D2384: - adds r7, 0x1 -_080D2386: - adds r5, 0x50 - subs r6, 0x1 - cmp r6, 0 - bge _080D2360 - mov r0, r8 - cmp r0, 0xD - ble _080D234C - adds r0, r7, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D233C - - thumb_func_start sub_80D23A8 -sub_80D23A8: @ 80D23A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r1, sp - strh r0, [r1] - ldr r0, =0x00000163 - strh r0, [r1, 0x2] - movs r0, 0 - mov r8, r0 - ldr r7, =gPokemonStoragePtr - movs r5, 0x4 -_080D23C0: - movs r6, 0 - movs r4, 0 -_080D23C4: - ldr r0, [r7] - adds r0, r5 - adds r0, r4 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _080D2404 - ldr r0, [r7] - adds r0, r5 - adds r0, r4 - movs r1, 0x6 - bl GetBoxMonData - cmp r0, 0 - bne _080D2404 - ldr r0, [r7] - adds r0, r5 - adds r0, r4 - movs r1, 0x51 - mov r2, sp - bl GetBoxMonData - cmp r0, 0 - beq _080D2404 - movs r0, 0x1 - b _080D241E - .pool -_080D2404: - adds r4, 0x50 - adds r6, 0x1 - cmp r6, 0x1D - ble _080D23C4 - movs r0, 0x96 - lsls r0, 4 - adds r5, r0 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0xD - ble _080D23C0 - movs r0, 0 -_080D241E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D23A8 - - thumb_func_start ResetWaldaWallpaper -ResetWaldaWallpaper: @ 80D242C - ldr r2, =gSaveBlock1Ptr - ldr r0, [r2] - ldr r1, =0x00003d84 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - ldr r3, =0x00003d85 - adds r0, r3 - strb r1, [r0] - ldr r0, [r2] - adds r3, 0x1 - adds r0, r3 - strb r1, [r0] - ldr r1, [r2] - ldr r0, =0x00003d70 - adds r2, r1, r0 - ldr r0, =0x00007b35 - strh r0, [r2] - subs r3, 0x14 - adds r2, r1, r3 - ldr r0, =0x00006186 - strh r0, [r2] - ldr r0, =0x00003d74 - adds r1, r0 - movs r0, 0xFF - strb r0, [r1] - bx lr - .pool - thumb_func_end ResetWaldaWallpaper - - thumb_func_start SetWaldaWallpaperLockedOrUnlocked -SetWaldaWallpaperLockedOrUnlocked: @ 80D2480 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, =0x00003d86 - adds r1, r2 - strb r0, [r1] - bx lr - .pool - thumb_func_end SetWaldaWallpaperLockedOrUnlocked - - thumb_func_start IsWaldaWallpaperUnlocked -IsWaldaWallpaperUnlocked: @ 80D2494 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003d86 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end IsWaldaWallpaperUnlocked - - thumb_func_start GetWaldaWallpaperPatternId -GetWaldaWallpaperPatternId: @ 80D24A8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003d85 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end GetWaldaWallpaperPatternId - - thumb_func_start SetWaldaWallpaperPatternId -SetWaldaWallpaperPatternId: @ 80D24BC - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bhi _080D24D0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x00003d85 - adds r0, r2 - strb r1, [r0] -_080D24D0: - pop {r0} - bx r0 - .pool - thumb_func_end SetWaldaWallpaperPatternId - - thumb_func_start GetWaldaWallpaperIconId -GetWaldaWallpaperIconId: @ 80D24DC - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003d84 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end GetWaldaWallpaperIconId - - thumb_func_start SetWaldaWallpaperIconId -SetWaldaWallpaperIconId: @ 80D24F0 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1D - bhi _080D2504 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x00003d84 - adds r0, r2 - strb r1, [r0] -_080D2504: - pop {r0} - bx r0 - .pool - thumb_func_end SetWaldaWallpaperIconId - - thumb_func_start GetWaldaWallpaperColorsPtr -GetWaldaWallpaperColorsPtr: @ 80D2510 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003d70 - adds r0, r1 - bx lr - .pool - thumb_func_end GetWaldaWallpaperColorsPtr - - thumb_func_start SetWaldaWallpaperColors -SetWaldaWallpaperColors: @ 80D2524 - push {r4,lr} - ldr r2, =gSaveBlock1Ptr - ldr r2, [r2] - ldr r4, =0x00003d70 - adds r3, r2, r4 - strh r0, [r3] - ldr r0, =0x00003d72 - adds r2, r0 - strh r1, [r2] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end SetWaldaWallpaperColors - - thumb_func_start GetWaldaPhrasePtr -GetWaldaPhrasePtr: @ 80D2548 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003d74 - adds r0, r1 - bx lr - .pool - thumb_func_end GetWaldaPhrasePtr - - thumb_func_start SetWaldaPhrase -SetWaldaPhrase: @ 80D255C - push {lr} - adds r1, r0, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x00003d74 - adds r0, r2 - bl StringCopy - pop {r0} - bx r0 - .pool - thumb_func_end SetWaldaPhrase - - thumb_func_start IsWaldaPhraseEmpty -IsWaldaPhraseEmpty: @ 80D2578 - push {lr} - movs r1, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x00003d74 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080D258C - movs r1, 0x1 -_080D258C: - adds r0, r1, 0 - pop {r1} - bx r1 - .pool - thumb_func_end IsWaldaPhraseEmpty - - thumb_func_start sub_80D259C -sub_80D259C: @ 80D259C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, =gUnknown_02039D84 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 4 - bl Alloc - str r0, [r6] - ldr r5, =gUnknown_02039D88 - movs r1, 0 - cmp r0, 0 - beq _080D25BA - adds r1, r4, 0 -_080D25BA: - strh r1, [r5] - movs r2, 0 - cmp r2, r1 - bcs _080D25E2 - movs r3, 0 - adds r4, r5, 0 -_080D25C6: - ldr r0, [r6] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 4 - adds r1, r0 - str r3, [r1, 0x18] - adds r1, 0x2C - strb r3, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r4] - cmp r2, r0 - bcc _080D25C6 -_080D25E2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D259C - - thumb_func_start sub_80D25F0 -sub_80D25F0: @ 80D25F0 - push {lr} - ldr r0, =gUnknown_02039D84 - ldr r0, [r0] - bl Free - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D25F0 - - thumb_func_start sub_80D2604 -sub_80D2604: @ 80D2604 - push {r4,r5,lr} - movs r4, 0 - ldr r0, =gUnknown_02039D88 - ldrh r0, [r0] - cmp r4, r0 - bge _080D2634 - movs r5, 0 -_080D2612: - ldr r0, =gUnknown_02039D84 - ldr r0, [r0] - adds r0, r5, r0 - adds r0, 0x2C - ldrb r0, [r0] - cmp r0, 0x1 - bne _080D2628 - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80D2918 -_080D2628: - adds r5, 0x30 - adds r4, 0x1 - ldr r0, =gUnknown_02039D88 - ldrh r0, [r0] - cmp r4, r0 - blt _080D2612 -_080D2634: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2604 - - thumb_func_start sub_80D2644 -sub_80D2644: @ 80D2644 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r2, 0 - ldr r2, [sp, 0x24] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r3, 16 - lsrs r3, 16 - mov r10, r3 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp] - ldr r0, =gUnknown_02039D88 - ldrh r0, [r0] - cmp r6, r0 - bcs _080D272C - ldr r0, =gUnknown_02039D84 - mov r9, r0 - ldr r0, [r0] - lsls r1, r6, 1 - mov r8, r1 - adds r5, r1, r6 - lsls r5, 4 - adds r0, r5, r0 - movs r1, 0 - str r1, [r0, 0x18] - str r4, [r0, 0x1C] - adds r0, 0x2B - strb r7, [r0] - mov r2, r9 - ldr r0, [r2] - adds r0, r5, r0 - mov r3, r10 - strh r3, [r0, 0x24] - mov r1, sp - ldrh r1, [r1] - strh r1, [r0, 0x26] - adds r0, r7, 0 - movs r1, 0x3 - bl GetBgAttribute - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - movs r1, 0x9 - bl GetBgAttribute - lsls r0, 16 - lsrs r0, 16 - mov r2, r9 - ldr r1, [r2] - adds r5, r1 - ldr r2, =gSpriteTemplate_857BC88 - lsls r4, 2 - lsls r1, r0, 4 - adds r4, r1 - adds r4, r2 - ldrh r1, [r4] - strh r1, [r5, 0x20] - ldrh r1, [r4, 0x2] - strh r1, [r5, 0x22] - mov r2, r8 - cmp r0, 0 - beq _080D26E8 - adds r1, r5, 0 - adds r1, 0x2A - movs r0, 0x1 - b _080D26EE - .pool -_080D26E8: - adds r1, r5, 0 - adds r1, 0x2A - movs r0, 0x2 -_080D26EE: - strb r0, [r1] - ldr r4, =gUnknown_02039D84 - ldr r1, [r4] - adds r2, r6 - lsls r2, 4 - adds r1, r2, r1 - adds r0, r1, 0 - adds r0, 0x2A - ldrb r0, [r0] - mov r3, r10 - muls r3, r0 - movs r0, 0 - strh r3, [r1, 0x28] - mov r3, r10 - strh r3, [r1, 0x10] - mov r5, sp - ldrh r5, [r5] - strh r5, [r1, 0x12] - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strh r0, [r1, 0x14] - strh r0, [r1, 0x16] - adds r0, r1, 0 - adds r0, 0xC - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldr r0, [r4] - adds r2, r0 - adds r2, 0x2C - movs r0, 0x1 - strb r0, [r2] -_080D272C: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2644 - - thumb_func_start sub_80D2740 -sub_80D2740: @ 80D2740 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_02039D88 - ldrh r0, [r0] - cmp r2, r0 - bcs _080D2764 - ldr r0, =gUnknown_02039D84 - ldr r1, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 4 - adds r0, r1 - str r3, [r0, 0x18] - adds r0, 0x2C - movs r1, 0x1 - strb r1, [r0] -_080D2764: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2740 - - thumb_func_start sub_80D2770 -sub_80D2770: @ 80D2770 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gUnknown_02039D88 - ldrh r0, [r0] - cmp r3, r0 - bcs _080D279C - ldr r0, =gUnknown_02039D84 - ldr r1, [r0] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 4 - adds r0, r1 - strh r4, [r0, 0x14] - strh r2, [r0, 0x16] - adds r0, 0x2C - movs r1, 0x1 - strb r1, [r0] -_080D279C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2770 - - thumb_func_start sub_80D27AC -sub_80D27AC: @ 80D27AC - push {r4-r6,lr} - ldr r4, [sp, 0x10] - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gUnknown_02039D88 - ldrh r0, [r0] - cmp r5, r0 - bcs _080D27E6 - ldr r0, =gUnknown_02039D84 - ldr r1, [r0] - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 4 - adds r0, r1 - strh r6, [r0, 0xC] - strh r2, [r0, 0xE] - strh r3, [r0, 0x10] - strh r4, [r0, 0x12] - adds r0, 0x2C - movs r1, 0x1 - strb r1, [r0] -_080D27E6: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D27AC - - thumb_func_start sub_80D27F4 -sub_80D27F4: @ 80D27F4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, =gUnknown_02039D88 - ldrh r0, [r0] - cmp r5, r0 - bcc _080D280C - b _080D290E -_080D280C: - ldr r4, =gUnknown_02039D84 - lsls r2, r5, 1 - cmp r1, 0x5 - bls _080D2816 - b _080D2900 -_080D2816: - lsls r0, r1, 2 - ldr r1, =_080D282C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D282C: - .4byte _080D2844 - .4byte _080D2864 - .4byte _080D2888 - .4byte _080D28A8 - .4byte _080D28CC - .4byte _080D28E8 -_080D2844: - ldr r4, =gUnknown_02039D84 - ldr r0, [r4] - lsls r3, r5, 1 - adds r1, r3, r5 - lsls r1, 4 - adds r1, r0 - lsls r2, r6, 24 - asrs r2, 24 - ldrh r0, [r1, 0x14] - adds r0, r2 - strh r0, [r1, 0x14] - ldrh r0, [r1, 0x10] - subs r0, r2 - b _080D287E - .pool -_080D2864: - ldr r4, =gUnknown_02039D84 - ldr r0, [r4] - lsls r3, r5, 1 - adds r1, r3, r5 - lsls r1, 4 - adds r1, r0 - lsls r2, r6, 24 - asrs r2, 24 - ldrh r0, [r1, 0xC] - adds r0, r2 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0x10] - adds r0, r2 -_080D287E: - strh r0, [r1, 0x10] - adds r2, r3, 0 - b _080D2900 - .pool -_080D2888: - ldr r4, =gUnknown_02039D84 - ldr r0, [r4] - lsls r3, r5, 1 - adds r1, r3, r5 - lsls r1, 4 - adds r1, r0 - lsls r2, r6, 24 - asrs r2, 24 - ldrh r0, [r1, 0x16] - adds r0, r2 - strh r0, [r1, 0x16] - ldrh r0, [r1, 0x12] - subs r0, r2 - b _080D28C2 - .pool -_080D28A8: - ldr r4, =gUnknown_02039D84 - ldr r0, [r4] - lsls r3, r5, 1 - adds r1, r3, r5 - lsls r1, 4 - adds r1, r0 - lsls r2, r6, 24 - asrs r2, 24 - ldrh r0, [r1, 0xE] - subs r0, r2 - strh r0, [r1, 0xE] - ldrh r0, [r1, 0x12] - adds r0, r2 -_080D28C2: - strh r0, [r1, 0x12] - adds r2, r3, 0 - b _080D2900 - .pool -_080D28CC: - ldr r3, =gUnknown_02039D84 - ldr r0, [r3] - lsls r2, r5, 1 - adds r1, r2, r5 - lsls r1, 4 - adds r1, r0 - lsls r0, r6, 24 - asrs r0, 24 - ldrh r4, [r1, 0x14] - adds r0, r4 - strh r0, [r1, 0x14] - b _080D28FE - .pool -_080D28E8: - ldr r3, =gUnknown_02039D84 - ldr r0, [r3] - lsls r2, r5, 1 - adds r1, r2, r5 - lsls r1, 4 - adds r1, r0 - lsls r0, r6, 24 - asrs r0, 24 - ldrh r4, [r1, 0x16] - adds r0, r4 - strh r0, [r1, 0x16] -_080D28FE: - adds r4, r3, 0 -_080D2900: - ldr r0, [r4] - adds r1, r2, r5 - lsls r1, 4 - adds r1, r0 - adds r1, 0x2C - movs r0, 0x1 - strb r0, [r1] -_080D290E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D27F4 - - thumb_func_start sub_80D2918 -sub_80D2918: @ 80D2918 - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r6, r2, 0 - ldr r0, =gUnknown_02039D88 - ldrh r0, [r0] - cmp r2, r0 - bcs _080D2952 - ldr r5, =gUnknown_02039D84 - ldr r0, [r5] - lsls r1, r2, 1 - adds r1, r2 - lsls r4, r1, 4 - adds r0, r4, r0 - ldr r0, [r0, 0x18] - cmp r0, 0 - beq _080D2940 - adds r0, r2, 0 - bl sub_80D2960 -_080D2940: - adds r0, r6, 0 - bl sub_80D29F8 - ldr r1, [r5] - adds r1, r4, r1 - adds r0, r1, 0 - adds r0, 0xC - ldm r0!, {r2-r4} - stm r1!, {r2-r4} -_080D2952: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2918 - - thumb_func_start sub_80D2960 -sub_80D2960: @ 80D2960 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, =gUnknown_02039D84 - ldr r1, [r4] - lsls r5, r0, 1 - adds r0, r5, r0 - lsls r0, 4 - adds r0, r1 - adds r1, r0, 0 - adds r1, 0x2A - ldrb r3, [r1] - ldrh r1, [r0, 0x20] - adds r2, r3, 0 - muls r2, r1 - mov r9, r2 - movs r6, 0xA - ldrsh r1, [r0, r6] - mov r2, r9 - muls r2, r1 - ldr r1, [r0, 0x18] - adds r1, r2 - movs r6, 0x8 - ldrsh r2, [r0, r6] - muls r2, r3 - adds r7, r1, r2 - movs r6, 0 - ldrh r0, [r0, 0x6] - cmp r6, r0 - bge _080D29E4 - mov r10, r4 -_080D29AA: - mov r0, r10 - ldr r1, [r0] - mov r2, r8 - adds r4, r5, r2 - lsls r4, 4 - adds r1, r4, r1 - adds r0, r1, 0 - adds r0, 0x2B - ldrb r0, [r0] - ldrb r2, [r1, 0x8] - ldrb r3, [r1, 0xA] - adds r3, r6 - lsls r3, 24 - lsrs r3, 24 - ldrb r1, [r1, 0x4] - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - adds r1, r7, 0 - bl CopyToBgTilemapBufferRect - add r7, r9 - adds r6, 0x1 - mov r1, r10 - ldr r0, [r1] - adds r4, r0 - ldrh r4, [r4, 0x6] - cmp r6, r4 - blt _080D29AA -_080D29E4: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2960 - - thumb_func_start sub_80D29F8 -sub_80D29F8: @ 80D29F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, =gUnknown_02039D84 - ldr r1, [r4] - lsls r5, r0, 1 - adds r0, r5, r0 - lsls r0, 4 - adds r0, r1 - adds r1, r0, 0 - adds r1, 0x2A - ldrb r3, [r1] - ldrh r1, [r0, 0x24] - adds r2, r3, 0 - muls r2, r1 - mov r9, r2 - movs r6, 0xE - ldrsh r1, [r0, r6] - mov r2, r9 - muls r2, r1 - ldr r1, [r0, 0x1C] - adds r1, r2 - movs r6, 0xC - ldrsh r2, [r0, r6] - muls r2, r3 - adds r7, r1, r2 - movs r6, 0 - ldrh r0, [r0, 0x12] - cmp r6, r0 - bge _080D2A7C - mov r10, r4 -_080D2A42: - mov r0, r10 - ldr r1, [r0] - mov r2, r8 - adds r4, r5, r2 - lsls r4, 4 - adds r1, r4, r1 - adds r0, r1, 0 - adds r0, 0x2B - ldrb r0, [r0] - ldrb r2, [r1, 0x14] - ldrb r3, [r1, 0x16] - adds r3, r6 - lsls r3, 24 - lsrs r3, 24 - ldrb r1, [r1, 0x10] - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - adds r1, r7, 0 - bl CopyToBgTilemapBufferRect - add r7, r9 - adds r6, 0x1 - mov r1, r10 - ldr r0, [r1] - adds r4, r0 - ldrh r4, [r4, 0x12] - cmp r6, r4 - blt _080D2A42 -_080D2A7C: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D29F8 - - thumb_func_start sub_80D2A90 -sub_80D2A90: @ 80D2A90 - ldr r3, =gUnknown_02039D8C - str r0, [r3] - str r1, [r0] - movs r1, 0 - strb r2, [r0, 0x5] - strb r1, [r0, 0x4] - bx lr - .pool - thumb_func_end sub_80D2A90 - - thumb_func_start sub_80D2AA4 -sub_80D2AA4: @ 80D2AA4 - push {r4,r5,lr} - ldr r2, =gUnknown_02039D8C - ldr r1, [r2] - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _080D2AE2 - movs r4, 0 - ldrb r1, [r1, 0x4] - cmp r4, r1 - bcs _080D2ADA - adds r5, r2, 0 -_080D2ABA: - ldr r0, [r5] - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 2 - ldr r0, [r0] - adds r0, r1 - ldr r1, [r0, 0x10] - bl _call_via_r1 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - cmp r4, r0 - bcc _080D2ABA -_080D2ADA: - ldr r0, =gUnknown_02039D8C - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x4] -_080D2AE2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2AA4 - - thumb_func_start sub_80D2AEC -sub_80D2AEC: @ 80D2AEC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r0 - mov r10, r3 - ldr r0, [sp, 0x24] - ldr r3, [sp, 0x28] - ldr r4, [sp, 0x2C] - ldr r5, [sp, 0x30] - ldr r6, [sp, 0x34] - lsls r1, 16 - lsrs r1, 16 - mov r12, r1 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp] - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - ldr r0, =gUnknown_02039D8C - ldr r2, [r0] - ldrb r0, [r2, 0x4] - adds r1, r0, 0 - ldrb r7, [r2, 0x5] - cmp r1, r7 - bcs _080D2B74 - adds r0, 0x1 - strb r0, [r2, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, [r2] - adds r1, r0 - lsls r0, r4, 1 - strh r0, [r1, 0x8] - ldr r2, [sp] - lsls r0, r2, 5 - add r0, r12 - lsls r0, 1 - add r0, r9 - str r0, [r1, 0x4] - adds r0, r3, 0 - muls r0, r6 - add r0, r8 - lsls r0, 1 - add r0, r10 - str r0, [r1] - strh r5, [r1, 0xC] - strh r6, [r1, 0xA] - ldr r0, =sub_80D2B88 - str r0, [r1, 0x10] - movs r0, 0x1 - b _080D2B76 - .pool -_080D2B74: - movs r0, 0 -_080D2B76: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D2AEC - - thumb_func_start sub_80D2B88 -sub_80D2B88: @ 80D2B88 - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0 - b _080D2BB2 -_080D2B90: - ldr r0, [r4] - ldr r1, [r4, 0x4] - ldrh r2, [r4, 0x8] - lsrs r2, 1 - bl CpuSet - ldr r0, [r4, 0x4] - adds r0, 0x40 - str r0, [r4, 0x4] - ldrh r1, [r4, 0xA] - lsls r1, 1 - ldr r0, [r4] - adds r0, r1 - str r0, [r4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080D2BB2: - ldrh r0, [r4, 0xC] - cmp r5, r0 - bcc _080D2B90 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80D2B88 - - thumb_func_start sub_80D2BC0 -sub_80D2BC0: @ 80D2BC0 - push {r4-r7,lr} - mov r12, r0 - ldr r0, [sp, 0x14] - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gUnknown_02039D8C - ldr r2, [r0] - ldrb r0, [r2, 0x4] - adds r1, r0, 0 - ldrb r7, [r2, 0x5] - cmp r1, r7 - bcs _080D2C14 - adds r0, 0x1 - strb r0, [r2, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, [r2] - adds r1, r0 - lsls r0, r3, 1 - strh r0, [r1, 0x8] - lsls r0, r4, 5 - adds r0, r6 - lsls r0, 1 - add r0, r12 - str r0, [r1, 0x4] - strh r5, [r1, 0xC] - ldr r0, =sub_80D2C1C - str r0, [r1, 0x10] - movs r0, 0x1 - b _080D2C16 - .pool -_080D2C14: - movs r0, 0 -_080D2C16: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D2BC0 - - thumb_func_start sub_80D2C1C -sub_80D2C1C: @ 80D2C1C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - movs r0, 0 - ldrh r1, [r6, 0xC] - cmp r0, r1 - bcs _080D2CAA - movs r7, 0x80 - lsls r7, 5 - mov r5, sp - ldr r2, =0x040000d4 - mov r8, r2 - movs r1, 0x81 - lsls r1, 24 - mov r10, r1 -_080D2C42: - ldr r2, [r6, 0x4] - ldrh r3, [r6, 0x8] - mov r12, r2 - adds r0, 0x1 - mov r9, r0 - cmp r3, r7 - bhi _080D2C6C - movs r0, 0 - strh r0, [r5] - mov r2, sp - mov r0, r8 - str r2, [r0] - mov r1, r12 - str r1, [r0, 0x4] - lsrs r0, r3, 1 - mov r2, r10 - orrs r0, r2 - mov r1, r8 - b _080D2C94 - .pool -_080D2C6C: - movs r4, 0 - strh r4, [r5] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, =0x81000800 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r7 - subs r3, r7 - cmp r3, r7 - bhi _080D2C6C - strh r4, [r5] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r10 - orrs r0, r2 -_080D2C94: - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, r12 - adds r0, 0x40 - str r0, [r6, 0x4] - mov r1, r9 - lsls r0, r1, 16 - lsrs r0, 16 - ldrh r2, [r6, 0xC] - cmp r0, r2 - bcc _080D2C42 -_080D2CAA: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2C1C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav.s b/asm/pokenav.s index 6fedbbd58..c1cd01c27 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -409,14 +409,14 @@ _081C73C2: _081C73C6: adds r0, r4, 0 adds r1, r5, 0 - bl sub_80D2270 + bl CheckBoxMonSanityAt cmp r0, 0 beq _081C73EC lsls r1, r5, 24 lsrs r1, 24 lsrs r0, r6, 24 movs r2, 0x52 - bl GetBoxMonDataFromAnyBox + bl GetBoxMonDataAt cmp r0, 0 beq _081C73EC _081C73E2: @@ -1524,7 +1524,7 @@ sub_81C7C28: @ 81C7C28 ldr r4, =gUnknown_0861FA4C _081C7C36: adds r0, r4, 0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet adds r4, 0x8 adds r5, 0x1 cmp r5, 0 @@ -1648,7 +1648,7 @@ sub_81C7D28: @ 81C7D28 bl sub_81C763C adds r6, r0, 0 ldr r0, =gUnknown_0861FA64 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet movs r0, 0x1 bl AllocSpritePalette movs r0, 0x2 @@ -3924,7 +3924,7 @@ sub_81C8ED0: @ 81C8ED0 ldr r4, =gUnknown_0861FBFC _081C8ED6: adds r0, r4, 0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet adds r4, 0x8 adds r5, 0x1 cmp r5, 0 @@ -6086,7 +6086,7 @@ sub_81C9FC4: @ 81C9FC4 ldr r4, =gUnknown_086201C4 _081C9FCA: adds r0, r4, 0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet adds r4, 0x8 adds r5, 0x1 cmp r5, 0x1 @@ -10537,7 +10537,7 @@ sub_81CC214: @ 81CC214 ldr r4, =gUnknown_08622810 _081CC224: adds r0, r4, 0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet adds r4, 0x8 adds r5, 0x1 cmp r5, 0 @@ -11509,7 +11509,7 @@ sub_81CC9C0: @ 81CC9C0 ldr r4, =gUnknown_086230F8 _081CC9C6: adds r0, r4, 0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet adds r4, 0x8 adds r5, 0x1 cmp r5, 0 @@ -12444,7 +12444,7 @@ _081CD174: adds r1, r3, 0 movs r2, 0x8 mov r3, sp - bl SetBoxMonDataFromAnyBox + bl SetBoxMonDataAt _081CD180: ldr r0, =0x00006304 adds r1, r6, r0 @@ -16376,7 +16376,7 @@ _081CF1F4: _081CF1FC: adds r0, r5, 0 adds r1, r4, 0 - bl sub_80D2270 + bl CheckBoxMonSanityAt cmp r0, 0 beq _081CF23A ldr r1, =0xffffff00 @@ -16392,7 +16392,7 @@ _081CF1FC: str r0, [sp] ldr r2, [r6, 0x14] adds r0, r7, 0 - bl GetBoxMonDataFromAnyBox + bl GetBoxMonDataAt lsls r0, 16 ldr r2, =0x0000ffff ldr r1, [sp] @@ -17735,7 +17735,7 @@ sub_81CFC40: @ 81CFC40 _081CFC60: adds r0, r7, 0 adds r1, r6, 0 - bl sub_80D2270 + bl CheckBoxMonSanityAt cmp r0, 0 beq _081CFCA6 lsls r0, r7, 24 @@ -17745,7 +17745,7 @@ _081CFC60: adds r0, r5, 0 adds r1, r4, 0 movs r2, 0x52 - bl GetBoxMonDataFromAnyBox + bl GetBoxMonDataAt adds r3, r0, 0 cmp r3, 0 beq _081CFCA6 @@ -17900,14 +17900,14 @@ _081CFD92: _081CFD96: adds r0, r5, 0 adds r1, r4, 0 - bl sub_80D2270 + bl CheckBoxMonSanityAt cmp r0, 0 beq _081CFDBC lsls r1, r4, 24 lsrs r1, 24 lsrs r0, r6, 24 movs r2, 0x53 - bl GetBoxMonDataFromAnyBox + bl GetBoxMonDataAt cmp r0, 0 beq _081CFDBC _081CFDB2: @@ -19257,7 +19257,7 @@ sub_81D07D8: @ 81D07D8 beq _081D07FA ldrb r1, [r1, 0x1] movs r2, 0x52 - bl GetBoxMonDataFromAnyBox + bl GetBoxMonDataAt b _081D080A _081D07FA: ldrb r1, [r1, 0x1] @@ -19302,7 +19302,7 @@ _081D0848: ldrb r0, [r1] ldrb r1, [r1, 0x1] movs r2, 0x53 - bl GetBoxMonDataFromAnyBox + bl GetBoxMonDataAt _081D0852: mov r12, r0 movs r0, 0 @@ -20756,7 +20756,7 @@ sub_81D13FC: @ 81D13FC push {r4,lr} adds r4, r0, 0 ldr r0, =gUnknown_08624C78 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet ldr r0, =gUnknown_08624C80 bl sub_81C795C ldr r0, =gUnknown_08624D04 @@ -23046,14 +23046,14 @@ _081D2CB0: lsrs r0, 24 lsls r1, 24 lsrs r1, 24 - bl GetAndCopyBoxMonDataFromAnyBox + bl GetAndCopyBoxMonDataAt b _081D2CCA _081D2CBE: lsls r0, 24 lsrs r0, 24 lsls r1, 24 lsrs r1, 24 - bl GetBoxMonDataFromAnyBox + bl GetBoxMonDataAt _081D2CCA: pop {r1} bx r1 diff --git a/asm/psychic.s b/asm/psychic.s deleted file mode 100644 index 0a39ea856..000000000 --- a/asm/psychic.s +++ /dev/null @@ -1,2172 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_810F1EC -sub_810F1EC: @ 810F1EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - bl IsContest - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810F212 - mov r0, r8 - cmp r0, 0 - beq _0810F22E -_0810F212: - ldrb r1, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r5, 0x5] - adds r1, r5, 0 - adds r1, 0x43 - movs r0, 0xC8 - strb r0, [r1] - mov r1, r8 - cmp r1, 0 - bne _0810F2B8 -_0810F22E: - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - adds r0, r4, 0 - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - eors r0, r1 - negs r1, r0 - orrs r1, r0 - lsrs r6, r1, 31 - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0810F264 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - bl sub_80A438C -_0810F264: - movs r0, 0x2 - adds r4, r0, 0 - eors r4, r7 - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0810F284 - movs r0, 0x1 - eors r6, r0 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - bl sub_80A438C -_0810F284: - mov r0, r8 - cmp r0, 0 - bne _0810F2B8 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0810F2B8 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0810F2B0 - movs r0, 0x48 - strh r0, [r5, 0x20] - movs r0, 0x50 - b _0810F2F2 - .pool -_0810F2B0: - movs r0, 0xB0 - strh r0, [r5, 0x20] - movs r0, 0x28 - b _0810F2F2 -_0810F2B8: - ldr r6, =gBattleAnimAttacker - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810F2CE - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] -_0810F2CE: - ldrb r0, [r6] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r4, =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r6] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 -_0810F2F2: - strh r0, [r5, 0x22] - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r5, 0x2E] - mov r0, r8 - cmp r0, 0 - beq _0810F32C - ldrh r0, [r5, 0x22] - adds r0, 0x9 - strh r0, [r5, 0x22] - ldr r1, =sub_810F3C8 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - b _0810F330 - .pool -_0810F32C: - ldr r0, =sub_810F340 - str r0, [r5, 0x1C] -_0810F330: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F1EC -@ - - thumb_func_start sub_810F340 -sub_810F340: @ 810F340 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0810F35C - movs r0, 0x1 - strh r0, [r5, 0x3C] - b _0810F3B6 -_0810F35C: - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0810F382 - ldr r2, =gSprites - ldr r0, =gBattlerSpriteIds - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0810F382: - movs r0, 0x2 - eors r4, r0 - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0810F3AC - ldr r2, =gSprites - ldr r0, =gBattlerSpriteIds - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0810F3AC: - ldr r1, =sub_810F3C8 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 -_0810F3B6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F340 - - thumb_func_start sub_810F3C8 -sub_810F3C8: @ 810F3C8 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0xD - bne _0810F3F4 - ldr r0, =sub_810F400 - str r0, [r4, 0x1C] - b _0810F3F8 - .pool -_0810F3F4: - adds r0, r1, 0x1 - strh r0, [r4, 0x34] -_0810F3F8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810F3C8 - - thumb_func_start sub_810F400 -sub_810F400: @ 810F400 - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _0810F45E - movs r0, 0 - strh r0, [r3, 0x30] - ldrh r4, [r3, 0x2E] - ldr r1, =gPlttBufferFaded - adds r0, r4, 0 - adds r0, 0x8 - lsls r0, 1 - adds r0, r1 - ldrh r7, [r0] - movs r5, 0x8 - adds r6, r1, 0 - adds r1, r4, 0x7 - lsls r0, r4, 1 - adds r0, r6 - adds r2, r0, 0 - adds r2, 0x10 - lsls r1, 1 - adds r1, r6 -_0810F436: - ldrh r0, [r1] - strh r0, [r2] - subs r1, 0x2 - subs r2, 0x2 - subs r5, 0x1 - cmp r5, 0 - bgt _0810F436 - adds r0, r4, 0x1 - lsls r0, 1 - adds r0, r6 - strh r7, [r0] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bne _0810F45E - ldr r0, =sub_810F46C - str r0, [r3, 0x1C] -_0810F45E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F400 - - thumb_func_start sub_810F46C -sub_810F46C: @ 810F46C - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x34] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r0, [r5, 0x34] - subs r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0810F512 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810F502 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0810F4D4 - ldr r2, =gSprites - ldr r0, =gBattlerSpriteIds - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_0810F4D4: - movs r0, 0x2 - adds r4, r0, 0 - eors r4, r6 - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0810F502 - ldr r2, =gSprites - ldr r0, =gBattlerSpriteIds - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_0810F502: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_810F524 - str r0, [r5, 0x1C] -_0810F512: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F46C - - thumb_func_start sub_810F524 -sub_810F524: @ 810F524 - push {r4-r6,lr} - adds r6, r0, 0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810F57C - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - eors r0, r1 - negs r1, r0 - orrs r1, r0 - lsrs r5, r1, 31 - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0810F562 - adds r0, r5, 0 - bl sub_80A477C -_0810F562: - movs r0, 0x2 - eors r4, r0 - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0810F57C - movs r0, 0x1 - eors r5, r0 - adds r0, r5, 0 - bl sub_80A477C -_0810F57C: - ldr r0, =DestroyAnimSprite - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F524 - - thumb_func_start sub_810F58C -sub_810F58C: @ 810F58C - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810F618 - ldr r5, =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r5, r1] - movs r6, 0 - cmp r0, 0 - bne _0810F5A6 - movs r6, 0x1 -_0810F5A6: - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810F5EE - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0810F5EE - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0810F5E0 - ldrh r0, [r5] - movs r1, 0x48 - subs r1, r0 - strh r1, [r4, 0x20] - ldrh r0, [r5, 0x2] - adds r0, 0x50 - strh r0, [r4, 0x22] - b _0810F610 - .pool -_0810F5E0: - ldrh r0, [r5] - adds r0, 0xB0 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - adds r0, 0x28 - strh r0, [r4, 0x22] - b _0810F610 -_0810F5EE: - ldr r0, =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0810F608 - adds r0, r4, 0 - adds r1, r6, 0 - bl InitAnimSpritePos - b _0810F610 - .pool -_0810F608: - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_80A6980 -_0810F610: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0810F62C -_0810F618: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _0810F62C - adds r0, r4, 0 - bl DestroySpriteAndMatrix -_0810F62C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_810F58C - - thumb_func_start sub_810F634 -sub_810F634: @ 810F634 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810F684 - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r5, 0x20] - subs r0, 0x28 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x22] - adds r0, 0xA - strh r0, [r5, 0x22] - ldr r0, =0x0000ffff - b _0810F692 - .pool -_0810F684: - ldrh r0, [r5, 0x20] - adds r0, 0x28 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x22] - subs r0, 0xA - strh r0, [r5, 0x22] - movs r0, 0x1 -_0810F692: - strh r0, [r5, 0x30] - ldr r1, =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =RunStoredCallbackWhenAnimEnds - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F634 - - thumb_func_start sub_810F6B0 -sub_810F6B0: @ 810F6B0 - push {r4-r7,lr} - adds r5, r0, 0 - ldr r6, =gBattleAnimAttacker - ldrb r0, [r6] - movs r1, 0x1 - bl sub_80A861C - lsls r0, 16 - asrs r1, r0, 16 - lsrs r0, 31 - adds r1, r0 - lsls r1, 15 - lsrs r4, r1, 16 - ldrb r0, [r6] - movs r1, 0 - bl sub_80A861C - lsls r0, 16 - asrs r1, r0, 16 - lsrs r0, 31 - adds r1, r0 - asrs r1, 1 - negs r1, r1 - lsls r1, 16 - lsrs r7, r1, 16 - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810F6F6 - lsls r0, r4, 16 - negs r0, r0 - lsrs r4, r0, 16 -_0810F6F6: - ldrb r0, [r6] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - strh r0, [r5, 0x20] - ldrb r0, [r6] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, r7 - strh r0, [r5, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bgt _0810F722 - movs r0, 0x10 - strh r0, [r5, 0x22] -_0810F722: - ldr r1, =sub_810F740 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =RunStoredCallbackWhenAnimEnds - str r0, [r5, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F6B0 - - thumb_func_start sub_810F740 -sub_810F740: @ 810F740 - push {r4,lr} - adds r4, r0, 0 - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, =gUnknown_08596740 - str r0, [r4, 0x10] - movs r0, 0 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl InitSpriteAffineAnim - ldr r0, =sub_810F774 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F740 - - thumb_func_start sub_810F774 -sub_810F774: @ 810F774 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0810F786 - cmp r0, 0x1 - beq _0810F7B4 - b _0810F7CC -_0810F786: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0810F7CC - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - movs r0, 0x12 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0810F7CC -_0810F7B4: - ldrh r0, [r4, 0x30] - subs r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0810F7CC - adds r0, r4, 0 - bl DestroyAnimSprite -_0810F7CC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F774 - - thumb_func_start sub_810F7D4 -sub_810F7D4: @ 810F7D4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - movs r0, 0 - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r4, 0x8] - ldr r2, =gUnknown_0859675C - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - ldr r0, =sub_810F810 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F7D4 - - thumb_func_start sub_810F810 -sub_810F810: @ 810F810 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - bl RunAffineAnimFromTaskData - lsls r0, 24 - cmp r0, 0 - bne _0810F830 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_0810F830: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F810 - - thumb_func_start sub_810F83C -sub_810F83C: @ 810F83C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - strh r1, [r4, 0xC] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - movs r1, 0x8 - cmp r0, 0 - beq _0810F870 - movs r1, 0x4 -_0810F870: - strh r1, [r4, 0xE] - ldrb r1, [r4, 0x8] - ldr r2, =gUnknown_0859677C - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - ldr r0, =sub_810F898 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F83C - - thumb_func_start sub_810F898 -sub_810F898: @ 810F898 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0810F8BC - cmp r0, 0x1 - beq _0810F8D8 - b _0810F936 - .pool -_0810F8BC: - adds r0, r4, 0 - bl RunAffineAnimFromTaskData - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _0810F936 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _0810F936 -_0810F8D8: - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0810F900 - ldr r2, =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x8 - strh r1, [r0, 0x26] - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - b _0810F936 - .pool -_0810F900: - ldr r3, =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x88 - lsls r1, 1 - strh r1, [r0, 0x20] - ldrb r0, [r4, 0x8] - bl ResetSpriteRotScale - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0810F936: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F898 - - thumb_func_start sub_810F940 -sub_810F940: @ 810F940 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r5, r1, r0 - movs r1, 0 - movs r0, 0x10 - strh r0, [r5, 0xE] - strh r1, [r5, 0x10] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x24] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_80A861C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldrb r0, [r4] - movs r1, 0 - bl sub_80A861C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, r6 - bcs _0810F9AA - adds r1, r6, 0 -_0810F9AA: - strh r1, [r5, 0x20] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldr r0, =sub_810F9D4 - str r0, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810F940 - - thumb_func_start sub_810F9D4 -sub_810F9D4: @ 810F9D4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _0810FAD4 - cmp r1, 0x1 - bgt _0810F9FC - cmp r1, 0 - beq _0810FA0A - b _0810FB5A - .pool -_0810F9FC: - cmp r1, 0x2 - bne _0810FA02 - b _0810FB36 -_0810FA02: - cmp r1, 0x3 - bne _0810FA08 - b _0810FB44 -_0810FA08: - b _0810FB5A -_0810FA0A: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bgt _0810FA1A - b _0810FB5A -_0810FA1A: - strh r1, [r4, 0xA] - ldr r0, =gUnknown_08596794 - movs r2, 0x22 - ldrsh r1, [r4, r2] - movs r3, 0x24 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0xC - ldrsh r1, [r4, r0] - adds r1, 0x8 - lsls r1, 1 - adds r0, r4, 0 - adds r0, 0x8 - adds r0, r1 - strh r2, [r0] - cmp r2, 0x40 - beq _0810FABE - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0810FA78 - cmp r0, 0x1 - bgt _0810FA5C - cmp r0, 0 - beq _0810FA66 - b _0810FABE - .pool -_0810FA5C: - cmp r0, 0x2 - beq _0810FA90 - cmp r0, 0x3 - beq _0810FAA8 - b _0810FABE -_0810FA66: - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r4, 0x20] - b _0810FAB6 - .pool -_0810FA78: - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r4, 0x20] - negs r0, r0 - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x20] - b _0810FABC - .pool -_0810FA90: - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r4, 0x20] - strh r1, [r0, 0x24] - ldrh r1, [r4, 0x20] - strh r1, [r0, 0x26] - b _0810FABE - .pool -_0810FAA8: - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r4, 0x20] - negs r0, r0 -_0810FAB6: - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x20] - negs r0, r0 -_0810FABC: - strh r0, [r1, 0x26] -_0810FABE: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0810FB5A - b _0810FB36 - .pool -_0810FAD4: - ldrh r0, [r4, 0xA] - ands r1, r0 - cmp r1, 0 - beq _0810FAE4 - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - b _0810FAEA -_0810FAE4: - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] -_0810FAEA: - ldrh r1, [r4, 0x10] - lsls r1, 8 - ldrh r0, [r4, 0xE] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - bne _0810FB5A - movs r5, 0x8 - adds r6, r4, 0 - adds r6, 0x8 -_0810FB10: - lsls r0, r5, 1 - adds r1, r6, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0x40 - beq _0810FB2C - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite -_0810FB2C: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xC - bls _0810FB10 -_0810FB36: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0810FB5A - .pool -_0810FB44: - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0810FB5A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_810F9D4 - - - thumb_func_start sub_810FB60 -sub_810FB60: @ 810FB60 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x30 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - subs r0, 0xA - cmp r1, r0 - ble _0810FB8A - ldrh r0, [r4, 0x30] - movs r1, 0x1 - ands r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_0810FB8A: - movs r0, 0x30 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0810FB9C - adds r0, r4, 0 - bl DestroyAnimSprite -_0810FB9C: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810FB60 - - thumb_func_start sub_810FBA8 -sub_810FBA8: @ 810FBA8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0810FBD4 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_0810FBD4: - ldrh r0, [r6, 0x2] - strh r0, [r5, 0x2E] - ldr r0, =sub_810FB60 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810FBA8 - - thumb_func_start sub_810FBF0 -sub_810FBF0: @ 810FBF0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r5, r1, r0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0810FC94 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _0810FC60 - ldr r0, =0x0000fff6 - strh r0, [r5, 0x1C] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x5 - bl sub_80A861C - subs r0, 0x8 - strh r0, [r5, 0x1E] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_80A861C - adds r0, 0x8 - strh r0, [r5, 0x20] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x5 - bl sub_80A861C - subs r0, 0x8 - strh r0, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_80A861C - adds r0, 0x8 - b _0810FD1E - .pool -_0810FC60: - movs r0, 0xA - strh r0, [r5, 0x1C] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x4 - bl sub_80A861C - adds r0, 0x8 - strh r0, [r5, 0x1E] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_80A861C - subs r0, 0x8 - strh r0, [r5, 0x20] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x4 - bl sub_80A861C - adds r0, 0x8 - b _0810FD12 - .pool -_0810FC94: - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _0810FCE8 - ldr r0, =0x0000fff6 - strh r0, [r5, 0x1C] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x4 - bl sub_80A861C - adds r0, 0x8 - strh r0, [r5, 0x1E] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_80A861C - adds r0, 0x8 - strh r0, [r5, 0x20] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x4 - bl sub_80A861C - adds r0, 0x8 - strh r0, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_80A861C - adds r0, 0x8 - b _0810FD1E - .pool -_0810FCE8: - movs r0, 0xA - strh r0, [r5, 0x1C] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x5 - bl sub_80A861C - subs r0, 0x8 - strh r0, [r5, 0x1E] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_80A861C - subs r0, 0x8 - strh r0, [r5, 0x20] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x5 - bl sub_80A861C - subs r0, 0x8 -_0810FD12: - strh r0, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_80A861C - subs r0, 0x8 -_0810FD1E: - strh r0, [r5, 0x24] - movs r0, 0x6 - strh r0, [r5, 0xA] - ldr r0, =sub_810FD3C - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810FBF0 - - thumb_func_start sub_810FD3C -sub_810FD3C: @ 810FD3C - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - movs r0, 0x8 - ldrsh r1, [r5, r0] - cmp r1, 0 - beq _0810FD60 - cmp r1, 0x1 - beq _0810FDD4 - b _0810FDE8 - .pool -_0810FD60: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - ble _0810FDE8 - strh r1, [r5, 0xA] - ldr r0, =gUnknown_08596864 - movs r2, 0x1E - ldrsh r1, [r5, r2] - movs r3, 0x20 - ldrsh r2, [r5, r3] - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0810FDB4 - ldr r0, =gSprites - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - adds r4, r0 - movs r0, 0x10 - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x22] - strh r0, [r4, 0x32] - ldrh r0, [r5, 0x24] - strh r0, [r4, 0x36] - ldrh r0, [r5, 0x1C] - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl InitAnimArcTranslation - ldrb r0, [r5, 0xC] - movs r1, 0x3 - ands r1, r0 - adds r0, r4, 0 - bl StartSpriteAffineAnim -_0810FDB4: - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _0810FDE8 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _0810FDE8 - .pool -_0810FDD4: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x11 - ble _0810FDE8 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_0810FDE8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_810FD3C - - thumb_func_start sub_810FDF0 -sub_810FDF0: @ 810FDF0 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _0810FE0E - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite -_0810FE0E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810FDF0 - - thumb_func_start sub_810FE14 -sub_810FE14: @ 810FE14 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerYCoordWithElevation - lsls r0, 24 - lsrs r1, r0, 24 - adds r0, r1, 0 - subs r0, 0x20 - strh r0, [r4, 0x24] - ldr r0, =gBattleAnimArgs - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0x1 - beq _0810FE6A - cmp r0, 0x1 - bgt _0810FE58 - cmp r0, 0 - beq _0810FE5E - b _0810FE86 - .pool -_0810FE58: - cmp r0, 0x2 - beq _0810FE76 - b _0810FE86 -_0810FE5E: - movs r0, 0x2 - strh r0, [r4, 0x1E] - movs r0, 0x5 - strh r0, [r4, 0x20] - movs r0, 0x40 - b _0810FE7E -_0810FE6A: - movs r0, 0x2 - strh r0, [r4, 0x1E] - movs r0, 0x5 - strh r0, [r4, 0x20] - movs r0, 0xC0 - b _0810FE7E -_0810FE76: - movs r0, 0x4 - strh r0, [r4, 0x1E] - strh r0, [r4, 0x20] - movs r0, 0 -_0810FE7E: - strh r0, [r4, 0x22] - adds r0, r1, 0 - adds r0, 0x20 - strh r0, [r4, 0x26] -_0810FE86: - movs r1, 0x24 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _0810FE92 - movs r0, 0 - strh r0, [r4, 0x24] -_0810FE92: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810FEB8 - ldr r0, =gBattle_BG1_X - ldrh r0, [r0] - strh r0, [r4, 0x1C] - ldr r0, =0x04000014 - b _0810FEC0 - .pool -_0810FEB8: - ldr r0, =gBattle_BG2_X - ldrh r0, [r0] - strh r0, [r4, 0x1C] - ldr r0, =0x04000018 -_0810FEC0: - str r0, [sp] - ldrh r1, [r4, 0x24] - lsls r3, r1, 16 - asrs r1, r3, 16 - movs r2, 0x24 - ldrsh r0, [r4, r2] - adds r0, 0x40 - cmp r1, r0 - bgt _0810FEFA - ldr r5, =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 -_0810FEDA: - asrs r3, 16 - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r4, 0x1C] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r4, 0x1C] - strh r0, [r1] - adds r3, 0x1 - lsls r3, 16 - asrs r1, r3, 16 - movs r2, 0x24 - ldrsh r0, [r4, r2] - adds r0, 0x40 - cmp r1, r0 - ble _0810FEDA -_0810FEFA: - ldr r0, =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldr r0, =sub_810FF34 - str r0, [r4] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810FE14 - - thumb_func_start sub_810FF34 -sub_810FF34: @ 810FF34 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0811000E - cmp r0, 0x1 - bgt _0810FF60 - cmp r0, 0 - beq _0810FF66 - b _08110026 - .pool -_0810FF60: - cmp r0, 0x2 - beq _08110020 - b _08110026 -_0810FF66: - ldrh r3, [r5, 0x22] - ldrh r4, [r5, 0x24] - movs r2, 0x24 - ldrsh r1, [r5, r2] - movs r2, 0x26 - ldrsh r0, [r5, r2] - cmp r1, r0 - bgt _0810FFFE - ldr r0, =gSineTable - mov r9, r0 - movs r7, 0x3 - ldr r1, =gScanlineEffectRegBuffers - mov r12, r1 - movs r2, 0xF0 - lsls r2, 3 - add r2, r12 - mov r8, r2 -_0810FF88: - lsls r2, r3, 16 - asrs r0, r2, 15 - add r0, r9 - movs r3, 0 - ldrsh r0, [r0, r3] - movs r3, 0x20 - ldrsh r1, [r5, r3] - asrs r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r3, r0, 16 - adds r6, r2, 0 - cmp r3, 0 - ble _0810FFB8 - ldrh r1, [r5, 0xA] - adds r0, r7, 0 - ands r0, r1 - adds r0, r3, r0 - b _0810FFC4 - .pool -_0810FFB8: - cmp r3, 0 - bge _0810FFC8 - ldrh r1, [r5, 0xA] - adds r0, r7, 0 - ands r0, r1 - subs r0, r3, r0 -_0810FFC4: - lsls r0, 16 - lsrs r1, r0, 16 -_0810FFC8: - lsls r2, r4, 16 - asrs r2, 16 - lsls r3, r2, 1 - mov r0, r12 - adds r4, r3, r0 - ldrh r0, [r5, 0x1C] - lsls r1, 16 - asrs r1, 16 - adds r0, r1, r0 - strh r0, [r4] - add r3, r8 - ldrh r0, [r5, 0x1C] - adds r1, r0 - strh r1, [r3] - asrs r0, r6, 16 - ldrh r1, [r5, 0x1E] - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - adds r2, 0x1 - lsls r2, 16 - lsrs r4, r2, 16 - asrs r2, 16 - movs r1, 0x26 - ldrsh r0, [r5, r1] - cmp r2, r0 - ble _0810FF88 -_0810FFFE: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x17 - ble _08110026 - b _08110014 -_0811000E: - ldr r1, =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_08110014: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _08110026 - .pool -_08110020: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_08110026: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810FF34 - - thumb_func_start sub_8110034 -sub_8110034: @ 8110034 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r7, r0, r1 - bl AllocOamMatrix - lsls r0, 24 - lsrs r5, r0, 24 - mov r10, r5 - adds r6, r5, 0 - cmp r6, 0xFF - bne _0811006C - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _08110116 - .pool -_0811006C: - ldr r1, =gBattleAnimArgs - ldrb r0, [r1] - bl CloneBattlerSpriteWithBlend - lsls r0, 16 - lsrs r1, r0, 16 - mov r9, r1 - asrs r0, 16 - cmp r0, 0 - bge _08110094 - adds r0, r5, 0 - bl FreeOamMatrix - mov r0, r8 - bl DestroyAnimVisualTask - b _08110116 - .pool -_08110094: - ldr r2, =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r0, r2, 0 - adds r0, 0x1C - adds r0, r4, r0 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - adds r4, r2 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r0, 0x1F - ands r6, r0 - lsls r2, r6, 1 - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x3] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, 0 - adds r1, 0x43 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - movs r3, 0 - bl SetSpriteRotScale - ldrb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec - ldr r1, =gBattleAnimArgs - ldrb r0, [r1] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x22] - mov r0, r10 - strh r0, [r7, 0x24] - mov r1, r9 - strh r1, [r7, 0x26] - ldr r0, =sub_8110134 - str r0, [r7] -_08110116: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8110034 - - thumb_func_start sub_8110134 -sub_8110134: @ 8110134 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _081101B8 - cmp r0, 0x1 - bgt _0811015C - cmp r0, 0 - beq _08110166 - b _08110238 - .pool -_0811015C: - cmp r0, 0x2 - beq _08110208 - cmp r0, 0x3 - beq _08110228 - b _08110238 -_08110166: - ldrh r0, [r4, 0xA] - adds r0, 0x4 - strh r0, [r4, 0xA] - ldr r1, =gSineTable - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 16 - asrs r1, 17 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xC - ldrsh r2, [r4, r1] - adds r1, r2, 0 - movs r3, 0 - bl SetSpriteRotScale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - lsls r1, 24 - lsrs r1, 24 - bl SetBattlerSpriteYOffsetFromOtherYScale - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0x30 - bne _08110238 - b _0811021A - .pool -_081101B8: - ldrh r0, [r4, 0xA] - subs r0, 0x4 - strh r0, [r4, 0xA] - ldr r1, =gSineTable - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 16 - asrs r1, 17 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xC - ldrsh r2, [r4, r1] - adds r1, r2, 0 - movs r3, 0 - bl SetSpriteRotScale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - lsls r1, 24 - lsrs r1, 24 - bl SetBattlerSpriteYOffsetFromOtherYScale - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08110238 - b _0811021A - .pool -_08110208: - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl obj_delete_but_dont_free_vram -_0811021A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08110238 - .pool -_08110228: - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - bl FreeOamMatrix - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08110238: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8110134 -@*/ - - thumb_func_start sub_8110240 -sub_8110240: @ 8110240 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _081102B8 - cmp r0, 0x1 - bgt _08110256 - cmp r0, 0 - beq _08110260 - b _08110360 -_08110256: - cmp r0, 0x2 - beq _081102EA - cmp r0, 0x3 - beq _0811034A - b _08110360 -_08110260: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0811028E - ldrh r0, [r5, 0x22] - adds r0, 0xC - strh r0, [r5, 0x22] -_0811028E: - movs r0, 0x8 - strh r0, [r5, 0x30] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r0, [r5, 0x30] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - b _081102E2 - .pool -_081102B8: - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08110360 - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xCB - bl PlaySE12WithPanning - adds r0, r5, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim -_081102E2: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _08110360 -_081102EA: - ldrh r0, [r5, 0x32] - adds r1, r0, 0x1 - strh r1, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0811032E - movs r0, 0 - strh r0, [r5, 0x32] - ldrh r1, [r5, 0x30] - subs r1, 0x1 - strh r1, [r5, 0x30] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0811032E - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0811032E: - movs r0, 0xE0 - lsls r0, 2 - adds r2, r0, 0 - ldrh r1, [r5, 0x34] - adds r2, r1 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r5, 0x26] - subs r0, r1 - strh r0, [r5, 0x26] - movs r0, 0xFF - ands r2, r0 - strh r2, [r5, 0x34] - b _08110360 -_0811034A: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyAnimSprite -_08110360: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8110240 - - .align 2, 0 diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index 3e07135e6..b90c9701e 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -11006,7 +11006,7 @@ _0801C52C: cmp r0, 0x1 bne _0801C5EE ldr r0, =gUnknown_082F1D00 - bl LoadCompressedObjectPicUsingHeap + bl LoadCompressedSpriteSheetUsingHeap ldr r0, [r4] movs r2, 0xB8 lsls r2, 1 @@ -14596,7 +14596,7 @@ _0801E1B4: movs r0, 0x5 bl PlaySE movs r0, 0x1 - bl MoveMenuCursor + bl Menu_MoveCursor b _0801E23A .pool _0801E1D4: @@ -19425,7 +19425,7 @@ sub_8020890: @ 8020890 ldr r4, =gUnknown_082F3134 _08020896: adds r0, r4, 0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet adds r4, 0x8 adds r5, 0x1 cmp r5, 0x4 @@ -23100,7 +23100,7 @@ sub_8022730: @ 8022730 _08022746: lsls r0, r5, 3 adds r0, r4 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -43324,7 +43324,7 @@ sub_802C974: @ 802C974 ldr r5, =gUnknown_082FBE08 _0802C97C: adds r0, r5, 0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet adds r5, 0x8 adds r4, 0x1 cmp r4, 0x4 @@ -43447,7 +43447,7 @@ _0802CA32: ands r1, r5 orrs r1, r4 str r1, [r0, 0x4] - bl LoadCompressedObjectPalette + bl LoadCompressedSpritePalette mov r0, r8 bl Free mov r0, r10 @@ -47113,7 +47113,7 @@ sub_802E75C: @ 802E75C lsls r0, 3 ldr r1, =gUnknown_082FE6C8 adds r0, r1 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet movs r2, 0x8 ldrsh r0, [r4, r2] lsls r0, 3 @@ -48126,7 +48126,7 @@ sub_802EF50: @ 802EF50 orrs r0, r1 str r0, [r4, 0x4] mov r0, sp - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet adds r0, r4, 0 bl LoadSpritePalette add sp, 0x10 diff --git a/asm/roulette.s b/asm/roulette.s index 1552ba4fe..4174924e6 100644 --- a/asm/roulette.s +++ b/asm/roulette.s @@ -4865,11 +4865,11 @@ sub_8142C0C: @ 8142C0C ldr r0, =gUnknown_085B7384 bl LoadSpritePalettes ldr r0, =gUnknown_085B7864 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet ldr r0, =gUnknown_085B7978 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet ldr r0, =gUnknown_085B7A40 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet b _08142C5A .pool _08142C44: diff --git a/asm/trade.s b/asm/trade.s index e701df67e..dd5ff89c5 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -656,7 +656,7 @@ _0807AD94: _0807ADB2: mov r0, r8 bl GetMonSpritePalStruct - bl LoadCompressedObjectPalette + bl LoadCompressedSpritePalette ldr r0, =gUnknown_020322A0 ldr r1, [r0] adds r0, r1, 0 diff --git a/asm/trainer_card.s b/asm/trainer_card.s index e0cb5e21e..10e4d6d8f 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -6952,10 +6952,10 @@ sub_80C62DC: @ 80C62DC bl LoadSpritePalettes ldr r4, =gUnknown_085714BC adds r0, r4, 0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet adds r4, 0x10 adds r0, r4, 0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet ldr r0, =gUnknown_085715B4 ldr r1, =gUnknown_02039CEC ldr r2, [r1] @@ -7706,7 +7706,7 @@ sub_80C6974: @ 80C6974 bl LoadSpritePalettes ldr r6, =gUnknown_085714BC adds r0, r6, 0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet ldr r0, =gUnknown_085715B4 mov r8, r0 ldr r4, =gUnknown_02039CF4 @@ -7747,7 +7747,7 @@ sub_80C6974: @ 80C6974 bl StartSpriteAnim adds r6, 0x8 adds r0, r6, 0 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet movs r3, 0x18 add r8, r3 ldr r6, =gUnknown_08571650 @@ -7875,7 +7875,7 @@ _080C6AEE: lsrs r4, r0, 16 _080C6AF2: ldr r0, =gUnknown_085714D4 - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet mov r1, sp ldr r0, =gUnknown_085715FC ldm r0!, {r2,r3,r6} diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s index d294a2fae..d2d4913b1 100644 --- a/asm/use_pokeblock.s +++ b/asm/use_pokeblock.s @@ -3273,7 +3273,7 @@ sub_8168248: @ 8168248 orrs r0, r1 str r0, [sp, 0x4] mov r0, sp - bl LoadCompressedObjectPic + bl LoadCompressedSpriteSheet add r0, sp, 0x8 bl LoadSpritePalette add sp, 0x10 diff --git a/asm/water.s b/asm/water.s deleted file mode 100644 index 693aceddd..000000000 --- a/asm/water.s +++ /dev/null @@ -1,3607 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AnimTask_CreateRaindrops -AnimTask_CreateRaindrops: @ 8107188 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _081071B0 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r5, 0xA] - ldrh r0, [r1, 0x2] - strh r0, [r5, 0xC] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0xE] -_081071B0: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r2, 0x8 - ldrsh r0, [r5, r2] - movs r2, 0xC - ldrsh r1, [r5, r2] - bl __modsi3 - cmp r0, 0x1 - bne _081071F8 - bl Random2 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF0 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Random2 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x50 - bl __umodsi3 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08595020 - adds r1, r4, 0 - movs r3, 0x4 - bl CreateSprite -_081071F8: - movs r0, 0x8 - ldrsh r1, [r5, r0] - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _0810720A - adds r0, r6, 0 - bl DestroyAnimVisualTask -_0810720A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_CreateRaindrops - - thumb_func_start sub_810721C -sub_810721C: @ 810721C - ldr r1, =sub_8107228 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_810721C - - thumb_func_start sub_8107228 -sub_8107228: @ 8107228 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - bgt _08107246 - ldrh r0, [r2, 0x24] - adds r0, 0x1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x26] - adds r0, 0x4 - strh r0, [r2, 0x26] -_08107246: - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0810725A - adds r0, r2, 0 - bl DestroySprite -_0810725A: - pop {r0} - bx r0 - thumb_func_end sub_8107228 - - thumb_func_start sub_8107260 -sub_8107260: @ 8107260 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08107290 - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gBattleAnimArgs - ldrh r1, [r4] - subs r0, r1 - b _081072A2 - .pool -_08107290: - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r4, =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 -_081072A2: - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 - strh r0, [r6, 0x22] - adds r2, r6, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _081072D8 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_081072D8: - ldr r5, =gBattleAnimArgs - ldrh r0, [r5, 0xC] - strh r0, [r6, 0x2E] - ldrh r0, [r6, 0x20] - strh r0, [r6, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x32] - ldrh r0, [r6, 0x22] - strh r0, [r6, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x36] - adds r0, r6, 0 - bl InitAnimLinearTranslation - ldr r0, =SpriteCallbackDummy - bl CreateInvisibleSpriteWithCallback - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - strh r4, [r6, 0x38] - ldrb r0, [r5, 0x8] - movs r2, 0x4 - ldrsh r1, [r5, r2] - bl Sin - ldrh r1, [r6, 0x20] - subs r1, r0 - strh r1, [r6, 0x20] - ldrb r0, [r5, 0x8] - movs r2, 0x6 - ldrsh r1, [r5, r2] - bl Cos - ldrh r1, [r6, 0x22] - subs r1, r0 - strh r1, [r6, 0x22] - ldr r0, =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r5, 0x4] - strh r0, [r1, 0x2E] - ldrh r0, [r5, 0x6] - strh r0, [r1, 0x30] - ldrh r0, [r5, 0xA] - strh r0, [r1, 0x32] - ldrb r0, [r5, 0x8] - lsls r0, 8 - strh r0, [r1, 0x34] - ldrh r0, [r5, 0xC] - strh r0, [r1, 0x36] - ldr r1, =sub_8107380 - str r1, [r6, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107260 - - thumb_func_start sub_8107380 -sub_8107380: @ 8107380 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r1, [r5, 0x38] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r7, r0, r2 - ldrh r4, [r7, 0x36] - lsls r4, 24 - lsrs r4, 24 - ldrh r0, [r7, 0x34] - mov r8, r0 - movs r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r5, 0 - bl TranslateAnimLinear - mov r1, r8 - lsrs r6, r1, 8 - movs r0, 0x2E - ldrsh r1, [r7, r0] - adds r0, r6, 0 - bl Sin - ldrh r1, [r5, 0x24] - adds r0, r1 - strh r0, [r5, 0x24] - movs r0, 0x30 - ldrsh r1, [r7, r0] - adds r0, r6, 0 - bl Cos - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - ldrh r0, [r7, 0x32] - mov r1, r8 - adds r1, r0 - strh r1, [r7, 0x34] - subs r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - cmp r4, 0 - beq _081073EC - strh r4, [r7, 0x36] - b _081073F6 - .pool -_081073EC: - ldr r0, =sub_8107408 - str r0, [r5, 0x1C] - adds r0, r7, 0 - bl DestroySprite -_081073F6: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107380 - - thumb_func_start sub_8107408 -sub_8107408: @ 8107408 - push {lr} - adds r3, r0, 0 - adds r3, 0x2C - ldrb r2, [r3] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - strb r1, [r3] - ldr r1, =RunStoredCallbackWhenAnimEnds - str r1, [r0, 0x1C] - ldr r1, =sub_8107430 - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107408 - - thumb_func_start sub_8107430 -sub_8107430: @ 8107430 - push {lr} - movs r1, 0xA - strh r1, [r0, 0x2E] - ldr r1, =WaitAnimForDuration - str r1, [r0, 0x1C] - ldr r1, =DestroySpriteAndMatrix - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107430 - - thumb_func_start sub_810744C -sub_810744C: @ 810744C - push {r4-r7,lr} - adds r5, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810747C - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - lsls r0, 16 - lsrs r6, r0, 16 - adds r7, r1, 0 - b _08107482 - .pool -_0810747C: - ldr r0, =gBattleAnimArgs - ldrh r6, [r0, 0x4] - adds r7, r0, 0 -_08107482: - ldrh r0, [r7, 0x8] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r7, [r7, 0x6] - adds r0, r7 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl InitAnimLinearTranslation - ldr r0, =sub_81074E4 - str r0, [r5, 0x1C] - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810744C - - thumb_func_start sub_81074E4 -sub_81074E4: @ 81074E4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _08107506 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] -_08107506: - adds r0, r4, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - beq _08107518 - adds r0, r4, 0 - bl DestroyAnimSprite -_08107518: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81074E4 - - thumb_func_start sub_8107528 -sub_8107528: @ 8107528 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r0, =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x8] - ldr r0, =0x0000279c - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r4, 0xC] - ldr r0, =sub_810756C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107528 - - thumb_func_start sub_810756C -sub_810756C: @ 810756C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x1C] - adds r0, 0x1 - strh r0, [r2, 0x1C] - lsls r0, 16 - asrs r0, 16 - mov r12, r1 - cmp r0, 0x3 - bne _081075BE - movs r0, 0 - strh r0, [r2, 0x1C] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r1, =gPlttBufferFaded - lsls r0, r5, 1 - adds r0, r1 - ldrh r6, [r0] - adds r7, r1, 0 - adds r3, r0, 0x2 - movs r1, 0x6 - adds r2, r0, 0 -_081075A8: - ldrh r0, [r3] - strh r0, [r2] - adds r3, 0x2 - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _081075A8 - adds r0, r5, 0x7 - lsls r0, 1 - adds r0, r7 - strh r6, [r0] -_081075BE: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r12 - ldrh r1, [r0, 0x1E] - adds r1, 0x1 - strh r1, [r0, 0x1E] - lsls r1, 16 - asrs r1, 16 - movs r2, 0x8 - ldrsh r0, [r0, r2] - cmp r1, r0 - bne _081075DE - adds r0, r4, 0 - bl DestroyAnimVisualTask -_081075DE: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810756C - - thumb_func_start sub_81075EC -sub_81075EC: @ 81075EC - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - movs r0, 0x1E - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl InitAnimLinearTranslation - movs r0, 0x2E - ldrsh r1, [r5, r0] - movs r0, 0xD2 - lsls r0, 8 - bl __divsi3 - strh r0, [r5, 0x38] - ldr r0, =gBattleAnimArgs - ldrh r2, [r0, 0x6] - strh r2, [r5, 0x3C] - ldrh r1, [r0, 0xE] - movs r3, 0xE - ldrsh r0, [r0, r3] - cmp r0, 0x7F - ble _0810765C - adds r0, r1, 0 - subs r0, 0x7F - lsls r0, 8 - strh r0, [r5, 0x3A] - negs r0, r2 - strh r0, [r5, 0x3C] - b _08107660 - .pool -_0810765C: - lsls r0, r1, 8 - strh r0, [r5, 0x3A] -_08107660: - ldr r1, =sub_8107674 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81075EC - - thumb_func_start sub_8107674 -sub_8107674: @ 8107674 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - beq _08107688 - adds r0, r4, 0 - bl DestroyAnimSprite -_08107688: - ldrh r0, [r4, 0x3A] - lsls r0, 16 - asrs r0, 24 - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r2, 0x3A - ldrsh r0, [r4, r2] - movs r2, 0x38 - ldrsh r1, [r4, r2] - adds r0, r1 - asrs r0, 8 - cmp r0, 0x7F - ble _081076B8 - movs r0, 0 - strh r0, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - negs r0, r0 - strh r0, [r4, 0x3C] - b _081076C0 -_081076B8: - ldrh r0, [r4, 0x38] - ldrh r1, [r4, 0x3A] - adds r0, r1 - strh r0, [r4, 0x3A] -_081076C0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8107674 - - thumb_func_start sub_81076C8 -sub_81076C8: @ 81076C8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, =gBattleAnimArgs - ldrh r0, [r3] - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r3, 0xE] - ldr r0, =sub_81076F4 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_81076C8 - - thumb_func_start sub_81076F4 -sub_81076F4: @ 81076F4 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gBattleAnimArgs - ldrh r0, [r2, 0xE] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r2, 0xE] - ldr r1, =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - cmp r1, 0 - bne _08107722 - adds r0, r3, 0 - bl DestroyAnimVisualTask -_08107722: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81076F4 - - thumb_func_start sub_8107730 -sub_8107730: @ 8107730 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r7, =gBattleAnimAttacker - ldrb r0, [r7] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r7] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r6, =0x0000fff6 - strh r6, [r4, 0x26] - ldrb r0, [r7] - bl GetBattlerSpriteSubpriority - lsls r0, 24 - lsrs r5, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810778A - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08107784 - movs r0, 0xA - strh r0, [r4, 0x24] - b _0810778C - .pool -_08107784: - strh r6, [r4, 0x24] - subs r0, r5, 0x2 - b _0810778E -_0810778A: - strh r6, [r4, 0x24] -_0810778C: - adds r0, r5, 0x2 -_0810778E: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldr r0, =sub_81077A4 - str r0, [r4, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107730 - - thumb_func_start sub_81077A4 -sub_81077A4: @ 81077A4 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081077BA - adds r0, r2, 0 - bl DestroyAnimSprite -_081077BA: - pop {r0} - bx r0 - thumb_func_end sub_81077A4 - - thumb_func_start sub_81077C0 -sub_81077C0: @ 81077C0 - push {r4-r7,lr} - adds r6, r0, 0 - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - adds r4, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _0810780A - ldr r4, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4] - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - cmp r0, 0 - beq _08107802 - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810780A -_08107802: - movs r1, 0 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4] -_0810780A: - ldr r5, =gBattleAnimArgs - movs r1, 0xA - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0 - cmp r0, 0 - bne _0810781E - movs r1, 0x1 -_0810781E: - ldrb r0, [r5, 0xA] - movs r7, 0x1 - cmp r0, 0 - bne _08107828 - movs r7, 0x3 -_08107828: - adds r0, r6, 0 - bl InitAnimSpritePos - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08107842 - ldrh r0, [r5, 0x4] - negs r0, r0 - strh r0, [r5, 0x4] -_08107842: - ldrh r0, [r5, 0x8] - strh r0, [r6, 0x2E] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrb r0, [r4] - adds r1, r7, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x6] - adds r0, r5 - strh r0, [r6, 0x36] - ldr r0, =StartAnimLinearTranslation - str r0, [r6, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81077C0 - - thumb_func_start sub_8107894 -sub_8107894: @ 8107894 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_80A6980 - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0x8] - strh r1, [r4, 0x2E] - ldrh r0, [r0, 0x4] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - adds r1, r0 - strh r1, [r4, 0x36] - ldr r0, =StartAnimLinearTranslation - str r0, [r4, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107894 - - thumb_func_start sub_81078D0 -sub_81078D0: @ 81078D0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081078EC - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80A6980 - b _081078F4 - .pool -_081078EC: - adds r0, r4, 0 - movs r1, 0x1 - bl InitAnimSpritePos -_081078F4: - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x3C] - ldr r0, =sub_810790C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81078D0 - - thumb_func_start sub_810790C -sub_810790C: @ 810790C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0xB - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x4 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x30 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - subs r0, 0x1 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0810794C - adds r0, r4, 0 - bl DestroyAnimSprite -_0810794C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810790C - - thumb_func_start AnimTask_CreateSurfWave -AnimTask_CreateSurfWave: @ 8107954 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1 - bl SetAnimBgAttribute - mov r0, sp - bl sub_80A6B30 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _081079E0 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081079D0 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_08D95E00 - bl sub_80A6D48 - b _081079EA - .pool -_081079D0: - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_08D960D0 - bl sub_80A6D48 - b _081079EA - .pool -_081079E0: - ldr r1, =gUnknown_08D963A4 - mov r0, sp - movs r2, 0x1 - bl sub_80A6D60 -_081079EA: - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gBattleAnimBackgroundImage_Surf - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80A6CC0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08107A24 - ldr r0, =gBattleAnimBackgroundPalette_Surf - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - b _08107A32 - .pool -_08107A24: - ldr r0, =gBattleAnimBackgroundImageMuddyWater_Pal - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette -_08107A32: - ldr r0, =sub_8107D58 - ldr r4, =gTasks - mov r2, r10 - lsls r5, r2, 2 - adds r1, r5, r2 - lsls r1, 3 - adds r6, r1, r4 - ldrb r1, [r6, 0x7] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0 - mov r9, r0 - mov r1, r8 - strh r1, [r6, 0x26] - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r7, r0, r4 - mov r0, r9 - strh r0, [r7, 0x8] - movs r0, 0x80 - lsls r0, 5 - strh r0, [r7, 0xA] - strh r0, [r7, 0xC] - bl IsContest - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _08107AB4 - ldr r1, =0x0000ffb0 - adds r0, r1, 0 - ldr r2, =gBattle_BG1_X - strh r0, [r2] - adds r1, 0x20 - adds r0, r1, 0 - ldr r2, =gBattle_BG1_Y - strh r0, [r2] - movs r0, 0x2 - strh r0, [r6, 0x8] - movs r0, 0x1 - strh r0, [r6, 0xA] - mov r0, r9 - strh r0, [r7, 0xE] - b _08107B0E - .pool -_08107AB4: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - bne _08107AF8 - ldr r2, =0x0000ff20 - adds r0, r2, 0 - ldr r2, =gBattle_BG1_X - strh r0, [r2] - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldr r2, =gBattle_BG1_Y - strh r0, [r2] - movs r0, 0x2 - strh r0, [r6, 0x8] - ldr r0, =0x0000ffff - strh r0, [r6, 0xA] - strh r1, [r7, 0xE] - b _08107B0E - .pool -_08107AF8: - ldr r0, =gBattle_BG1_X - strh r4, [r0] - ldr r1, =0x0000ffd0 - adds r0, r1, 0 - ldr r2, =gBattle_BG1_Y - strh r0, [r2] - ldr r0, =0x0000fffe - strh r0, [r6, 0x8] - movs r0, 0x1 - strh r0, [r6, 0xA] - strh r4, [r7, 0xE] -_08107B0E: - ldr r0, =gBattle_BG1_X - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r2, =gBattle_BG1_Y - ldrh r1, [r2] - movs r0, 0x16 - bl SetGpuReg - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r1 - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08107B54 - movs r0, 0x30 - strh r0, [r1, 0x10] - movs r0, 0x70 - b _08107B58 - .pool -_08107B54: - movs r0, 0 - strh r0, [r1, 0x10] -_08107B58: - strh r0, [r1, 0x12] - ldr r1, =gTasks - mov r2, r10 - adds r0, r5, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x14] - ldr r1, =sub_8107B84 - str r1, [r0] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_CreateSurfWave - - thumb_func_start sub_8107B84 -sub_8107B84: @ 8107B84 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gBattle_BG1_X - ldr r2, =gBattle_BG1_Y - ldr r0, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x8] - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - ldrh r0, [r4, 0xA] - ldrh r1, [r2] - adds r0, r1 - strh r0, [r2] - mov r0, sp - bl sub_80A6B30 - ldrh r0, [r4, 0xA] - ldrh r3, [r4, 0xC] - adds r0, r3 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _08107C18 - ldr r1, =gPlttBufferFaded - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 4 - adds r0, 0x7 - lsls r0, 1 - adds r0, r1 - ldrh r6, [r0] - movs r2, 0x6 - adds r7, r1, 0 - adds r3, r7, 0 - mov r4, sp -_08107BDE: - ldrb r0, [r4, 0x8] - lsls r0, 4 - adds r1, r2, 0x1 - adds r0, r1 - lsls r1, r0, 1 - adds r1, r3 - subs r0, 0x1 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - subs r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _08107BDE - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 4 - adds r0, 0x1 - lsls r0, 1 - adds r0, r7 - strh r6, [r0] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x12] -_08107C18: - ldr r1, =gTasks - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r3, r0, r1 - ldrh r0, [r3, 0x14] - adds r0, 0x1 - strh r0, [r3, 0x14] - lsls r0, 16 - asrs r0, 16 - adds r4, r1, 0 - adds r6, r2, 0 - cmp r0, 0x1 - ble _08107C86 - movs r0, 0 - strh r0, [r3, 0x14] - ldrh r0, [r3, 0xE] - adds r2, r0, 0x1 - strh r2, [r3, 0xE] - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0xD - bgt _08107C62 - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - movs r0, 0x10 - subs r0, r2 - lsls r0, 8 - orrs r2, r0 - strh r2, [r1, 0xA] - ldrh r0, [r3, 0x10] - adds r0, 0x1 - strh r0, [r3, 0x10] -_08107C62: - movs r1, 0xE - ldrsh r0, [r3, r1] - cmp r0, 0x36 - ble _08107C86 - ldrh r2, [r3, 0x10] - subs r2, 0x1 - strh r2, [r3, 0x10] - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - movs r0, 0x10 - subs r0, r2 - lsls r0, 8 - orrs r2, r0 - strh r2, [r1, 0xA] -_08107C86: - adds r0, r6, r5 - lsls r0, 3 - adds r2, r0, r4 - movs r3, 0x26 - ldrsh r1, [r2, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldrh r0, [r0, 0xA] - movs r3, 0x1F - ands r3, r0 - cmp r3, 0 - bne _08107CA8 - strh r3, [r2, 0x8] - ldr r0, =sub_8107CC4 - str r0, [r2] -_08107CA8: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107B84 - - thumb_func_start sub_8107CC4 -sub_8107CC4: @ 8107CC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r7, =gBattle_BG1_X - ldr r0, =gBattle_BG1_Y - mov r8, r0 - ldr r6, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r6 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08107D08 - movs r0, 0x1 - bl sub_80A6C68 - movs r0, 0x2 - bl sub_80A6C68 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08107D4A - .pool -_08107D08: - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _08107D1C - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_08107D1C: - movs r0, 0 - strh r0, [r7] - mov r1, r8 - strh r0, [r1] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldr r1, =0x0000ffff - strh r1, [r0, 0x26] - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08107D4A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107CC4 - - thumb_func_start sub_8107D58 -sub_8107D58: @ 8107D58 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08107D74 - b _08107EAC -_08107D74: - cmp r0, 0x1 - bgt _08107D84 - cmp r0, 0 - beq _08107D8C - b _08108022 - .pool -_08107D84: - cmp r0, 0x2 - bne _08107D8A - b _08107F78 -_08107D8A: - b _08108022 -_08107D8C: - movs r3, 0 - movs r2, 0x10 - ldrsh r0, [r4, r2] - ldr r1, =gScanlineEffectRegBuffers - mov r12, r1 - cmp r3, r0 - bge _08107DCA - mov r7, r12 - movs r5, 0xF0 - lsls r5, 3 - add r5, r12 - ldr r6, =0x0000ffff -_08107DA4: - lsls r2, r3, 16 - asrs r2, 16 - lsls r1, r2, 1 - adds r3, r1, r7 - adds r1, r5 - ldrh r0, [r4, 0xC] - strh r0, [r1] - ldrh r1, [r4, 0xC] - adds r0, r6, 0 - ands r0, r1 - strh r0, [r3] - adds r2, 0x1 - lsls r2, 16 - lsrs r3, r2, 16 - asrs r2, 16 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r2, r0 - blt _08107DA4 -_08107DCA: - ldrh r3, [r4, 0x10] - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _08107E04 - ldr r5, =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 - ldr r7, =0x0000ffff -_08107DE2: - asrs r2, 16 - lsls r1, r2, 1 - adds r3, r1, r5 - adds r1, r6 - ldrh r0, [r4, 0xA] - strh r0, [r1] - ldrh r1, [r4, 0xA] - adds r0, r7, 0 - ands r0, r1 - strh r0, [r3] - adds r2, 0x1 - lsls r2, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - blt _08107DE2 -_08107E04: - ldrh r3, [r4, 0x12] - lsls r2, r3, 16 - asrs r0, r2, 16 - cmp r0, 0x9F - bgt _08107E3A - ldr r5, =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 - ldr r7, =0x0000ffff -_08107E18: - asrs r2, 16 - lsls r1, r2, 1 - adds r3, r1, r5 - adds r1, r6 - ldrh r0, [r4, 0xC] - strh r0, [r1] - ldrh r1, [r4, 0xC] - adds r0, r7, 0 - ands r0, r1 - strh r0, [r3] - adds r2, 0x1 - lsls r2, 16 - lsrs r3, r2, 16 - lsls r2, r3, 16 - asrs r0, r2, 16 - cmp r0, 0x9F - ble _08107E18 -_08107E3A: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08107E64 - lsls r0, r3, 16 - asrs r0, 15 - mov r3, r12 - adds r2, r0, r3 - movs r1, 0xF0 - lsls r1, 3 - add r1, r12 - adds r0, r1 - ldrh r1, [r4, 0xA] - strh r1, [r0] - ldrh r0, [r4, 0xA] - b _08107E7A - .pool -_08107E64: - lsls r0, r3, 16 - asrs r0, 15 - mov r1, r12 - adds r2, r0, r1 - movs r1, 0xF0 - lsls r1, 3 - add r1, r12 - adds r0, r1 - ldrh r1, [r4, 0xC] - strh r1, [r0] - ldrh r0, [r4, 0xC] -_08107E7A: - strh r0, [r2] - ldr r0, =0x04000052 - str r0, [sp] - ldr r0, =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08108022 - .pool -_08107EAC: - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _08107EC4 - ldrh r0, [r4, 0x10] - subs r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bgt _08107ED8 - strh r1, [r4, 0x10] - b _08107ED2 -_08107EC4: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6F - ble _08107ED8 -_08107ED2: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08107ED8: - movs r3, 0 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - bge _08107F0C - ldr r6, =gScanlineEffectRegBuffers - ldr r5, =gScanlineEffect -_08107EE6: - lsls r1, r3, 16 - asrs r1, 16 - lsls r3, r1, 1 - ldrb r2, [r5, 0x14] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 7 - adds r3, r0 - adds r3, r6 - ldrh r0, [r4, 0xC] - strh r0, [r3] - adds r1, 0x1 - lsls r1, 16 - lsrs r3, r1, 16 - asrs r1, 16 - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _08107EE6 -_08107F0C: - ldrh r3, [r4, 0x10] - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _08107F40 - ldr r6, =gScanlineEffectRegBuffers - ldr r5, =gScanlineEffect -_08107F1E: - asrs r3, r2, 16 - lsls r2, r3, 1 - ldrb r1, [r5, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r6 - ldrh r0, [r4, 0xA] - strh r0, [r2] - adds r3, 0x1 - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - blt _08107F1E -_08107F40: - ldrh r3, [r4, 0x12] - lsls r1, r3, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - bgt _08108022 - ldr r6, =gScanlineEffectRegBuffers - ldr r5, =gScanlineEffect -_08107F4E: - asrs r3, r1, 16 - lsls r2, r3, 1 - ldrb r1, [r5, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r6 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - lsls r1, r3, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - ble _08107F4E - b _08108022 - .pool -_08107F78: - movs r3, 0 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - bge _08107FAC - ldr r6, =gScanlineEffectRegBuffers - ldr r5, =gScanlineEffect -_08107F86: - lsls r1, r3, 16 - asrs r1, 16 - lsls r3, r1, 1 - ldrb r2, [r5, 0x14] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 7 - adds r3, r0 - adds r3, r6 - ldrh r0, [r4, 0xC] - strh r0, [r3] - adds r1, 0x1 - lsls r1, 16 - lsrs r3, r1, 16 - asrs r1, 16 - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _08107F86 -_08107FAC: - ldrh r3, [r4, 0x10] - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _08107FE0 - ldr r6, =gScanlineEffectRegBuffers - ldr r5, =gScanlineEffect -_08107FBE: - asrs r3, r2, 16 - lsls r2, r3, 1 - ldrb r1, [r5, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r6 - ldrh r0, [r4, 0xA] - strh r0, [r2] - adds r3, 0x1 - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - blt _08107FBE -_08107FE0: - ldrh r3, [r4, 0x12] - lsls r1, r3, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - bgt _0810800C - ldr r6, =gScanlineEffectRegBuffers - ldr r5, =gScanlineEffect -_08107FEE: - asrs r3, r1, 16 - lsls r2, r3, 1 - ldrb r1, [r5, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r6 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - lsls r1, r3, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - ble _08107FEE -_0810800C: - movs r0, 0x26 - ldrsh r1, [r4, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _08108022 - bl ScanlineEffect_Stop - adds r0, r7, 0 - bl DestroyTask -_08108022: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107D58 - - thumb_func_start sub_8108034 -sub_8108034: @ 8108034 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x8 - ldr r3, =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80A6980 - bl Random2 - movs r5, 0xFF - ands r5, r0 - movs r0, 0x80 - lsls r0, 1 - adds r6, r0, 0 - orrs r5, r6 - bl Random2 - ldr r1, =0x000001ff - ands r1, r0 - adds r0, r1, 0 - cmp r0, 0xFF - ble _0810807A - subs r0, r6, r0 - lsls r0, 16 - lsrs r1, r0, 16 -_0810807A: - strh r5, [r4, 0x30] - strh r1, [r4, 0x32] - ldr r0, =sub_8108098 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108034 - - thumb_func_start sub_8108098 -sub_8108098: @ 8108098 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r3, r0, r1 - strh r3, [r2, 0x34] - ldrh r1, [r2, 0x32] - ldrh r4, [r2, 0x36] - adds r1, r4 - strh r1, [r2, 0x36] - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _081080BC - lsls r0, r3, 16 - asrs r0, 24 - negs r0, r0 - b _081080C0 -_081080BC: - lsls r0, r3, 16 - asrs r0, 24 -_081080C0: - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _081080DE - adds r0, r2, 0 - bl DestroyAnimSprite -_081080DE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8108098 - - thumb_func_start sub_81080E4 -sub_81080E4: @ 81080E4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x12] - bl sub_8108384 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl PrepareBattlerSpriteForRotScale - ldr r0, =sub_8108140 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81080E4 - - thumb_func_start sub_8108140 -sub_8108140: @ 8108140 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bls _0810815C - b _0810837A -_0810815C: - lsls r0, 2 - ldr r1, =_08108170 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08108170: - .4byte _08108190 - .4byte _081081B6 - .4byte _08108248 - .4byte _0810827E - .4byte _08108292 - .4byte _081082A0 - .4byte _08108320 - .4byte _0810836C -_08108190: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 1 - movs r0, 0xE0 - str r0, [sp] - movs r0, 0x80 - lsls r0, 2 - str r0, [sp, 0x4] - movs r0, 0x20 - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r2, r3, 0 - bl sub_80A805C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081081B6: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08108212 - movs r0, 0 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08108200 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3 - strh r1, [r0, 0x24] - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x1 - strh r1, [r0, 0x22] - b _08108212 - .pool -_08108200: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000fffd - strh r1, [r0, 0x24] -_08108212: - adds r0, r4, 0 - bl sub_80A80C8 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _08108222 - b _0810837A -_08108222: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl SetBattlerSpriteYOffsetFromYScale - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] - strh r5, [r4, 0xE] - b _0810835C - .pool -_08108248: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bgt _08108258 - b _0810837A -_08108258: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 2 - movs r0, 0xC0 - lsls r0, 1 - str r0, [sp] - movs r0, 0xE0 - str r0, [sp, 0x4] - movs r0, 0x8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r2, 0xE0 - bl sub_80A805C - movs r0, 0 - strh r0, [r4, 0xE] - b _0810835E -_0810827E: - adds r0, r4, 0 - bl sub_80A80C8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0810837A - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - b _0810835E -_08108292: - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_8108408 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081082A0: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0810837A - movs r0, 0 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081082D8 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x2 - b _081082EA - .pool -_081082D8: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x2 -_081082EA: - strh r1, [r0, 0x26] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0xA - bne _0810837A - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0xC0 - lsls r2, 1 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r3, 0xE0 - bl sub_80A805C - movs r0, 0 - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - b _0810835E - .pool -_08108320: - ldr r6, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r1, [r0, 0x22] - subs r1, 0x1 - strh r1, [r0, 0x22] - adds r0, r4, 0 - bl sub_80A80C8 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0810837A - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl ResetSpriteRotScale - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r1, [r4, 0x12] - strh r1, [r0, 0x22] -_0810835C: - strh r5, [r4, 0x10] -_0810835E: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0810837A - .pool -_0810836C: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810837A - adds r0, r2, 0 - bl DestroyAnimVisualTask -_0810837A: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8108140 - - thumb_func_start sub_8108384 -sub_8108384: @ 8108384 - push {r4,r5,lr} - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _081083B8 - ldr r1, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - b _081083C8 - .pool -_081083B4: - adds r0, r2, 0 - b _081083FA -_081083B8: - ldr r1, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gEnemyParty -_081083C8: - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r3, r0, 16 - lsrs r4, 18 - movs r2, 0 -_081083E6: - adds r1, r2, 0x1 - adds r0, r4, 0 - muls r0, r1 - cmp r3, r0 - blt _081083B4 - lsls r0, r1, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _081083E6 - movs r0, 0x3 -_081083FA: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8108384 - - thumb_func_start sub_8108408 -sub_8108408: @ 8108408 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0xAC - ldrb r0, [r4] - bl GetBattlerSpriteSubpriority - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - ldrh r1, [r7, 0xA] - movs r0, 0x4 - subs r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r0, 0 - bgt _08108458 - movs r1, 0x1 -_08108458: - movs r0, 0 - str r0, [sp, 0x4] - lsls r0, r1, 16 - mov r10, r8 - mov r9, r6 - mov r1, r10 - lsls r1, 4 - str r1, [sp, 0xC] - mov r1, r9 - lsls r1, 4 - str r1, [sp, 0x10] - asrs r0, 16 - mov r8, r0 -_08108472: - ldr r0, =gUnknown_08595268 - mov r1, r10 - mov r2, r9 - ldr r3, [sp, 0x8] - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r6, r5, 16 - cmp r2, 0x40 - beq _081084DA - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r0, r1 - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x30] - mov r1, sp - ldrh r1, [r1, 0xC] - strh r1, [r5, 0x32] - mov r0, sp - ldrh r0, [r0, 0x10] - strh r0, [r5, 0x34] - asrs r4, r6, 16 - adds r0, r4, 0 - movs r1, 0x40 - bl Cos - strh r0, [r5, 0x36] - adds r0, r4, 0 - movs r1, 0x40 - bl Sin - strh r0, [r5, 0x38] - mov r1, sp - ldrh r1, [r1] - strh r1, [r5, 0x3A] - movs r0, 0x2 - strh r0, [r5, 0x3C] - ldrh r1, [r7, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081084D4 - adds r0, r5, 0 - bl sub_810851C -_081084D4: - ldrh r0, [r7, 0xC] - adds r0, 0x1 - strh r0, [r7, 0xC] -_081084DA: - mov r1, r8 - lsls r0, r1, 1 - asrs r1, r6, 16 - adds r1, r0 - lsls r1, 16 - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r5, r0, 16 - ldr r1, [sp, 0x4] - lsls r0, r1, 16 - asrs r0, 16 - add r0, r8 - lsls r0, 16 - lsrs r1, r0, 16 - str r1, [sp, 0x4] - asrs r0, 16 - cmp r0, 0x13 - ble _08108472 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108408 - - thumb_func_start sub_810851C -sub_810851C: @ 810851C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0810852E - cmp r0, 0x1 - beq _08108564 - b _081085BE -_0810852E: - movs r2, 0x30 - ldrsh r0, [r4, r2] - movs r1, 0x6 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - ldrh r0, [r4, 0x36] - adds r1, r0 - strh r1, [r4, 0x36] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - ldrh r2, [r4, 0x38] - adds r1, r2 - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_08108564: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x38] - ldrh r2, [r4, 0x34] - adds r1, r2 - strh r1, [r4, 0x34] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x20] - lsls r1, 16 - asrs r2, r1, 20 - strh r2, [r4, 0x22] - adds r0, 0x8 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 17 - cmp r0, r1 - bhi _0810859A - adds r1, r2, 0 - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _0810859A - cmp r1, 0x78 - ble _081085BE -_0810859A: - ldr r3, =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_081085BE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810851C - - thumb_func_start sub_81085C8 -sub_81085C8: @ 81085C8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - bl sub_8108384 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08108600 - movs r0, 0x88 - strh r0, [r4, 0x10] - movs r0, 0x28 - b _08108606 - .pool -_08108600: - movs r0, 0x10 - strh r0, [r4, 0x10] - movs r0, 0x50 -_08108606: - strh r0, [r4, 0x14] - movs r0, 0x62 - strh r0, [r4, 0x12] - ldrh r0, [r4, 0x10] - adds r0, 0x31 - strh r0, [r4, 0x16] - movs r0, 0xA - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x5 - strh r0, [r4, 0x20] - ldr r0, =sub_810862C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81085C8 - - thumb_func_start sub_810862C -sub_810862C: @ 810862C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r7, =gTasks - adds r4, r0, r7 - movs r0, 0x8 - ldrsh r2, [r4, r0] - cmp r2, 0 - beq _08108654 - cmp r2, 0x1 - beq _08108704 - b _08108712 - .pool -_08108654: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0810866A - strh r2, [r4, 0xC] - adds r0, r4, 0 - bl sub_810871C -_0810866A: - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081086E4 - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _081086E4 - ldr r5, =gBattleAnimArgs - movs r1, 0x1 - mov r8, r1 - mov r2, r8 - strh r2, [r5] - strh r0, [r5, 0x2] - movs r0, 0xC - strh r0, [r5, 0x4] - ldr r6, =sub_81152DC - adds r0, r6, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _081086B4 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r7 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 - ldr r1, =gAnimVisualTaskCount - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081086B4: - movs r0, 0x3 - strh r0, [r5] - adds r0, r6, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _081086E0 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r7 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 - ldr r1, =gAnimVisualTaskCount - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081086E0: - mov r0, r8 - strh r0, [r4, 0x22] -_081086E4: - movs r2, 0x1E - ldrsh r1, [r4, r2] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _08108712 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08108712 - .pool -_08108704: - movs r2, 0x1A - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08108712 - adds r0, r1, 0 - bl DestroyAnimVisualTask -_08108712: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810862C - - thumb_func_start sub_810871C -sub_810871C: @ 810871C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r1, =gSineTable - movs r2, 0x18 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, 0x3 - asrs r0, 4 - ldrh r2, [r4, 0x14] - adds r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gUnknown_08595268 - movs r2, 0x16 - ldrsh r1, [r4, r2] - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08108776 - ldr r3, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r1, r0, r1 - ldr r2, =sub_81087C0 - str r2, [r1] - adds r0, r3 - strh r5, [r0, 0x38] - strh r6, [r0, 0x3A] - movs r1, 0x9 - strh r1, [r0, 0x3C] - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] -_08108776: - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - ldrh r0, [r4, 0x18] - adds r0, 0x27 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x18] - movs r0, 0x16 - ldrsh r1, [r4, r0] - ldr r0, =0x41c64e6d - muls r0, r1 - ldr r1, =0x00003039 - adds r0, r1 - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl __modsi3 - ldrh r1, [r4, 0x10] - adds r1, r0 - strh r1, [r4, 0x16] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810871C - - thumb_func_start sub_81087C0 -sub_81087C0: @ 81087C0 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08108856 - ldrh r0, [r5, 0x22] - adds r0, 0x8 - strh r0, [r5, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x38 - ldrsh r1, [r5, r2] - cmp r0, r1 - blt _08108856 - ldr r2, =gTasks - movs r3, 0x3A - ldrsh r1, [r5, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x1C] - ldr r0, =gUnknown_08597388 - movs r2, 0x20 - ldrsh r1, [r5, r2] - movs r3, 0x22 - ldrsh r2, [r5, r3] - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x30] - cmp r0, 0x40 - beq _08108850 - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0x3 - bl StartSpriteAffineAnim - movs r2, 0x30 - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r5, 0x3A] - strh r1, [r0, 0x3A] - movs r3, 0x30 - ldrsh r1, [r5, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r5, 0x3C] - strh r1, [r0, 0x3C] - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, =sub_810886C - str r1, [r0] -_08108850: - adds r0, r5, 0 - bl DestroySprite -_08108856: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81087C0 - - thumb_func_start sub_810886C -sub_810886C: @ 810886C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _081088D8 - movs r0, 0 - strh r0, [r4, 0x30] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _081088D8 - ldr r3, =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite -_081088D8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810886C - - thumb_func_start sub_81088E4 -sub_81088E4: @ 81088E4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r5, r1, r0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - strh r0, [r5, 0xE] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x10] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _08108928 - movs r1, 0x1 -_08108928: - strh r1, [r5, 0x16] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0810893C - movs r1, 0x16 - ldrsh r0, [r5, r1] - negs r0, r0 - strh r0, [r5, 0x16] -_0810893C: - movs r2, 0x16 - ldrsh r0, [r5, r2] - lsls r0, 3 - ldrh r1, [r5, 0xE] - adds r0, r1 - strh r0, [r5, 0x12] - movs r2, 0x16 - ldrsh r1, [r5, r2] - lsls r1, 3 - ldrh r0, [r5, 0x10] - subs r0, r1 - strh r0, [r5, 0x14] - ldr r0, =0x0000ffe0 - strh r0, [r5, 0x1A] - strh r6, [r5, 0xA] - strh r6, [r5, 0x8] - ldr r0, =sub_8108978 - str r0, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81088E4 - - thumb_func_start sub_8108978 -sub_8108978: @ 8108978 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bls _08108992 - b _08108AB2 -_08108992: - lsls r0, 2 - ldr r1, =_081089A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081089A4: - .4byte _081089C0 - .4byte _081089D0 - .4byte _081089EA - .4byte _08108A2C - .4byte _08108A4E - .4byte _08108A7C - .4byte _08108AA2 -_081089C0: - adds r0, r4, 0 - bl sub_8108AC0 - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08108AB8 - b _08108AAA -_081089D0: - adds r0, r4, 0 - bl sub_8108AC0 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _08108AB8 - movs r0, 0 - strh r0, [r4, 0xA] - b _08108AAA -_081089EA: - adds r0, r4, 0 - bl sub_8108AC0 - movs r1, 0x16 - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - ldrh r0, [r4, 0x12] - adds r1, r0 - movs r2, 0 - strh r1, [r4, 0x12] - adds r1, 0x10 - lsls r1, 16 - movs r0, 0x88 - lsls r0, 17 - cmp r1, r0 - bls _08108AB8 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08108A28 - movs r0, 0x1 - strh r0, [r4, 0x22] - movs r0, 0x6 - strh r0, [r4, 0x8] - strh r2, [r4, 0xA] - b _08108AB8 -_08108A28: - strh r2, [r4, 0xA] - b _08108AAA -_08108A2C: - adds r0, r4, 0 - bl sub_8108AC0 - movs r0, 0x16 - ldrsh r1, [r4, r0] - lsls r1, 1 - ldrh r0, [r4, 0x14] - subs r0, r1 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _08108AB8 - b _08108AAA -_08108A4E: - adds r0, r4, 0 - bl sub_8108AC0 - movs r1, 0x16 - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - ldrh r0, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x12] - adds r0, 0x10 - lsls r0, 16 - movs r1, 0x88 - lsls r1, 17 - cmp r0, r1 - bls _08108AB8 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - movs r0, 0 - strh r0, [r4, 0xA] - b _08108AAA -_08108A7C: - adds r0, r4, 0 - bl sub_8108AC0 - movs r0, 0x16 - ldrsh r1, [r4, r0] - lsls r1, 1 - ldrh r0, [r4, 0x14] - subs r0, r1 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _08108AB8 - movs r0, 0x2 - strh r0, [r4, 0x8] - b _08108AB8 -_08108AA2: - movs r1, 0x18 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08108AB8 -_08108AAA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08108AB8 -_08108AB2: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_08108AB8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8108978 - - thumb_func_start sub_8108AC0 -sub_8108AC0: @ 8108AC0 - push {r4-r6,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08108B1A - movs r0, 0 - strh r0, [r6, 0xC] - ldr r0, =gUnknown_08595268 - movs r2, 0xE - ldrsh r1, [r6, r2] - movs r3, 0x10 - ldrsh r2, [r6, r3] - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08108B1A - ldr r5, =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r0, r4, r5 - movs r1, 0x10 - strh r1, [r0, 0x2E] - ldrh r1, [r6, 0x12] - strh r1, [r0, 0x32] - ldrh r1, [r6, 0x14] - strh r1, [r0, 0x36] - ldrh r1, [r6, 0x1A] - strh r1, [r0, 0x38] - bl InitAnimArcTranslation - adds r5, 0x1C - adds r4, r5 - ldr r0, =sub_8108B2C - str r0, [r4] - ldrh r0, [r6, 0x18] - adds r0, 0x1 - strh r0, [r6, 0x18] -_08108B1A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108AC0 - - thumb_func_start sub_8108B2C -sub_8108B2C: @ 8108B2C - push {r4-r6,lr} - adds r6, r0, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _08108B86 - ldrh r0, [r6, 0x24] - ldrh r1, [r6, 0x20] - adds r0, r1 - strh r0, [r6, 0x20] - ldrh r0, [r6, 0x26] - ldrh r1, [r6, 0x22] - adds r0, r1 - strh r0, [r6, 0x22] - movs r0, 0x6 - strh r0, [r6, 0x2E] - bl Random2 - movs r4, 0x1F - adds r1, r4, 0 - ands r1, r0 - ldr r5, =0x0000fff0 - adds r1, r5 - ldrh r0, [r6, 0x20] - adds r1, r0 - strh r1, [r6, 0x32] - bl Random2 - ands r4, r0 - adds r4, r5 - ldrh r1, [r6, 0x22] - adds r4, r1 - strh r4, [r6, 0x36] - bl Random2 - movs r1, 0x7 - ands r1, r0 - mvns r1, r1 - strh r1, [r6, 0x38] - adds r0, r6, 0 - bl InitAnimArcTranslation - ldr r0, =sub_8108B94 - str r0, [r6, 0x1C] -_08108B86: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108B2C - - thumb_func_start sub_8108B94 -sub_8108B94: @ 8108B94 - push {r4-r6,lr} - adds r5, r0, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _08108BD0 - movs r4, 0 - ldr r6, =gTasks -_08108BA6: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r6 - ldr r1, [r2] - ldr r0, =sub_8108978 - cmp r1, r0 - bne _08108BC6 - movs r0, 0x1 - strh r0, [r2, 0x1C] - ldrh r0, [r2, 0x18] - subs r0, 0x1 - strh r0, [r2, 0x18] - adds r0, r5, 0 - bl DestroySprite -_08108BC6: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0xF - bls _08108BA6 -_08108BD0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108B94 - - thumb_func_start sub_8108BE0 -sub_8108BE0: @ 8108BE0 - ldr r2, =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r0, 0x20] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0x22] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0x2E] - ldrh r1, [r2, 0x6] - strh r1, [r0, 0x30] - ldrh r1, [r2, 0x8] - strh r1, [r0, 0x32] - ldrh r1, [r2, 0xA] - strh r1, [r0, 0x34] - ldr r1, =sub_8108C08 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_8108BE0 - - thumb_func_start sub_8108C08 -sub_8108C08: @ 8108C08 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x2E] - subs r0, r1 - strh r0, [r4, 0x36] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x38] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - cmp r0, 0 - bne _08108C4C - adds r0, r4, 0 - bl DestroyAnimSprite -_08108C4C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8108C08 - - thumb_func_start sub_8108C54 -sub_8108C54: @ 8108C54 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r1, r2 - strh r1, [r4, 0x36] - lsls r0, 16 - asrs r0, 23 - strh r0, [r4, 0x24] - lsls r1, 16 - asrs r1, 23 - strh r1, [r4, 0x26] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _08108C8C - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite -_08108C8C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8108C54 - - thumb_func_start sub_8108C94 -sub_8108C94: @ 8108C94 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x30] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldr r0, =sub_8108CDC - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108C94 - - thumb_func_start sub_8108CDC -sub_8108CDC: @ 8108CDC - push {r4-r6,lr} - adds r4, r0, 0 - movs r0, 0x30 - ldrsh r1, [r4, r0] - movs r2, 0x20 - ldrsh r0, [r4, r2] - subs r6, r1, r0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x22 - ldrsh r0, [r4, r2] - subs r5, r1, r0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - muls r0, r6 - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - muls r0, r5 - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _08108D34 - movs r0, 0 - strh r0, [r4, 0x38] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_8108D54 -_08108D34: - movs r0, 0x34 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08108D46 - adds r0, r4, 0 - bl DestroyAnimSprite -_08108D46: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8108CDC - - thumb_func_start sub_8108D54 -sub_8108D54: @ 8108D54 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r4, r1, 0 - adds r5, r2, 0 - movs r2, 0x2E - ldrsh r1, [r0, r2] - lsrs r2, r1, 31 - adds r1, r2 - lsls r1, 15 - lsrs r1, 16 - str r1, [sp] - ldrh r1, [r0, 0x24] - ldrh r3, [r0, 0x20] - adds r1, r3 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - bl Random2 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r0, r5, r0 - subs r0, 0x5 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - bl Random2 - negs r4, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r4, r0 - subs r4, 0x5 - lsls r4, 16 - lsrs r7, r4, 16 - movs r6, 0 - mov r0, r8 - lsls r0, 16 - mov r8, r0 - mov r1, r10 - lsls r1, 16 - str r1, [sp, 0xC] - ldr r2, [sp] - lsls r2, 16 - str r2, [sp, 0x10] - asrs r1, 16 - lsls r0, r7, 16 - asrs r5, r0, 16 - str r0, [sp, 0x14] - negs r3, r5 - str r3, [sp, 0x4] - asrs r0, r2, 16 - adds r1, r0 - lsls r1, 16 - mov r10, r1 -_08108DE2: - ldr r0, =gUnknown_08595310 - mov r2, r8 - asrs r1, r2, 16 - mov r3, r10 - asrs r2, r3, 16 - movs r3, 0x82 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r1 - movs r0, 0x14 - strh r0, [r4, 0x2E] - mov r0, r9 - strh r0, [r4, 0x30] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSpriteSubpriority - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - cmp r5, 0 - bge _08108E30 - mov r1, sp - ldrh r1, [r1, 0x4] - strh r1, [r4, 0x32] - b _08108E32 - .pool -_08108E30: - strh r7, [r4, 0x32] -_08108E32: - lsls r0, r6, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r6, r0, 16 - cmp r0, 0 - ble _08108DE2 - movs r6, 0 - ldr r3, [sp, 0xC] - asrs r1, r3, 16 - ldr r0, [sp, 0x14] - asrs r5, r0, 16 - negs r2, r5 - str r2, [sp, 0x8] - ldr r3, [sp, 0x10] - asrs r0, r3, 16 - subs r1, r0 - lsls r1, 16 - mov r10, r1 -_08108E58: - ldr r0, =gUnknown_08595310 - mov r2, r8 - asrs r1, r2, 16 - mov r3, r10 - asrs r2, r3, 16 - movs r3, 0x82 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r1 - movs r0, 0x14 - strh r0, [r4, 0x2E] - mov r0, r9 - strh r0, [r4, 0x30] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSpriteSubpriority - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - cmp r5, 0 - ble _08108EA8 - mov r1, sp - ldrh r1, [r1, 0x8] - strh r1, [r4, 0x32] - b _08108EAA - .pool -_08108EA8: - strh r7, [r4, 0x32] -_08108EAA: - lsls r0, r6, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r6, r0, 16 - cmp r0, 0 - ble _08108E58 - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8108D54 - - .align 2, 0 diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 014aa2048..185d18df1 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -3484,7 +3484,7 @@ Move_HAIL: loadspritegfx ANIM_TAG_ICE_CRYSTALS createvisualtask sub_8116620, 10, 1, 3, 0, 6, RGB_BLACK waitforvisualfinish - createvisualtask sub_810C918, 5 + createvisualtask AnimTask_Hail1, 5 loopsewithpan SE_W258, 0, 8, 10 waitforvisualfinish createvisualtask sub_8116620, 10, 1, 3, 6, 0, RGB_BLACK @@ -3956,7 +3956,7 @@ Move_MIST_BALL: createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 1, 1, RGB(23, 16, 31), 16, 0x7FFF, 16 delay 0 playsewithpan SE_W114, 0 - createvisualtask sub_810C324, 5 + createvisualtask AnimTask_LoadMistTiles, 5 createvisualtask sub_8116620, 10, 4, 3, 0, 16, RGB_WHITE delay 8 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 70, 0 @@ -5443,54 +5443,54 @@ SolarBeamSetUp: blendoff goto SolarBeamEnd SolarBeamSetUp1: - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, 40, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 40, 40, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, -40, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -40, -40, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 0, 40, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, 40, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 0, -40, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, -40, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, -20, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 40, -20, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, 20, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 40, 20, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, -20, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -40, -20, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, 20, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -40, 20, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -20, 30, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -20, 30, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 20, -30, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 20, -30, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -20, -30, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -20, -30, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 20, 30, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 20, 30, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, 0, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -40, 0, 16 delay 2 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, 0, 16 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 40, 0, 16 delay 2 return SolarBeamUnleash: call SetSolarbeamBg panse_1B SE_W076, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 - createvisualtask sub_80FEA58, 5 - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 0 + createvisualtask AnimTask_CreateSmallSolarbeamOrbs, 5 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 0 delay 4 - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 1 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 1 delay 4 createvisualtask sub_8116620, 10, 4, 1, 0, 10, RGB(25, 31, 0) - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 2 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 2 delay 4 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 65, 1 - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 3 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 3 delay 4 - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 4 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 4 delay 4 - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 5 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 5 delay 4 - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 6 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 6 delay 4 call SolarBeamUnleash1 call SolarBeamUnleash1 @@ -5499,19 +5499,19 @@ SolarBeamUnleash: call UnsetSolarbeamBg goto SolarBeamEnd SolarBeamUnleash1: - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 0 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 0 delay 4 - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 1 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 1 delay 4 - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 2 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 2 delay 4 - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 3 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 3 delay 4 - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 4 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 4 delay 4 - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 5 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 5 delay 4 - createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 6 + createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 6 delay 4 return @@ -5717,28 +5717,28 @@ Move_ABSORB: AbsorbEffect: playsewithpan SE_W152, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 delay 4 playsewithpan SE_W152, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 delay 4 playsewithpan SE_W152, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33 delay 4 playsewithpan SE_W152, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36 delay 4 playsewithpan SE_W152, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 delay 4 playsewithpan SE_W152, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 delay 4 playsewithpan SE_W152, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39 delay 4 playsewithpan SE_W152, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -20, 35 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -20, 35 delay 4 return @@ -5770,36 +5770,36 @@ Move_MEGA_DRAIN: MegaDrainEffect: playsewithpan SE_W145C, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -20, 35 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -20, 35 delay 4 playsewithpan SE_W145C, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39 delay 4 playsewithpan SE_W145C, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 delay 4 playsewithpan SE_W145C, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 delay 4 playsewithpan SE_W145C, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36 delay 4 playsewithpan SE_W145C, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33 delay 4 playsewithpan SE_W145C, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 delay 4 playsewithpan SE_W145C, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -20, 35 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -20, 35 delay 4 return @@ -5831,44 +5831,44 @@ Move_GIGA_DRAIN: GigaDrainEffect: playsewithpan SE_W202, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -40, 35 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -40, 35 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39 delay 4 playsewithpan SE_W202, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 28, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 40, 39 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 28, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 40, 39 delay 4 playsewithpan SE_W202, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -32, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -32, 26 delay 4 playsewithpan SE_W202, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 delay 4 playsewithpan SE_W202, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 delay 4 playsewithpan SE_W202, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -40, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -40, 26 delay 4 playsewithpan SE_W202, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 36, 33 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 36, 33 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39 delay 4 playsewithpan SE_W202, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -20, 35 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -20, 35 delay 4 return @@ -6749,11 +6749,11 @@ Move_COTTON_SPORE: end CottonSpore1: - createsprite gUnknown_085922EC, ANIM_ATTACKER, 2, 0, -20, 85, 80, 0 + createsprite gSporeParticleSpriteTemplate, ANIM_ATTACKER, 2, 0, -20, 85, 80, 0 delay 12 - createsprite gUnknown_085922EC, ANIM_ATTACKER, 2, 0, -10, 170, 80, 0 + createsprite gSporeParticleSpriteTemplate, ANIM_ATTACKER, 2, 0, -10, 170, 80, 0 delay 12 - createsprite gUnknown_085922EC, ANIM_ATTACKER, 2, 0, -15, 0, 80, 0 + createsprite gSporeParticleSpriteTemplate, ANIM_ATTACKER, 2, 0, -15, 0, 80, 0 delay 12 return @@ -6761,7 +6761,7 @@ Move_SPORE: loadspritegfx ANIM_TAG_SPORE monbg ANIM_DEF_PARTNER setalpha 12, 8 - createvisualtask sub_80FEE1C, 2 + createvisualtask AnimTask_SporeDoubleBattle, 2 loopsewithpan SE_W077, SOUND_PAN_TARGET, 16, 11 call Spore1 call Spore1 @@ -6773,11 +6773,11 @@ Move_SPORE: end Spore1: - createsprite gUnknown_085922EC, ANIM_TARGET, 2, 0, -20, 85, 80, 1 + createsprite gSporeParticleSpriteTemplate, ANIM_TARGET, 2, 0, -20, 85, 80, 1 delay 12 - createsprite gUnknown_085922EC, ANIM_TARGET, 2, 0, -10, 170, 80, 1 + createsprite gSporeParticleSpriteTemplate, ANIM_TARGET, 2, 0, -10, 170, 80, 1 delay 12 - createsprite gUnknown_085922EC, ANIM_TARGET, 2, 0, -15, 0, 80, 1 + createsprite gSporeParticleSpriteTemplate, ANIM_TARGET, 2, 0, -15, 0, 80, 1 delay 12 return @@ -6788,23 +6788,23 @@ Move_PETAL_DANCE: setalpha 12, 8 playsewithpan SE_W080, SOUND_PAN_ATTACKER createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 6, 6, 3 - createsprite gUnknown_0859231C, ANIM_ATTACKER, 2, 0, -24, 8, 140 - createsprite gUnknown_08592334, ANIM_ATTACKER, 2, 16, -24, 8, 100 - createsprite gUnknown_08592334, ANIM_ATTACKER, 2, -16, -24, 8, 100 + createsprite gPetalDanceBigFlowerSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 8, 140 + createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, 16, -24, 8, 100 + createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, -16, -24, 8, 100 delay 15 - createsprite gUnknown_0859231C, ANIM_ATTACKER, 2, 0, -24, 8, 140 - createsprite gUnknown_08592334, ANIM_ATTACKER, 2, 32, -24, 8, 100 - createsprite gUnknown_08592334, ANIM_ATTACKER, 2, -32, -24, 8, 100 + createsprite gPetalDanceBigFlowerSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 8, 140 + createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, 32, -24, 8, 100 + createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, -32, -24, 8, 100 delay 15 - createsprite gUnknown_0859231C, ANIM_ATTACKER, 2, 0, -24, 8, 140 - createsprite gUnknown_08592334, ANIM_ATTACKER, 2, 24, -24, 8, 100 - createsprite gUnknown_08592334, ANIM_ATTACKER, 2, -24, -24, 8, 100 + createsprite gPetalDanceBigFlowerSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 8, 140 + createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, 24, -24, 8, 100 + createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, -24, -24, 8, 100 delay 30 - createsprite gUnknown_08592334, ANIM_ATTACKER, 2, 16, -24, 0, 100 - createsprite gUnknown_08592334, ANIM_ATTACKER, 2, -16, -24, 0, 100 + createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, 16, -24, 0, 100 + createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, -16, -24, 0, 100 delay 30 - createsprite gUnknown_08592334, ANIM_ATTACKER, 2, 20, -16, 14, 80 - createsprite gUnknown_08592334, ANIM_ATTACKER, 2, -20, -14, 16, 80 + createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, 20, -16, 14, 80 + createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, -20, -14, 16, 80 waitforvisualfinish createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 5 delay 3 @@ -6827,29 +6827,29 @@ Move_RAZOR_LEAF: setalpha 12, 8 delay 1 loopsewithpan SE_W077, SOUND_PAN_ATTACKER, 10, 5 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -2, 10 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -3, -2, 10 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -1, -1, 15 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -1, -1, 15 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -4, -4, 7 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -4, -4, 7 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 3, -3, 11 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 3, -3, 11 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -1, -6, 8 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -1, -6, 8 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 2, -1, 12 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 2, -1, 12 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -4, 13 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -3, -4, 13 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 4, -5, 7 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 4, -5, 7 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 2, -6, 11 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 2, -6, 11 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -5, 8 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -3, -5, 8 delay 60 playsewithpan SE_W013B, SOUND_PAN_ATTACKER - createsprite gUnknown_085923D8, ANIM_TARGET, 3, 20, -10, 20, 0, 22, 20, 1 - createsprite gUnknown_085923D8, ANIM_TARGET, 3, 20, -10, 20, 0, 22, -20, 1 + createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 22, 20, 1 + createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 22, -20, 1 delay 20 playsewithpan SE_W013, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 @@ -6937,7 +6937,7 @@ Mist1: Move_HAZE: waitforvisualfinish playsewithpan SE_W114, 0 - createvisualtask sub_810C0A0, 5 + createvisualtask AnimTask_Haze1, 5 delay 30 createvisualtask sub_8116620, 10, 0x780, 2, 0, 16, RGB_BLACK delay 0x5A @@ -7025,44 +7025,44 @@ Move_DREAM_EATER: end DreamEaterEffect: playsewithpan SE_W207, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -40, 35 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -40, 35 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39 delay 4 playsewithpan SE_W207, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 28, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 40, 39 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 28, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 40, 39 delay 4 playsewithpan SE_W207, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -32, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -32, 26 delay 4 playsewithpan SE_W207, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 delay 4 playsewithpan SE_W207, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 delay 4 playsewithpan SE_W207, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -40, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -40, 26 delay 4 playsewithpan SE_W207, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 36, 33 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 36, 33 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39 delay 4 playsewithpan SE_W207, SOUND_PAN_TARGET - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26 - createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -20, 35 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 + createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -20, 35 delay 4 return @@ -7573,19 +7573,19 @@ Move_RECOVER: end Recover1: - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, -10, 13 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 40, -10, 13 delay 3 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -35, -10, 13 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -35, -10, 13 delay 3 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 15, -40, 13 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 15, -40, 13 delay 3 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -10, -32, 13 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -10, -32, 13 delay 3 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 25, -20, 13 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 25, -20, 13 delay 3 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, -20, 13 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -40, -20, 13 delay 3 - createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 5, -40, 13 + createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 5, -40, 13 delay 3 return @@ -7597,7 +7597,7 @@ Move_MIMIC: panse_1B SE_W107, SOUND_PAN_TARGET, SOUND_PAN_ATTACKER, -3, 0 createvisualtask sub_80FF458, 5, 128, 24 delay 15 - createsprite gUnknown_085924DC, ANIM_TARGET, 2, -12, 24 + createsprite gMimicOrbSpriteTemplate, ANIM_TARGET, 2, -12, 24 delay 10 setarg 7, -1 waitforvisualfinish @@ -7611,12 +7611,12 @@ Move_MIMIC: Move_CONSTRICT: loadspritegfx ANIM_TAG_TENDRILS loopsewithpan SE_W010, SOUND_PAN_TARGET, 6, 4 - createsprite gUnknown_08592494, ANIM_TARGET, 4, 0, 16, 0, 2 + createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 4, 0, 16, 0, 2 delay 7 - createsprite gUnknown_08592494, ANIM_TARGET, 3, 0, 0, 0, 2 - createsprite gUnknown_08592494, ANIM_TARGET, 2, 0, 8, 1, 2 + createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 3, 0, 0, 0, 2 + createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 2, 0, 8, 1, 2 delay 7 - createsprite gUnknown_08592494, ANIM_TARGET, 3, 0, -8, 1, 2 + createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 3, 0, -8, 1, 2 delay 8 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 delay 20 @@ -7824,28 +7824,28 @@ Move_FURY_SWIPES: Move_INGRAIN: loadspritegfx ANIM_TAG_ROOTS loadspritegfx ANIM_TAG_ORBS - createsprite gUnknown_0859254C, ANIM_ATTACKER, 2, 16, 26, -1, 2, 150 + createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 16, 26, -1, 2, 150 playsewithpan SE_W010, SOUND_PAN_ATTACKER delay 10 - createsprite gUnknown_0859254C, ANIM_ATTACKER, 2, -32, 20, 1, 1, 140 + createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, -32, 20, 1, 1, 140 playsewithpan SE_W010, SOUND_PAN_ATTACKER delay 10 - createsprite gUnknown_0859254C, ANIM_ATTACKER, 2, 32, 22, 1, 0, 130 + createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 32, 22, 1, 0, 130 playsewithpan SE_W010, SOUND_PAN_ATTACKER delay 10 - createsprite gUnknown_0859254C, ANIM_ATTACKER, 2, -16, 25, -1, 3, 120 + createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, -16, 25, -1, 3, 120 playsewithpan SE_W010, SOUND_PAN_ATTACKER delay 40 - createsprite gUnknown_0859258C, ANIM_ATTACKER, 3, 32, 26, -1, 3, 30 + createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 32, 26, -1, 3, 30 delay 5 playsewithpan SE_W145C, SOUND_PAN_ATTACKER delay 5 - createsprite gUnknown_0859258C, ANIM_ATTACKER, 3, -48, 20, 1, 2, 30 + createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, -48, 20, 1, 2, 30 playsewithpan SE_W145C, SOUND_PAN_ATTACKER delay 5 playsewithpan SE_W145C, SOUND_PAN_ATTACKER delay 5 - createsprite gUnknown_0859258C, ANIM_ATTACKER, 3, 48, 26, -2, 3, 18 + createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 48, 26, -2, 3, 18 playsewithpan SE_W145C, SOUND_PAN_ATTACKER delay 10 waitforvisualfinish @@ -7854,7 +7854,7 @@ Move_INGRAIN: Move_PRESENT: loadspritegfx ANIM_TAG_ITEM_BAG createvisualtask AnimTask_IsHealingMove, 2 - createsprite gUnknown_08592610, ANIM_TARGET, 2, 0, -5, 10, 2, -1 + createsprite gPresentSpriteTemplate, ANIM_TARGET, 2, 0, -5, 10, 2, -1 playsewithpan SE_W039, SOUND_PAN_ATTACKER delay 14 playsewithpan SE_W145B, SOUND_PAN_ATTACKER @@ -7889,23 +7889,23 @@ PresentHeal: loadspritegfx ANIM_TAG_GREEN_SPARKLE loadspritegfx ANIM_TAG_BLUE_STAR playsewithpan SE_W234, SOUND_PAN_TARGET - createsprite gUnknown_08592658, ANIM_TARGET, 4, -16, 32, -3, 1 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -16, 32, -3, 1 delay 3 - createsprite gUnknown_08592658, ANIM_TARGET, 4, 16, 32, -3, -1 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, 16, 32, -3, -1 delay 3 - createsprite gUnknown_08592658, ANIM_TARGET, 4, 32, 32, -3, 1 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, 32, 32, -3, 1 delay 3 - createsprite gUnknown_08592658, ANIM_TARGET, 4, -32, 32, -3, 1 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -32, 32, -3, 1 delay 3 - createsprite gUnknown_08592658, ANIM_TARGET, 4, 0, 32, -3, 1 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, 0, 32, -3, 1 delay 3 - createsprite gUnknown_08592658, ANIM_TARGET, 4, -8, 32, -3, 1 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -8, 32, -3, 1 delay 3 - createsprite gUnknown_08592658, ANIM_TARGET, 4, -8, 32, -3, 1 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -8, 32, -3, 1 delay 3 - createsprite gUnknown_08592658, ANIM_TARGET, 4, 24, 32, -3, 1 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, 24, 32, -3, 1 delay 3 - createsprite gUnknown_08592658, ANIM_TARGET, 4, -24, 32, -3, 1 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -24, 32, -3, 1 waitforvisualfinish waitsound call HealingEffect2 @@ -8115,8 +8115,8 @@ Move_ENCORE: Move_TRICK: loadspritegfx ANIM_TAG_ITEM_BAG loadspritegfx ANIM_TAG_SPEED_DUST - createsprite gUnknown_085926E8, ANIM_ATTACKER, 2, -40, 80 - createsprite gUnknown_085926E8, ANIM_ATTACKER, 2, -40, 208 + createsprite gTrickBagSpriteTemplate, ANIM_ATTACKER, 2, -40, 80 + createsprite gTrickBagSpriteTemplate, ANIM_ATTACKER, 2, -40, 208 delay 16 playsewithpan SE_W166, 0 createvisualtask sub_8106020, 3 @@ -8167,21 +8167,21 @@ Move_STOCKPILE: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 0, 12, 0, RGB_WHITE end Stockpile1: - createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 55, 55, 13 + createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 55, 55, 13 delay 1 - createsprite gUnknown_08592244, ANIM_ATTACKER, 2, -55, -55, 13 + createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -55, -55, 13 delay 1 - createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 0, 55, 13 + createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, 55, 13 delay 1 - createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 0, -55, 13 + createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, -55, 13 delay 1 - createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 55, -34, 13 + createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 55, -34, 13 delay 1 - createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 55, 34, 13 + createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 55, 34, 13 delay 1 - createsprite gUnknown_08592244, ANIM_ATTACKER, 2, -55, -34, 13 + createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -55, -34, 13 delay 1 - createsprite gUnknown_08592244, ANIM_ATTACKER, 2, -55, 34, 13 + createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -55, 34, 13 delay 1 return @@ -8392,8 +8392,8 @@ Move_HYPER_BEAM: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 4, 16, 0, RGB_BLACK end HyperBeam1: - createsprite gUnknown_08592288, ANIM_TARGET, 2 - createsprite gUnknown_08592288, ANIM_TARGET, 2 + createsprite gHyperBeamOrbSpriteTemplate, ANIM_TARGET, 2 + createsprite gHyperBeamOrbSpriteTemplate, ANIM_TARGET, 2 delay 1 return @@ -8790,31 +8790,31 @@ Move_FRENZY_PLANT: setalpha 12, 8 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 2, 0, 5, RGB_BLACK waitforvisualfinish - createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 10, 8, 2, 0, 0, 100 + createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 10, 8, 2, 0, 0, 100 playsewithpan SE_W010, SOUND_PAN_ATTACKER delay 5 - createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 20, -8, -2, 0, 1, 95 + createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 20, -8, -2, 0, 1, 95 playsewithpan SE_W010, -43 delay 5 - createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 30, 8, -4, 0, 0, 90 + createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 30, 8, -4, 0, 0, 90 playsewithpan SE_W010, -22 delay 5 - createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 40, -8, 4, 0, 1, 85 + createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 40, -8, 4, 0, 1, 85 playsewithpan SE_W010, 0 delay 5 - createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 50, 8, 0, 0, 0, 85 + createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 50, 8, 0, 0, 0, 85 playsewithpan SE_W010, +21 delay 5 - createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 60, -8, -2, 0, 1, 85 + createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 60, -8, -2, 0, 1, 85 playsewithpan SE_W010, +42 delay 5 - createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 75, 8, 0, 0, 0, 85 + createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 75, 8, 0, 0, 0, 85 playsewithpan SE_W010, SOUND_PAN_TARGET delay 5 - createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 85, 16, 6, 0, 3, 80 + createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 85, 16, 6, 0, 3, 80 playsewithpan SE_W010, SOUND_PAN_TARGET delay 5 - createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 85, -16, -6, 0, 2, 75 + createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 85, -16, -6, 0, 2, 75 playsewithpan SE_W010, SOUND_PAN_TARGET delay 5 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -10, 1, 3 @@ -9649,26 +9649,26 @@ Move_TWISTER: monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET playsewithpan SE_W239, SOUND_PAN_TARGET - createsprite gUnknown_085923A8, ANIM_TARGET, 2, 120, 70, 5, 70, 30 + createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 120, 70, 5, 70, 30 delay 1 - createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 55, 6, 60, 25 + createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 55, 6, 60, 25 delay 1 - createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 60, 7, 60, 30 - createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 55, 10, 60, 30 + createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 60, 7, 60, 30 + createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 55, 10, 60, 30 delay 3 createsprite gUnknown_08596CC8, ANIM_TARGET, 2, 100, 50, 4, 50, 26 delay 1 - createsprite gUnknown_085923A8, ANIM_TARGET, 2, 105, 25, 8, 60, 20 + createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 105, 25, 8, 60, 20 delay 1 - createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 40, 10, 48, 30 + createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 40, 10, 48, 30 delay 3 createsprite gUnknown_08596CC8, ANIM_TARGET, 2, 120, 30, 6, 45, 25 - createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 35, 10, 60, 30 + createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 35, 10, 60, 30 delay 3 createsprite gUnknown_08596CC8, ANIM_TARGET, 2, 105, 20, 8, 40, 0 delay 3 - createsprite gUnknown_085923A8, ANIM_TARGET, 2, 20, 255, 15, 32, 0 - createsprite gUnknown_085923A8, ANIM_TARGET, 2, 110, 10, 8, 32, 20 + createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 20, 255, 15, 32, 0 + createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 110, 10, 8, 32, 20 waitforvisualfinish createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -32, -16, 1, 3 playsewithpan SE_W004, SOUND_PAN_TARGET @@ -9697,29 +9697,29 @@ Move_MAGICAL_LEAF: delay 1 loopsewithpan SE_W077, SOUND_PAN_ATTACKER, 10, 5 createvisualtask sub_81007C4, 5 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -2, 10 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -3, -2, 10 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -1, -1, 15 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -1, -1, 15 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -4, -4, 7 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -4, -4, 7 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 3, -3, 11 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 3, -3, 11 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -1, -6, 8 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -1, -6, 8 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 2, -1, 12 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 2, -1, 12 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -4, 13 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -3, -4, 13 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 4, -5, 7 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 4, -5, 7 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 2, -6, 11 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 2, -6, 11 delay 2 - createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -5, 8 + createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -3, -5, 8 delay 60 playsewithpan SE_W013B, SOUND_PAN_ATTACKER - createsprite gUnknown_085923D8, ANIM_TARGET, 3, 20, -10, 20, 0, 32, 20, 0 - createsprite gUnknown_085923D8, ANIM_TARGET, 3, 20, -10, 20, 0, 32, -20, 0 + createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 32, 20, 0 + createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 32, -20, 0 delay 30 playsewithpan SE_W013, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, -4, 1, 2 @@ -10344,7 +10344,7 @@ General_PokeblockThrow: General_ItemKnockoff: loadspritegfx ANIM_TAG_ITEM_BAG - createsprite gBattleAnimSpriteTemplate_8592628, ANIM_TARGET, 2 + createsprite gKnockOffItemSpriteTemplate, ANIM_TARGET, 2 end General_TurnTrap: @@ -10357,9 +10357,9 @@ General_TurnTrap: Status_BindWrap: loadspritegfx ANIM_TAG_TENDRILS loopsewithpan SE_W010, SOUND_PAN_TARGET, 6, 2 - createsprite gUnknown_08592494, ANIM_TARGET, 4, 0, 16, 0, 1 + createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 4, 0, 16, 0, 1 delay 7 - createsprite gUnknown_08592494, ANIM_TARGET, 2, 0, 8, 1, 1 + createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 2, 0, 8, 1, 1 delay 3 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 delay 20 @@ -10537,7 +10537,7 @@ General_ItemSteal: createvisualtask sub_8117F30, 2 createvisualtask sub_8172ED0, 2 delay 1 - createsprite gUnknown_08592670, ANIM_ATTACKER, 2, 0, -5, 10, 2, -1 + createsprite gItemStealSpriteTemplate, ANIM_ATTACKER, 2, 0, -5, 10, 2, -1 end General_SnatchMove: diff --git a/data/cry_id_table.inc b/data/cry_id_table.inc deleted file mode 100644 index ece08de06..000000000 --- a/data/cry_id_table.inc +++ /dev/null @@ -1,137 +0,0 @@ - .align 1 -gSpeciesIdToCryId:: @ 831F61C - .2byte 273 @ TREECKO - .2byte 274 @ GROVYLE - .2byte 275 @ SCEPTILE - .2byte 270 @ TORCHIC - .2byte 271 @ COMBUSKEN - .2byte 272 @ BLAZIKEN - .2byte 276 @ MUDKIP - .2byte 277 @ MARSHTOMP - .2byte 278 @ SWAMPERT - .2byte 359 @ POOCHYENA - .2byte 360 @ MIGHTYENA - .2byte 378 @ ZIGZAGOON - .2byte 375 @ LINOONE - .2byte 290 @ WURMPLE - .2byte 291 @ SILCOON - .2byte 292 @ BEAUTIFLY - .2byte 293 @ CASCOON - .2byte 294 @ DUSTOX - .2byte 283 @ LOTAD - .2byte 284 @ LOMBRE - .2byte 285 @ LUDICOLO - .2byte 286 @ SEEDOT - .2byte 287 @ NUZLEAF - .2byte 288 @ SHIFTRY - .2byte 301 @ NINCADA - .2byte 302 @ NINJASK - .2byte 303 @ SHEDINJA - .2byte 266 @ TAILLOW - .2byte 267 @ SWELLOW - .2byte 374 @ SHROOMISH - .2byte 373 @ BRELOOM - .2byte 269 @ SPINDA - .2byte 280 @ WINGULL - .2byte 279 @ PELIPPER - .2byte 310 @ SURSKIT - .2byte 311 @ MASQUERAIN - .2byte 377 @ WAILMER - .2byte 381 @ WAILORD - .2byte 312 @ SKITTY - .2byte 313 @ DELCATTY - .2byte 251 @ KECLEON - .2byte 329 @ BALTOY - .2byte 330 @ CLAYDOL - .2byte 306 @ NOSEPASS - .2byte 253 @ TORKOAL - .2byte 362 @ SABLEYE - .2byte 318 @ BARBOACH - .2byte 319 @ WHISCASH - .2byte 368 @ LUVDISC - .2byte 320 @ CORPHISH - .2byte 321 @ CRAWDAUNT - .2byte 333 @ FEEBAS - .2byte 334 @ MILOTIC - .2byte 289 @ CARVANHA - .2byte 260 @ SHARPEDO - .2byte 324 @ TRAPINCH - .2byte 325 @ VIBRAVA - .2byte 326 @ FLYGON - .2byte 304 @ MAKUHITA - .2byte 305 @ HARIYAMA - .2byte 254 @ ELECTRIKE - .2byte 255 @ MANECTRIC - .2byte 316 @ NUMEL - .2byte 317 @ CAMERUPT - .2byte 338 @ SPHEAL - .2byte 339 @ SEALEO - .2byte 340 @ WALREIN - .2byte 327 @ CACNEA - .2byte 328 @ CACTURNE - .2byte 383 @ SNORUNT - .2byte 307 @ GLALIE - .2byte 331 @ LUNATONE - .2byte 332 @ SOLROCK - .2byte 262 @ AZURILL - .2byte 322 @ SPOINK - .2byte 323 @ GRUMPIG - .2byte 308 @ PLUSLE - .2byte 309 @ MINUN - .2byte 363 @ MAWILE - .2byte 336 @ MEDITITE - .2byte 337 @ MEDICHAM - .2byte 263 @ SWABLU - .2byte 264 @ ALTARIA - .2byte 258 @ WYNAUT - .2byte 256 @ DUSKULL - .2byte 361 @ DUSCLOPS - .2byte 252 @ ROSELIA - .2byte 298 @ SLAKOTH - .2byte 299 @ VIGOROTH - .2byte 300 @ SLAKING - .2byte 314 @ GULPIN - .2byte 315 @ SWALOT - .2byte 376 @ TROPIUS - .2byte 382 @ WHISMUR - .2byte 380 @ LOUDRED - .2byte 379 @ EXPLOUD - .2byte 341 @ CLAMPERL - .2byte 342 @ HUNTAIL - .2byte 343 @ GOREBYSS - .2byte 335 @ ABSOL - .2byte 282 @ SHUPPET - .2byte 281 @ BANETTE - .2byte 259 @ SEVIPER - .2byte 261 @ ZANGOOSE - .2byte 367 @ RELICANTH - .2byte 364 @ ARON - .2byte 365 @ LAIRON - .2byte 366 @ AGGRON - .2byte 356 @ CASTFORM - .2byte 357 @ VOLBEAT - .2byte 358 @ ILLUMISE - .2byte 344 @ LILEEP - .2byte 345 @ CRADILY - .2byte 346 @ ANORITH - .2byte 347 @ ARMALDO - .2byte 295 @ RALTS - .2byte 296 @ KIRLIA - .2byte 297 @ GARDEVOIR - .2byte 351 @ BAGON - .2byte 352 @ SHELGON - .2byte 372 @ SALAMENCE - .2byte 348 @ BELDUM - .2byte 349 @ METANG - .2byte 350 @ METAGROSS - .2byte 353 @ REGIROCK - .2byte 354 @ REGICE - .2byte 355 @ REGISTEEL - .2byte 370 @ KYOGRE - .2byte 369 @ GROUDON - .2byte 371 @ RAYQUAZA - .2byte 257 @ LATIAS - .2byte 384 @ LATIOS - .2byte 385 @ JIRACHI - .2byte 386 @ DEOXYS - .2byte 387 @ CHIMECHO diff --git a/data/data2c.s b/data/data2c.s deleted file mode 100644 index 5bfea56ae..000000000 --- a/data/data2c.s +++ /dev/null @@ -1,56 +0,0 @@ -#include "constants/items.h" -#include "constants/moves.h" -#include "constants/species.h" -#include "constants/trainers.h" -#include "constants/pokemon.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gBattleIntroSlideScanlineEffectParams:: @ 831AC70 - .4byte REG_BG3HOFS - .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 - .4byte 1 - - .align 2 -gUnknown_0831AC7C:: @ 831AC7C - .4byte REG_BG3HOFS - .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_32BIT | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 - .4byte 1 - - .align 2 -gUnknown_0831AC88:: @ 831AC88 - spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8038528 - -gText_ShedinjaJapaneseName:: @ 831ACA0 - .string "ヌケニン$" @ Nukenin - - .align 2 -gUnknown_0831ACA8:: @ 831ACA8 - .2byte 0x0100 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gUnknown_0831ACB0:: @ 831ACB0 - .2byte 0x0100 - .2byte 0xC000 - .2byte 0x2800 - - .align 2 -gUnknown_0831ACB8:: @ 831ACB8 - .2byte 0x0000, 0x0005, 0xfffe, 0x0000 - - .align 2 -gUnknown_0831ACC0:: @ 831ACC0 - .4byte gUnknown_0831ACB8 - - .align 2 -gUnknown_0831ACC4:: @ 831ACC4 - .2byte 0xfff0, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x3c00, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_0831ACDC:: @ 831ACDC - .4byte gUnknown_0831ACC4 diff --git a/data/event_scripts.s b/data/event_scripts.s index 5bd8825ad..5b15bf090 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1,5 +1,6 @@ #include "constants/battle_frontier.h" #include "constants/battle_setup.h" +#include "constants/event_objects.h" #include "constants/field_effects.h" #include "constants/flags.h" #include "constants/items.h" @@ -10,6 +11,7 @@ #include "constants/species.h" #include "constants/trainers.h" #include "constants/vars.h" +#include "constants/weather.h" .include "asm/macros.inc" .include "asm/macros/event.inc" .include "constants/constants.inc" @@ -449,8 +451,7 @@ EventScript_SecretBasePC:: @ 823B4BB EventScript_23B4D3:: @ 823B4D3 message Text_27681A waitmessage - checkflag FLAG_0x10C - goto_eq EventScript_23B4EF + goto_if_set FLAG_0x10C, EventScript_23B4EF goto EventScript_23B531 end @@ -481,7 +482,7 @@ EventScript_23B531:: @ 823B531 EventScript_23B568:: @ 823B568 msgbox Text_2766AA, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_23B4D3 + goto_if_eq EventScript_23B4D3 closemessage special sub_80E9AC0 releaseall @@ -527,32 +528,32 @@ gUnknown_0823B5E9:: @ 823B5E9 EventScript_23B5F0:: @ 823B5F0 special sub_80E9BDC compare VAR_RESULT, 1 - goto_eq EventScript_23B62F + goto_if_eq EventScript_23B62F compare VAR_RESULT, 2 - goto_eq EventScript_23B652 + goto_if_eq EventScript_23B652 special sub_80E980C msgbox Text_276707, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_23B5A1 + goto_if_eq EventScript_23B5A1 msgbox Text_2767D1, MSGBOX_SIGN special sub_80E9C2C - special sub_80FA57C + special DoSecretBasePCTurnOffEffect releaseall end EventScript_23B62F:: @ 823B62F msgbox Text_276731, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_23B5A1 + goto_if_eq EventScript_23B5A1 msgbox Text_2767E9, MSGBOX_SIGN special sub_80E9C2C - special sub_80FA57C + special DoSecretBasePCTurnOffEffect releaseall end EventScript_23B652:: @ 823B652 msgbox Text_27676F, MSGBOX_SIGN - special sub_80FA57C + special DoSecretBasePCTurnOffEffect closemessage releaseall end @@ -563,7 +564,7 @@ EventScript_23B660:: @ 823B660 end EventScript_23B66E:: @ 823B66E - special sub_80FA57C + special DoSecretBasePCTurnOffEffect closemessage releaseall end @@ -591,15 +592,15 @@ EventScript_SecretBaseSandOrnament:: @ 823B684 end EventScript_SecretBaseShieldOrToyTV:: @ 823B68C - special sub_80FAC78 + special GetShieldToyTVDecorationInfo compare VAR_RESULT, 0 - goto_eq EventScript_23B6BC + goto_if_eq EventScript_23B6BC compare VAR_RESULT, 1 - goto_eq EventScript_23B6C5 + goto_if_eq EventScript_23B6C5 compare VAR_RESULT, 2 - goto_eq EventScript_23B6CE + goto_if_eq EventScript_23B6CE compare VAR_RESULT, 3 - goto_eq EventScript_23B6D7 + goto_if_eq EventScript_23B6D7 end EventScript_23B6BC:: @ 823B6BC @@ -847,9 +848,9 @@ VerdanturfTown_BattleTentLobby_EventScript_27134F:: @ 827134F EventScript_271354:: @ 8271354 cmdD8 cmdD9 - + .include "data/scripts/trainer_battle.inc" - + Std_MsgboxAutoclose:: @ 8271494 message 0x0 waitmessage @@ -1108,7 +1109,7 @@ EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1 setflag FLAG_0x87F call EverGrandeCity_HallOfFame_EventScript_271829 compare VAR_0x40CC, 0 - call_if 1, EverGrandeCity_HallOfFame_EventScript_271839 + call_if_eq EverGrandeCity_HallOfFame_EventScript_271839 clearflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS call EverGrandeCity_HallOfFame_EventScript_2718CC setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY @@ -1123,14 +1124,12 @@ EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1 clearflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION setflag FLAG_HIDE_LILYCOVE_CITY_RIVAL special sub_813BA60 - checkflag FLAG_0x123 - call_if 0, EverGrandeCity_HallOfFame_EventScript_271843 - checkflag FLAG_0x12A - call_if 0, EverGrandeCity_HallOfFame_EventScript_27183F + call_if_unset FLAG_0x123, EverGrandeCity_HallOfFame_EventScript_271843 + call_if_unset FLAG_0x12A, EverGrandeCity_HallOfFame_EventScript_27183F setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM compare VAR_0x40D3, 0 - call_if 1, EverGrandeCity_HallOfFame_EventScript_271851 + call_if_eq EverGrandeCity_HallOfFame_EventScript_271851 return EverGrandeCity_HallOfFame_EventScript_271829:: @ 8271829 @@ -1166,11 +1165,11 @@ EventScript_WhiteOut:: @ 8271857 EventScript_271862:: @ 8271862 compare VAR_0x4096, 1 - goto_eq EverGrandeCity_HallOfFame_EventScript_271884 + goto_if_eq EverGrandeCity_HallOfFame_EventScript_271884 compare VAR_0x4096, 2 - goto_eq EverGrandeCity_HallOfFame_EventScript_27189A + goto_if_eq EverGrandeCity_HallOfFame_EventScript_27189A compare VAR_0x4096, 3 - goto_eq EverGrandeCity_HallOfFame_EventScript_2718B3 + goto_if_eq EverGrandeCity_HallOfFame_EventScript_2718B3 end EverGrandeCity_HallOfFame_EventScript_271884:: @ 8271884 @@ -1222,16 +1221,11 @@ PetalburgCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE RustboroCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE SlateportCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE VerdanturfTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE - checkflag FLAG_0x0BC - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_27374E - checkflag FLAG_0x4F4 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_27374E - checkflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_27190C - checkflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271912 - checkflag FLAG_HIDE_ROUTE_108_MR_BRINEY - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271918 + goto_if_unset FLAG_0x0BC, OldaleTown_PokemonCenter_1F_EventScript_27374E + goto_if_set FLAG_0x4F4, OldaleTown_PokemonCenter_1F_EventScript_27374E + goto_if_unset FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT, OldaleTown_PokemonCenter_1F_EventScript_27190C + goto_if_unset FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN, OldaleTown_PokemonCenter_1F_EventScript_271912 + goto_if_unset FLAG_HIDE_ROUTE_108_MR_BRINEY, OldaleTown_PokemonCenter_1F_EventScript_271918 return OldaleTown_PokemonCenter_1F_EventScript_27190C:: @ 827190C @@ -1269,12 +1263,12 @@ VerdanturfTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E setvar VAR_0x8004, 0 specialvar VAR_RESULT, sub_80C2E40 compare VAR_RESULT, 4 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A68 + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A68 msgbox gUnknown_082726EB, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_27195A + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_27195A compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_271954 + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271954 end OldaleTown_PokemonCenter_1F_EventScript_271954:: @ 8271954 @@ -1284,13 +1278,12 @@ OldaleTown_PokemonCenter_1F_EventScript_271954:: @ 8271954 OldaleTown_PokemonCenter_1F_EventScript_27195A:: @ 827195A incrementgamestat 15 compare VAR_0x8004, 0 - call_if 1, OldaleTown_PokemonCenter_1F_EventScript_271987 + call_if_eq OldaleTown_PokemonCenter_1F_EventScript_271987 compare VAR_0x8004, 1 - call_if 1, OldaleTown_PokemonCenter_1F_EventScript_27198D + call_if_eq OldaleTown_PokemonCenter_1F_EventScript_27198D waitmessage call OldaleTown_PokemonCenter_1F_EventScript_271993 - checkflag FLAG_0x111 - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271A43 + goto_if_unset FLAG_0x111, OldaleTown_PokemonCenter_1F_EventScript_271A43 goto OldaleTown_PokemonCenter_1F_EventScript_2719B1 end @@ -1315,18 +1308,18 @@ OldaleTown_PokemonCenter_1F_EventScript_271993:: @ 8271993 OldaleTown_PokemonCenter_1F_EventScript_2719B1:: @ 82719B1 specialvar VAR_RESULT, sub_8139ED0 compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2 + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2 specialvar VAR_RESULT, sp182_move_string copyvar VAR_0x8008, VAR_RESULT compare VAR_0x8008, 0 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2 + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2 compare VAR_0x8008, 1 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A19 + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A19 end OldaleTown_PokemonCenter_1F_EventScript_2719E2:: @ 82719E2 compare VAR_0x8004, 1 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A03 + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A03 message gUnknown_08272798 waitmessage applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0 @@ -1343,8 +1336,7 @@ OldaleTown_PokemonCenter_1F_EventScript_271A03:: @ 8271A03 return OldaleTown_PokemonCenter_1F_EventScript_271A19:: @ 8271A19 - checkflag FLAG_0x880 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2 + goto_if_set FLAG_0x880, OldaleTown_PokemonCenter_1F_EventScript_2719E2 msgbox gUnknown_08272798, MSGBOX_DEFAULT setflag FLAG_0x880 message OldaleTown_PokemonCenter_1F_Text_278A48 @@ -1357,9 +1349,9 @@ OldaleTown_PokemonCenter_1F_EventScript_271A19:: @ 8271A19 OldaleTown_PokemonCenter_1F_EventScript_271A43:: @ 8271A43 specialvar VAR_RESULT, IsPokerusInParty compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A5F + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A5F compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719B1 + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719B1 end OldaleTown_PokemonCenter_1F_EventScript_271A5F:: @ 8271A5F @@ -1368,8 +1360,7 @@ OldaleTown_PokemonCenter_1F_EventScript_271A5F:: @ 8271A5F return OldaleTown_PokemonCenter_1F_EventScript_271A68:: @ 8271A68 - checkflag FLAG_0x159 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AAC + goto_if_set FLAG_0x159, OldaleTown_PokemonCenter_1F_EventScript_271AAC setflag FLAG_0x159 msgbox gUnknown_082727F5, MSGBOX_DEFAULT playse SE_PIN @@ -1379,14 +1370,14 @@ OldaleTown_PokemonCenter_1F_EventScript_271A68:: @ 8271A68 waitmovement 0 msgbox gUnknown_08272860, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5 + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5 message gUnknown_08272A07 return OldaleTown_PokemonCenter_1F_EventScript_271AAC:: @ 8271AAC msgbox gUnknown_08272982, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5 + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5 message gUnknown_08272A07 return @@ -1411,9 +1402,9 @@ EventScript_271AE3:: @ 8271AE3 checkitemtype VAR_0x8000 call EventScript_271B08 compare VAR_0x8007, 1 - call_if 1, EventScript_271B95 + call_if_eq EventScript_271B95 compare VAR_0x8007, 0 - call_if 1, EventScript_271BA9 + call_if_eq EventScript_271BA9 return EventScript_271B08:: @ 8271B08 @@ -1428,31 +1419,31 @@ EventScript_271B08:: @ 8271B08 EventScript_271B45:: @ 8271B45 bufferstdstring 2, 14 compare VAR_0x8007, 1 - call_if 1, EventScript_271BAF + call_if_eq EventScript_271BAF return EventScript_271B55:: @ 8271B55 bufferstdstring 2, 15 compare VAR_0x8007, 1 - call_if 1, EventScript_271BAF + call_if_eq EventScript_271BAF return EventScript_271B65:: @ 8271B65 bufferstdstring 2, 16 compare VAR_0x8007, 1 - call_if 1, EventScript_271BAF + call_if_eq EventScript_271BAF return EventScript_271B75:: @ 8271B75 bufferstdstring 2, 17 compare VAR_0x8007, 1 - call_if 1, EventScript_271BB3 + call_if_eq EventScript_271BB3 return EventScript_271B85:: @ 8271B85 bufferstdstring 2, 18 compare VAR_0x8007, 1 - call_if 1, EventScript_271BAF + call_if_eq EventScript_271BAF return EventScript_271B95:: @ 8271B95 @@ -1483,9 +1474,9 @@ Std_ObtainDecoration:: @ 8271BB7 EventScript_271BC5:: @ 8271BC5 bufferdecorationname 1, VAR_0x8000 compare VAR_0x8007, 1 - call_if 1, EventScript_271BE0 + call_if_eq EventScript_271BE0 compare VAR_0x8007, 0 - call_if 1, EventScript_271BF7 + call_if_eq EventScript_271BF7 return EventScript_271BE0:: @ 8271BE0 @@ -1512,9 +1503,9 @@ Std_FindItem:: @ 8271BFD checkitemtype VAR_0x8000 call EventScript_271B08 compare VAR_0x8007, 1 - call_if 1, EventScript_271C3A + call_if_eq EventScript_271C3A compare VAR_0x8007, 0 - call_if 1, EventScript_271CA1 + call_if_eq EventScript_271CA1 release return @@ -1524,16 +1515,16 @@ EventScript_271C3A:: @ 8271C3A specialvar VAR_RESULT, sub_81398C0 copyvar VAR_0x8008, VAR_RESULT compare VAR_0x8008, 1 - call_if 1, EventScript_271C8F + call_if_eq EventScript_271C8F compare VAR_0x8008, 0 - call_if 1, EventScript_271C9B + call_if_eq EventScript_271C9B waitfanfare waitmessage bufferitemnameplural 1, VAR_0x8004, 32773 setvar VAR_0x8004, 12 special CallBattlePyramidFunction compare VAR_RESULT, 1 - goto_eq EventScript_271C86 + goto_if_eq EventScript_271C86 msgbox gUnknown_08272A9A, MSGBOX_DEFAULT return @@ -1565,9 +1556,9 @@ EventScript_HiddenItemScript:: @ 8271CB7 checkitemtype VAR_0x8005 call EventScript_271B08 compare VAR_0x8007, 1 - goto_eq EventScript_271CE8 + goto_if_eq EventScript_271CE8 compare VAR_0x8007, 0 - goto_eq EventScript_271D47 + goto_if_eq EventScript_271D47 end EventScript_271CE8:: @ 8271CE8 @@ -1575,9 +1566,9 @@ EventScript_271CE8:: @ 8271CE8 copyvar VAR_0x8004, VAR_0x8005 specialvar VAR_RESULT, sub_81398C0 compare VAR_RESULT, 1 - goto_eq EventScript_271D0E + goto_if_eq EventScript_271D0E compare VAR_RESULT, 0 - goto_eq EventScript_271D1F + goto_if_eq EventScript_271D1F end EventScript_271D0E:: @ 8271D0E @@ -1614,9 +1605,9 @@ EventScript_271D5E:: @ 8271D5E faceplayer msgbox Text_27260D, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq EventScript_271D83 + goto_if_eq EventScript_271D83 compare VAR_RESULT, 0 - goto_eq EventScript_271D89 + goto_if_eq EventScript_271D89 goto EventScript_271D89 EventScript_271D83:: @ 8271D83 @@ -1668,12 +1659,10 @@ EventScript_271DF9:: @ 8271DF9 EventScript_271E0E:: @ 8271E0E playse SE_PC_LOGIN - checkflag FLAG_SYS_PC_LANETTE - call_if 0, EventScript_271E35 - checkflag FLAG_SYS_PC_LANETTE - call_if 1, EventScript_271E3E + call_if_unset FLAG_SYS_PC_LANETTE, EventScript_271E35 + call_if_set FLAG_SYS_PC_LANETTE, EventScript_271E3E msgbox gUnknown_082726A3, MSGBOX_DEFAULT - special ShowPokemonStorageSystem + special ShowPokemonStorageSystemPC waitstate goto EventScript_271DAC end @@ -1694,8 +1683,7 @@ EventScript_271E47:: @ 8271E47 end EventScript_271E54:: @ 8271E54 - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, EventScript_271E47 + goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_271E47 playse SE_PC_LOGIN special AccessHallOfFamePC waitstate @@ -1776,13 +1764,13 @@ Route109_EventScript_271E95:: @ 8271E95 EventScript_UseSurf:: @ 8271EA0 checkpartymove MOVE_SURF compare VAR_RESULT, 6 - goto_eq EventScript_271ED6 + goto_if_eq EventScript_271ED6 bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT lockall msgbox gUnknown_08272FD6, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_271ED5 + goto_if_eq EventScript_271ED5 msgbox gUnknown_0827300D, MSGBOX_DEFAULT dofieldeffect FLDEFF_USE_SURF @@ -1805,9 +1793,9 @@ Route119_EventScript_271ED7:: @ 8271ED7 RustboroCity_EventScript_271ED7:: @ 8271ED7 checkplayergender compare VAR_RESULT, 0 - goto_eq RustboroCity_EventScript_271EEF + goto_if_eq RustboroCity_EventScript_271EEF compare VAR_RESULT, 1 - goto_eq RustboroCity_EventScript_271EF5 + goto_if_eq RustboroCity_EventScript_271EF5 end RustboroCity_EventScript_271EEF:: @ 8271EEF @@ -1823,9 +1811,9 @@ Route110_EventScript_271EFB:: @ 8271EFB Route119_EventScript_271EFB:: @ 8271EFB checkplayergender compare VAR_RESULT, 0 - goto_eq LavaridgeTown_EventScript_271F13 + goto_if_eq LavaridgeTown_EventScript_271F13 compare VAR_RESULT, 1 - goto_eq LavaridgeTown_EventScript_271F19 + goto_if_eq LavaridgeTown_EventScript_271F19 end LavaridgeTown_EventScript_271F13:: @ 8271F13 @@ -1839,9 +1827,9 @@ LavaridgeTown_EventScript_271F19:: @ 8271F19 EventScript_271F1F:: @ 8271F1F checkplayergender compare VAR_RESULT, 0 - goto_eq EventScript_271F37 + goto_if_eq EventScript_271F37 compare VAR_RESULT, 1 - goto_eq EventScript_271F3D + goto_if_eq EventScript_271F3D end EventScript_271F37:: @ 8271F37 @@ -2099,25 +2087,24 @@ LittlerootTown_ProfessorBirchsLab_EventScript_2720AD:: @ 82720AD Route101_EventScript_2720AD:: @ 82720AD Route103_EventScript_2720AD:: @ 82720AD compare VAR_0x4085, 0 - goto_eq Route101_EventScript_27374E - checkflag FLAG_SYS_GAME_CLEAR - goto_eq Route101_EventScript_27211A + goto_if_eq Route101_EventScript_27374E + goto_if_set FLAG_SYS_GAME_CLEAR, Route101_EventScript_27211A compare VAR_BIRCH_STATE, 0 - call_if 1, Route101_EventScript_27211A + call_if_eq Route101_EventScript_27211A compare VAR_BIRCH_STATE, 1 - call_if 1, Route101_EventScript_27211A + call_if_eq Route101_EventScript_27211A compare VAR_BIRCH_STATE, 2 - call_if 1, Route101_EventScript_272127 + call_if_eq Route101_EventScript_272127 compare VAR_BIRCH_STATE, 3 - call_if 1, Route101_EventScript_272127 + call_if_eq Route101_EventScript_272127 compare VAR_BIRCH_STATE, 4 - call_if 1, Route101_EventScript_272134 + call_if_eq Route101_EventScript_272134 compare VAR_BIRCH_STATE, 5 - call_if 1, Route101_EventScript_272134 + call_if_eq Route101_EventScript_272134 compare VAR_BIRCH_STATE, 6 - call_if 1, Route101_EventScript_27211A + call_if_eq Route101_EventScript_27211A compare VAR_BIRCH_STATE, 7 - call_if 1, Route101_EventScript_27211A + call_if_eq Route101_EventScript_27211A return Route101_EventScript_27211A:: @ 827211A @@ -2146,15 +2133,13 @@ Route101_EventScript_272141:: @ 8272141 Route103_EventScript_272141:: @ 8272141 lock faceplayer - checkflag FLAG_HAS_MATCH_CALL - goto_if 0, Route101_EventScript_272155 - checkflag FLAG_0x119 - goto_if 0, Route101_EventScript_1FA2D2 + goto_if_unset FLAG_HAS_MATCH_CALL, Route101_EventScript_272155 + goto_if_unset FLAG_0x119, Route101_EventScript_1FA2D2 Route101_EventScript_272155:: @ 8272155 msgbox gUnknown_082A5C9C, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route101_EventScript_27216F + goto_if_eq Route101_EventScript_27216F call Route101_EventScript_272184 release end @@ -2183,7 +2168,7 @@ Route101_EventScript_272184:: @ 8272184 msgbox gUnknown_082A5D2C, MSGBOX_DEFAULT call Route101_EventScript_272179 compare VAR_0x800A, 0 - goto_eq Route101_EventScript_27374E + goto_if_eq Route101_EventScript_27374E setvar VAR_0x8004, 1 specialvar VAR_RESULT, ScriptGetPokedexInfo copyvar VAR_0x8008, VAR_0x8005 @@ -2234,11 +2219,11 @@ RusturfTunnel_EventScript_272216:: @ 8272216 EventScript_27222B:: @ 827222B delay 30 - applymovement 255, PetalburgCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A6 waitmovement 0 showobjectat 255, MAP_PETALBURG_CITY delay 30 - applymovement 255, Movement_27224E + applymovement EVENT_OBJ_ID_PLAYER, Movement_27224E waitmovement 0 delay 30 return @@ -2253,9 +2238,9 @@ FarawayIsland_Entrance_EventScript_272250:: @ 8272250 NavelRock_Harbor_EventScript_272250:: @ 8272250 SouthernIsland_Exterior_EventScript_272250:: @ 8272250 compare VAR_FACING, 1 - call_if 1, BattleFrontier_OutsideWest_EventScript_242A21 + call_if_eq BattleFrontier_OutsideWest_EventScript_242A21 compare VAR_FACING, 3 - call_if 1, BattleFrontier_OutsideWest_EventScript_242A2C + call_if_eq BattleFrontier_OutsideWest_EventScript_242A2C delay 30 hideobjectat 255, MAP_PETALBURG_CITY call BattleFrontier_OutsideWest_EventScript_2721E2 @@ -2362,7 +2347,7 @@ Route119_EventScript_272336:: @ 8272336 Route120_EventScript_272336:: @ 8272336 checkitem ITEM_DEVON_SCOPE, 1 compare VAR_RESULT, 1 - goto_eq Route119_EventScript_272350 + goto_if_eq Route119_EventScript_272350 msgbox Route119_Text_1F5D00, MSGBOX_DEFAULT release end @@ -2370,7 +2355,7 @@ Route120_EventScript_272336:: @ 8272336 Route119_EventScript_272350:: @ 8272350 msgbox Route119_Text_1F5D23, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route119_EventScript_272365 + goto_if_eq Route119_EventScript_272365 release end @@ -2391,11 +2376,11 @@ Route119_EventScript_272365:: @ 8272365 clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq Route119_EventScript_2723C1 + goto_if_eq Route119_EventScript_2723C1 compare VAR_RESULT, 4 - goto_eq Route119_EventScript_2723C1 + goto_if_eq Route119_EventScript_2723C1 compare VAR_RESULT, 5 - goto_eq Route119_EventScript_2723C1 + goto_if_eq Route119_EventScript_2723C1 release end @@ -2454,7 +2439,7 @@ EverGrandeCity_DrakesRoom_EventScript_2723F8:: @ 82723F8 EverGrandeCity_GlaciasRoom_EventScript_2723F8:: @ 82723F8 EverGrandeCity_PhoebesRoom_EventScript_2723F8:: @ 82723F8 EverGrandeCity_SidneysRoom_EventScript_2723F8:: @ 82723F8 - applymovement 255, EverGrandeCity_SidneysRoom_Movement_2725C6 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_SidneysRoom_Movement_2725C6 waitmovement 0 playse SE_DOOR setmetatile 6, 1, 836, 0 @@ -2476,7 +2461,7 @@ EverGrandeCity_DrakesRoom_EventScript_272475:: @ 8272475 EverGrandeCity_GlaciasRoom_EventScript_272475:: @ 8272475 EverGrandeCity_PhoebesRoom_EventScript_272475:: @ 8272475 EverGrandeCity_SidneysRoom_EventScript_272475:: @ 8272475 - applymovement 255, EverGrandeCity_SidneysRoom_Movement_2725BA + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_SidneysRoom_Movement_2725BA waitmovement 0 playse SE_TRACK_DOOR setmetatile 5, 12, 518, 1 @@ -3198,9 +3183,9 @@ EventScript_Poison:: @ 82736BC special ExecuteWhiteOut waitstate compare VAR_RESULT, 1 - goto_eq EventScript_2736D9 + goto_if_eq EventScript_2736D9 compare VAR_RESULT, 2 - goto_eq EventScript_2736F8 + goto_if_eq EventScript_2736F8 releaseall end @@ -3211,8 +3196,7 @@ EventScript_2736D9:: @ 82736D9 special sub_80B05B4 waitstate fadescreen 1 - checkflag FLAG_0x06C - call_if 1, EventScript_2736F4 + call_if_set FLAG_0x06C, EventScript_2736F4 special sp0C8_whiteout_maybe waitstate end @@ -3228,17 +3212,17 @@ EventScript_2736F8:: @ 82736F8 setvar VAR_0x8004, 16 special CallBattlePikeFunction compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222 + goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222 setvar VAR_0x8004, 12 special CallBattlePyramidFunction compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 setvar VAR_0x8004, 10 special sp194_trainer_tower compare VAR_RESULT, 1 - goto_eq TrainerHill_1F_EventScript_2C83C9 + goto_if_eq TrainerHill_1F_EventScript_2C83C9 special sub_80B05B4 waitstate fadescreen 1 @@ -3396,16 +3380,14 @@ Route119_WeatherInstitute_2F_EventScript_2737A0:: @ 82737A0 RustboroCity_DevonCorp_2F_EventScript_2737A0:: @ 82737A0 bufferboxname 0, 16438 bufferspeciesname 1, VAR_TEMP_1 - checkflag FLAG_SYS_PC_LANETTE - call_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_2737BB - checkflag FLAG_SYS_PC_LANETTE - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_2737E6 + call_if_unset FLAG_SYS_PC_LANETTE, LittlerootTown_ProfessorBirchsLab_EventScript_2737BB + call_if_set FLAG_SYS_PC_LANETTE, LittlerootTown_ProfessorBirchsLab_EventScript_2737E6 return LittlerootTown_ProfessorBirchsLab_EventScript_2737BB:: @ 82737BB specialvar VAR_RESULT, sub_813B21C compare VAR_RESULT, 1 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737D4 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737D4 msgbox gText_PkmnTransferredSomeonesPC, MSGBOX_DEFAULT return @@ -3418,7 +3400,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_2737D4:: @ 82737D4 LittlerootTown_ProfessorBirchsLab_EventScript_2737E6:: @ 82737E6 specialvar VAR_RESULT, sub_813B21C compare VAR_RESULT, 1 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737FF + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737FF msgbox gText_PkmnTransferredLanettesPC, MSGBOX_DEFAULT return @@ -3440,27 +3422,25 @@ EventScript_Questionnaire:: @ 827381B lockall msgbox gUnknown_0827339F, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_2738FD + goto_if_eq EventScript_2738FD setvar VAR_0x8004, 20 call MauvilleCity_PokemonCenter_1F_EventScript_271E7C lock faceplayer specialvar VAR_0x8008, sub_813B490 compare VAR_0x8004, 1 - goto_eq EventScript_27386D + goto_if_eq EventScript_27386D compare VAR_0x8004, 2 - goto_eq EventScript_2738B5 + goto_if_eq EventScript_2738B5 compare VAR_RESULT, 0 - goto_eq EventScript_2738FD + goto_if_eq EventScript_2738FD compare VAR_RESULT, 1 - goto_eq EventScript_2738FF + goto_if_eq EventScript_2738FF end EventScript_27386D:: @ 827386D - checkflag FLAG_SYS_POKEDEX_GET - goto_if 0, EventScript_2738FF - checkflag FLAG_SYS_MYSTERY_EVENT_ENABLE - goto_eq EventScript_2738FF + goto_if_unset FLAG_SYS_POKEDEX_GET, EventScript_2738FF + goto_if_set FLAG_SYS_MYSTERY_EVENT_ENABLE, EventScript_2738FF applymovement VAR_0x8008, BattleFrontier_Mart_Movement_2725B0 waitmovement 0 playse SE_PIN @@ -3475,10 +3455,8 @@ EventScript_27386D:: @ 827386D end EventScript_2738B5:: @ 82738B5 - checkflag FLAG_SYS_POKEDEX_GET - goto_if 0, EventScript_2738FF - checkflag FLAG_SYS_MYSTERY_GIFT_ENABLE - goto_eq EventScript_2738FF + goto_if_unset FLAG_SYS_POKEDEX_GET, EventScript_2738FF + goto_if_set FLAG_SYS_MYSTERY_GIFT_ENABLE, EventScript_2738FF applymovement VAR_0x8008, BattleFrontier_Mart_Movement_2725B0 waitmovement 0 playse SE_PIN @@ -3693,7 +3671,7 @@ gUnknown_08273D1F:: @ 8273D1F gUnknown_08273D1F:: @ 8273D1F lockall compare VAR_0x4037, 9 - goto_if 4, Route105_EventScript_273D51 + goto_if_ge Route105_EventScript_273D51 goto Route105_EventScript_273D5F end @@ -3963,7 +3941,7 @@ Std_RegisteredInMatchCall:: @ 82742C9 EventScript_TryGetTrainerScript:: @ 82742E6 special ShouldTryGetTrainerScript compare VAR_RESULT, 1 - goto_eq EventScript_GotoTrainerScript + goto_if_eq EventScript_GotoTrainerScript releaseall end @@ -4245,7 +4223,7 @@ gUnknown_0827EE07:: @ 27EE07 gUnknown_0827EE09:: @ 27EE09 .string "8$" - + .include "data/scripts/tv.inc" .include "data/text/tv.inc" @@ -4262,13 +4240,13 @@ SlateportCity_PokemonFanClub_EventScript_28C7F0:: @ 828C7F0 setvar VAR_0x8005, 1 special InterviewBefore compare VAR_RESULT, 1 - goto_eq SlateportCity_PokemonFanClub_EventScript_28C879 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C879 copyvar VAR_0x8009, VAR_0x8006 msgbox SlateportCity_PokemonFanClub_Text_280674, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq SlateportCity_PokemonFanClub_EventScript_28C827 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C827 compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_28C85C + goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C85C end SlateportCity_PokemonFanClub_EventScript_28C827:: @ 828C827 @@ -4280,9 +4258,9 @@ SlateportCity_PokemonFanClub_EventScript_28C827:: @ 828C827 lock faceplayer compare VAR_RESULT, 1 - goto_eq SlateportCity_PokemonFanClub_EventScript_28C866 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C866 compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_28C85C + goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C85C end SlateportCity_PokemonFanClub_EventScript_28C85C:: @ 828C85C @@ -4307,24 +4285,23 @@ SlateportCity_OceanicMuseum_1F_EventScript_28C883:: @ 828C883 setvar VAR_0x8005, 2 special InterviewBefore compare VAR_RESULT, 1 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C939 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C939 copyvar VAR_0x8009, VAR_0x8006 - checkflag FLAG_0x069 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8C8 + goto_if_set FLAG_0x069, SlateportCity_OceanicMuseum_1F_EventScript_28C8C8 setflag FLAG_0x069 msgbox SlateportCity_OceanicMuseum_1F_Text_2811A0, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7 compare VAR_RESULT, 0 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C end SlateportCity_OceanicMuseum_1F_EventScript_28C8C8:: @ 828C8C8 msgbox SlateportCity_OceanicMuseum_1F_Text_28126D, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7 compare VAR_RESULT, 0 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C end SlateportCity_OceanicMuseum_1F_EventScript_28C8E7:: @ 828C8E7 @@ -4336,9 +4313,9 @@ SlateportCity_OceanicMuseum_1F_EventScript_28C8E7:: @ 828C8E7 lock faceplayer compare VAR_RESULT, 1 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C926 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C926 compare VAR_RESULT, 0 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C end SlateportCity_OceanicMuseum_1F_EventScript_28C91C:: @ 828C91C @@ -4362,17 +4339,17 @@ SlateportCity_PokemonFanClub_EventScript_28C943:: @ 828C943 faceplayer specialvar VAR_RESULT, sub_80EF8F8 compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_28C7F0 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C7F0 setvar VAR_0x8005, 3 special InterviewBefore compare VAR_RESULT, 1 - goto_eq SlateportCity_PokemonFanClub_EventScript_28CA4F + goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA4F copyvar VAR_0x8009, VAR_0x8006 msgbox SlateportCity_PokemonFanClub_Text_280270, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq SlateportCity_PokemonFanClub_EventScript_28C98C + goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C98C compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA45 end SlateportCity_PokemonFanClub_EventScript_28C98C:: @ 828C98C @@ -4408,14 +4385,14 @@ SlateportCity_PokemonFanClub_EventScript_28C9ED:: @ 828C9ED lock faceplayer compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA45 msgbox SlateportCity_PokemonFanClub_Text_2804AC, MSGBOX_DEFAULT setvar VAR_0x8006, 1 call SlateportCity_PokemonFanClub_EventScript_271E7C lock faceplayer compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA45 msgbox SlateportCity_PokemonFanClub_Text_280523, MSGBOX_DEFAULT copyvar VAR_0x8007, VAR_0x800A setvar VAR_0x8005, 3 @@ -4435,18 +4412,17 @@ SlateportCity_PokemonFanClub_EventScript_28CA4F:: @ 828CA4F LilycoveCity_ContestLobby_EventScript_28CA59:: @ 828CA59 lock faceplayer - checkflag FLAG_TEMP_2 - goto_eq LilycoveCity_ContestLobby_EventScript_28CB21 + goto_if_set FLAG_TEMP_2, LilycoveCity_ContestLobby_EventScript_28CB21 setvar VAR_0x8005, 6 special InterviewBefore compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_28CB21 + goto_if_eq LilycoveCity_ContestLobby_EventScript_28CB21 copyvar VAR_0x8009, VAR_0x8006 msgbox LilycoveCity_ContestLobby_Text_27EF15, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_28CA9B + goto_if_eq LilycoveCity_ContestLobby_EventScript_28CA9B compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0 + goto_if_eq LilycoveCity_ContestLobby_EventScript_28CAD0 end LilycoveCity_ContestLobby_EventScript_28CA9B:: @ 828CA9B @@ -4458,9 +4434,9 @@ LilycoveCity_ContestLobby_EventScript_28CA9B:: @ 828CA9B lock faceplayer compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_28CADA + goto_if_eq LilycoveCity_ContestLobby_EventScript_28CADA compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0 + goto_if_eq LilycoveCity_ContestLobby_EventScript_28CAD0 end LilycoveCity_ContestLobby_EventScript_28CAD0:: @ 828CAD0 @@ -4479,7 +4455,7 @@ LilycoveCity_ContestLobby_EventScript_28CADA:: @ 828CADA lock faceplayer compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0 + goto_if_eq LilycoveCity_ContestLobby_EventScript_28CAD0 msgbox LilycoveCity_ContestLobby_Text_27F0EC, MSGBOX_DEFAULT setflag FLAG_TEMP_2 setvar VAR_0x8005, 6 @@ -4493,11 +4469,11 @@ LilycoveCity_ContestLobby_EventScript_28CB21:: @ 828CB21 LilycoveCity_ContestLobby_EventScript_28CB2B:: @ 828CB2B compare VAR_0x4086, 2 - goto_if 5, LilycoveCity_ContestLobby_EventScript_28CB95 + goto_if_ne LilycoveCity_ContestLobby_EventScript_28CB95 setvar VAR_0x8005, 6 special InterviewBefore compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_28CB95 + goto_if_eq LilycoveCity_ContestLobby_EventScript_28CB95 switch VAR_0x4088 case 0, LilycoveCity_ContestLobby_EventScript_28CB95 case 2, LilycoveCity_ContestLobby_EventScript_28CB91 @@ -4517,18 +4493,17 @@ LilycoveCity_ContestLobby_EventScript_28CB95:: @ 828CB95 BattleFrontier_BattleTowerLobby_EventScript_28CB96:: @ 828CB96 lock faceplayer - checkflag FLAG_TEMP_2 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A + goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerLobby_EventScript_28CC7A setvar VAR_0x8005, 7 special InterviewBefore compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A copyvar VAR_0x8009, VAR_0x8006 msgbox BattleFrontier_BattleTowerLobby_Text_27F704, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CBD8 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CBD8 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC2E + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC2E end BattleFrontier_BattleTowerLobby_EventScript_28CBD8:: @ 828CBD8 @@ -4537,9 +4512,9 @@ BattleFrontier_BattleTowerLobby_EventScript_28CBD8:: @ 828CBD8 multichoice 20, 8, 45, 1 copyvar VAR_0x8008, VAR_RESULT compare VAR_RESULT, 0 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_28CC38 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC38 compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_28CC41 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC41 msgbox BattleFrontier_BattleTowerLobby_Text_27F97A, MSGBOX_DEFAULT setvar VAR_0x8004, 12 copyvar VAR_0x8005, VAR_0x8009 @@ -4547,9 +4522,9 @@ BattleFrontier_BattleTowerLobby_EventScript_28CBD8:: @ 828CBD8 lock faceplayer compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC4A + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC4A compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70 end BattleFrontier_BattleTowerLobby_EventScript_28CC2E:: @ 828CC2E @@ -4567,7 +4542,7 @@ BattleFrontier_BattleTowerLobby_EventScript_28CC41:: @ 828CC41 BattleFrontier_BattleTowerLobby_EventScript_28CC4A:: @ 828CC4A compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70 msgbox BattleFrontier_BattleTowerLobby_Text_27F9FD, MSGBOX_DEFAULT setflag FLAG_TEMP_2 copyvar VAR_0x8004, VAR_0x8008 @@ -4587,11 +4562,11 @@ BattleFrontier_BattleTowerLobby_EventScript_28CC7A:: @ 828CC7A BattleFrontier_BattleTowerLobby_EventScript_28CC84:: @ 828CC84 compare VAR_0x40BC, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6 setvar VAR_0x8005, 7 special InterviewBefore compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6 clearflag FLAG_HIDE_BATTLE_TOWER_REPORTER return @@ -4697,11 +4672,11 @@ Text_RepelWoreOff: @ 82A4B33 MauvilleCity_GameCorner_EventScript_2A5AB1:: @ 82A5AB1 checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 0 getpricereduction 2 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_2A5B0D + goto_if_eq MauvilleCity_GameCorner_EventScript_2A5B0D addvar VAR_0x8004, 128 goto MauvilleCity_GameCorner_EventScript_2A5B0D end @@ -4709,11 +4684,11 @@ MauvilleCity_GameCorner_EventScript_2A5AB1:: @ 82A5AB1 MauvilleCity_GameCorner_EventScript_2A5ADF:: @ 82A5ADF checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 1 getpricereduction 2 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_2A5B0D + goto_if_eq MauvilleCity_GameCorner_EventScript_2A5B0D addvar VAR_0x8004, 128 goto MauvilleCity_GameCorner_EventScript_2A5B0D end @@ -4778,7 +4753,7 @@ MtPyre_2F_MapScript1_2A8331: @ 82A8331 EventScript_FallDownHole:: @ 82A8337 lockall delay 20 - applymovement 255, GraniteCave_B1F_Movement_2A8369 + applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_B1F_Movement_2A8369 waitmovement 0 playse SE_RU_HYUU delay 60 @@ -4789,7 +4764,7 @@ EventScript_FallDownHole:: @ 82A8337 gUnknown_082A8350:: @ 82A8350 lockall delay 20 - applymovement 255, GraniteCave_B1F_Movement_2A8369 + applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_B1F_Movement_2A8369 waitmovement 0 playse SE_RU_HYUU delay 60 @@ -4815,11 +4790,11 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8395:: @ 82A8395 msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A69, MSGBOX_DEFAULT specialvar VAR_RESULT, sub_818DBE8 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83D0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83D0 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83C6 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83C6 compare VAR_RESULT, 2 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8510 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8510 end LilycoveCity_PokemonCenter_1F_EventScript_2A83C6:: @ 82A83C6 @@ -4832,9 +4807,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A83D0:: @ 82A83D0 msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A7D, MSGBOX_DEFAULT specialvar VAR_RESULT, sub_818DC60 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8435 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8435 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83F7 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83F7 end LilycoveCity_PokemonCenter_1F_EventScript_2A83F7:: @ 82A83F7 @@ -4842,9 +4817,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A83F7:: @ 82A83F7 special sub_818DD14 specialvar VAR_RESULT, sub_818DD54 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8419 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8419 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8427 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8427 end LilycoveCity_PokemonCenter_1F_EventScript_2A8419:: @ 82A8419 @@ -4860,9 +4835,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8427:: @ 82A8427 LilycoveCity_PokemonCenter_1F_EventScript_2A8435:: @ 82A8435 msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B69, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A845E + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A845E end LilycoveCity_PokemonCenter_1F_EventScript_2A8454:: @ 82A8454 @@ -4881,25 +4856,25 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A846C:: @ 82A846C special sub_818DD78 waitstate compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A848E + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A848E compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84AD + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84AD end LilycoveCity_PokemonCenter_1F_EventScript_2A848E:: @ 82A848E msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BEE, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A846C + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A846C end LilycoveCity_PokemonCenter_1F_EventScript_2A84AD:: @ 82A84AD specialvar VAR_RESULT, sub_818DE44 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84C9 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84C9 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84D6 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84D6 end LilycoveCity_PokemonCenter_1F_EventScript_2A84C9:: @ 82A84C9 @@ -4911,9 +4886,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A84C9:: @ 82A84C9 LilycoveCity_PokemonCenter_1F_EventScript_2A84D6:: @ 82A84D6 specialvar VAR_RESULT, sub_818DE5C compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84F2 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84F2 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84FF + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84FF end LilycoveCity_PokemonCenter_1F_EventScript_2A84F2:: @ 82A84F2 @@ -4934,9 +4909,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8510:: @ 82A8510 msgbox LilycoveCity_PokemonCenter_1F_Text_2A8D5D, MSGBOX_DEFAULT giveitem_std VAR_0x8004 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8545 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8545 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A854F + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A854F end LilycoveCity_PokemonCenter_1F_EventScript_2A8545:: @ 82A8545 @@ -4955,29 +4930,29 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8554:: @ 82A8554 msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E2B, MSGBOX_DEFAULT specialvar VAR_RESULT, sub_818E038 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8585 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8585 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85AC + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85AC compare VAR_RESULT, 2 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86EC + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86EC end LilycoveCity_PokemonCenter_1F_EventScript_2A8585:: @ 82A8585 specialvar VAR_RESULT, sub_818E06C compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85D2 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85D2 compare VAR_RESULT, 2 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85E0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85E0 end LilycoveCity_PokemonCenter_1F_EventScript_2A85AC:: @ 82A85AC specialvar VAR_RESULT, sub_818E2D8 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8759 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8759 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8 end LilycoveCity_PokemonCenter_1F_EventScript_2A85C8:: @ 82A85C8 @@ -4999,9 +4974,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A85EE:: @ 82A85EE setvar VAR_0x8004, 0 msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EEC, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8612 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8612 end LilycoveCity_PokemonCenter_1F_EventScript_2A8612:: @ 82A8612 @@ -5012,15 +4987,15 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8612:: @ 82A8612 LilycoveCity_PokemonCenter_1F_EventScript_2A861C:: @ 82A861C special sub_818E3BC compare VAR_0x8004, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A864C + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A864C compare VAR_0x8004, 15 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8656 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8656 LilycoveCity_PokemonCenter_1F_EventScript_2A8635:: @ 82A8635 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8660 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8660 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8689 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8689 end LilycoveCity_PokemonCenter_1F_EventScript_2A864C:: @ 82A864C @@ -5038,9 +5013,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8656:: @ 82A8656 LilycoveCity_PokemonCenter_1F_EventScript_2A8660:: @ 82A8660 msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F7E, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A867F + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A867F compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C end LilycoveCity_PokemonCenter_1F_EventScript_2A867F:: @ 82A867F @@ -5053,9 +5028,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8689:: @ 82A8689 msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F4D, MSGBOX_DEFAULT specialvar VAR_RESULT, sub_818E308 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86C7 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86C7 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86B0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86B0 end LilycoveCity_PokemonCenter_1F_EventScript_2A86B0:: @ 82A86B0 @@ -5080,9 +5055,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A86C7:: @ 82A86C7 LilycoveCity_PokemonCenter_1F_EventScript_2A86EC:: @ 82A86EC specialvar VAR_RESULT, sub_818E298 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8708 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8708 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8716 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8716 end LilycoveCity_PokemonCenter_1F_EventScript_2A8708:: @ 82A8708 @@ -5101,7 +5076,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8724:: @ 82A8724 special sub_818E37C giveitem_std VAR_0x8005 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A874C + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A874C goto LilycoveCity_PokemonCenter_1F_EventScript_2A8759 end @@ -5114,9 +5089,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A874C:: @ 82A874C LilycoveCity_PokemonCenter_1F_EventScript_2A8759:: @ 82A8759 msgbox LilycoveCity_PokemonCenter_1F_Text_2A90FB, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8785 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8785 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778 end LilycoveCity_PokemonCenter_1F_EventScript_2A8778:: @ 82A8778 @@ -5134,17 +5109,17 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A878D:: @ 82A878D special sub_818E3E0 waitstate compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87AF + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87AF compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87CE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87CE end LilycoveCity_PokemonCenter_1F_EventScript_2A87AF:: @ 82A87AF msgbox LilycoveCity_PokemonCenter_1F_Text_2A9212, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A878D + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A878D end LilycoveCity_PokemonCenter_1F_EventScript_2A87CE:: @ 82A87CE @@ -5158,16 +5133,16 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A87E1:: @ 82A87E1 special sub_818E47C waitstate compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87F8 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87F8 goto LilycoveCity_PokemonCenter_1F_EventScript_2A8817 end LilycoveCity_PokemonCenter_1F_EventScript_2A87F8:: @ 82A87F8 msgbox LilycoveCity_PokemonCenter_1F_Text_2A92D3, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87E1 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87E1 end LilycoveCity_PokemonCenter_1F_EventScript_2A8817:: @ 82A8817 @@ -5184,17 +5159,17 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A882A:: @ 82A882A msgbox LilycoveCity_PokemonCenter_1F_Text_2A93A7, MSGBOX_DEFAULT specialvar VAR_RESULT, sub_818E8B4 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8850 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8850 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C end LilycoveCity_PokemonCenter_1F_EventScript_2A8850:: @ 82A8850 specialvar VAR_RESULT, sub_818E8E0 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8876 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8876 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C end LilycoveCity_PokemonCenter_1F_EventScript_2A886C:: @ 82A886C @@ -5207,12 +5182,12 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8876:: @ 82A8876 msgbox LilycoveCity_PokemonCenter_1F_Text_2A93F4, MSGBOX_DEFAULT checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89AE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89AE msgbox LilycoveCity_PokemonCenter_1F_Text_2A94E8, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA end LilycoveCity_PokemonCenter_1F_EventScript_2A88B0:: @ 82A88B0 @@ -5225,17 +5200,17 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A88BA:: @ 82A88BA special sub_818E92C waitstate compare VAR_RESULT, 65535 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88D7 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88D7 compare VAR_RESULT, 65535 - goto_if 5, LilycoveCity_PokemonCenter_1F_EventScript_2A88F6 + goto_if_ne LilycoveCity_PokemonCenter_1F_EventScript_2A88F6 end LilycoveCity_PokemonCenter_1F_EventScript_2A88D7:: @ 82A88D7 msgbox LilycoveCity_PokemonCenter_1F_Text_2A9537, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA end LilycoveCity_PokemonCenter_1F_EventScript_2A88F6:: @ 82A88F6 @@ -5257,7 +5232,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A890A:: @ 82A890A delay 120 waitmoncry compare VAR_0x8004, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A893F + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A893F goto LilycoveCity_PokemonCenter_1F_EventScript_2A894C end @@ -5271,9 +5246,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A894C:: @ 82A894C waitmovement 0 delay 60 compare VAR_0x8004, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8970 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8970 compare VAR_0x8004, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A897E + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A897E end LilycoveCity_PokemonCenter_1F_EventScript_2A8970:: @ 82A8970 @@ -5290,7 +5265,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A897E:: @ 82A897E LilycoveCity_PokemonCenter_1F_EventScript_2A898F:: @ 82A898F specialvar VAR_RESULT, sub_818E8E0 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89A1 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89A1 release end @@ -5335,15 +5310,15 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A89C7:: @ 82A89C7 special sub_818E914 special sub_818E960 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D compare VAR_RESULT, 2 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A30 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A30 compare VAR_RESULT, 3 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A43 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A43 compare VAR_RESULT, 4 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A56 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A56 end LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A:: @ 82A8A0A @@ -9007,13 +8982,13 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8 setvar VAR_0x8004, 5 special CallBattlePikeFunction compare VAR_RESULT, 3 - goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 + goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 compare VAR_RESULT, 6 - goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 + goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 compare VAR_RESULT, 7 - goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 + goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 compare VAR_RESULT, 8 - goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F + goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 setvar VAR_TEMP_4, 1 turnobject 255, 2 @@ -9079,7 +9054,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F end BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030:: @ 82C4030 - applymovement 255, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A waitmovement 0 call BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49 warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1, 255, 4, 7 @@ -9087,7 +9062,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030:: @ 82C4030 end BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4049:: @ 82C4049 - applymovement 255, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A waitmovement 0 call BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49 warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3, 255, 4, 19 @@ -9124,9 +9099,9 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2 setvar VAR_0x8004, 25 special CallBattlePikeFunction compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128 + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128 compare VAR_RESULT, 1 - call_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136 + call_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136 setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 special CallBattlePikeFunction @@ -9146,9 +9121,9 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2 setvar VAR_0x8004, 3 special CallBattlePikeFunction compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144 + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144 compare VAR_RESULT, 0 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C waitstate end @@ -9168,7 +9143,7 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136:: @ 82C4136 BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144:: @ 82C4144 BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144:: @ 82C4144 - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A waitmovement 0 call BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49 warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2, 255, 2, 7 @@ -9176,7 +9151,7 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144:: @ 82C4144 BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C:: @ 82C415C BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C:: @ 82C415C - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A waitmovement 0 call BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49 warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10 @@ -9188,9 +9163,9 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174 setvar VAR_0x8004, 25 special CallBattlePikeFunction compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128 + call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128 compare VAR_RESULT, 1 - call_if 5, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136 + call_if_ne BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136 setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 special CallBattlePikeFunction @@ -9210,9 +9185,9 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174 setvar VAR_0x8004, 3 special CallBattlePikeFunction compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144 + call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144 compare VAR_RESULT, 0 - call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C + call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C waitstate end @@ -9245,9 +9220,9 @@ BattleFrontier_BattlePikeThreePathRoom_MapScript1_2C423E: @ 82C423E setvar VAR_0x8005, 0 special CallFrontierUtilFunc compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B + goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B + goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B call BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4271 BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B:: @ 82C426B @@ -10083,19 +10058,18 @@ PacifidlogTown_PokemonCenter_1F_Text_2C7E7A: @ 82C7E7A SlateportCity_PokemonFanClub_EventScript_2C7F16:: @ 82C7F16 lock faceplayer - checkflag FLAG_0x1B1 - goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F74 + goto_if_set FLAG_0x1B1, SlateportCity_PokemonFanClub_EventScript_2C7F74 msgbox SlateportCity_PokemonFanClub_Text_2C6E37, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A + goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A call SlateportCity_PokemonFanClub_EventScript_2C832D compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A + goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A msgbox SlateportCity_PokemonFanClub_Text_2C6F66, MSGBOX_DEFAULT setvar VAR_0x8005, 23 call SlateportCity_PokemonFanClub_EventScript_2C8326 compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A + goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A setflag FLAG_0x1B1 goto SlateportCity_PokemonFanClub_EventScript_2C7F74 end @@ -10113,19 +10087,18 @@ SlateportCity_PokemonFanClub_EventScript_2C7F74:: @ 82C7F74 MauvilleCity_EventScript_2C7F7E:: @ 82C7F7E lock faceplayer - checkflag FLAG_0x1B2 - goto_eq MauvilleCity_EventScript_2C7FDC + goto_if_set FLAG_0x1B2, MauvilleCity_EventScript_2C7FDC msgbox MauvilleCity_Text_2C6FDB, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MauvilleCity_EventScript_2C7FD2 + goto_if_eq MauvilleCity_EventScript_2C7FD2 call MauvilleCity_EventScript_2C832D compare VAR_RESULT, 0 - goto_eq MauvilleCity_EventScript_2C7FD2 + goto_if_eq MauvilleCity_EventScript_2C7FD2 msgbox MauvilleCity_Text_2C70F3, MSGBOX_DEFAULT setvar VAR_0x8005, 16 call MauvilleCity_EventScript_2C8326 compare VAR_RESULT, 0 - goto_eq MauvilleCity_EventScript_2C7FD2 + goto_if_eq MauvilleCity_EventScript_2C7FD2 setflag FLAG_0x1B2 goto MauvilleCity_EventScript_2C7FDC end @@ -10143,19 +10116,18 @@ MauvilleCity_EventScript_2C7FDC:: @ 82C7FDC VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6:: @ 82C7FE6 lock faceplayer - checkflag FLAG_0x1B3 - goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C8044 + goto_if_set FLAG_0x1B3, VerdanturfTown_PokemonCenter_1F_EventScript_2C8044 msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7174, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A + goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A call VerdanturfTown_PokemonCenter_1F_EventScript_2C832D compare VAR_RESULT, 0 - goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A + goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7243, MSGBOX_DEFAULT setvar VAR_0x8005, 29 call VerdanturfTown_PokemonCenter_1F_EventScript_2C8326 compare VAR_RESULT, 0 - goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A + goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A setflag FLAG_0x1B3 goto VerdanturfTown_PokemonCenter_1F_EventScript_2C8044 end @@ -10173,19 +10145,18 @@ VerdanturfTown_PokemonCenter_1F_EventScript_2C8044:: @ 82C8044 LavaridgeTown_House_EventScript_2C804E:: @ 82C804E lock faceplayer - checkflag FLAG_0x1B4 - goto_eq LavaridgeTown_House_EventScript_2C80AC + goto_if_set FLAG_0x1B4, LavaridgeTown_House_EventScript_2C80AC msgbox LavaridgeTown_House_Text_2C72B6, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LavaridgeTown_House_EventScript_2C80A2 + goto_if_eq LavaridgeTown_House_EventScript_2C80A2 call LavaridgeTown_House_EventScript_2C832D compare VAR_RESULT, 0 - goto_eq LavaridgeTown_House_EventScript_2C80A2 + goto_if_eq LavaridgeTown_House_EventScript_2C80A2 msgbox LavaridgeTown_House_Text_2C73B1, MSGBOX_DEFAULT setvar VAR_0x8005, 7 call LavaridgeTown_House_EventScript_2C8326 compare VAR_RESULT, 0 - goto_eq LavaridgeTown_House_EventScript_2C80A2 + goto_if_eq LavaridgeTown_House_EventScript_2C80A2 setflag FLAG_0x1B4 goto LavaridgeTown_House_EventScript_2C80AC end @@ -10203,19 +10174,18 @@ LavaridgeTown_House_EventScript_2C80AC:: @ 82C80AC FallarborTown_Mart_EventScript_2C80B6:: @ 82C80B6 lock faceplayer - checkflag FLAG_0x1B5 - goto_eq FallarborTown_Mart_EventScript_2C8114 + goto_if_set FLAG_0x1B5, FallarborTown_Mart_EventScript_2C8114 msgbox FallarborTown_Mart_Text_2C7449, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq FallarborTown_Mart_EventScript_2C810A + goto_if_eq FallarborTown_Mart_EventScript_2C810A call FallarborTown_Mart_EventScript_2C832D compare VAR_RESULT, 0 - goto_eq FallarborTown_Mart_EventScript_2C810A + goto_if_eq FallarborTown_Mart_EventScript_2C810A msgbox FallarborTown_Mart_Text_2C7582, MSGBOX_DEFAULT setvar VAR_0x8005, 8 call FallarborTown_Mart_EventScript_2C8326 compare VAR_RESULT, 0 - goto_eq FallarborTown_Mart_EventScript_2C810A + goto_if_eq FallarborTown_Mart_EventScript_2C810A setflag FLAG_0x1B5 goto FallarborTown_Mart_EventScript_2C8114 end @@ -10233,19 +10203,18 @@ FallarborTown_Mart_EventScript_2C8114:: @ 82C8114 FortreeCity_House2_EventScript_2C811E:: @ 82C811E lock faceplayer - checkflag FLAG_0x1B6 - goto_eq FortreeCity_House2_EventScript_2C817C + goto_if_set FLAG_0x1B6, FortreeCity_House2_EventScript_2C817C msgbox FortreeCity_House2_Text_2C7637, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq FortreeCity_House2_EventScript_2C8172 + goto_if_eq FortreeCity_House2_EventScript_2C8172 call FortreeCity_House2_EventScript_2C832D compare VAR_RESULT, 0 - goto_eq FortreeCity_House2_EventScript_2C8172 + goto_if_eq FortreeCity_House2_EventScript_2C8172 msgbox FortreeCity_House2_Text_2C7721, MSGBOX_DEFAULT setvar VAR_0x8005, 24 call FortreeCity_House2_EventScript_2C8326 compare VAR_RESULT, 0 - goto_eq FortreeCity_House2_EventScript_2C8172 + goto_if_eq FortreeCity_House2_EventScript_2C8172 setflag FLAG_0x1B6 goto FortreeCity_House2_EventScript_2C817C end @@ -10263,19 +10232,18 @@ FortreeCity_House2_EventScript_2C817C:: @ 82C817C LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186:: @ 82C8186 lock faceplayer - checkflag FLAG_0x1B7 - goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4 + goto_if_set FLAG_0x1B7, LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4 msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C77C6, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA call LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D compare VAR_RESULT, 0 - goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C7911, MSGBOX_DEFAULT setvar VAR_0x8005, 14 call LilycoveCity_DepartmentStoreRooftop_EventScript_2C8326 compare VAR_RESULT, 0 - goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA setflag FLAG_0x1B7 goto LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4 end @@ -10293,19 +10261,18 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4:: @ 82C81E4 MossdeepCity_EventScript_2C81EE:: @ 82C81EE lock faceplayer - checkflag FLAG_0x1B8 - goto_eq MossdeepCity_EventScript_2C824C + goto_if_set FLAG_0x1B8, MossdeepCity_EventScript_2C824C msgbox MossdeepCity_Text_2C79A6, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MossdeepCity_EventScript_2C8242 + goto_if_eq MossdeepCity_EventScript_2C8242 call MossdeepCity_EventScript_2C832D compare VAR_RESULT, 0 - goto_eq MossdeepCity_EventScript_2C8242 + goto_if_eq MossdeepCity_EventScript_2C8242 msgbox MossdeepCity_Text_2C7B0D, MSGBOX_DEFAULT setvar VAR_0x8005, 15 call MossdeepCity_EventScript_2C8326 compare VAR_RESULT, 0 - goto_eq MossdeepCity_EventScript_2C8242 + goto_if_eq MossdeepCity_EventScript_2C8242 setflag FLAG_0x1B8 goto MossdeepCity_EventScript_2C824C end @@ -10323,19 +10290,18 @@ MossdeepCity_EventScript_2C824C:: @ 82C824C SootopolisCity_PokemonCenter_1F_EventScript_2C8256:: @ 82C8256 lock faceplayer - checkflag FLAG_0x1B9 - goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82B4 + goto_if_set FLAG_0x1B9, SootopolisCity_PokemonCenter_1F_EventScript_2C82B4 msgbox SootopolisCity_PokemonCenter_1F_Text_2C7B8E, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA + goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA call SootopolisCity_PokemonCenter_1F_EventScript_2C832D compare VAR_RESULT, 0 - goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA + goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C98, MSGBOX_DEFAULT setvar VAR_0x8005, 4 call SootopolisCity_PokemonCenter_1F_EventScript_2C8326 compare VAR_RESULT, 0 - goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA + goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA setflag FLAG_0x1B9 goto SootopolisCity_PokemonCenter_1F_EventScript_2C82B4 end @@ -10353,19 +10319,18 @@ SootopolisCity_PokemonCenter_1F_EventScript_2C82B4:: @ 82C82B4 PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE:: @ 82C82BE lock faceplayer - checkflag FLAG_0x1BA - goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C831C + goto_if_set FLAG_0x1BA, PacifidlogTown_PokemonCenter_1F_EventScript_2C831C msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7CFA, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 + goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 call PacifidlogTown_PokemonCenter_1F_EventScript_2C832D compare VAR_RESULT, 0 - goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 + goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E40, MSGBOX_DEFAULT setvar VAR_0x8005, 12 call PacifidlogTown_PokemonCenter_1F_EventScript_2C8326 compare VAR_RESULT, 0 - goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 + goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 setflag FLAG_0x1BA goto PacifidlogTown_PokemonCenter_1F_EventScript_2C831C end @@ -10421,11 +10386,11 @@ TrainerHill_Roof_MapScript1_2C8336: @ 82C8336 setvar VAR_0x8005, 5 special CallFrontierUtilFunc compare VAR_RESULT, 2 - goto_eq TrainerHill_1F_EventScript_2C83C9 + goto_if_eq TrainerHill_1F_EventScript_2C83C9 compare VAR_RESULT, 3 - goto_eq TrainerHill_1F_EventScript_2C83C9 + goto_if_eq TrainerHill_1F_EventScript_2C83C9 compare VAR_RESULT, 9 - goto_eq TrainerHill_1F_EventScript_2C83C9 + goto_if_eq TrainerHill_1F_EventScript_2C83C9 end TrainerHill_1F_MapScript2_2C8372: @ 82C8372 @@ -10459,7 +10424,7 @@ TrainerHill_1F_EventScript_2C83A6:: @ 82C83A6 setvar VAR_0x8004, 9 special sp194_trainer_tower compare VAR_RESULT, 1 - goto_eq TrainerHill_1F_EventScript_2C83BF + goto_if_eq TrainerHill_1F_EventScript_2C83BF end TrainerHill_1F_EventScript_2C83BF:: @ 82C83BF diff --git a/data/field_effect_helpers.s b/data/field_effect_helpers.s deleted file mode 100644 index e49592659..000000000 --- a/data/field_effect_helpers.s +++ /dev/null @@ -1,11 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 1 - -gUnknown_085CDC6E:: @ 85CDC6E - @the following might be unref, not sure - .byte 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00 - diff --git a/data/field_effect_misc.s b/data/field_effect_misc.s deleted file mode 100644 index f1b28d906..000000000 --- a/data/field_effect_misc.s +++ /dev/null @@ -1,244 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gSpriteImage_858D978:: @ 858D978 - .incbin "graphics/unknown/858E588/0.4bpp" - - .align 2 -gSpriteImage_858D9F8:: @ 858D9F8 - .incbin "graphics/unknown/858E588/1.4bpp" - - .align 2 -gSpriteImage_858DA78:: @ 858DA78 - .incbin "graphics/unknown/858E588/2.4bpp" - - .align 2 -gSpriteImage_858DAF8:: @ 858DAF8 - .incbin "graphics/unknown/858E588/3.4bpp" - - .align 2 -gSpriteImage_858DB78:: @ 858DB78 - .incbin "graphics/unknown/858E588/4.4bpp" - - .space 32 - - .align 2 -gFieldEffectObjectPalette7:: @ 858DC18 - .incbin "graphics/event_objects/palettes/field_effect_object_palette_07.gbapal" - - .align 2 -gSpriteImage_858DC38:: @ 858DC38 - .incbin "graphics/unknown/858E5D8/0.4bpp" - - .align 2 -gSpriteImage_858DCB8:: @ 858DCB8 - .incbin "graphics/unknown/858E5D8/1.4bpp" - - .align 2 -gSpriteImage_858DD38:: @ 858DD38 - .incbin "graphics/unknown/858E5D8/2.4bpp" - - .align 2 -gSpriteImage_858DDB8:: @ 858DDB8 - .incbin "graphics/unknown/858E5D8/3.4bpp" - - .align 2 -gSpriteImage_858DE38:: @ 858DE38 - .incbin "graphics/unknown/858E5D8/4.4bpp" - - .align 2 -gSpriteImage_858DEB8:: @ 858DEB8 - .incbin "graphics/unknown/858E5B0/0.4bpp" - - .align 2 -gSpriteImage_858DF38:: @ 858DF38 - .incbin "graphics/unknown/858E5B0/1.4bpp" - - .align 2 -gSpriteImage_858DFB8:: @ 858DFB8 - .incbin "graphics/unknown/858E5B0/2.4bpp" - - .align 2 -gSpriteImage_858E038:: @ 858E038 - .incbin "graphics/unknown/858E5B0/3.4bpp" - - .align 2 -gSpriteImage_858E0B8:: @ 858E0B8 - .incbin "graphics/unknown/858E5B0/4.4bpp" - - .align 2 -gSpriteImage_858E138:: @ 858E138 - .incbin "graphics/unknown/858E5B0/5.4bpp" - - .align 2 -gFieldEffectObjectPalette8:: @ 858E1B8 - .incbin "graphics/event_objects/palettes/field_effect_object_palette_08.gbapal" - - .align 2 -gSpriteImage_858E1D8:: @ 858E1D8 - .incbin "graphics/unknown/858E674/0.4bpp" - - .align 2 -gSpriteImage_858E2D8:: @ 858E2D8 - .incbin "graphics/unknown/858E674/1.4bpp" - - .align 2 -gSpriteImage_858E3D8:: @ 858E3D8 - .incbin "graphics/unknown/858E674/2.4bpp" - - .align 2 -gOamData_858E4D8:: @ 858E4D8 - .2byte 0x0000, 0x4000, 0x0800, 0x0000 - - .align 2 -gSpriteAnim_858E4E0:: @ 858E4E0 - .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0004, 0x0008, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_858E4F8:: @ 858E4F8 - .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0004, 0x0008, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_858E510:: @ 858E510 - .2byte 0x0004, 0x0008, 0x0003, 0x0008, 0x0002, 0x0008, 0x0001, 0x0008, 0x0000, 0x0008, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_858E528:: @ 858E528 - .2byte 0x0000, 0x0048, 0x0001, 0x0048, 0x0002, 0x0048, 0x0003, 0x0048, 0x0004, 0x0048, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_858E540:: @ 858E540 - .2byte 0x0004, 0x0048, 0x0003, 0x0048, 0x0002, 0x0048, 0x0001, 0x0048, 0x0000, 0x0048, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_858E558:: @ 858E558 - .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0004, 0x0008, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_858E570:: @ 858E570 - .4byte gSpriteAnim_858E4E0 - - .align 2 -gSpriteAnimTable_858E574:: @ 858E574 - .4byte gSpriteAnim_858E4F8 - .4byte gSpriteAnim_858E510 - .4byte gSpriteAnim_858E528 - .4byte gSpriteAnim_858E540 - - .align 2 -gSpriteAnimTable_858E584:: @ 858E584 - .4byte gSpriteAnim_858E558 - - .align 2 -gUnknown_858E588:: @ 858E588 - obj_frame_tiles gSpriteImage_858D978, 0x0080 - obj_frame_tiles gSpriteImage_858D9F8, 0x0080 - obj_frame_tiles gSpriteImage_858DA78, 0x0080 - obj_frame_tiles gSpriteImage_858DAF8, 0x0080 - obj_frame_tiles gSpriteImage_858DB78, 0x0080 - - .align 2 -gUnknown_858E5B0:: @ 858E5B0 - obj_frame_tiles gSpriteImage_858DEB8, 0x0080 - obj_frame_tiles gSpriteImage_858DF38, 0x0080 - obj_frame_tiles gSpriteImage_858DFB8, 0x0080 - obj_frame_tiles gSpriteImage_858E038, 0x0080 - obj_frame_tiles gSpriteImage_858E0B8, 0x0080 - - .align 2 -gUnknown_858E5D8:: @ 858E5D8 - obj_frame_tiles gSpriteImage_858DC38, 0x0080 - obj_frame_tiles gSpriteImage_858DCB8, 0x0080 - obj_frame_tiles gSpriteImage_858DD38, 0x0080 - obj_frame_tiles gSpriteImage_858DDB8, 0x0080 - obj_frame_tiles gSpriteImage_858DE38, 0x0080 - - .align 2 -gUnknown_0858E600:: @ 858E600 - spr_template 0xffff, 0x1003, gOamData_858E4D8, gSpriteAnimTable_858E570, gUnknown_858E588, gDummySpriteAffineAnimTable, sub_80FA18C - - .align 2 -gUnknown_0858E618:: @ 858E618 - spr_template 0xffff, 0x1008, gOamData_858E4D8, gSpriteAnimTable_858E574, gUnknown_858E5B0, gDummySpriteAffineAnimTable, sub_80FA2D8 - - .align 2 -gUnknown_0858E630:: @ 858E630 - spr_template 0xffff, 0x1008, gOamData_858E4D8, gSpriteAnimTable_858E584, gUnknown_858E5D8, gDummySpriteAffineAnimTable, sub_80FA3FC - - .align 2 -gFieldEffectObjectPaletteInfo7:: @ 858E648 - obj_pal gFieldEffectObjectPalette7, 0x1003 - - .align 2 -gFieldEffectObjectPaletteInfo8:: @ 858E650 - obj_pal gFieldEffectObjectPalette8, 0x1008 - - .align 2 -gOamData_858E658:: @ 858E658 - .2byte 0x8000, 0x8000, 0x0800, 0x0000 - - .align 2 -gSpriteAnim_858E660:: @ 858E660 - .2byte 0x0000, 0x0006, 0x0001, 0x0006, 0x0002, 0x0006, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_858E670:: @ 858E670 - .4byte gSpriteAnim_858E660 - - .align 2 -gUnknown_0858E674:: @ 858E674 - obj_frame_tiles gSpriteImage_858E1D8, 0x0100 - obj_frame_tiles gSpriteImage_858E2D8, 0x0100 - obj_frame_tiles gSpriteImage_858E3D8, 0x0100 - - .align 2 -gUnknown_0858E68C:: @ 858E68C - spr_template 0xffff, 0x100e, gOamData_858E658, gSpriteAnimTable_858E670, gUnknown_0858E674, gDummySpriteAffineAnimTable, door_restore_tilemap - - .align 2 -@ This uses one of the secret base palettes, so there is no -@ "field_effect_object_palette_09.pal" file. -gFieldEffectObjectPaletteInfo9:: @ 858E6A4 - obj_pal gTilesetPalettes_SecretBase + 5 * 0x20, 0x100E - - .align 2 -gSpriteImage_858E6AC:: @ 858E6AC - .incbin "graphics/unknown/858E84C/0.4bpp" - - .align 2 -gSpriteImage_858E72C:: @ 858E72C - .incbin "graphics/unknown/858E84C/1.4bpp" - - .align 2 -gSpriteImage_858E7AC:: @ 858E7AC - .incbin "graphics/unknown/858E84C/2.4bpp" - - .align 2 -gUnknown_0858E82C:: @ 858E82C - .incbin "graphics/unknown/unknown_58E82C.gbapal" - - .align 2 -gUnknown_0858E84C:: @ 858E84C - obj_frame_tiles gSpriteImage_858E6AC, 0x0080 - obj_frame_tiles gSpriteImage_858E72C, 0x0080 - obj_frame_tiles gSpriteImage_858E7AC, 0x0080 - - .align 2 -gUnknown_0858E864:: @ 858E864 - obj_pal gUnknown_0858E82C, 0x1000 - - .align 2 -gSpriteAnim_858E86C:: @ 858E86C - .2byte 0x0000, 0x001e, 0x0001, 0x001e, 0x0002, 0x001e, 0xfffe, 0x0000 - - .align 2 -gSpriteAnimTable_858E87C:: @ 858E87C - .4byte gSpriteAnim_858E86C - - .align 2 -gUnknown_0858E880:: @ 858E880 - spr_template 0xffff, 0x1000, gEventObjectBaseOam_32x8, gSpriteAnimTable_858E87C, gUnknown_0858E84C, gDummySpriteAffineAnimTable, SpriteCallbackDummy - diff --git a/data/field_effect_scripts.s b/data/field_effect_scripts.s index eab655877..81de41aaa 100644 --- a/data/field_effect_scripts.s +++ b/data/field_effect_scripts.s @@ -118,7 +118,7 @@ gFieldEffectScript_GroundImpactDust:: @ 82DBB28 field_eff_end gFieldEffectScript_Unknown11:: @ 82DBB32 - field_eff_callnative oei_sweet_scent + field_eff_callnative FldEff_UseSecretPowerCave field_eff_end gFieldEffectScript_BikeHopTallGrass:: @ 82DBB38 @@ -179,11 +179,11 @@ gFieldEffectScript_Unknown25:: @ 82DBBB6 field_eff_end gFieldEffectScript_Unknown26:: @ 82DBBC5 - field_eff_callnative sub_80FA208 + field_eff_callnative FldEff_UseSecretPowerTree field_eff_end gFieldEffectScript_Unknown27:: @ 82DBBCB - field_eff_callnative sub_80FA36C + field_eff_callnative FldEff_UseSecretPowerShrub field_eff_end gFieldEffectScript_TreeDisguise:: @ 82DBBD1 @@ -264,11 +264,11 @@ gFieldEffectScript_HeartIcon:: @ 82DBC56 field_eff_end gFieldEffectScript_Unknown47:: @ 82DBC60 - field_eff_callnative sub_80FA6FC + field_eff_callnative FldEff_NopA6FC field_eff_end gFieldEffectScript_Unknown48:: @ 82DBC66 - field_eff_callnative sub_80FA700 + field_eff_callnative FldEff_NopA700 field_eff_end gFieldEffectScript_JumpOutOfAsh:: @ 82DBC6C @@ -284,7 +284,7 @@ gFieldEffectScript_Unknown51:: @ 82DBC80 field_eff_end gFieldEffectScript_Unknown52:: @ 82DBC86 - field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo9, sub_80FAA7C + field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo9, FldEff_SandPillar field_eff_end gFieldEffectScript_Bubbles:: @ 82DBC90 @@ -296,15 +296,15 @@ gFieldEffectScript_Unknown54:: @ 82DBC9A field_eff_end gFieldEffectScript_Unknown55:: @ 82DBCA4 - field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo7, sub_80FA13C + field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo7, FldEff_SecretPowerCave field_eff_end gFieldEffectScript_Unknown56:: @ 82DBCAE - field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo8, sub_80FA248 + field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo8, FldEff_SecretPowerTree field_eff_end gFieldEffectScript_Unknown57:: @ 82DBCB8 - field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo8, sub_80FA3AC + field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo8, FldEff_SecretPowerShrub field_eff_end gFieldEffectScript_Unknown58:: @ 82DBCC2 @@ -320,7 +320,7 @@ gFieldEffectScript_Unknown60:: @ 82DBCD2 field_eff_end gFieldEffectScript_Unknown61:: @ 82DBCD8 - field_eff_callnative sub_80FA458 + field_eff_callnative FldEff_SecretBasePCTurnOn field_eff_end gFieldEffectScript_Unknown62:: @ 82DBCDE diff --git a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc index e40ddad1e..796b91c02 100644 --- a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc +++ b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc @@ -4,13 +4,11 @@ AbandonedShip_CaptainsOffice_MapScripts:: @ 82387E1 AbandonedShip_CaptainsOffice_EventScript_2387E2:: @ 82387E2 lock faceplayer - checkflag FLAG_TRADED_SCANNER_TO_STERN - goto_eq AbandonedShip_CaptainsOffice_EventScript_23881A + goto_if_set FLAG_TRADED_SCANNER_TO_STERN, AbandonedShip_CaptainsOffice_EventScript_23881A checkitem ITEM_SCANNER, 1 compare VAR_RESULT, 1 - goto_eq AbandonedShip_CaptainsOffice_EventScript_238810 - checkflag FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER - goto_eq AbandonedShip_CaptainsOffice_EventScript_23881A + goto_if_eq AbandonedShip_CaptainsOffice_EventScript_238810 + goto_if_set FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER, AbandonedShip_CaptainsOffice_EventScript_23881A msgbox AbandonedShip_CaptainsOffice_Text_238824, MSGBOX_DEFAULT release end diff --git a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc index 4715e5566..cfdf40163 100644 --- a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc +++ b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc @@ -8,10 +8,8 @@ AbandonedShip_Corridors_B1F_MapScript1_237D8F: @ 8237D8F end AbandonedShip_Corridors_B1F_MapScript1_237D98: @ 8237D98 - checkflag FLAG_0x0EF - call_if 0, AbandonedShip_Corridors_B1F_EventScript_237DAB - checkflag FLAG_0x0EF - call_if 1, AbandonedShip_Corridors_B1F_EventScript_237DB5 + call_if_unset FLAG_0x0EF, AbandonedShip_Corridors_B1F_EventScript_237DAB + call_if_set FLAG_0x0EF, AbandonedShip_Corridors_B1F_EventScript_237DB5 end AbandonedShip_Corridors_B1F_EventScript_237DAB:: @ 8237DAB @@ -28,11 +26,10 @@ AbandonedShip_Corridors_B1F_EventScript_237DBF:: @ 8237DBF AbandonedShip_Corridors_B1F_EventScript_237DC8:: @ 8237DC8 lockall - checkflag FLAG_0x0EF - goto_eq AbandonedShip_Corridors_B1F_EventScript_237E09 + goto_if_set FLAG_0x0EF, AbandonedShip_Corridors_B1F_EventScript_237E09 checkitem ITEM_STORAGE_KEY, 1 compare VAR_RESULT, 0 - goto_eq AbandonedShip_Corridors_B1F_EventScript_237DFF + goto_if_eq AbandonedShip_Corridors_B1F_EventScript_237DFF msgbox AbandonedShip_Corridors_B1F_Text_237F4B, MSGBOX_DEFAULT playse SE_PIN takeitem ITEM_STORAGE_KEY, 1 diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc index e3c3ced5c..cb60d7962 100644 --- a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc +++ b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc @@ -8,22 +8,14 @@ AbandonedShip_HiddenFloorCorridors_MapScript1_238977: @ 8238977 end AbandonedShip_HiddenFloorCorridors_MapScript1_238980: @ 8238980 - checkflag FLAG_0x0F0 - call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_2389F1 - checkflag FLAG_0x0F1 - call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_2389FB - checkflag FLAG_0x0F2 - call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A05 - checkflag FLAG_0x0F3 - call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A0F - checkflag FLAG_0x0F0 - call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389C9 - checkflag FLAG_0x0F1 - call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389D3 - checkflag FLAG_0x0F2 - call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389DD - checkflag FLAG_0x0F3 - call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389E7 + call_if_unset FLAG_0x0F0, AbandonedShip_HiddenFloorCorridors_EventScript_2389F1 + call_if_unset FLAG_0x0F1, AbandonedShip_HiddenFloorCorridors_EventScript_2389FB + call_if_unset FLAG_0x0F2, AbandonedShip_HiddenFloorCorridors_EventScript_238A05 + call_if_unset FLAG_0x0F3, AbandonedShip_HiddenFloorCorridors_EventScript_238A0F + call_if_set FLAG_0x0F0, AbandonedShip_HiddenFloorCorridors_EventScript_2389C9 + call_if_set FLAG_0x0F1, AbandonedShip_HiddenFloorCorridors_EventScript_2389D3 + call_if_set FLAG_0x0F2, AbandonedShip_HiddenFloorCorridors_EventScript_2389DD + call_if_set FLAG_0x0F3, AbandonedShip_HiddenFloorCorridors_EventScript_2389E7 end AbandonedShip_HiddenFloorCorridors_EventScript_2389C9:: @ 82389C9 @@ -60,11 +52,10 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A0F:: @ 8238A0F AbandonedShip_HiddenFloorCorridors_EventScript_238A19:: @ 8238A19 lockall - checkflag FLAG_0x0F0 - goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + goto_if_set FLAG_0x0F0, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D checkitem ITEM_ROOM_1_KEY, 1 compare VAR_RESULT, 0 - goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AF5 + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AF5 msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT playse SE_PIN takeitem ITEM_ROOM_1_KEY, 1 @@ -76,11 +67,10 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A19:: @ 8238A19 AbandonedShip_HiddenFloorCorridors_EventScript_238A50:: @ 8238A50 lockall - checkflag FLAG_0x0F1 - goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + goto_if_set FLAG_0x0F1, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D checkitem ITEM_ROOM_2_KEY, 1 compare VAR_RESULT, 0 - goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AFF + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AFF msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT playse SE_PIN takeitem ITEM_ROOM_2_KEY, 1 @@ -92,11 +82,10 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A50:: @ 8238A50 AbandonedShip_HiddenFloorCorridors_EventScript_238A87:: @ 8238A87 lockall - checkflag FLAG_0x0F2 - goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + goto_if_set FLAG_0x0F2, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D checkitem ITEM_ROOM_4_KEY, 1 compare VAR_RESULT, 0 - goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B09 + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B09 msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT playse SE_PIN takeitem ITEM_ROOM_4_KEY, 1 @@ -108,11 +97,10 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A87:: @ 8238A87 AbandonedShip_HiddenFloorCorridors_EventScript_238ABE:: @ 8238ABE lockall - checkflag FLAG_0x0F3 - goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + goto_if_set FLAG_0x0F3, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D checkitem ITEM_ROOM_6_KEY, 1 compare VAR_RESULT, 0 - goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B13 + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B13 msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT playse SE_PIN takeitem ITEM_ROOM_6_KEY, 1 diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc index c89163af2..f8ecc9001 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc +++ b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc @@ -11,11 +11,11 @@ AbandonedShip_HiddenFloorRooms_EventScript_238C59:: @ 8238C59 getplayerxy VAR_TEMP_2, VAR_TEMP_3 setvar VAR_TEMP_4, 1 compare VAR_TEMP_2, 21 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CD1 + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238CD1 compare VAR_TEMP_2, 36 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CD7 + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238CD7 compare VAR_TEMP_3, 2 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CDD + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238CDD switch VAR_TEMP_4 case 1, AbandonedShip_HiddenFloorRooms_EventScript_238CE3 case 2, AbandonedShip_HiddenFloorRooms_EventScript_238D0C @@ -45,7 +45,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3 dofieldeffect 54 specialvar VAR_RESULT, FoundAbandonedShipRoom4Key compare VAR_RESULT, 0 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DD3 + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DD3 waitfieldeffect 54 delay 10 end @@ -56,10 +56,10 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D0C:: @ 8238D0C AbandonedShip_HiddenFloorRooms_EventScript_238D0D:: @ 8238D0D specialvar VAR_RESULT, FoundAbandonedShipRoom1Key compare VAR_RESULT, 1 - goto_eq AbandonedShip_HiddenFloorRooms_EventScript_238D32 + goto_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238D32 delay 20 compare VAR_RESULT, 0 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DB3 + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DB3 waitfieldeffect 54 delay 10 end @@ -79,7 +79,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D33:: @ 8238D33 dofieldeffect 54 specialvar VAR_RESULT, FoundAbandonedShipRoom6Key compare VAR_RESULT, 0 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DE3 + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DE3 waitfieldeffect 54 delay 10 end @@ -100,7 +100,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D6B:: @ 8238D6B dofieldeffect 54 specialvar VAR_RESULT, FoundAbandonedShipRoom2Key compare VAR_RESULT, 0 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DC3 + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DC3 waitfieldeffect 54 delay 10 end diff --git a/data/maps/AbandonedShip_Rooms2_1F/scripts.inc b/data/maps/AbandonedShip_Rooms2_1F/scripts.inc index 5c934f263..ec382e56c 100644 --- a/data/maps/AbandonedShip_Rooms2_1F/scripts.inc +++ b/data/maps/AbandonedShip_Rooms2_1F/scripts.inc @@ -5,7 +5,7 @@ AbandonedShip_Rooms2_1F_EventScript_2380A7:: @ 82380A7 trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_23819D, AbandonedShip_Rooms2_1F_Text_2381DA, AbandonedShip_Rooms2_1F_Text_238257, AbandonedShip_Rooms2_1F_EventScript_2380D7 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq AbandonedShip_Rooms2_1F_EventScript_2380F0 + goto_if_eq AbandonedShip_Rooms2_1F_EventScript_2380F0 msgbox AbandonedShip_Rooms2_1F_Text_23820F, MSGBOX_DEFAULT release end @@ -25,7 +25,7 @@ AbandonedShip_Rooms2_1F_EventScript_23810B:: @ 823810B trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_2382A4, AbandonedShip_Rooms2_1F_Text_2382F4, AbandonedShip_Rooms2_1F_Text_23836F, AbandonedShip_Rooms2_1F_EventScript_23813B specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq AbandonedShip_Rooms2_1F_EventScript_238154 + goto_if_eq AbandonedShip_Rooms2_1F_EventScript_238154 msgbox AbandonedShip_Rooms2_1F_Text_23830A, MSGBOX_DEFAULT release end diff --git a/data/maps/AbandonedShip_Rooms_1F/scripts.inc b/data/maps/AbandonedShip_Rooms_1F/scripts.inc index d64c027a3..5797ed5fb 100644 --- a/data/maps/AbandonedShip_Rooms_1F/scripts.inc +++ b/data/maps/AbandonedShip_Rooms_1F/scripts.inc @@ -14,7 +14,7 @@ AbandonedShip_Rooms_1F_EventScript_237AB3:: @ 8237AB3 trainerbattle_single TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_237B76, AbandonedShip_Rooms_1F_Text_237BB8, AbandonedShip_Rooms_1F_EventScript_237ADF specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq AbandonedShip_Rooms_1F_EventScript_237AFE + goto_if_eq AbandonedShip_Rooms_1F_EventScript_237AFE msgbox AbandonedShip_Rooms_1F_Text_237BDB, MSGBOX_DEFAULT release end diff --git a/data/maps/AncientTomb/scripts.inc b/data/maps/AncientTomb/scripts.inc index f3c42b690..133db13a5 100644 --- a/data/maps/AncientTomb/scripts.inc +++ b/data/maps/AncientTomb/scripts.inc @@ -5,21 +5,19 @@ AncientTomb_MapScripts:: @ 8238FB3 .byte 0 AncientTomb_MapScript1_238FC3: @ 8238FC3 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, AncientTomb_EventScript_238FCD + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AncientTomb_EventScript_238FCD end AncientTomb_EventScript_238FCD:: @ 8238FCD specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, AncientTomb_EventScript_27374E + goto_if_ne AncientTomb_EventScript_27374E removeobject VAR_LAST_TALKED return AncientTomb_MapScript1_238FE1: @ 8238FE1 setflag FLAG_LANDMARK_ANCIENT_TOMB - checkflag FLAG_0x1BD - call_if 0, AncientTomb_EventScript_238FEE + call_if_unset FLAG_0x1BD, AncientTomb_EventScript_238FEE end AncientTomb_EventScript_238FEE:: @ 8238FEE @@ -27,8 +25,7 @@ AncientTomb_EventScript_238FEE:: @ 8238FEE return AncientTomb_MapScript1_238FF2: @ 8238FF2 - checkflag FLAG_SYS_BRAILLE_FLY - call_if 0, AncientTomb_EventScript_238FFC + call_if_unset FLAG_SYS_BRAILLE_FLY, AncientTomb_EventScript_238FFC end AncientTomb_EventScript_238FFC:: @ 8238FFC @@ -42,8 +39,7 @@ AncientTomb_EventScript_238FFC:: @ 8238FFC AncientTomb_EventScript_239033:: @ 8239033 lockall - checkflag FLAG_SYS_BRAILLE_FLY - goto_eq AncientTomb_EventScript_239046 + goto_if_set FLAG_SYS_BRAILLE_FLY, AncientTomb_EventScript_239046 braillemessage AncientTomb_Braille_2A6D06 waitbuttonpress hidebox2 @@ -77,11 +73,11 @@ AncientTomb_EventScript_23905A:: @ 823905A clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq AncientTomb_EventScript_2390A1 + goto_if_eq AncientTomb_EventScript_2390A1 compare VAR_RESULT, 4 - goto_eq AncientTomb_EventScript_2390AA + goto_if_eq AncientTomb_EventScript_2390AA compare VAR_RESULT, 5 - goto_eq AncientTomb_EventScript_2390AA + goto_if_eq AncientTomb_EventScript_2390AA setflag FLAG_0x1BD release end diff --git a/data/maps/AquaHideout_1F/scripts.inc b/data/maps/AquaHideout_1F/scripts.inc index 8eb5e60b9..0b44908e0 100644 --- a/data/maps/AquaHideout_1F/scripts.inc +++ b/data/maps/AquaHideout_1F/scripts.inc @@ -4,10 +4,8 @@ AquaHideout_1F_MapScripts:: @ 8233493 AquaHideout_1F_EventScript_233494:: @ 8233494 lock faceplayer - checkflag FLAG_0x06F - goto_eq AquaHideout_1F_EventScript_2334BC - checkflag FLAG_0x0D4 - goto_eq AquaHideout_1F_EventScript_2334B2 + goto_if_set FLAG_0x06F, AquaHideout_1F_EventScript_2334BC + goto_if_set FLAG_0x0D4, AquaHideout_1F_EventScript_2334B2 msgbox AquaHideout_1F_Text_23351D, MSGBOX_DEFAULT release end @@ -25,10 +23,8 @@ AquaHideout_1F_EventScript_2334BC:: @ 82334BC AquaHideout_1F_EventScript_2334C6:: @ 82334C6 lock faceplayer - checkflag FLAG_0x06F - goto_eq AquaHideout_1F_EventScript_2334EE - checkflag FLAG_0x0D4 - goto_eq AquaHideout_1F_EventScript_2334E4 + goto_if_set FLAG_0x06F, AquaHideout_1F_EventScript_2334EE + goto_if_set FLAG_0x0D4, AquaHideout_1F_EventScript_2334E4 msgbox AquaHideout_1F_Text_233739, MSGBOX_DEFAULT release end diff --git a/data/maps/AquaHideout_B1F/scripts.inc b/data/maps/AquaHideout_B1F/scripts.inc index 9c660d8b1..6a388e625 100644 --- a/data/maps/AquaHideout_B1F/scripts.inc +++ b/data/maps/AquaHideout_B1F/scripts.inc @@ -4,22 +4,19 @@ AquaHideout_B1F_MapScripts:: @ 82339A7 .byte 0 AquaHideout_B1F_MapScript1_2339B2: @ 82339B2 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, AquaHideout_B1F_EventScript_2339BC + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AquaHideout_B1F_EventScript_2339BC end AquaHideout_B1F_EventScript_2339BC:: @ 82339BC specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, AquaHideout_B1F_EventScript_27374E + goto_if_ne AquaHideout_B1F_EventScript_27374E removeobject VAR_LAST_TALKED return AquaHideout_B1F_MapScript1_2339D0: @ 82339D0 - checkflag FLAG_0x1C4 - call_if 0, AquaHideout_B1F_EventScript_2339E3 - checkflag FLAG_0x1C5 - call_if 0, AquaHideout_B1F_EventScript_2339E7 + call_if_unset FLAG_0x1C4, AquaHideout_B1F_EventScript_2339E3 + call_if_unset FLAG_0x1C5, AquaHideout_B1F_EventScript_2339E7 end AquaHideout_B1F_EventScript_2339E3:: @ 82339E3 @@ -43,11 +40,11 @@ AquaHideout_B1F_EventScript_2339EB:: @ 82339EB clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq AquaHideout_B1F_EventScript_233A2F + goto_if_eq AquaHideout_B1F_EventScript_233A2F compare VAR_RESULT, 4 - goto_eq AquaHideout_B1F_EventScript_233A2F + goto_if_eq AquaHideout_B1F_EventScript_233A2F compare VAR_RESULT, 5 - goto_eq AquaHideout_B1F_EventScript_233A2F + goto_if_eq AquaHideout_B1F_EventScript_233A2F setflag FLAG_0x1C4 release end @@ -70,11 +67,11 @@ AquaHideout_B1F_EventScript_233A38:: @ 8233A38 clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq AquaHideout_B1F_EventScript_233A7C + goto_if_eq AquaHideout_B1F_EventScript_233A7C compare VAR_RESULT, 4 - goto_eq AquaHideout_B1F_EventScript_233A7C + goto_if_eq AquaHideout_B1F_EventScript_233A7C compare VAR_RESULT, 5 - goto_eq AquaHideout_B1F_EventScript_233A7C + goto_if_eq AquaHideout_B1F_EventScript_233A7C setflag FLAG_0x1C5 release end diff --git a/data/maps/AquaHideout_B2F/scripts.inc b/data/maps/AquaHideout_B2F/scripts.inc index 584a1a3e1..ab120193d 100644 --- a/data/maps/AquaHideout_B2F/scripts.inc +++ b/data/maps/AquaHideout_B2F/scripts.inc @@ -3,8 +3,7 @@ AquaHideout_B2F_MapScripts:: @ 8233DCF .byte 0 AquaHideout_B2F_MapScript1_233DD5: @ 8233DD5 - checkflag FLAG_0x070 - call_if 1, AquaHideout_B2F_EventScript_233DDF + call_if_set FLAG_0x070, AquaHideout_B2F_EventScript_233DDF end AquaHideout_B2F_EventScript_233DDF:: @ 8233DDF diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc index 75ac9a4ec..4e25289e6 100644 --- a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc @@ -18,9 +18,9 @@ BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0: @ 82574A0 BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE:: @ 82574AE checkplayergender compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6 + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC return BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6:: @ 82574C6 @@ -44,7 +44,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC:: @ 82574DC setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25752E + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25752E applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08 applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB setvar VAR_TEMP_2, 1 @@ -150,25 +150,25 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0:: @ 82576B0 special CallFrontierUtilFunc copyvar VAR_TEMP_F, VAR_RESULT compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC + goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC setvar VAR_0x8004, 1 setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257870 + call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257870 compare VAR_RESULT, 2 - call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257877 + call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257877 compare VAR_RESULT, 3 - call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25787E + call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25787E compare VAR_RESULT, 4 - call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257885 + call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257885 compare VAR_RESULT, 5 - call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25788C + call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25788C compare VAR_RESULT, 6 - call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257893 + call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257893 call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257768 + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257768 multichoice 19, 4, 103, 1 switch VAR_RESULT case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_25783A @@ -276,7 +276,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25789A:: @ 825789A BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC:: @ 82578BC compare VAR_TEMP_2, 1 - goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4 + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4 msgbox BattleFrontier_BattleArenaBattleRoom_Text_257F45, MSGBOX_DEFAULT setvar VAR_TEMP_2, 1 @@ -285,7 +285,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4:: @ 82578D4 waitmessage call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25792B + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25792B multichoice 19, 4, 103, 1 switch VAR_RESULT case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257961 @@ -334,7 +334,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257961:: @ 8257961 setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F + goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F msgbox BattleFrontier_BattleArenaBattleRoom_Text_25801C, MSGBOX_DEFAULT closemessage setvar VAR_0x8004, 2 @@ -352,7 +352,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F:: @ 8257A3F msgbox BattleFrontier_BattleArenaBattleRoom_Text_25810D, MSGBOX_DEFAULT call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C goto BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C:: @ 8257A5C @@ -360,7 +360,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C:: @ 8257A5C setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257852 + goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257852 applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1 waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_25813F, MSGBOX_DEFAULT @@ -378,7 +378,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5:: @ 8257AA5 setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8 + goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8 msgbox BattleFrontier_BattleArenaBattleRoom_Text_258213, MSGBOX_DEFAULT closemessage setvar VAR_0x8004, 2 @@ -396,7 +396,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8:: @ 8257AF8 msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582F9, MSGBOX_DEFAULT call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257B15 + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257B15 goto BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB BattleFrontier_BattleArenaBattleRoom_EventScript_257B15:: @ 8257B15 @@ -404,7 +404,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257B15:: @ 8257B15 setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257852 + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257852 applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1 waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_258323, MSGBOX_DEFAULT @@ -536,7 +536,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257C16:: @ 8257C16 hideobjectat 8, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM removeobject 7 call BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC - applymovement 255, BattleFrontier_BattleArenaBattleRoom_Movement_24C773 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_24C773 setvar VAR_TEMP_1, 1 end diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc index 5ffb5de3d..f83f6f339 100644 --- a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc @@ -10,14 +10,14 @@ BattleFrontier_BattleArenaCorridor_EventScript_2573C9:: @ 82573C9 delay 16 setvar VAR_TEMP_0, 1 applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_25742F - applymovement 255, BattleFrontier_BattleArenaCorridor_Movement_257417 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_257417 waitmovement 0 applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257444 waitmovement 0 msgbox BattleFrontier_BattleArenaCorridor_Text_257449, MSGBOX_SIGN applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257446 waitmovement 0 - applymovement 255, BattleFrontier_BattleArenaCorridor_Movement_25742C + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_25742C waitmovement 0 setvar VAR_0x8006, 0 warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM, 255, 7, 5 diff --git a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc index 36f864c14..2c53b7ed6 100644 --- a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_BattleArenaLobby_MapScript2_255C41: @ 8255C41 BattleFrontier_BattleArenaLobby_EventScript_255C4B:: @ 8255C4B setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattleArenaLobby_MapScript2_255C55: @ 8255C55 @@ -50,7 +50,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255CCF:: @ 8255CCF setvar VAR_0x8004, 10 special CallFrontierUtilFunc compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleArenaLobby_EventScript_255CF0 + goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255CF0 msgbox BattleFrontier_BattleArenaLobby_Text_2568E7, MSGBOX_DEFAULT goto BattleFrontier_BattleArenaLobby_EventScript_255CF8 @@ -98,7 +98,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255D59:: @ 8255D59 waitse call BattleFrontier_BattleArenaLobby_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleArenaLobby_EventScript_255DBF + goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255DBF message BattleFrontier_BattleArenaLobby_Text_256B19 waitmessage multichoicedefault 20, 8, 94, 1, 0 @@ -157,7 +157,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47 setvar VAR_0x8004, 15 special CallFrontierUtilFunc compare VAR_0x8004, 1 - goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FAC + goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FAC setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT @@ -170,7 +170,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47 special sub_80F9490 waitstate compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FF8 + goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FF8 msgbox BattleFrontier_BattleArenaLobby_Text_2564CE, MSGBOX_YESNO switch VAR_RESULT case 0, BattleFrontier_BattleArenaLobby_EventScript_255FF8 @@ -202,7 +202,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8 call BattleFrontier_BattleArenaLobby_EventScript_27134F setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FE1 + goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FE1 BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54 special SavePlayerParty @@ -215,9 +215,9 @@ BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54 setvar VAR_0x8005, 1 special CallFrontierUtilFunc compare VAR_RESULT, 0 - call_if 1, BattleFrontier_BattleArenaLobby_EventScript_256005 + call_if_eq BattleFrontier_BattleArenaLobby_EventScript_256005 compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattleArenaLobby_EventScript_256050 + call_if_eq BattleFrontier_BattleArenaLobby_EventScript_256050 warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 255, 9, 13 setvar VAR_TEMP_0, 0 waitstate @@ -259,12 +259,12 @@ BattleFrontier_BattleArenaLobby_EventScript_256003:: @ 8256003 BattleFrontier_BattleArenaLobby_EventScript_256005:: @ 8256005 applymovement 1, BattleFrontier_BattleArenaLobby_Movement_256034 - applymovement 255, BattleFrontier_BattleArenaLobby_Movement_256041 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_256041 waitmovement 0 opendoor 2, 2 waitdooranim applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E - applymovement 255, BattleFrontier_BattleArenaLobby_Movement_25604C + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_25604C waitmovement 0 closedoor 2, 2 waitdooranim @@ -308,12 +308,12 @@ BattleFrontier_BattleArenaLobby_Movement_25604C: @ 825604C BattleFrontier_BattleArenaLobby_EventScript_256050:: @ 8256050 applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25607F - applymovement 255, BattleFrontier_BattleArenaLobby_Movement_256088 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_256088 waitmovement 0 opendoor 11, 2 waitdooranim applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E - applymovement 255, BattleFrontier_BattleArenaLobby_Movement_25604C + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_25604C waitmovement 0 closedoor 11, 2 waitdooranim diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc index 2d147e426..986d45073 100644 --- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc @@ -13,7 +13,7 @@ BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1: @ 824BCB1 special CallFrontierUtilFunc copyvar VAR_TEMP_F, VAR_RESULT compare VAR_RESULT, 0 - call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C919 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C919 call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC end @@ -21,9 +21,9 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC:: @ 824BCDC BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC:: @ 824BCDC checkplayergender compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4 + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA return BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4:: @ 824BCF4 @@ -42,7 +42,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A:: @ 824BD0A lockall call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD compare VAR_RESULT, 0 - call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C938 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C938 applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 waitmovement 0 call BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5 @@ -50,9 +50,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A:: @ 824BD0A closemessage showobjectat 13, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM compare VAR_TEMP_F, 3 - goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E compare VAR_TEMP_E, 0 - goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD5A + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BD5A BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E:: @ 824BD4E applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C775 @@ -66,9 +66,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD61:: @ 824BD61 call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E waitmovement 0 compare VAR_TEMP_F, 3 - goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82 + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82 compare VAR_TEMP_E, 0 - goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82 setvar VAR_0x8004, 4 @@ -107,7 +107,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7:: @ 824BDF7 applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_24C96B waitmovement 0 compare VAR_TEMP_2, 2 - goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F setvar VAR_0x8004, 19 special CallBattleDomeFunction switch VAR_RESULT @@ -119,11 +119,11 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F:: @ 824BE4F setvar VAR_0x8004, 4 special CallBattleDomeFunction compare VAR_TEMP_2, 0 - call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1 compare VAR_TEMP_2, 1 - call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5 compare VAR_TEMP_2, 2 - call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9 playse SE_W227B call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E delay 60 @@ -166,9 +166,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0 applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 waitmovement 0 compare VAR_TEMP_2, 0 - call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3 compare VAR_TEMP_2, 1 - call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC playse SE_W227B call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E delay 60 @@ -229,17 +229,17 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5:: @ 824BFD5 setvar VAR_0x8005, 6 special CallBattleDomeFunction compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C023 + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C023 setvar VAR_0x8004, 1 setvar VAR_0x8005, 7 special CallBattleDomeFunction compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C076 + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C076 setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 special CallBattleDomeFunction compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9 return @@ -303,7 +303,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C2:: @ 824C0C2 BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9:: @ 824C0C9 compare VAR_TEMP_F, 3 - goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C105 + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C105 switch VAR_TEMP_E case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C158 case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C161 @@ -430,7 +430,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C211:: @ 824C211 setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9 + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9 msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CFAE, MSGBOX_DEFAULT setvar VAR_0x8004, 2 setvar VAR_0x8005, 7 @@ -450,7 +450,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9:: @ 824C2B9 setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 closemessage applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B waitmovement 0 @@ -469,7 +469,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C346:: @ 824C346 setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C373 + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C373 msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D319, MSGBOX_DEFAULT setvar VAR_0x8004, 2 setvar VAR_0x8005, 7 @@ -489,7 +489,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C373:: @ 824C373 setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 closemessage applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B waitmovement 0 @@ -551,17 +551,17 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B:: @ 824C48B call BattleFrontier_BattleDomeBattleRoom_EventScript_24C502 call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC setvar VAR_TEMP_1, 1 - applymovement 255, BattleFrontier_BattleDomeBattleRoom_Movement_24C773 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_24C773 setvar VAR_0x8004, 1 setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 3 - goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF setvar VAR_0x8004, 9 special CallFrontierUtilFunc copyvar VAR_TEMP_E, VAR_RESULT compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF call BattleFrontier_BattleDomeBattleRoom_EventScript_242170 setobjectxyperm 15, 13, 9 removeobject 15 @@ -573,7 +573,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF:: @ 824C4EF BattleFrontier_BattleDomeBattleRoom_MapScript1_24C4F0: @ 824C4F0 compare VAR_TEMP_9, 1 - call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC end BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC:: @ 824C4FC @@ -582,13 +582,13 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC:: @ 824C4FC BattleFrontier_BattleDomeBattleRoom_EventScript_24C502:: @ 824C502 compare VAR_TEMP_F, 0 - call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F compare VAR_TEMP_F, 1 - call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C530 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C530 compare VAR_TEMP_F, 2 - call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C594 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C594 compare VAR_TEMP_F, 3 - call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C652 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C652 return BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F:: @ 824C52F @@ -952,7 +952,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5:: @ 824C8F5 BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5:: @ 824C8F5 copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F + goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 5, 11 waitstate end @@ -966,14 +966,14 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C919:: @ 824C919 random 2 copyvar VAR_TEMP_D, VAR_RESULT compare VAR_TEMP_D, 0 - goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E setobjectxyperm 6, 2, 0 setobjectmovementtype 6, 10 return BattleFrontier_BattleDomeBattleRoom_EventScript_24C938:: @ 824C938 compare VAR_TEMP_D, 0 - goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E applymovement 6, BattleFrontier_BattleDomeBattleRoom_Movement_24C95E return diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc index a4c0dafc4..ac43ee9a4 100644 --- a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc @@ -13,14 +13,14 @@ BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E setvar VAR_0x8005, 1 special CallFrontierUtilFunc compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleDomeCorridor_EventScript_24B161 + goto_if_eq BattleFrontier_BattleDomeCorridor_EventScript_24B161 applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1B2 - applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1A1 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1A1 waitmovement 0 opendoor 13, 3 waitdooranim applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1BE - applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1AE + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1AE waitmovement 0 closedoor 13, 3 waitdooranim @@ -28,12 +28,12 @@ BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E BattleFrontier_BattleDomeCorridor_EventScript_24B161:: @ 824B161 applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1D6 - applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1C1 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1C1 waitmovement 0 opendoor 37, 3 waitdooranim applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1E6 - applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1D2 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1D2 waitmovement 0 closedoor 37, 3 waitdooranim diff --git a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc index a4a719090..35c32c3fa 100644 --- a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc @@ -16,7 +16,7 @@ BattleFrontier_BattlePyramidLobby_MapScript2_2497FB: @ 82497FB BattleFrontier_BattleDomeLobby_EventScript_249805:: @ 8249805 setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattleDomeLobby_MapScript2_24980F: @ 824980F @@ -62,7 +62,7 @@ BattleFrontier_BattleDomeLobby_EventScript_24989B:: @ 824989B setvar VAR_0x8004, 10 special CallFrontierUtilFunc compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleDomeLobby_EventScript_2498C1 + goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_2498C1 msgbox BattleFrontier_BattleDomeLobby_Text_24A4E9, MSGBOX_DEFAULT goto BattleFrontier_BattleDomeLobby_EventScript_2498C9 @@ -128,7 +128,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249991:: @ 8249991 waitse call BattleFrontier_BattleDomeLobby_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleDomeLobby_EventScript_2499E9 + goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_2499E9 message BattleFrontier_BattleDomeLobby_Text_24AE17 waitmessage multichoicedefault 20, 8, 94, 1, 0 @@ -183,15 +183,15 @@ BattleFrontier_BattleDomeLobby_EventScript_249A47:: @ 8249A47 BattleFrontier_BattleDomeLobby_EventScript_249A59:: @ 8249A59 special SavePlayerParty compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CFD + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CFD compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D06 + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D06 BattleFrontier_BattleDomeLobby_EventScript_249A72:: @ 8249A72 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D0F + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D0F compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D15 + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D15 waitmessage multichoice 17, 6, 23, 0 switch VAR_RESULT @@ -210,7 +210,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF setvar VAR_0x8004, 15 special CallFrontierUtilFunc compare VAR_0x8004, 1 - goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C15 + goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C15 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT @@ -223,7 +223,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF special sub_80F9490 waitstate compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C61 + goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C61 msgbox BattleFrontier_BattleDomeLobby_Text_24A1C6, MSGBOX_YESNO switch VAR_RESULT case 0, BattleFrontier_BattleDomeLobby_EventScript_249C61 @@ -251,7 +251,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60 call BattleFrontier_BattleDomeLobby_EventScript_27134F setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C4A + goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C4A setvar VAR_0x8004, 22 special CallBattleDomeFunction @@ -273,9 +273,9 @@ BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2 BattleFrontier_BattleDomeLobby_EventScript_249BFA:: @ 8249BFA compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D1B + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D1B compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D24 + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D24 goto BattleFrontier_BattleDomeLobby_EventScript_249A72 BattleFrontier_BattleDomeLobby_EventScript_249C15:: @ 8249C15 @@ -310,26 +310,26 @@ BattleFrontier_BattleDomeLobby_EventScript_249C6C:: @ 8249C6C BattleFrontier_BattleDomeLobby_EventScript_249C6E:: @ 8249C6E compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CDD + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CDD compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CE5 - applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D45 + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CE5 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_249D45 waitmovement 0 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D2D + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D2D compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D33 + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D33 waitdooranim compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CED + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CED compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CF5 - applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D4E + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CF5 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_249D4E waitmovement 0 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D39 + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D39 compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D3F + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D3F waitdooranim return @@ -435,13 +435,13 @@ BattleFrontier_BattleDomeLobby_EventScript_249D84:: @ 8249D84 setvar VAR_0x8005, 9 special CallBattleDomeFunction compare VAR_RESULT, 0 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DC9 + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DC9 compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DD2 + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DD2 compare VAR_RESULT, 2 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DDB + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DDB compare VAR_RESULT, 3 - call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DE4 + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DE4 fadescreen 1 setvar VAR_0x8004, 8 special CallBattleDomeFunction diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc index 28d634162..6cf1c7817 100644 --- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B204: @ 824B204 BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E:: @ 824B20E setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218: @ 824B218 @@ -18,13 +18,13 @@ BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218: @ 824B218 BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222:: @ 824B222 compare VAR_0x8006, 1 - goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7 + goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7 setvar VAR_0x8004, 2 setvar VAR_0x8005, 6 setvar VAR_0x8006, 1 special CallFrontierUtilFunc setvar VAR_TEMP_0, 1 - applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B652 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B652 waitmovement 0 lockall @@ -34,7 +34,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F:: @ 824B24F switch VAR_RESULT call BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B2C1 + goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B2C1 multichoice 16, 0, 73, 1 switch VAR_RESULT case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD @@ -159,7 +159,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D setvar VAR_0x8004, 21 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F setvar VAR_0x8004, 2 setvar VAR_0x8005, 8 special CallBattleDomeFunction @@ -171,11 +171,11 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D closemessage applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F waitmovement 0 - applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B657 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B657 waitmovement 0 opendoor 5, 1 waitdooranim - applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B659 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B659 waitmovement 0 closedoor 5, 1 waitdooranim @@ -219,15 +219,13 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B54C:: @ 824B54C return BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B:: @ 824B58B - checkflag FLAG_TEMP_1 - goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5 + goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5 msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BB2E, MSGBOX_DEFAULT setflag FLAG_TEMP_1 return BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0:: @ 824B5A0 - checkflag FLAG_TEMP_1 - goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE + goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BBAC, MSGBOX_DEFAULT setflag FLAG_TEMP_1 return diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc index ab3ea4d7c..f8511315b 100644 --- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc @@ -9,14 +9,14 @@ BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB: @ 825ADBB special CallFrontierUtilFunc checkplayergender compare VAR_RESULT, 0 - call_if 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25 + call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25 compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B + call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B setvar VAR_0x8004, 9 special CallFrontierUtilFunc copyvar VAR_TEMP_F, VAR_RESULT compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3 + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3 end BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3:: @ 825ADF3 @@ -30,9 +30,9 @@ BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE00: @ 825AE00 BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A:: @ 825AE0A setvar VAR_TEMP_1, 1 - hideobjectat 255, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM compare VAR_TEMP_F, 0 - goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24 + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24 hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24:: @ 825AE24 @@ -55,7 +55,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B:: @ 825AE3B closemessage applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B - applymovement 255, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B waitmovement 0 call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4 goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7 @@ -63,9 +63,9 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B:: @ 825AE3B BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67 compare VAR_TEMP_F, 0 - goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B - applymovement 255, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B waitmovement 0 call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4 setvar VAR_0x8004, 11 @@ -78,7 +78,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67 BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7:: @ 825AEA7 compare VAR_TEMP_F, 0 - goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C setvar VAR_0x8004, 5 special CallBattlePalaceFunction lockall @@ -111,7 +111,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F:: @ 825AF0F setvar VAR_0x8005, 3 special CallBattleFactoryFunction compare VAR_RESULT, 9999 - goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E addvar VAR_RESULT, 1 setorcopyvar VAR_0x8006, VAR_RESULT setvar VAR_0x8004, 2 @@ -152,7 +152,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C:: @ 825AF9C setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB, MSGBOX_DEFAULT setvar VAR_0x8004, 2 setvar VAR_0x8005, 7 @@ -162,14 +162,14 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF:: @ 825AFEF msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1, MSGBOX_DEFAULT call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8 BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C:: @ 825B00C setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105 + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105 msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B42D, MSGBOX_DEFAULT closemessage applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182 @@ -188,7 +188,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051:: @ 825B051 setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B517, MSGBOX_DEFAULT setvar VAR_0x8004, 2 setvar VAR_0x8005, 7 @@ -198,14 +198,14 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E:: @ 825B07E msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF, MSGBOX_DEFAULT call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8 BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B:: @ 825B09B setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105 + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105 msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7, MSGBOX_DEFAULT waitmessage applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182 @@ -237,7 +237,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105 setvar VAR_0x8005, 3 special CallBattleFactoryFunction compare VAR_RESULT, 9999 - goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E addvar VAR_RESULT, 1 setorcopyvar VAR_0x8006, VAR_RESULT setvar VAR_0x8004, 2 @@ -247,7 +247,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105 setvar VAR_0x8005, 1 special CallBattleFactoryFunction compare VAR_RESULT, 9999 - goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43 + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43 addvar VAR_RESULT, 1 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 @@ -293,7 +293,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190:: @ 825B190 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190:: @ 825B190 copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 4, 8 waitstate end diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc index b387fc048..39d729846 100644 --- a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_BattleFactoryLobby_MapScript2_2583F3: @ 82583F3 BattleFrontier_BattleFactoryLobby_EventScript_2583FD:: @ 82583FD setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattleFactoryLobby_MapScript2_258407: @ 8258407 @@ -56,7 +56,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_25849B:: @ 825849B setvar VAR_0x8004, 10 special CallFrontierUtilFunc compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleFactoryLobby_EventScript_2584BD + goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2584BD msgbox BattleFrontier_BattleFactoryLobby_Text_258D93, MSGBOX_DEFAULT waitmessage goto BattleFrontier_BattleFactoryLobby_EventScript_2584C6 @@ -103,7 +103,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_258506:: @ 8258506 BattleFrontier_BattleFactoryLobby_EventScript_25853B:: @ 825853B call BattleFrontier_BattleFactoryLobby_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleFactoryLobby_EventScript_258582 + goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258582 message BattleFrontier_BattleFactoryLobby_Text_259388 waitmessage multichoicedefault 20, 8, 94, 1, 0 @@ -156,15 +156,15 @@ BattleFrontier_BattleFactoryLobby_EventScript_2585DD:: @ 82585DD BattleFrontier_BattleFactoryLobby_EventScript_2585ED:: @ 82585ED special SavePlayerParty compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587B1 + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587B1 compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587BA + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587BA BattleFrontier_BattleFactoryLobby_EventScript_258606:: @ 8258606 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587C3 + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587C3 compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587C9 + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587C9 waitmessage multichoice 17, 6, 23, 0 switch VAR_RESULT @@ -211,7 +211,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9 call BattleFrontier_BattleFactoryLobby_EventScript_27134F setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleFactoryLobby_EventScript_258783 + goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258783 setvar VAR_0x8006, 0 BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A @@ -219,11 +219,11 @@ BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A msgbox BattleFrontier_BattleFactoryLobby_Text_258CB1, MSGBOX_DEFAULT closemessage compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_25875C + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_25875C compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_258762 + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258762 applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_2587A7 - applymovement 255, BattleFrontier_BattleFactoryLobby_Movement_2587AC + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_2587AC waitmovement 0 warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 13 setvar VAR_TEMP_0, 0 @@ -240,9 +240,9 @@ BattleFrontier_BattleFactoryLobby_EventScript_258762:: @ 8258762 BattleFrontier_BattleFactoryLobby_EventScript_258768:: @ 8258768 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587CF + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587CF compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587D8 + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587D8 goto BattleFrontier_BattleFactoryLobby_EventScript_258606 BattleFrontier_BattleFactoryLobby_EventScript_258783:: @ 8258783 diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc index a212ce38f..21681b70a 100644 --- a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc @@ -10,12 +10,12 @@ BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AC5: @ 8259AC5 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF:: @ 8259ACF setvar VAR_TEMP_1, 1 compare VAR_0x8006, 1 - goto_if 5, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA + goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA setobjectxy 1, 8, 7 turnobject 1, 1 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA:: @ 8259AEA - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF: @ 8259AEF @@ -24,13 +24,13 @@ BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF: @ 8259AEF BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9:: @ 8259AF9 compare VAR_0x8006, 1 - goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5 + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5 setvar VAR_TEMP_0, 1 applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC - applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A waitmovement 0 compare VAR_0x8006, 2 - goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69 + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69 setvar VAR_0x8004, 13 special CallBattleFactoryFunction setvar VAR_0x8004, 12 @@ -56,9 +56,9 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74:: @ 8259B74 closemessage call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23F2B7 compare VAR_RESULT, 0 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B waitmovement 0 warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM, 255, 6, 11 waitstate @@ -76,7 +76,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5:: @ 8259BA5 setvar VAR_0x8004, 9 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26 + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26 playse 263 waitse msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC15, MSGBOX_DEFAULT @@ -97,27 +97,27 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13:: @ 8259C13 setvar VAR_0x8004, 9 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9 + goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26:: @ 8259C26 setvar VAR_0x8004, 1 setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D compare VAR_RESULT, 2 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E24 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E24 compare VAR_RESULT, 3 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E2B + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E2B compare VAR_RESULT, 4 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E32 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E32 compare VAR_RESULT, 5 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E39 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E39 compare VAR_RESULT, 6 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E40 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E40 call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CC6 + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CC6 multichoice 19, 4, 103, 1 switch VAR_RESULT case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98 @@ -186,7 +186,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2:: @ 8259DF2 special CallBattleFactoryFunction waitstate compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 setvar VAR_0x8004, 8 special CallBattleFactoryFunction msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C, MSGBOX_DEFAULT @@ -250,41 +250,41 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69:: @ 8259E69 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93:: @ 8259E93 msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3B4, MSGBOX_DEFAULT compare VAR_0x8005, 0 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62 compare VAR_0x8005, 1 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B compare VAR_0x8005, 2 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74 compare VAR_0x8005, 3 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D compare VAR_0x8005, 4 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86 compare VAR_0x8005, 5 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F compare VAR_0x8005, 6 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98 compare VAR_0x8005, 7 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1 compare VAR_0x8005, 8 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA compare VAR_0x8005, 10 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3 compare VAR_0x8005, 11 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC compare VAR_0x8005, 12 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5 compare VAR_0x8005, 13 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE compare VAR_0x8005, 14 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7 compare VAR_0x8005, 15 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0 compare VAR_0x8005, 16 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9 compare VAR_0x8005, 17 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2 compare VAR_0x8005, 18 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB return BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62:: @ 8259F62 @@ -361,23 +361,23 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB:: @ 8259FFB BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004:: @ 825A004 compare VAR_0x8006, 0 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068 compare VAR_0x8006, 1 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071 compare VAR_0x8006, 2 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A compare VAR_0x8006, 3 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083 compare VAR_0x8006, 4 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C compare VAR_0x8006, 5 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095 compare VAR_0x8006, 6 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E compare VAR_0x8006, 7 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7 compare VAR_0x8006, 8 - call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0 return BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068:: @ 825A068 @@ -421,7 +421,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9:: @ 825A0B9 waitmessage call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A110 + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A110 multichoice 19, 4, 103, 1 switch VAR_RESULT case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146 @@ -448,12 +448,12 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146:: @ 825A146 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C:: @ 825A17C applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3 - applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0 return BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B:: @ 825A18B applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9 - applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6 return BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A: @ 825A19A diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc index ccada959e..086c55b17 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc @@ -13,9 +13,9 @@ BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825: @ 824F825 BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833:: @ 824F833 checkplayergender compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856 + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856 return BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B:: @ 824F84B @@ -38,7 +38,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B:: @ 824F86B setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5 + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5 applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B waitmovement 0 applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC @@ -107,25 +107,25 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A:: @ 824F98A special CallFrontierUtilFunc copyvar VAR_TEMP_F, VAR_RESULT compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61 + goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61 setvar VAR_0x8004, 1 setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66 + call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66 compare VAR_RESULT, 2 - call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE6D + call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE6D compare VAR_RESULT, 3 - call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE74 + call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE74 compare VAR_RESULT, 4 - call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE7B + call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE7B compare VAR_RESULT, 5 - call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE82 + call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE82 compare VAR_RESULT, 6 - call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE89 + call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE89 call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA42 + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA42 multichoice 19, 4, 103, 1 switch VAR_RESULT case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14 @@ -199,7 +199,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F:: @ 824FB3F BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61:: @ 824FB61 compare VAR_TEMP_2, 1 - goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79 + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79 msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2500DD, MSGBOX_DEFAULT setvar VAR_TEMP_2, 1 @@ -208,7 +208,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79:: @ 824FB79 waitmessage call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0 + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0 multichoice 19, 4, 103, 1 switch VAR_RESULT case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06 @@ -248,7 +248,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06:: @ 824FC06 setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA + goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2501C1, MSGBOX_DEFAULT setvar VAR_0x8004, 2 setvar VAR_0x8005, 7 @@ -258,7 +258,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA:: @ 824FCAA msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502C4, MSGBOX_DEFAULT call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7 + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7 goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7 @@ -267,7 +267,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7 setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 + goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502FF, MSGBOX_DEFAULT applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99 applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC @@ -291,7 +291,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A:: @ 824FD3A setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67 + goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67 msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250485, MSGBOX_DEFAULT setvar VAR_0x8004, 2 setvar VAR_0x8005, 7 @@ -301,7 +301,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67:: @ 824FD67 msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250572, MSGBOX_DEFAULT call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84 + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84 goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84 @@ -310,7 +310,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84 setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25057E, MSGBOX_DEFAULT applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99 applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC @@ -357,7 +357,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E:: @ 824FE3E hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833 setvar VAR_TEMP_1, 1 - applymovement 255, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 removeobject 2 applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 @@ -461,7 +461,7 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB6: @ 824FEB6 BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB:: @ 824FEBB copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5 + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5 warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 5, 7 waitstate end diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc index 199a67fa6..071f61a09 100644 --- a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc @@ -9,34 +9,34 @@ BattleFrontier_BattlePalaceCorridor_MapScript2_24F4A9: @ 824F4A9 BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3 delay 16 applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8 - applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8 waitmovement 0 lockall setvar VAR_0x8004, 3 special CallBattlePalaceFunction compare VAR_RESULT, 0 - call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F58B + call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F58B compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F594 + call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F594 compare VAR_RESULT, 2 - call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F59D + call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F59D compare VAR_RESULT, 3 - call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6 + call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6 compare VAR_RESULT, 4 - call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF + call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF closemessage setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 special CallFrontierUtilFunc compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F553 + goto_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F553 applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5BD - applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5C4 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5C4 waitmovement 0 opendoor 6, 3 waitdooranim applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA - applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9 waitmovement 0 closedoor 6, 3 waitdooranim @@ -44,12 +44,12 @@ BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3 BattleFrontier_BattlePalaceCorridor_EventScript_24F553:: @ 824F553 applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5CB - applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D2 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D2 waitmovement 0 opendoor 10, 3 waitdooranim applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA - applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9 waitmovement 0 closedoor 10, 3 waitdooranim diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc index c81331ddc..56edda8ad 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_BattlePalaceLobby_MapScript2_24D789: @ 824D789 BattleFrontier_BattlePalaceLobby_EventScript_24D793:: @ 824D793 setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattlePalaceLobby_MapScript2_24D79D: @ 824D79D @@ -50,7 +50,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D817:: @ 824D817 setvar VAR_0x8004, 10 special CallFrontierUtilFunc compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24D838 + goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24D838 msgbox BattleFrontier_BattlePalaceLobby_Text_24E497, MSGBOX_DEFAULT goto BattleFrontier_BattlePalaceLobby_EventScript_24D840 @@ -98,7 +98,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D8A1:: @ 824D8A1 waitse call BattleFrontier_BattlePalaceLobby_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24D907 + goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24D907 message BattleFrontier_BattlePalaceLobby_Text_24EF16 waitmessage multichoicedefault 20, 8, 94, 1, 0 @@ -151,18 +151,18 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968 setvar VAR_0x8005, 0 special CallBattlePalaceFunction compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePalaceLobby_EventScript_24D817 + goto_if_ne BattleFrontier_BattlePalaceLobby_EventScript_24D817 special SavePlayerParty compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB9E + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB9E compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBA7 + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBA7 BattleFrontier_BattlePalaceLobby_EventScript_24D999:: @ 824D999 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBB0 + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBB0 compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBB6 + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBB6 waitmessage multichoice 17, 6, 23, 0 switch VAR_RESULT @@ -181,7 +181,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6 setvar VAR_0x8004, 15 special CallFrontierUtilFunc compare VAR_0x8004, 1 - goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB45 + goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB45 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT @@ -194,7 +194,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6 special sub_80F9490 waitstate compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB91 + goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB91 msgbox BattleFrontier_BattlePalaceLobby_Text_24E3C8, MSGBOX_YESNO switch VAR_RESULT case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DB91 @@ -226,7 +226,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87 call BattleFrontier_BattlePalaceLobby_EventScript_27134F setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB7A + goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB7A BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3 special SavePlayerParty @@ -243,7 +243,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3 BattleFrontier_BattlePalaceLobby_EventScript_24DB20:: @ 824DB20 compare VAR_FRONTIER_BATTLE_MODE, 1 - goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB38 + goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB38 msgbox BattleFrontier_BattlePalaceLobby_Text_24DE17, MSGBOX_DEFAULT goto BattleFrontier_BattlePalaceLobby_EventScript_24D999 @@ -299,24 +299,24 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DBB6:: @ 824DBB6 BattleFrontier_BattlePalaceLobby_EventScript_24DBBC:: @ 824DBBC compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC23 + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC23 compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC29 + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC29 applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC47 - applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC47 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_24DC47 waitmovement 0 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC2F + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC2F compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC35 + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC35 waitdooranim applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC49 - applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC4C + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_24DC4C waitmovement 0 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC3B + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC3B compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC41 + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC41 waitdooranim return diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc index 0a0df3636..1155cd67b 100644 --- a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc @@ -18,14 +18,14 @@ BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786 setvar VAR_0x8004, 24 setvar VAR_0x8005, 1 special CallBattlePikeFunction - applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80B + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80B applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_25C812 waitmovement 0 lockall msgbox BattleFrontier_BattlePikeCorridor_Text_25C817, MSGBOX_DEFAULT closemessage releaseall - applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80E + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80E waitmovement 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 0 @@ -42,7 +42,7 @@ BattleFrontier_BattlePikeCorridor_MapScript2_25C7F7: @ 825C7F7 BattleFrontier_BattlePikeCorridor_EventScript_25C801:: @ 825C801 setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattlePikeCorridor_Movement_25C80B: @ 825C80B diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc index e4f3e1a6e..70d7f3c6c 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc @@ -16,7 +16,7 @@ BattleFrontier_BattlePikeLobby_MapScript2_25B6F3: @ 825B6F3 BattleFrontier_BattlePikeLobby_EventScript_25B6FD:: @ 825B6FD setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707 @@ -52,7 +52,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B762:: @ 825B762 setvar VAR_0x8004, 10 special CallFrontierUtilFunc compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePikeLobby_EventScript_25B784 + goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25B784 msgbox BattleFrontier_BattlePikeLobby_Text_25C18A, MSGBOX_DEFAULT waitmessage goto BattleFrontier_BattlePikeLobby_EventScript_25B78D @@ -150,7 +150,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB setvar VAR_0x8004, 15 special CallFrontierUtilFunc compare VAR_0x8004, 1 - goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA27 + goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA27 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT @@ -163,7 +163,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB special sub_80F9490 waitstate compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA73 + goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA73 msgbox BattleFrontier_BattlePikeLobby_Text_25C0D8, MSGBOX_YESNO switch VAR_RESULT case 0, BattleFrontier_BattlePikeLobby_EventScript_25BA73 @@ -200,7 +200,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C setvar VAR_0x8004, 26 special CallBattlePikeFunction compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C + goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C special SavePlayerParty setvar VAR_0x8004, 3 setvar VAR_0x8005, 3 @@ -263,7 +263,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25BA80:: @ 825BA80 BattleFrontier_BattlePikeLobby_EventScript_25BA94:: @ 825BA94 applymovement 1, BattleFrontier_BattlePikeLobby_Movement_25BAA7 - applymovement 255, BattleFrontier_BattlePikeLobby_Movement_25BAA6 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeLobby_Movement_25BAA6 waitmovement 0 return diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc index 79a10880a..1c810900c 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc @@ -112,8 +112,8 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF:: @ 825D2BF BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E311, MSGBOX_DEFAULT closemessage - special SpawnScriptEventObject - applymovement 127, BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0 applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E2 waitmovement 0 playse 267 @@ -146,7 +146,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD + goto_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DED2, MSGBOX_DEFAULT setvar VAR_0x8004, 2 setvar VAR_0x8005, 7 @@ -156,14 +156,14 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD:: @ 825D3BD msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DF71, MSGBOX_DEFAULT call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA + goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA:: @ 825D3DA setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D + goto_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DFA2, MSGBOX_DEFAULT waitmessage playfanfare MUS_ME_SYMBOLGET @@ -181,7 +181,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416:: @ 825D416 setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443 + goto_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443 msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E02C, MSGBOX_DEFAULT setvar VAR_0x8004, 2 setvar VAR_0x8005, 7 @@ -191,14 +191,14 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443:: @ 825D443 msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0E8, MSGBOX_DEFAULT call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460 + goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460 goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460:: @ 825D460 setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D + goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0F6, MSGBOX_DEFAULT waitmessage playfanfare MUS_ME_SYMBOLGET @@ -215,7 +215,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460:: @ 825D460 BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D:: @ 825D49D applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA waitmovement 0 - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC waitmovement 0 setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 @@ -277,7 +277,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C8 applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CA waitmovement 0 - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB waitmovement 0 setvar VAR_0x8004, 21 setvar VAR_0x8005, 0 @@ -285,7 +285,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E msgbox gStringVar4, MSGBOX_DEFAULT closemessage delay 16 - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD waitmovement 0 setvar VAR_0x8004, 21 setvar VAR_0x8005, 1 @@ -302,13 +302,13 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E end BattleFrontier_BattlePikeRandomRoom1_EventScript_25D5DC:: @ 825D5DC - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD waitmovement 0 applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CC waitmovement 0 applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7D4 waitmovement 0 - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF waitmovement 0 end @@ -321,9 +321,9 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D605:: @ 825D605 special CallBattlePikeFunction copyvar VAR_0x8004, VAR_RESULT compare VAR_0x8004, 0 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643 + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643 compare VAR_0x8004, 1 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5 + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5 msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD3F, MSGBOX_DEFAULT closemessage releaseall @@ -338,13 +338,13 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643 setvar VAR_0x8004, 11 special CallBattlePikeFunction compare VAR_RESULT, 2 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751 + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751 compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D758 + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D758 compare VAR_RESULT, 3 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D75F + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D75F compare VAR_RESULT, 4 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766 + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766 setvar VAR_0x8004, 15 special CallBattlePikeFunction waitstate @@ -375,9 +375,9 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5:: @ 825D6D5 setvar VAR_0x8004, 11 special CallBattlePikeFunction compare VAR_RESULT, 0 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774 + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774 setvar VAR_0x8004, 15 special CallBattlePikeFunction waitstate @@ -431,7 +431,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774:: @ 825D774 BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B:: @ 825D77B closemessage - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC waitmovement 0 setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE setvar VAR_0x8005, 0 @@ -608,9 +608,9 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E:: @ 825D83E setvar VAR_0x8004, 13 special CallBattlePikeFunction compare VAR_RESULT, 2 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881 + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881 compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875 + call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875 playfanfare MUS_ME_ASA waitfanfare msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DABE, MSGBOX_DEFAULT diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc index 83031af95..f46760e17 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc @@ -34,7 +34,7 @@ BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E3DE: @ 825E3DE BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8:: @ 825E3E8 setvar VAR_TEMP_4, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2: @ 825E3F2 diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc index b00b41fd7..4beb26724 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc @@ -30,7 +30,7 @@ BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E466: @ 825E466 BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470:: @ 825E470 setvar VAR_TEMP_4, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A: @ 825E47A @@ -39,9 +39,9 @@ BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A: @ 825E47A setvar VAR_0x8005, 5 special CallFrontierUtilFunc compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3 + goto_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3 compare VAR_RESULT, 3 - goto_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3 + goto_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3 end BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3:: @ 825E4A3 diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc index ab40b6ff0..cac594516 100644 --- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc @@ -18,7 +18,7 @@ BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C87D: @ 825C87D BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887:: @ 825C887 setvar VAR_TEMP_4, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891:: @ 825C891 @@ -169,7 +169,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78 setvar VAR_0x8004, 17 special CallBattlePikeFunction compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91 + goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91 setvar VAR_TEMP_5, 255 end @@ -192,7 +192,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB setvar VAR_0x8004, 19 special CallBattlePikeFunction compare VAR_RESULT, 4 - goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2 + goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2 lock faceplayer msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE69, MSGBOX_YESNO diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc index 91a42ebde..4fa8d142a 100644 --- a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc +++ b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc @@ -15,29 +15,29 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D:: @ 825F07D BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A:: @ 825F08A specialvar VAR_TEMP_1, sub_813AA04 compare VAR_TEMP_1, VAR_0x8008 - goto_if 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9 + goto_if_ge BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE86, MSGBOX_DEFAULT compare VAR_TEMP_2, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 compare VAR_TEMP_2, 1 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E compare VAR_TEMP_2, 2 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 end BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9:: @ 825F0C9 compare VAR_TEMP_2, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5 compare VAR_TEMP_2, 1 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A end BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5:: @ 825F0E5 checkdecorspace VAR_0x8009 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D copyvar VAR_0x8004, VAR_0x8008 special sub_813A9A4 givedecoration VAR_0x8009 @@ -45,7 +45,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5:: @ 825F0E5 playse SE_REGI msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE45, MSGBOX_DEFAULT compare VAR_TEMP_2, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E end @@ -58,7 +58,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D:: @ 825F11D BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A:: @ 825F12A checkitemspace VAR_0x8009, 1 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166 copyvar VAR_0x8004, VAR_0x8008 special sub_813A9A4 giveitem VAR_0x8009, 1 @@ -66,7 +66,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A:: @ 825F12A playse SE_REGI msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE72, MSGBOX_DEFAULT compare VAR_TEMP_2, 2 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 end @@ -108,7 +108,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185:: @ 825F185 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E:: @ 825F21E msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8B6, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 16 setvar VAR_0x8009, 75 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -117,7 +117,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E:: @ 825F21E BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241:: @ 825F241 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8E6, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 32 setvar VAR_0x8009, 103 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -126,7 +126,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241:: @ 825F241 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264:: @ 825F264 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F917, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 32 setvar VAR_0x8009, 87 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -135,7 +135,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264:: @ 825F264 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287:: @ 825F287 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F949, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 48 setvar VAR_0x8009, 79 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -144,7 +144,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287:: @ 825F287 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA:: @ 825F2AA msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F979, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 48 setvar VAR_0x8009, 84 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -153,7 +153,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA:: @ 825F2AA BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD:: @ 825F2CD msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9A9, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 48 setvar VAR_0x8009, 85 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -162,7 +162,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD:: @ 825F2CD BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0:: @ 825F2F0 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9DB, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 48 setvar VAR_0x8009, 86 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -171,7 +171,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0:: @ 825F2F0 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313:: @ 825F313 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA0A, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 80 setvar VAR_0x8009, 80 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -180,7 +180,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313:: @ 825F313 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336:: @ 825F336 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA3D, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 80 setvar VAR_0x8009, 81 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -189,7 +189,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336:: @ 825F336 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F359:: @ 825F359 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA70, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 80 setvar VAR_0x8009, 82 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -222,7 +222,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E:: @ 825F38E BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0:: @ 825F3F0 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAA2, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E setvar VAR_0x8008, 128 setvar VAR_0x8009, 113 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -231,7 +231,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0:: @ 825F3F0 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413:: @ 825F413 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAD2, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E setvar VAR_0x8008, 128 setvar VAR_0x8009, 111 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -240,7 +240,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413:: @ 825F413 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436:: @ 825F436 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB03, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E setvar VAR_0x8008, 256 setvar VAR_0x8009, 114 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -249,7 +249,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436:: @ 825F436 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459:: @ 825F459 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB35, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E setvar VAR_0x8008, 256 setvar VAR_0x8009, 115 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -258,7 +258,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459:: @ 825F459 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F47C:: @ 825F47C msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB68, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E setvar VAR_0x8008, 256 setvar VAR_0x8009, 116 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -292,7 +292,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1:: @ 825F4B1 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E:: @ 825F51E msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB9B, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 setvar VAR_0x8008, 1 setvar VAR_0x8009, 64 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -301,7 +301,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E:: @ 825F51E BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541:: @ 825F541 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBC7, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 setvar VAR_0x8008, 1 setvar VAR_0x8009, 67 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -310,7 +310,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541:: @ 825F541 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564:: @ 825F564 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBF3, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 setvar VAR_0x8008, 1 setvar VAR_0x8009, 65 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -319,7 +319,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564:: @ 825F564 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587:: @ 825F587 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC1C, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 setvar VAR_0x8008, 1 setvar VAR_0x8009, 70 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -328,7 +328,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587:: @ 825F587 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA:: @ 825F5AA msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC45, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 setvar VAR_0x8008, 1 setvar VAR_0x8009, 66 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -337,7 +337,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA:: @ 825F5AA BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5CD:: @ 825F5CD msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC70, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 setvar VAR_0x8008, 1 setvar VAR_0x8009, 63 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -374,7 +374,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602:: @ 825F602 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690:: @ 825F690 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE17, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 48 setvar VAR_0x8009, 200 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -383,7 +383,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690:: @ 825F690 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3:: @ 825F6B3 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCCB, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 48 setvar VAR_0x8009, 180 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -392,7 +392,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3:: @ 825F6B3 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6:: @ 825F6D6 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCFA, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 48 setvar VAR_0x8009, 183 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -401,7 +401,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6:: @ 825F6D6 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9:: @ 825F6F9 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD29, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 48 setvar VAR_0x8009, 185 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -410,7 +410,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9:: @ 825F6F9 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C:: @ 825F71C msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC9A, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 64 setvar VAR_0x8009, 179 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -419,7 +419,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C:: @ 825F71C BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F:: @ 825F73F msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD59, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 64 setvar VAR_0x8009, 186 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -428,7 +428,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F:: @ 825F73F BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762:: @ 825F762 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD89, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 64 setvar VAR_0x8009, 187 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -437,7 +437,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762:: @ 825F762 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785:: @ 825F785 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDB9, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 64 setvar VAR_0x8009, 196 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A @@ -446,7 +446,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785:: @ 825F785 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7A8:: @ 825F7A8 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDE8, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 64 setvar VAR_0x8009, 198 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc b/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc index d6d53bc2f..558f6e416 100644 --- a/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc @@ -22,7 +22,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77:: @ 8252A77 special CallBattlePyramidFunction delay 2 compare VAR_RESULT, 2 - goto_if 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77 + goto_if_ne BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77 setvar VAR_TEMP_D, 0 releaseall end @@ -50,17 +50,17 @@ BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2 setvar VAR_0x8005, 5 special CallFrontierUtilFunc compare VAR_RESULT, 4 - goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39 + goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39 compare VAR_RESULT, 5 - goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39 + goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39 + goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39 compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42 + goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42 compare VAR_RESULT, 3 - goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42 + goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42 compare VAR_RESULT, 9 - goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42 + goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42 setvar VAR_0x8004, 14 setvar VAR_0x8005, 8 special CallFrontierUtilFunc @@ -135,7 +135,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8:: @ 8252BE8 copyvar VAR_0x8006, VAR_RESULT special CallFrontierUtilFunc compare VAR_RESULT, 7 - goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45 + goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45 setvar VAR_0x8004, 6 special CallBattlePyramidFunction setvar VAR_0x8004, 2 @@ -167,7 +167,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A:: @ 8252C6A special CallBattlePyramidFunction callstd STD_FIND_ITEM compare VAR_0x8007, 0 - goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87 + goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87 setvar VAR_0x8004, 8 special CallBattlePyramidFunction diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc index d890b2d06..686a1bfb2 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_BattlePyramidLobby_MapScript2_250721: @ 8250721 BattleFrontier_BattlePyramidLobby_EventScript_25072B: @ 825072B setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattlePyramidLobby_MapScript2_250735: @ 8250735 @@ -53,7 +53,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507B1:: @ 82507B1 setvar VAR_0x8004, 10 special CallFrontierUtilFunc compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePyramidLobby_EventScript_2507D2 + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_2507D2 msgbox BattleFrontier_BattlePyramidLobby_Text_2517B5, MSGBOX_DEFAULT goto BattleFrontier_BattlePyramidLobby_EventScript_2507DA @@ -63,7 +63,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507D2:: @ 82507D2 BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA special sub_81B95E0 compare VAR_RESULT, 1 - call_if 1, BattleFrontier_BattlePyramidLobby_EventScript_250DDB + call_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250DDB clearflag FLAG_SPECIAL_FLAG_0x4004 setvar VAR_0x8004, 8 special CallFrontierUtilFunc @@ -154,7 +154,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904 setvar VAR_0x8004, 15 special CallFrontierUtilFunc compare VAR_0x8004, 1 - goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250A75 + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250A75 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT @@ -167,7 +167,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904 special sub_80F9490 waitstate compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250AC1 + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250AC1 msgbox BattleFrontier_BattlePyramidLobby_Text_2514E6, MSGBOX_YESNO switch VAR_RESULT case 0, BattleFrontier_BattlePyramidLobby_EventScript_250AC1 @@ -203,7 +203,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5 call BattleFrontier_BattlePyramidLobby_EventScript_27134F setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250AAA + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250AAA BattleFrontier_BattlePyramidLobby_EventScript_250A21:: @ 8250A21 special SavePlayerParty @@ -286,7 +286,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B28:: @ 8250B28 setvar VAR_0x8005, 5 special CallBattlePyramidFunction compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B53 + goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_250B53 setvar VAR_RESULT, 0 goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4 return @@ -304,7 +304,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B66:: @ 8250B66 setvar VAR_0x8005, 6 special CallBattlePyramidFunction compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B91 + goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_250B91 setvar VAR_RESULT, 0 goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4 return @@ -434,14 +434,14 @@ BattleFrontier_BattlePyramidLobby_EventScript_250D42:: @ 8250D42 BattleFrontier_BattlePyramidLobby_EventScript_250D56:: @ 8250D56 applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DC4 - applymovement 255, BattleFrontier_BattlePyramidLobby_Movement_250DCD + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_250DCD waitmovement 0 msgbox BattleFrontier_BattlePyramidLobby_Text_251569, MSGBOX_DEFAULT setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 special CallBattlePyramidFunction compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250D94 + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250D94 msgbox BattleFrontier_BattlePyramidLobby_Text_2515AD, MSGBOX_DEFAULT goto BattleFrontier_BattlePyramidLobby_EventScript_250D9C @@ -457,7 +457,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250D9C:: @ 8250D9C closemessage applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DD5 waitmovement 0 - applymovement 255, BattleFrontier_BattlePyramidLobby_Movement_250DD8 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_250DD8 waitmovement 0 return @@ -497,7 +497,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250DDB:: @ 8250DDB setflag FLAG_SPECIAL_FLAG_0x4004 special sub_81C6A94 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250E00 + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250E00 message BattleFrontier_BattlePyramidLobby_Text_2518C6 waitmessage goto BattleFrontier_BattlePyramidLobby_EventScript_250E09 @@ -535,7 +535,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250E50:: @ 8250E50 BattleFrontier_BattlePyramidLobby_EventScript_250E60:: @ 8250E60 special sub_81B95E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250E6F + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250E6F return BattleFrontier_BattlePyramidLobby_EventScript_250E6F:: @ 8250E6F diff --git a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc index d7a1a3c3b..d04fe23f2 100644 --- a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc @@ -19,9 +19,9 @@ BattleFrontier_BattlePyramidTop_MapScript2_2550CE: @ 82550CE BattleFrontier_BattlePyramidTop_EventScript_2550D8:: @ 82550D8 setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 compare VAR_TEMP_C, 0 - goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_2550F3 + goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_2550F3 setobjectxyperm 2, 0, 0 BattleFrontier_BattlePyramidTop_EventScript_2550F3:: @ 82550F3 @@ -31,7 +31,7 @@ BattleFrontier_BattlePyramidTop_MapScript1_2550F4: @ 82550F4 setvar VAR_0x8004, 9 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattlePyramidTop_EventScript_25510C + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_25510C call BattleFrontier_BattlePyramidTop_EventScript_242170 BattleFrontier_BattlePyramidTop_EventScript_25510C:: @ 825510C @@ -46,11 +46,11 @@ BattleFrontier_BattlePyramidTop_EventScript_25510C:: @ 825510C setvar VAR_0x8005, 5 special CallFrontierUtilFunc compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 compare VAR_RESULT, 3 - goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 compare VAR_RESULT, 9 - goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 end BattleFrontier_BattlePyramidTop_MapScript2_25516E: @ 825516E @@ -89,14 +89,14 @@ BattleFrontier_BattlePyramidTop_EventScript_2551D0:: @ 82551D0 lock faceplayer compare VAR_TEMP_D, 0 - goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255236 + goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255236 compare VAR_TEMP_C, 0 - goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255240 + goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255240 msgbox BattleFrontier_BattlePyramidTop_Text_255410, MSGBOX_DEFAULT closemessage applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD waitmovement 0 - applymovement 255, BattleFrontier_BattlePyramidTop_Movement_255403 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidTop_Movement_255403 waitmovement 0 applymovement 1, BattleFrontier_BattlePyramidTop_Movement_255400 waitmovement 0 @@ -137,9 +137,9 @@ BattleFrontier_BattlePyramidTop_EventScript_255256:: @ 8255256 setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_2552D0 - special SpawnScriptEventObject - applymovement 127, BattleFrontier_BattlePyramidTop_Movement_25540C + goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_2552D0 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_25540C waitmovement 0 msgbox BattleFrontier_BattlePyramidTop_Text_255669, MSGBOX_DEFAULT closemessage @@ -161,14 +161,14 @@ BattleFrontier_BattlePyramidTop_EventScript_2552DA:: @ 82552DA call BattleFrontier_BattlePyramidTop_EventScript_2553ED playbgm MUS_PYRAMID_TOP, 0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePyramidTop_EventScript_2552FB + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_2552FB goto BattleFrontier_BattlePyramidTop_EventScript_252B42 BattleFrontier_BattlePyramidTop_EventScript_2552FB:: @ 82552FB setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_25521A + goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_25521A msgbox BattleFrontier_BattlePyramidTop_Text_255873, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET message BattleFrontier_BattlePyramidTop_Text_2558E9 @@ -184,9 +184,9 @@ BattleFrontier_BattlePyramidTop_EventScript_255335:: @ 8255335 setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255388 - special SpawnScriptEventObject - applymovement 127, BattleFrontier_BattlePyramidTop_Movement_25540C + goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255388 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_25540C waitmovement 0 msgbox BattleFrontier_BattlePyramidTop_Text_255951, MSGBOX_DEFAULT closemessage @@ -208,14 +208,14 @@ BattleFrontier_BattlePyramidTop_EventScript_255392:: @ 8255392 call BattleFrontier_BattlePyramidTop_EventScript_2553ED playbgm MUS_PYRAMID_TOP, 0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattlePyramidTop_EventScript_2553B3 + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_2553B3 goto BattleFrontier_BattlePyramidTop_EventScript_252B42 BattleFrontier_BattlePyramidTop_EventScript_2553B3:: @ 82553B3 setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattlePyramidTop_EventScript_25521A + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_25521A msgbox BattleFrontier_BattlePyramidTop_Text_255ACD, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET message BattleFrontier_BattlePyramidTop_Text_255B59 diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc index 83b78d40e..1e953db23 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc @@ -18,16 +18,16 @@ BattleFrontier_BattleTowerBattleRoom_MapScript2_241B62: @ 8241B62 BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C setvar VAR_TEMP_0, 1 - applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242179 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242179 waitmovement 0 setvar VAR_0x8004, 1 setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3 + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3 applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D waitmovement 0 - applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_24217E + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_24217E waitmovement 0 setvar VAR_TEMP_2, 1 setvar VAR_0x8004, 2 @@ -76,10 +76,10 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F setvar VAR_0x8004, 9 special CallFrontierUtilFunc compare VAR_RESULT, 0 - call_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3 + call_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3 applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D waitmovement 0 - applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_24217E + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_24217E waitmovement 0 msgbox BattleFrontier_BattleTowerBattleRoom_Text_242217, MSGBOX_DEFAULT playfanfare MUS_ME_ASA @@ -91,14 +91,14 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F:: @ 8241C8F special CallFrontierUtilFunc copyvar VAR_TEMP_F, VAR_RESULT compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A + goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A setvar VAR_0x8004, 1 setvar VAR_0x8005, 2 special CallFrontierUtilFunc call BattleFrontier_BattleTowerBattleRoom_EventScript_241E44 call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241D0A + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241D0A multichoice 19, 4, 103, 1 switch VAR_RESULT case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC @@ -146,7 +146,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA:: @ 8241DAA BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC:: @ 8241DDC closemessage - applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242180 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242180 waitmovement 0 applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192 waitmovement 0 @@ -246,7 +246,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3:: @ 8241EC3 BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A:: @ 8241F0A compare VAR_TEMP_2, 1 - goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F22 + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F22 msgbox BattleFrontier_BattleTowerBattleRoom_Text_2424C2, MSGBOX_DEFAULT setvar VAR_TEMP_2, 1 @@ -255,7 +255,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241F22:: @ 8241F22 waitmessage call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F79 + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F79 multichoice 19, 4, 103, 1 switch VAR_RESULT case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF @@ -275,7 +275,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241F79:: @ 8241F79 BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF call BattleFrontier_BattleTowerBattleRoom_EventScript_242170 closemessage - applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242180 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242180 waitmovement 0 applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192 waitmovement 0 @@ -290,7 +290,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_242029 + goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_242029 msgbox BattleFrontier_BattleTowerBattleRoom_Text_242579, MSGBOX_DEFAULT setvar VAR_0x8004, 2 setvar VAR_0x8005, 7 @@ -300,7 +300,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_242029:: @ 8242029 msgbox BattleFrontier_BattleTowerBattleRoom_Text_24268C, MSGBOX_DEFAULT call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_242046 + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_242046 goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03 BattleFrontier_BattleTowerBattleRoom_EventScript_242046:: @ 8242046 @@ -308,7 +308,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_242046:: @ 8242046 setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 + goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 msgbox BattleFrontier_BattleTowerBattleRoom_Text_2426B4, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET message BattleFrontier_BattleTowerBattleRoom_Text_24270E @@ -324,7 +324,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_242085:: @ 8242085 setvar VAR_0x8005, 7 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2 + goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2 msgbox BattleFrontier_BattleTowerBattleRoom_Text_2427F9, MSGBOX_DEFAULT setvar VAR_0x8004, 2 setvar VAR_0x8005, 7 @@ -334,7 +334,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2:: @ 82420B2 msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428E0, MSGBOX_DEFAULT call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03 BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF:: @ 82420CF @@ -342,7 +342,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF:: @ 82420CF setvar VAR_0x8004, 12 special CallFrontierUtilFunc compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428F7, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET message BattleFrontier_BattleTowerBattleRoom_Text_242932 @@ -368,7 +368,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E waitstate copyvar VAR_0x8004, VAR_FRONTIER_BATTLE_MODE compare VAR_0x8004, 3 - goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A setvar VAR_0x8004, 18 special CallFrontierUtilFunc special HealPlayerParty @@ -486,11 +486,11 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8:: @ 82421B8 BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8:: @ 82421B8 copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8 + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8 compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2 + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2 compare VAR_RESULT, 3 - goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 6, 6 waitstate end diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc index fa17ef5af..ac3a81cec 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc @@ -6,9 +6,9 @@ BattleFrontier_BattleTowerBattleRoom2_MapScripts:: @ 8248EE8 BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8: @ 8248EF8 compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F + call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F + call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F end BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F:: @ 8248F0F @@ -16,7 +16,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F:: @ 8248F0F special sub_8161F74 checkplayergender compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29 + goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29 setvar VAR_OBJ_GFX_ID_F, 0 return @@ -33,7 +33,7 @@ BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33: @ 8248F33 .2byte 0 BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D:: @ 8248F3D - hideobjectat 255, MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2 + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2 end BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43: @ 8248F43 @@ -49,7 +49,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D:: @ 8248F4D setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4 + goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4 applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E waitmovement 0 @@ -71,7 +71,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4:: @ 8248FB4 applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_24952E waitmovement 0 compare VAR_FRONTIER_BATTLE_MODE, 3 - goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249026 + goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249026 setvar VAR_0x8004, 7 setvar VAR_0x8005, 0 special sub_8161F74 @@ -143,7 +143,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 waitmovement 0 compare VAR_FRONTIER_BATTLE_MODE, 3 - goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118 + goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118 msgbox BattleFrontier_BattleTowerBattleRoom2_Text_242217, MSGBOX_DEFAULT goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249121 @@ -158,7 +158,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121 setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249514 + call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249514 playfanfare MUS_ME_ASA waitfanfare special HealPlayerParty @@ -169,10 +169,10 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143 special CallFrontierUtilFunc call BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD compare VAR_FRONTIER_BATTLE_MODE, 3 - goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 + goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2491B1 + goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2491B1 multichoice 19, 4, 103, 1 switch VAR_RESULT case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 @@ -257,7 +257,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD:: @ 82492FD compare VAR_FRONTIER_BATTLE_MODE, 3 - goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E + goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E copyvar VAR_TEMP_F, VAR_RESULT switch VAR_TEMP_F case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249354 @@ -349,8 +349,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249412:: @ 8249412 return BattleFrontier_BattleTowerBattleRoom2_EventScript_249417:: @ 8249417 - checkflag FLAG_TEMP_2 - goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249457 + goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerBattleRoom2_EventScript_249457 multichoice 19, 6, 105, 1 switch VAR_RESULT case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249483 @@ -375,7 +374,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249483:: @ 8249483 special sub_813B568 waitstate compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E + goto_if_ne BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249412 end @@ -396,7 +395,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD:: @ 82494DD waitmessage multichoicedefault 20, 8, 94, 1, 0 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2494FA + goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2494FA goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 end diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc index 9ff6bbc59..55e21dedb 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc @@ -5,7 +5,7 @@ BattleFrontier_BattleTowerCorridor_MapScripts:: @ 8241AAA BattleFrontier_BattleTowerCorridor_MapScript1_241AB5: @ 8241AB5 compare VAR_0x8006, 1 - goto_eq BattleFrontier_BattleTowerCorridor_EventScript_241AD3 + goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_241AD3 setmetatile 12, 0, 519, 0 setmetatile 12, 1, 527, 0 end @@ -22,15 +22,15 @@ BattleFrontier_BattleTowerCorridor_MapScript2_241AE6: @ 8241AE6 BattleFrontier_BattleTowerCorridor_EventScript_241AF0:: @ 8241AF0 setvar VAR_TEMP_0, 1 compare VAR_0x8006, 1 - goto_eq BattleFrontier_BattleTowerCorridor_EventScript_241B16 + goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_241B16 applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B3A - applymovement 255, BattleFrontier_BattleTowerCorridor_Movement_241B39 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_241B39 waitmovement 0 goto BattleFrontier_BattleTowerCorridor_EventScript_241B27 BattleFrontier_BattleTowerCorridor_EventScript_241B16:: @ 8241B16 applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B37 - applymovement 255, BattleFrontier_BattleTowerCorridor_Movement_241B36 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_241B36 waitmovement 0 BattleFrontier_BattleTowerCorridor_EventScript_241B27:: @ 8241B27 diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc index d28fa105d..75282775f 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc @@ -6,9 +6,9 @@ BattleFrontier_BattleTowerCorridor2_MapScripts:: @ 8248D4A BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A: @ 8248D5A compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248D71 + call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D71 compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248D91 + call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D91 end BattleFrontier_BattleTowerCorridor2_EventScript_248D71:: @ 8248D71 @@ -16,7 +16,7 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248D71:: @ 8248D71 special sub_8161F74 checkplayergender compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D8B + goto_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D8B setvar VAR_OBJ_GFX_ID_F, 0 return @@ -33,7 +33,7 @@ BattleFrontier_BattleTowerCorridor2_MapScript2_248D95: @ 8248D95 .2byte 0 BattleFrontier_BattleTowerCorridor2_EventScript_248D9F:: @ 8248D9F - hideobjectat 255, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 hideobjectat 4, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 special sub_8139980 @@ -88,13 +88,13 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248DBC:: @ 8248DBC BattleFrontier_BattleTowerCorridor2_EventScript_248E71:: @ 8248E71 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248E9E + call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248E9E compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248E9E + call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248E9E compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248EA8 + call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248EA8 compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248EB2 + call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248EB2 return BattleFrontier_BattleTowerCorridor2_EventScript_248E9E:: @ 8248E9E diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc index 968d45772..0479641a7 100644 --- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc @@ -10,7 +10,7 @@ BattleFrontier_BattleTowerElevator_MapScript2_2419E6: @ 82419E6 BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0 setvar VAR_TEMP_0, 1 applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A86 - applymovement 255, BattleFrontier_BattleTowerElevator_Movement_241A8A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_241A8A waitmovement 0 special sub_813A080 waitse @@ -18,20 +18,20 @@ BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0 waitstate delay 48 applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A8E - applymovement 255, BattleFrontier_BattleTowerElevator_Movement_241A92 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_241A92 waitmovement 0 call BattleFrontier_BattleTowerElevator_EventScript_241A28 end BattleFrontier_BattleTowerElevator_EventScript_241A28:: @ 8241A28 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A55 + call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A55 compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A55 + call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A55 compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A5F + call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A5F compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A72 + call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A72 return BattleFrontier_BattleTowerElevator_EventScript_241A55:: @ 8241A55 @@ -40,8 +40,7 @@ BattleFrontier_BattleTowerElevator_EventScript_241A55:: @ 8241A55 return BattleFrontier_BattleTowerElevator_EventScript_241A5F:: @ 8241A5F - checkflag FLAG_0x152 - goto_if 0, BattleFrontier_BattleTowerElevator_EventScript_241A7C + goto_if_unset FLAG_0x152, BattleFrontier_BattleTowerElevator_EventScript_241A7C warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2, 255, 7, 2 waitstate return @@ -86,6 +85,6 @@ BattleFrontier_BattleTowerElevator_MapScript2_241A96: @ 8241A96 BattleFrontier_BattleTowerElevator_EventScript_241AA0:: @ 8241AA0 setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index 0911ea5f2..29315eff5 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -14,9 +14,8 @@ BattleFrontier_BattleTowerLobby_MapScript1_23E694: @ 823E694 setvar VAR_0x8004, 10 special CallApprenticeFunction compare VAR_0x8004, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E6B5 - checkflag FLAG_0x934 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E6C1 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E6B5 + goto_if_set FLAG_0x934, BattleFrontier_BattleTowerLobby_EventScript_23E6C1 BattleFrontier_BattleTowerLobby_EventScript_23E6B5:: @ 823E6B5 clearflag FLAG_HIDE_APPRENTICE @@ -36,7 +35,7 @@ BattleFrontier_BattleTowerLobby_MapScript2_23E6C9: @ 823E6C9 BattleFrontier_BattleTowerLobby_EventScript_23E6D3:: @ 823E6D3 setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattleTowerLobby_MapScript2_23E6DD: @ 823E6DD @@ -79,7 +78,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E758:: @ 823E758 setvar VAR_0x8004, 10 special CallFrontierUtilFunc compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E778 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E778 message BattleFrontier_BattleTowerLobby_Text_23F60D waitmessage goto BattleFrontier_BattleTowerLobby_EventScript_23E780 @@ -91,7 +90,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E780:: @ 823E780 setvar VAR_0x8004, 5 special sub_8161F74 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E7A5 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E7A5 message BattleFrontier_BattleTowerLobby_Text_23F844 waitmessage playfanfare MUS_FANFA4 @@ -108,7 +107,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E7A5:: @ 823E7A5 setvar VAR_0x8005, 1 special sub_8161F74 compare VAR_RESULT, 49 - goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E7E2 + goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E7E2 msgbox BattleFrontier_BattleTowerLobby_Text_23F79D, MSGBOX_DEFAULT BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2 @@ -120,14 +119,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2 BattleFrontier_BattleTowerLobby_EventScript_23E7F2:: @ 823E7F2 compare VAR_FRONTIER_BATTLE_MODE, 2 - goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E81E - checkflag FLAG_0x152 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E81E + goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E81E + goto_if_set FLAG_0x152, BattleFrontier_BattleTowerLobby_EventScript_23E81E setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 special sub_8161F74 compare VAR_RESULT, 0 - goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E830 + goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E830 BattleFrontier_BattleTowerLobby_EventScript_23E81E:: @ 823E81E setvar VAR_0x8004, 2 @@ -161,7 +159,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E84D:: @ 823E84D waitse call BattleFrontier_BattleTowerLobby_EventScript_23E8E0 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E8DF + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E8DF message BattleFrontier_BattleTowerLobby_Text_23FE3C waitmessage multichoicedefault 20, 8, 94, 1, 0 @@ -184,7 +182,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E8B4:: @ 823E8B4 setvar VAR_0x8004, 19 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E8D7 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E8D7 playse SE_SAVE msgbox BattleFrontier_BattleTowerLobby_Text_2423CD, MSGBOX_DEFAULT goto BattleFrontier_BattleTowerLobby_EventScript_23E8DF @@ -215,7 +213,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E8EE:: @ 823E8EE lock faceplayer compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23E930 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E930 message BattleFrontier_BattleTowerLobby_Text_23F737 waitmessage message BattleFrontier_BattleTowerLobby_Text_23F754 @@ -264,7 +262,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984 setvar VAR_0x8004, 15 special CallFrontierUtilFunc compare VAR_0x8004, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT @@ -277,7 +275,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984 special sub_80F9490 waitstate compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO switch VAR_RESULT case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 @@ -305,7 +303,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A call BattleFrontier_BattleTowerLobby_EventScript_27134F setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 incrementgamestat 30 setvar VAR_0x40BC, 1 goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 @@ -344,7 +342,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED setvar VAR_0x8004, 15 special CallFrontierUtilFunc compare VAR_0x8004, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT @@ -357,7 +355,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED special sub_80F9490 waitstate compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO switch VAR_RESULT case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 @@ -385,7 +383,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93 call BattleFrontier_BattleTowerLobby_EventScript_27134F setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 incrementgamestat 30 setvar VAR_0x40BC, 0 goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 @@ -425,7 +423,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59 setvar VAR_0x8004, 15 special CallFrontierUtilFunc compare VAR_0x8004, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT @@ -438,7 +436,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59 special sub_80F9490 waitstate compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO switch VAR_RESULT case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 @@ -466,7 +464,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF call BattleFrontier_BattleTowerLobby_EventScript_27134F setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 incrementgamestat 30 setvar VAR_0x40BC, 0 goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 @@ -505,7 +503,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2 setvar VAR_0x8004, 15 special CallFrontierUtilFunc compare VAR_0x8004, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 copyvar VAR_0x8006, VAR_RESULT @@ -518,7 +516,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2 special sub_80F9490 waitstate compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO switch VAR_RESULT case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 @@ -549,11 +547,11 @@ BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68 call BattleFrontier_BattleTowerLobby_EventScript_27134F setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 incrementgamestat 30 specialvar VAR_RESULT, IsWirelessAdapterConnected compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3E8 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3E8 goto BattleFrontier_BattleTowerLobby_EventScript_23F2C5 end @@ -606,9 +604,9 @@ BattleFrontier_BattleTowerLobby_EventScript_23EF80:: @ 823EF80 BattleFrontier_BattleTowerLobby_EventScript_23EF8A:: @ 823EF8A compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23EFA1 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23EFA1 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23EFAB + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23EFAB end BattleFrontier_BattleTowerLobby_EventScript_23EFA1:: @ 823EFA1 @@ -744,7 +742,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108 special sub_8161F74 delay 1 compare VAR_RESULT, 6 - goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23F108 + goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23F108 call BattleFrontier_BattleTowerLobby_EventScript_23F135 clearflag FLAG_0x077 warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6 @@ -755,7 +753,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108 BattleFrontier_BattleTowerLobby_EventScript_23F135:: @ 823F135 call BattleFrontier_BattleTowerLobby_EventScript_23F1A7 compare VAR_FRONTIER_BATTLE_MODE, 3 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F152 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F152 msgbox BattleFrontier_BattleTowerLobby_Text_23FE11, MSGBOX_DEFAULT goto BattleFrontier_BattleTowerLobby_EventScript_23F15B @@ -769,12 +767,12 @@ BattleFrontier_BattleTowerLobby_EventScript_23F15B:: @ 823F15B call BattleFrontier_BattleTowerLobby_EventScript_23F1E8 call BattleFrontier_BattleTowerLobby_EventScript_23F22D applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F195 - applymovement 255, BattleFrontier_BattleTowerLobby_Movement_23F195 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_23F195 waitmovement 0 opendoor VAR_0x8004, 1 waitdooranim applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F199 - applymovement 255, BattleFrontier_BattleTowerLobby_Movement_23F19C + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_23F19C waitmovement 0 closedoor VAR_0x8004, 1 waitdooranim @@ -808,13 +806,13 @@ BattleFrontier_BattleTowerLobby_Movement_23F1A0: @ 823F1A0 BattleFrontier_BattleTowerLobby_EventScript_23F1A7:: @ 823F1A7 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1D4 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1D4 compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1D9 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1D9 compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1DE + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1DE compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1E3 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1E3 return BattleFrontier_BattleTowerLobby_EventScript_23F1D4:: @ 823F1D4 @@ -835,13 +833,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F1E3:: @ 823F1E3 BattleFrontier_BattleTowerLobby_EventScript_23F1E8:: @ 823F1E8 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F215 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F215 compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F21B + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F21B compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F221 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F221 compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F227 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F227 return BattleFrontier_BattleTowerLobby_EventScript_23F215:: @ 823F215 @@ -862,13 +860,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F227:: @ 823F227 BattleFrontier_BattleTowerLobby_EventScript_23F22D:: @ 823F22D compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F25A + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F25A compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F260 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F260 compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F266 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F266 compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F26C + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F26C return BattleFrontier_BattleTowerLobby_EventScript_23F25A:: @ 823F25A @@ -889,13 +887,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F26C:: @ 823F26C BattleFrontier_BattleTowerLobby_EventScript_23F272:: @ 823F272 compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F29F + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F29F compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2A5 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2A5 compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2AB + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2AB compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2B1 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2B1 return BattleFrontier_BattleTowerLobby_EventScript_23F29F:: @ 823F29F @@ -935,25 +933,25 @@ BattleFrontier_BattleTowerLobby_EventScript_23F2C5:: @ 823F2C5 special sub_80B2DA4 waitstate compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3AF + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3AF compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_2772D2 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2772D2 compare VAR_RESULT, 3 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F327 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F327 compare VAR_RESULT, 4 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F351 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F351 compare VAR_RESULT, 5 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E6 compare VAR_RESULT, 6 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_2772C5 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2772C5 compare VAR_RESULT, 11 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 end BattleFrontier_BattleTowerLobby_EventScript_23F327:: @ 823F327 special CloseLink compare VAR_0x8005, 3 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F33F + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F33F msgbox BattleFrontier_BattleTowerLobby_Text_278255, MSGBOX_DEFAULT release end @@ -974,11 +972,11 @@ BattleFrontier_BattleTowerLobby_EventScript_23F351:: @ 823F351 BattleFrontier_BattleTowerLobby_EventScript_23F366:: @ 823F366 special CloseLink compare VAR_0x8005, 0 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F394 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F394 compare VAR_0x8005, 1 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F39D + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F39D compare VAR_0x8005, 2 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F3A6 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3A6 msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, MSGBOX_DEFAULT release end @@ -1035,26 +1033,26 @@ BattleFrontier_BattleTowerLobby_EventScript_23F3F3:: @ 823F3F3 BattleFrontier_BattleTowerLobby_EventScript_23F430:: @ 823F430 call BattleFrontier_BattleTowerLobby_EventScript_277B30 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F496 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F496 compare VAR_RESULT, 5 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3 compare VAR_RESULT, 8 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F430 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F430 compare VAR_RESULT, 11 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 release return BattleFrontier_BattleTowerLobby_EventScript_23F463:: @ 823F463 call BattleFrontier_BattleTowerLobby_EventScript_277B35 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F496 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F496 compare VAR_RESULT, 5 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3 compare VAR_RESULT, 8 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F463 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F463 compare VAR_RESULT, 11 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 release return diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc index b0c35a7fc..99cbbb662 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc @@ -11,8 +11,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7: @ 8243DA7 end BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0: @ 8243DB0 - checkflag FLAG_0x152 - goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA + goto_if_set FLAG_0x152, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1 clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2 clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3 @@ -44,7 +43,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E14: @ 8243E14 .2byte 0 BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E:: @ 8243E1E - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E23: @ 8243E23 @@ -60,12 +59,12 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35:: @ 8243E35 BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41:: @ 8243E41 lockall - applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75 waitmovement 0 applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77 waitmovement 0 moveobjectoffscreen 1 - applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6 waitmovement 0 msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, MSGBOX_DEFAULT special HealPlayerParty @@ -89,7 +88,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A:: @ 8243E7A waitmessage multichoicedefault 20, 8, 94, 1, 0 compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D + goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_24410C, MSGBOX_DEFAULT release end @@ -119,19 +118,19 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5:: @ 8243EB5 BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EE4:: @ 8243EE4 applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26 - applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A waitmovement 0 return BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EF6: @ 8243EF6 applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26 - applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E waitmovement 0 return BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F08: @ 8243F08 applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26 - applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22 waitmovement 0 return @@ -166,8 +165,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29:: @ 8243F29 end BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36:: @ 8243F36 - checkflag FLAG_0x152 - goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3 + goto_if_set FLAG_0x152, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3 setvar VAR_0x8004, 11 setvar VAR_0x8005, 0 special sub_8161F74 @@ -193,9 +191,9 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36:: @ 8243F36 waitbuttonpress closemessage compare VAR_FACING, 1 - call_if 5, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FD4 + call_if_ne BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FD4 compare VAR_FACING, 1 - call_if 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF + call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF removeobject VAR_LAST_TALKED setflag FLAG_0x152 warpsilent MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 10, 3 diff --git a/data/maps/BattleFrontier_Lounge1/scripts.inc b/data/maps/BattleFrontier_Lounge1/scripts.inc index ea1ae17a0..a12c54334 100644 --- a/data/maps/BattleFrontier_Lounge1/scripts.inc +++ b/data/maps/BattleFrontier_Lounge1/scripts.inc @@ -4,10 +4,8 @@ BattleFrontier_Lounge1_MapScripts:: @ 825E774 BattleFrontier_Lounge1_EventScript_25E775:: @ 825E775 lock faceplayer - checkflag FLAG_0x153 - call_if 0, BattleFrontier_Lounge1_EventScript_25E7AD - checkflag FLAG_0x153 - call_if 1, BattleFrontier_Lounge1_EventScript_25E7B6 + call_if_unset FLAG_0x153, BattleFrontier_Lounge1_EventScript_25E7AD + call_if_set FLAG_0x153, BattleFrontier_Lounge1_EventScript_25E7B6 setflag FLAG_0x153 goto BattleFrontier_Lounge1_EventScript_25E792 end @@ -16,9 +14,9 @@ BattleFrontier_Lounge1_EventScript_25E792:: @ 825E792 special sub_81B94B0 waitstate compare VAR_0x8004, 255 - goto_if 5, BattleFrontier_Lounge1_EventScript_25E7BF + goto_if_ne BattleFrontier_Lounge1_EventScript_25E7BF compare VAR_0x8004, 255 - goto_eq BattleFrontier_Lounge1_EventScript_25E943 + goto_if_eq BattleFrontier_Lounge1_EventScript_25E943 end BattleFrontier_Lounge1_EventScript_25E7AD:: @ 825E7AD @@ -32,16 +30,16 @@ BattleFrontier_Lounge1_EventScript_25E7B6:: @ 825E7B6 BattleFrontier_Lounge1_EventScript_25E7BF:: @ 825E7BF specialvar VAR_RESULT, ScriptGetPartyMonSpecies compare VAR_RESULT, 412 - goto_eq BattleFrontier_Lounge1_EventScript_25E7FF + goto_if_eq BattleFrontier_Lounge1_EventScript_25E7FF special sub_8139D98 compare VAR_0x8005, 90 - goto_if 3, BattleFrontier_Lounge1_EventScript_25E87F + goto_if_le BattleFrontier_Lounge1_EventScript_25E87F compare VAR_0x8005, 120 - goto_if 3, BattleFrontier_Lounge1_EventScript_25E88D + goto_if_le BattleFrontier_Lounge1_EventScript_25E88D compare VAR_0x8005, 150 - goto_if 3, BattleFrontier_Lounge1_EventScript_25E89B + goto_if_le BattleFrontier_Lounge1_EventScript_25E89B compare VAR_0x8005, 151 - goto_if 4, BattleFrontier_Lounge1_EventScript_25E8A9 + goto_if_ge BattleFrontier_Lounge1_EventScript_25E8A9 end BattleFrontier_Lounge1_EventScript_25E7FF:: @ 825E7FF @@ -51,28 +49,28 @@ BattleFrontier_Lounge1_EventScript_25E7FF:: @ 825E7FF BattleFrontier_Lounge1_EventScript_25E80D:: @ 825E80D compare VAR_0x8006, 0 - goto_eq BattleFrontier_Lounge1_EventScript_25E8B7 + goto_if_eq BattleFrontier_Lounge1_EventScript_25E8B7 compare VAR_0x8006, 1 - goto_eq BattleFrontier_Lounge1_EventScript_25E8C5 + goto_if_eq BattleFrontier_Lounge1_EventScript_25E8C5 compare VAR_0x8006, 2 - goto_eq BattleFrontier_Lounge1_EventScript_25E8D3 + goto_if_eq BattleFrontier_Lounge1_EventScript_25E8D3 compare VAR_0x8006, 3 - goto_eq BattleFrontier_Lounge1_EventScript_25E8E1 + goto_if_eq BattleFrontier_Lounge1_EventScript_25E8E1 compare VAR_0x8006, 4 - goto_eq BattleFrontier_Lounge1_EventScript_25E8EF + goto_if_eq BattleFrontier_Lounge1_EventScript_25E8EF compare VAR_0x8006, 5 - goto_eq BattleFrontier_Lounge1_EventScript_25E8FD + goto_if_eq BattleFrontier_Lounge1_EventScript_25E8FD end BattleFrontier_Lounge1_EventScript_25E850:: @ 825E850 compare VAR_0x8007, 15 - goto_if 3, BattleFrontier_Lounge1_EventScript_25E90B + goto_if_le BattleFrontier_Lounge1_EventScript_25E90B compare VAR_0x8007, 25 - goto_if 3, BattleFrontier_Lounge1_EventScript_25E919 + goto_if_le BattleFrontier_Lounge1_EventScript_25E919 compare VAR_0x8007, 30 - goto_if 3, BattleFrontier_Lounge1_EventScript_25E927 + goto_if_le BattleFrontier_Lounge1_EventScript_25E927 compare VAR_0x8007, 31 - goto_if 4, BattleFrontier_Lounge1_EventScript_25E935 + goto_if_ge BattleFrontier_Lounge1_EventScript_25E935 end BattleFrontier_Lounge1_EventScript_25E87D:: @ 825E87D diff --git a/data/maps/BattleFrontier_Lounge2/scripts.inc b/data/maps/BattleFrontier_Lounge2/scripts.inc index a044e3439..e8c5db1f7 100644 --- a/data/maps/BattleFrontier_Lounge2/scripts.inc +++ b/data/maps/BattleFrontier_Lounge2/scripts.inc @@ -4,8 +4,7 @@ BattleFrontier_Lounge2_MapScripts:: @ 8260642 BattleFrontier_Lounge2_EventScript_260643:: @ 8260643 lock faceplayer - checkflag FLAG_0x154 - goto_eq BattleFrontier_Lounge2_EventScript_26065F + goto_if_set FLAG_0x154, BattleFrontier_Lounge2_EventScript_26065F setflag FLAG_0x154 msgbox BattleFrontier_Lounge2_Text_260766, MSGBOX_DEFAULT goto BattleFrontier_Lounge2_EventScript_26066D @@ -18,29 +17,29 @@ BattleFrontier_Lounge2_EventScript_26065F:: @ 826065F BattleFrontier_Lounge2_EventScript_26066D:: @ 826066D compare VAR_FRONTIER_MANIAC_FACILITY, 0 - call_if 1, BattleFrontier_Lounge2_EventScript_26070A + call_if_eq BattleFrontier_Lounge2_EventScript_26070A compare VAR_FRONTIER_MANIAC_FACILITY, 1 - call_if 1, BattleFrontier_Lounge2_EventScript_26070F + call_if_eq BattleFrontier_Lounge2_EventScript_26070F compare VAR_FRONTIER_MANIAC_FACILITY, 2 - call_if 1, BattleFrontier_Lounge2_EventScript_260714 + call_if_eq BattleFrontier_Lounge2_EventScript_260714 compare VAR_FRONTIER_MANIAC_FACILITY, 3 - call_if 1, BattleFrontier_Lounge2_EventScript_260719 + call_if_eq BattleFrontier_Lounge2_EventScript_260719 compare VAR_FRONTIER_MANIAC_FACILITY, 4 - call_if 1, BattleFrontier_Lounge2_EventScript_26071E + call_if_eq BattleFrontier_Lounge2_EventScript_26071E compare VAR_FRONTIER_MANIAC_FACILITY, 5 - call_if 1, BattleFrontier_Lounge2_EventScript_260723 + call_if_eq BattleFrontier_Lounge2_EventScript_260723 compare VAR_FRONTIER_MANIAC_FACILITY, 6 - call_if 1, BattleFrontier_Lounge2_EventScript_260728 + call_if_eq BattleFrontier_Lounge2_EventScript_260728 compare VAR_FRONTIER_MANIAC_FACILITY, 7 - call_if 1, BattleFrontier_Lounge2_EventScript_26072D + call_if_eq BattleFrontier_Lounge2_EventScript_26072D compare VAR_FRONTIER_MANIAC_FACILITY, 8 - call_if 1, BattleFrontier_Lounge2_EventScript_260732 + call_if_eq BattleFrontier_Lounge2_EventScript_260732 compare VAR_FRONTIER_MANIAC_FACILITY, 9 - call_if 1, BattleFrontier_Lounge2_EventScript_260737 + call_if_eq BattleFrontier_Lounge2_EventScript_260737 compare VAR_FRONTIER_MANIAC_FACILITY, 3 - call_if 3, BattleFrontier_Lounge2_EventScript_2606F8 + call_if_le BattleFrontier_Lounge2_EventScript_2606F8 compare VAR_FRONTIER_MANIAC_FACILITY, 4 - call_if 4, BattleFrontier_Lounge2_EventScript_260701 + call_if_ge BattleFrontier_Lounge2_EventScript_260701 special sub_8139F20 waitmessage waitbuttonpress diff --git a/data/maps/BattleFrontier_Lounge3/scripts.inc b/data/maps/BattleFrontier_Lounge3/scripts.inc index 26cbeebcf..4b0b23bc8 100644 --- a/data/maps/BattleFrontier_Lounge3/scripts.inc +++ b/data/maps/BattleFrontier_Lounge3/scripts.inc @@ -4,11 +4,10 @@ BattleFrontier_Lounge3_MapScripts:: @ 8261D82 BattleFrontier_Lounge3_EventScript_261D83:: @ 8261D83 lock faceplayer - checkflag FLAG_0x157 - goto_eq BattleFrontier_Lounge3_EventScript_261EF9 + goto_if_set FLAG_0x157, BattleFrontier_Lounge3_EventScript_261EF9 call BattleFrontier_Lounge3_EventScript_261EA0 compare VAR_0x8004, 2 - goto_if 3, BattleFrontier_Lounge3_EventScript_261EEB + goto_if_le BattleFrontier_Lounge3_EventScript_261EEB setflag FLAG_0x157 msgbox BattleFrontier_Lounge3_Text_262061, MSGBOX_DEFAULT goto BattleFrontier_Lounge3_EventScript_261DAF @@ -20,10 +19,10 @@ BattleFrontier_Lounge3_EventScript_261DAF:: @ 8261DAF waitbuttonpress msgbox BattleFrontier_Lounge3_Text_262A60, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_Lounge3_EventScript_261FA5 + goto_if_eq BattleFrontier_Lounge3_EventScript_261FA5 msgbox BattleFrontier_Lounge3_Text_262ABD, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_Lounge3_EventScript_261FA5 + goto_if_eq BattleFrontier_Lounge3_EventScript_261FA5 message BattleFrontier_Lounge3_Text_262B42 waitmessage special sub_813A958 @@ -59,7 +58,7 @@ BattleFrontier_Lounge3_EventScript_261E46:: @ 8261E46 BattleFrontier_Lounge3_EventScript_261E51:: @ 8261E51 specialvar VAR_TEMP_1, sub_813AA04 compare VAR_TEMP_1, VAR_0x8008 - goto_if 4, BattleFrontier_Lounge3_EventScript_261E75 + goto_if_ge BattleFrontier_Lounge3_EventScript_261E75 msgbox BattleFrontier_Lounge3_Text_262B6E, MSGBOX_DEFAULT message BattleFrontier_Lounge3_Text_262B42 waitmessage @@ -86,20 +85,13 @@ BattleFrontier_Lounge3_EventScript_261E96:: @ 8261E96 BattleFrontier_Lounge3_EventScript_261EA0:: @ 8261EA0 setvar VAR_0x8004, 0 - checkflag FLAG_SYS_TOWER_SILVER - call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 - checkflag FLAG_SYS_DOME_SILVER - call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 - checkflag FLAG_SYS_PALACE_SILVER - call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 - checkflag FLAG_SYS_ARENA_SILVER - call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 - checkflag FLAG_SYS_FACTORY_SILVER - call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 - checkflag FLAG_SYS_PIKE_SILVER - call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 - checkflag FLAG_SYS_PYRAMID_SILVER - call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 + call_if_set FLAG_SYS_TOWER_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 + call_if_set FLAG_SYS_DOME_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 + call_if_set FLAG_SYS_PALACE_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 + call_if_set FLAG_SYS_ARENA_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 + call_if_set FLAG_SYS_FACTORY_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 + call_if_set FLAG_SYS_PIKE_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 + call_if_set FLAG_SYS_PYRAMID_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 return BattleFrontier_Lounge3_EventScript_261EE5:: @ 8261EE5 @@ -114,26 +106,26 @@ BattleFrontier_Lounge3_EventScript_261EEB:: @ 8261EEB BattleFrontier_Lounge3_EventScript_261EF9:: @ 8261EF9 msgbox BattleFrontier_Lounge3_Text_26346B, MSGBOX_DEFAULT compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1 - goto_if 4, BattleFrontier_Lounge3_EventScript_261F12 + goto_if_ge BattleFrontier_Lounge3_EventScript_261F12 goto BattleFrontier_Lounge3_EventScript_261DAF end BattleFrontier_Lounge3_EventScript_261F12:: @ 8261F12 compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1 - goto_eq BattleFrontier_Lounge3_EventScript_261F9E + goto_if_eq BattleFrontier_Lounge3_EventScript_261F9E compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2 - goto_eq BattleFrontier_Lounge3_EventScript_261F2E + goto_if_eq BattleFrontier_Lounge3_EventScript_261F2E goto BattleFrontier_Lounge3_EventScript_261F71 end BattleFrontier_Lounge3_EventScript_261F2E:: @ 8261F2E msgbox BattleFrontier_Lounge3_Text_263334, MSGBOX_DEFAULT compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 0 - call_if 1, BattleFrontier_Lounge3_EventScript_261F80 + call_if_eq BattleFrontier_Lounge3_EventScript_261F80 compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 1 - call_if 1, BattleFrontier_Lounge3_EventScript_261F8A + call_if_eq BattleFrontier_Lounge3_EventScript_261F8A compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 2 - call_if 1, BattleFrontier_Lounge3_EventScript_261F94 + call_if_eq BattleFrontier_Lounge3_EventScript_261F94 msgbox BattleFrontier_Lounge3_Text_2633D4, 9 special sub_813A9D0 msgbox BattleFrontier_Lounge3_Text_2633F2, MSGBOX_DEFAULT diff --git a/data/maps/BattleFrontier_Lounge5/scripts.inc b/data/maps/BattleFrontier_Lounge5/scripts.inc index 65a5d2556..7a8bd1929 100644 --- a/data/maps/BattleFrontier_Lounge5/scripts.inc +++ b/data/maps/BattleFrontier_Lounge5/scripts.inc @@ -6,16 +6,16 @@ BattleFrontier_Lounge5_EventScript_2645C6:: @ 82645C6 faceplayer msgbox BattleFrontier_Lounge5_Text_264632, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_Lounge5_EventScript_26460D + goto_if_eq BattleFrontier_Lounge5_EventScript_26460D special sub_81B94B0 waitstate lock faceplayer compare VAR_0x8004, 255 - goto_eq BattleFrontier_Lounge5_EventScript_26460D + goto_if_eq BattleFrontier_Lounge5_EventScript_26460D specialvar VAR_RESULT, ScriptGetPartyMonSpecies compare VAR_RESULT, 412 - goto_eq BattleFrontier_Lounge5_EventScript_264603 + goto_if_eq BattleFrontier_Lounge5_EventScript_264603 special sub_813A7B8 waitmessage waitbuttonpress diff --git a/data/maps/BattleFrontier_Lounge6/scripts.inc b/data/maps/BattleFrontier_Lounge6/scripts.inc index 495a604d4..3c1852283 100644 --- a/data/maps/BattleFrontier_Lounge6/scripts.inc +++ b/data/maps/BattleFrontier_Lounge6/scripts.inc @@ -4,25 +4,24 @@ BattleFrontier_Lounge6_MapScripts:: @ 8264FEC BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED lock faceplayer - checkflag FLAG_0x09C - goto_eq BattleFrontier_Lounge6_EventScript_265083 + goto_if_set FLAG_0x09C, BattleFrontier_Lounge6_EventScript_265083 setvar VAR_0x8008, 3 copyvar VAR_0x8004, VAR_0x8008 specialvar VAR_RESULT, sub_807E73C copyvar VAR_0x8009, VAR_RESULT msgbox BattleFrontier_Lounge6_Text_26508D, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_Lounge6_EventScript_26506B + goto_if_eq BattleFrontier_Lounge6_EventScript_26506B special sub_81B94B0 waitstate copyvar VAR_0x800A, VAR_0x8004 compare VAR_0x8004, 255 - goto_eq BattleFrontier_Lounge6_EventScript_26506B + goto_if_eq BattleFrontier_Lounge6_EventScript_26506B copyvar VAR_0x8005, VAR_0x800A specialvar VAR_RESULT, sub_807E9D4 copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 - goto_if 5, BattleFrontier_Lounge6_EventScript_265075 + goto_if_ne BattleFrontier_Lounge6_EventScript_265075 copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A special sub_807EA10 diff --git a/data/maps/BattleFrontier_Lounge7/scripts.inc b/data/maps/BattleFrontier_Lounge7/scripts.inc index f395a27bc..0f9376125 100644 --- a/data/maps/BattleFrontier_Lounge7/scripts.inc +++ b/data/maps/BattleFrontier_Lounge7/scripts.inc @@ -5,8 +5,7 @@ BattleFrontier_Lounge7_EventScript_265255:: @ 8265255 lock faceplayer setvar VAR_TEMP_C, 9 - checkflag FLAG_0x15A - goto_eq BattleFrontier_Lounge7_EventScript_265276 + goto_if_set FLAG_0x15A, BattleFrontier_Lounge7_EventScript_265276 msgbox BattleFrontier_Lounge7_Text_2656ED, MSGBOX_DEFAULT setflag FLAG_0x15A goto BattleFrontier_Lounge7_EventScript_265284 @@ -120,8 +119,7 @@ BattleFrontier_Lounge7_EventScript_265445:: @ 8265445 lock faceplayer setvar VAR_TEMP_C, 10 - checkflag FLAG_0x15B - goto_eq BattleFrontier_Lounge7_EventScript_265466 + goto_if_set FLAG_0x15B, BattleFrontier_Lounge7_EventScript_265466 msgbox BattleFrontier_Lounge7_Text_265A6C, MSGBOX_DEFAULT setflag FLAG_0x15B goto BattleFrontier_Lounge7_EventScript_265474 @@ -251,10 +249,10 @@ BattleFrontier_Lounge7_EventScript_26564F:: @ 826564F copyvar VAR_0x8004, VAR_TEMP_C msgbox BattleFrontier_Lounge7_Text_265921, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_Lounge7_EventScript_2656CA + goto_if_eq BattleFrontier_Lounge7_EventScript_2656CA specialvar VAR_TEMP_1, sub_813AA04 compare VAR_TEMP_1, VAR_0x8008 - goto_if 4, BattleFrontier_Lounge7_EventScript_265696 + goto_if_ge BattleFrontier_Lounge7_EventScript_265696 msgbox BattleFrontier_Lounge7_Text_265997, MSGBOX_DEFAULT goto BattleFrontier_Lounge7_EventScript_2656CA end @@ -268,7 +266,7 @@ BattleFrontier_Lounge7_EventScript_265696:: @ 8265696 special sub_81B892C waitstate compare VAR_RESULT, 0 - goto_eq BattleFrontier_Lounge7_EventScript_265645 + goto_if_eq BattleFrontier_Lounge7_EventScript_265645 msgbox BattleFrontier_Lounge7_Text_2659C7, MSGBOX_DEFAULT copyvar VAR_0x8004, VAR_0x8008 special sub_813A9A4 @@ -277,7 +275,7 @@ BattleFrontier_Lounge7_EventScript_265696:: @ 8265696 BattleFrontier_Lounge7_EventScript_2656CA:: @ 82656CA compare VAR_TEMP_E, 0 - goto_eq BattleFrontier_Lounge7_EventScript_26532F + goto_if_eq BattleFrontier_Lounge7_EventScript_26532F goto BattleFrontier_Lounge7_EventScript_26551F end diff --git a/data/maps/BattleFrontier_OutsideEast/scripts.inc b/data/maps/BattleFrontier_OutsideEast/scripts.inc index fe034442e..401f5565d 100644 --- a/data/maps/BattleFrontier_OutsideEast/scripts.inc +++ b/data/maps/BattleFrontier_OutsideEast/scripts.inc @@ -4,22 +4,20 @@ BattleFrontier_OutsideEast_MapScripts:: @ 8242C04 .byte 0 BattleFrontier_OutsideEast_MapScript1_242C0F: @ 8242C0F - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, BattleFrontier_OutsideEast_EventScript_242C19 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, BattleFrontier_OutsideEast_EventScript_242C19 end BattleFrontier_OutsideEast_EventScript_242C19:: @ 8242C19 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, BattleFrontier_OutsideEast_EventScript_27374E + goto_if_ne BattleFrontier_OutsideEast_EventScript_27374E removeobject VAR_LAST_TALKED return BattleFrontier_OutsideEast_MapScript1_242C2D: @ 8242C2D setvar VAR_0x40BC, 0 setflag FLAG_HIDE_BATTLE_TOWER_REPORTER - checkflag FLAG_0x1C6 - call_if 0, BattleFrontier_OutsideEast_EventScript_242C3F + call_if_unset FLAG_0x1C6, BattleFrontier_OutsideEast_EventScript_242C3F end BattleFrontier_OutsideEast_EventScript_242C3F:: @ 8242C3F @@ -117,7 +115,7 @@ BattleFrontier_OutsideEast_EventScript_242CEA:: @ 8242CEA BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC lock faceplayer - special sub_80FAFF8 + special DoWateringBerryTreeAnim waitstate waitse playse 269 @@ -136,11 +134,11 @@ BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq BattleFrontier_OutsideEast_EventScript_242D60 + goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60 compare VAR_RESULT, 4 - goto_eq BattleFrontier_OutsideEast_EventScript_242D60 + goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60 compare VAR_RESULT, 5 - goto_eq BattleFrontier_OutsideEast_EventScript_242D60 + goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60 setflag FLAG_0x1C6 release end @@ -223,8 +221,7 @@ BattleFrontier_OutsideEast_EventScript_242DE0:: @ 8242DE0 BattleFrontier_OutsideEast_EventScript_242DE9:: @ 8242DE9 lock faceplayer - checkflag FLAG_0x1C6 - goto_eq BattleFrontier_OutsideEast_EventScript_242DFE + goto_if_set FLAG_0x1C6, BattleFrontier_OutsideEast_EventScript_242DFE msgbox BattleFrontier_OutsideEast_Text_243C2C, MSGBOX_DEFAULT release end diff --git a/data/maps/BattleFrontier_OutsideWest/scripts.inc b/data/maps/BattleFrontier_OutsideWest/scripts.inc index b01b0eb2d..da5724259 100644 --- a/data/maps/BattleFrontier_OutsideWest/scripts.inc +++ b/data/maps/BattleFrontier_OutsideWest/scripts.inc @@ -13,7 +13,7 @@ BattleFrontier_OutsideWest_EventScript_23D3F0:: @ 823D3F0 msgbox BattleFrontier_OutsideWest_Text_23D808, MSGBOX_DEFAULT checkitem ITEM_SS_TICKET, 1 compare VAR_RESULT, 0 - goto_eq BattleFrontier_OutsideWest_EventScript_23D44E + goto_if_eq BattleFrontier_OutsideWest_EventScript_23D44E message BattleFrontier_OutsideWest_Text_23D89D waitmessage goto BattleFrontier_OutsideWest_EventScript_23D416 @@ -36,7 +36,7 @@ BattleFrontier_OutsideWest_EventScript_23D44E:: @ 823D44E BattleFrontier_OutsideWest_EventScript_23D458:: @ 823D458 msgbox BattleFrontier_OutsideWest_Text_23D8F2, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_OutsideWest_EventScript_23D4AE + goto_if_eq BattleFrontier_OutsideWest_EventScript_23D4AE msgbox BattleFrontier_OutsideWest_Text_23D94B, MSGBOX_DEFAULT call BattleFrontier_OutsideWest_EventScript_23D4BA warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11 @@ -47,7 +47,7 @@ BattleFrontier_OutsideWest_EventScript_23D458:: @ 823D458 BattleFrontier_OutsideWest_EventScript_23D483:: @ 823D483 msgbox BattleFrontier_OutsideWest_Text_23D90E, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BattleFrontier_OutsideWest_EventScript_23D4AE + goto_if_eq BattleFrontier_OutsideWest_EventScript_23D4AE msgbox BattleFrontier_OutsideWest_Text_23D94B, MSGBOX_DEFAULT call BattleFrontier_OutsideWest_EventScript_23D4BA warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11 @@ -145,13 +145,13 @@ BattleFrontier_OutsideWest_EventScript_23D57F:: @ 823D57F faceplayer delay 20 compare VAR_FACING, 2 - call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA + call_if_eq BattleFrontier_OutsideWest_EventScript_23D5BA compare VAR_FACING, 1 - call_if 1, BattleFrontier_OutsideWest_EventScript_23D5C5 + call_if_eq BattleFrontier_OutsideWest_EventScript_23D5C5 compare VAR_FACING, 3 - call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA + call_if_eq BattleFrontier_OutsideWest_EventScript_23D5BA compare VAR_FACING, 4 - call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA + call_if_eq BattleFrontier_OutsideWest_EventScript_23D5BA msgbox BattleFrontier_OutsideWest_Text_23DC36, MSGBOX_DEFAULT release end @@ -170,13 +170,13 @@ BattleFrontier_OutsideWest_EventScript_23D5C6:: @ 823D5C6 message BattleFrontier_OutsideWest_Text_23DCB0 waitmessage compare VAR_FACING, 2 - call_if 1, BattleFrontier_OutsideWest_EventScript_23D5FD + call_if_eq BattleFrontier_OutsideWest_EventScript_23D5FD compare VAR_FACING, 1 - call_if 1, BattleFrontier_OutsideWest_EventScript_23D608 + call_if_eq BattleFrontier_OutsideWest_EventScript_23D608 compare VAR_FACING, 3 - call_if 1, BattleFrontier_OutsideWest_EventScript_23D613 + call_if_eq BattleFrontier_OutsideWest_EventScript_23D613 compare VAR_FACING, 4 - call_if 1, BattleFrontier_OutsideWest_EventScript_23D61E + call_if_eq BattleFrontier_OutsideWest_EventScript_23D61E waitbuttonpress release end @@ -227,7 +227,7 @@ BattleFrontier_OutsideWest_EventScript_23D635:: @ 823D635 msgbox BattleFrontier_OutsideWest_Text_23DD3B, MSGBOX_DEFAULT random 2 compare VAR_RESULT, 1 - goto_eq BattleFrontier_OutsideWest_EventScript_23D653 + goto_if_eq BattleFrontier_OutsideWest_EventScript_23D653 goto BattleFrontier_OutsideWest_EventScript_23D65D end diff --git a/data/maps/BattleFrontier_RankingHall/scripts.inc b/data/maps/BattleFrontier_RankingHall/scripts.inc index f6a7715d1..5f8a6c44e 100644 --- a/data/maps/BattleFrontier_RankingHall/scripts.inc +++ b/data/maps/BattleFrontier_RankingHall/scripts.inc @@ -87,7 +87,7 @@ BattleFrontier_RankingHall_EventScript_25E54A:: @ 825E54A faceplayer msgbox BattleFrontier_RankingHall_Text_25E666, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq BattleFrontier_RankingHall_EventScript_25E569 + goto_if_eq BattleFrontier_RankingHall_EventScript_25E569 msgbox BattleFrontier_RankingHall_Text_25E6B6, MSGBOX_DEFAULT release end diff --git a/data/maps/BattleFrontier_ReceptionGate/scripts.inc b/data/maps/BattleFrontier_ReceptionGate/scripts.inc index 30f3a10d5..5ed97bd60 100644 --- a/data/maps/BattleFrontier_ReceptionGate/scripts.inc +++ b/data/maps/BattleFrontier_ReceptionGate/scripts.inc @@ -21,7 +21,7 @@ BattleFrontier_ReceptionGate_EventScript_2661F3:: @ 82661F3 waitmovement 0 msgbox BattleFrontier_ReceptionGate_Text_266580, MSGBOX_DEFAULT closemessage - applymovement 255, BattleFrontier_ReceptionGate_Movement_2662D2 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2662D2 waitmovement 0 goto BattleFrontier_ReceptionGate_EventScript_266229 end @@ -40,18 +40,18 @@ BattleFrontier_ReceptionGate_EventScript_266229:: @ 8266229 closemessage applymovement 1, BattleFrontier_ReceptionGate_Movement_2725A6 applymovement 2, BattleFrontier_ReceptionGate_Movement_2725A6 - applymovement 255, BattleFrontier_ReceptionGate_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2725A6 waitmovement 0 playse SE_PIN applymovement 1, BattleFrontier_ReceptionGate_Movement_272598 applymovement 2, BattleFrontier_ReceptionGate_Movement_272598 - applymovement 255, BattleFrontier_ReceptionGate_Movement_272598 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_272598 waitmovement 0 msgbox BattleFrontier_ReceptionGate_Text_266733, MSGBOX_DEFAULT closemessage applymovement 1, BattleFrontier_ReceptionGate_Movement_2662F0 applymovement 2, BattleFrontier_ReceptionGate_Movement_2662F6 - applymovement 255, BattleFrontier_ReceptionGate_Movement_2662D7 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2662D7 applymovement 4, BattleFrontier_ReceptionGate_Movement_2662E0 waitmovement 0 msgbox BattleFrontier_ReceptionGate_Text_266764, MSGBOX_DEFAULT diff --git a/data/maps/BattleFrontier_ScottsHouse/scripts.inc b/data/maps/BattleFrontier_ScottsHouse/scripts.inc index 6824df384..9f42bc89e 100644 --- a/data/maps/BattleFrontier_ScottsHouse/scripts.inc +++ b/data/maps/BattleFrontier_ScottsHouse/scripts.inc @@ -4,76 +4,54 @@ BattleFrontier_ScottsHouse_MapScripts:: @ 82636A7 BattleFrontier_ScottsHouse_EventScript_2636A8:: @ 82636A8 lock faceplayer - checkflag FLAG_TEMP_4 - goto_eq BattleFrontier_ScottsHouse_EventScript_2637DA - checkflag FLAG_TEMP_3 - goto_eq BattleFrontier_ScottsHouse_EventScript_2638AA - checkflag FLAG_TEMP_2 - goto_eq BattleFrontier_ScottsHouse_EventScript_263939 + goto_if_set FLAG_TEMP_4, BattleFrontier_ScottsHouse_EventScript_2637DA + goto_if_set FLAG_TEMP_3, BattleFrontier_ScottsHouse_EventScript_2638AA + goto_if_set FLAG_TEMP_2, BattleFrontier_ScottsHouse_EventScript_263939 goto BattleFrontier_ScottsHouse_EventScript_2636CB end BattleFrontier_ScottsHouse_EventScript_2636CB:: @ 82636CB - checkflag FLAG_0x1D1 - goto_if 0, BattleFrontier_ScottsHouse_EventScript_263943 - checkflag FLAG_0x05C - goto_if 0, BattleFrontier_ScottsHouse_EventScript_263704 - checkflag FLAG_0x1D2 - goto_if 0, BattleFrontier_ScottsHouse_EventScript_26376A + goto_if_unset FLAG_0x1D1, BattleFrontier_ScottsHouse_EventScript_263943 + goto_if_unset FLAG_0x05C, BattleFrontier_ScottsHouse_EventScript_263704 + goto_if_unset FLAG_0x1D2, BattleFrontier_ScottsHouse_EventScript_26376A goto BattleFrontier_ScottsHouse_EventScript_2636EC end BattleFrontier_ScottsHouse_EventScript_2636EC:: @ 82636EC - checkflag FLAG_0x0ED - goto_if 0, BattleFrontier_ScottsHouse_EventScript_26381B - checkflag FLAG_0x0EE - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2638B4 + goto_if_unset FLAG_0x0ED, BattleFrontier_ScottsHouse_EventScript_26381B + goto_if_unset FLAG_0x0EE, BattleFrontier_ScottsHouse_EventScript_2638B4 goto BattleFrontier_ScottsHouse_EventScript_2637E4 end BattleFrontier_ScottsHouse_EventScript_263704:: @ 8263704 - checkflag FLAG_SYS_TOWER_SILVER - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC - checkflag FLAG_SYS_DOME_SILVER - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC - checkflag FLAG_SYS_PALACE_SILVER - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC - checkflag FLAG_SYS_ARENA_SILVER - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC - checkflag FLAG_SYS_FACTORY_SILVER - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC - checkflag FLAG_SYS_PIKE_SILVER - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC - checkflag FLAG_SYS_PYRAMID_SILVER - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_TOWER_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_DOME_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_PALACE_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_ARENA_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_FACTORY_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_PIKE_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_PYRAMID_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC msgbox BattleFrontier_ScottsHouse_Text_2640BC, MSGBOX_DEFAULT giveitem_std ITEM_LANSAT_BERRY compare VAR_RESULT, 0 - goto_eq BattleFrontier_ScottsHouse_EventScript_2637D0 + goto_if_eq BattleFrontier_ScottsHouse_EventScript_2637D0 setflag FLAG_0x05C setflag FLAG_TEMP_4 release end BattleFrontier_ScottsHouse_EventScript_26376A:: @ 826376A - checkflag FLAG_SYS_TOWER_GOLD - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC - checkflag FLAG_SYS_DOME_GOLD - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC - checkflag FLAG_SYS_PALACE_GOLD - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC - checkflag FLAG_SYS_ARENA_GOLD - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC - checkflag FLAG_SYS_FACTORY_GOLD - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC - checkflag FLAG_SYS_PIKE_GOLD - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC - checkflag FLAG_SYS_PYRAMID_GOLD - goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_TOWER_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_DOME_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_PALACE_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_ARENA_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_FACTORY_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_PIKE_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC + goto_if_unset FLAG_SYS_PYRAMID_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC msgbox BattleFrontier_ScottsHouse_Text_264216, MSGBOX_DEFAULT giveitem_std ITEM_STARF_BERRY compare VAR_RESULT, 0 - goto_eq BattleFrontier_ScottsHouse_EventScript_2637D0 + goto_if_eq BattleFrontier_ScottsHouse_EventScript_2637D0 setflag FLAG_0x1D2 setflag FLAG_TEMP_4 release @@ -92,9 +70,9 @@ BattleFrontier_ScottsHouse_EventScript_2637DA:: @ 82637DA BattleFrontier_ScottsHouse_EventScript_2637E4:: @ 82637E4 random 3 compare VAR_RESULT, 1 - goto_eq BattleFrontier_ScottsHouse_EventScript_263807 + goto_if_eq BattleFrontier_ScottsHouse_EventScript_263807 compare VAR_RESULT, 2 - goto_eq BattleFrontier_ScottsHouse_EventScript_263811 + goto_if_eq BattleFrontier_ScottsHouse_EventScript_263811 msgbox BattleFrontier_ScottsHouse_Text_263DDD, MSGBOX_DEFAULT release end @@ -119,7 +97,7 @@ BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B setvar VAR_0x8005, 1 special sub_8161F74 compare VAR_RESULT, 50 - goto_if 4, BattleFrontier_ScottsHouse_EventScript_26387A + goto_if_ge BattleFrontier_ScottsHouse_EventScript_26387A setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 1 @@ -128,7 +106,7 @@ BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B setvar VAR_0x8005, 1 special sub_8161F74 compare VAR_RESULT, 50 - goto_if 4, BattleFrontier_ScottsHouse_EventScript_26387A + goto_if_ge BattleFrontier_ScottsHouse_EventScript_26387A goto BattleFrontier_ScottsHouse_EventScript_2637E4 end @@ -136,7 +114,7 @@ BattleFrontier_ScottsHouse_EventScript_26387A:: @ 826387A msgbox BattleFrontier_ScottsHouse_Text_264412, MSGBOX_DEFAULT givedecoration_std 42 compare VAR_RESULT, 0 - goto_eq BattleFrontier_ScottsHouse_EventScript_2638A0 + goto_if_eq BattleFrontier_ScottsHouse_EventScript_2638A0 setflag FLAG_0x0ED setflag FLAG_TEMP_3 goto BattleFrontier_ScottsHouse_EventScript_2638AA @@ -162,7 +140,7 @@ BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4 setvar VAR_0x8005, 1 special sub_8161F74 compare VAR_RESULT, 100 - goto_if 4, BattleFrontier_ScottsHouse_EventScript_263913 + goto_if_ge BattleFrontier_ScottsHouse_EventScript_263913 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 1 @@ -171,7 +149,7 @@ BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4 setvar VAR_0x8005, 1 special sub_8161F74 compare VAR_RESULT, 100 - goto_if 4, BattleFrontier_ScottsHouse_EventScript_263913 + goto_if_ge BattleFrontier_ScottsHouse_EventScript_263913 goto BattleFrontier_ScottsHouse_EventScript_2637E4 end @@ -179,7 +157,7 @@ BattleFrontier_ScottsHouse_EventScript_263913:: @ 8263913 msgbox BattleFrontier_ScottsHouse_Text_26449F, MSGBOX_DEFAULT givedecoration_std 43 compare VAR_RESULT, 0 - goto_eq BattleFrontier_ScottsHouse_EventScript_2638A0 + goto_if_eq BattleFrontier_ScottsHouse_EventScript_2638A0 setflag FLAG_0x0EE setflag FLAG_TEMP_3 goto BattleFrontier_ScottsHouse_EventScript_2638AA @@ -195,23 +173,23 @@ BattleFrontier_ScottsHouse_EventScript_263943:: @ 8263943 closemessage delay 30 compare VAR_FACING, 2 - call_if 1, BattleFrontier_ScottsHouse_EventScript_263A13 + call_if_eq BattleFrontier_ScottsHouse_EventScript_263A13 compare VAR_FACING, 1 - call_if 1, BattleFrontier_ScottsHouse_EventScript_263A1E + call_if_eq BattleFrontier_ScottsHouse_EventScript_263A1E compare VAR_FACING, 4 - call_if 1, BattleFrontier_ScottsHouse_EventScript_263A29 + call_if_eq BattleFrontier_ScottsHouse_EventScript_263A29 compare VAR_FACING, 3 - call_if 1, BattleFrontier_ScottsHouse_EventScript_263A34 + call_if_eq BattleFrontier_ScottsHouse_EventScript_263A34 msgbox BattleFrontier_ScottsHouse_Text_263B29, MSGBOX_DEFAULT applymovement 1, BattleFrontier_ScottsHouse_Movement_27259E waitmovement 0 msgbox BattleFrontier_ScottsHouse_Text_263BD4, MSGBOX_DEFAULT compare VAR_0x40D1, 13 - goto_eq BattleFrontier_ScottsHouse_EventScript_2639BC + goto_if_eq BattleFrontier_ScottsHouse_EventScript_2639BC compare VAR_0x40D1, 9 - goto_if 4, BattleFrontier_ScottsHouse_EventScript_2639CB + goto_if_ge BattleFrontier_ScottsHouse_EventScript_2639CB compare VAR_0x40D1, 6 - goto_if 4, BattleFrontier_ScottsHouse_EventScript_2639DA + goto_if_ge BattleFrontier_ScottsHouse_EventScript_2639DA goto BattleFrontier_ScottsHouse_EventScript_2639E9 end diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index 7bd9c1e60..bdc548162 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -13,10 +13,8 @@ BirthIsland_Exterior_MapScript1_267F29: @ 8267F29 setvar VAR_OBJ_GFX_ID_0, 100 setvar VAR_0x4034, 0 setvar VAR_0x4035, 0 - checkflag FLAG_0x1AD - call_if 1, BirthIsland_Exterior_EventScript_267F4E - checkflag FLAG_0x1AD - call_if 0, BirthIsland_Exterior_EventScript_267F55 + call_if_set FLAG_0x1AD, BirthIsland_Exterior_EventScript_267F4E + call_if_unset FLAG_0x1AD, BirthIsland_Exterior_EventScript_267F55 end BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E @@ -25,21 +23,19 @@ BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E return BirthIsland_Exterior_EventScript_267F55:: @ 8267F55 - checkflag FLAG_0x1AC - goto_eq BirthIsland_Exterior_EventScript_27374E + goto_if_set FLAG_0x1AC, BirthIsland_Exterior_EventScript_27374E clearflag FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE clearflag FLAG_0x8D4 return BirthIsland_Exterior_MapScript1_267F65: @ 8267F65 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, BirthIsland_Exterior_EventScript_267F6F + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, BirthIsland_Exterior_EventScript_267F6F end BirthIsland_Exterior_EventScript_267F6F:: @ 8267F6F specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, BirthIsland_Exterior_EventScript_27374E + goto_if_ne BirthIsland_Exterior_EventScript_27374E removeobject 2 return @@ -93,11 +89,11 @@ BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1 clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq BirthIsland_Exterior_EventScript_26803B + goto_if_eq BirthIsland_Exterior_EventScript_26803B compare VAR_RESULT, 4 - goto_eq BirthIsland_Exterior_EventScript_268049 + goto_if_eq BirthIsland_Exterior_EventScript_268049 compare VAR_RESULT, 5 - goto_eq BirthIsland_Exterior_EventScript_268049 + goto_if_eq BirthIsland_Exterior_EventScript_268049 setflag FLAG_0x1AD release end diff --git a/data/maps/BirthIsland_Harbor/scripts.inc b/data/maps/BirthIsland_Harbor/scripts.inc index dc3407e33..1a5ef87ec 100644 --- a/data/maps/BirthIsland_Harbor/scripts.inc +++ b/data/maps/BirthIsland_Harbor/scripts.inc @@ -6,7 +6,7 @@ BirthIsland_Harbor_EventScript_26805D:: @ 826805D faceplayer msgbox BirthIsland_Harbor_Text_2C6B90, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq BirthIsland_Harbor_EventScript_2680A2 + goto_if_eq BirthIsland_Harbor_EventScript_2680A2 msgbox BirthIsland_Harbor_Text_2A6A5D, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, BirthIsland_Harbor_Movement_2725AA diff --git a/data/maps/CaveOfOrigin_1F/scripts.inc b/data/maps/CaveOfOrigin_1F/scripts.inc index 42c78d4b7..f42cb92f6 100644 --- a/data/maps/CaveOfOrigin_1F/scripts.inc +++ b/data/maps/CaveOfOrigin_1F/scripts.inc @@ -3,7 +3,6 @@ CaveOfOrigin_1F_MapScripts:: @ 8235768 .byte 0 CaveOfOrigin_1F_MapScript1_23576E: @ 823576E - checkflag FLAG_0x071 - call_if 1, CaveOfOrigin_1F_EventScript_2722C1 + call_if_set FLAG_0x071, CaveOfOrigin_1F_EventScript_2722C1 end diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc index 4b4240833..9ac7e4741 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc @@ -3,7 +3,6 @@ CaveOfOrigin_UnusedRubySapphireMap1_MapScripts:: @ 8235778 .byte 0 CaveOfOrigin_UnusedRubySapphireMap1_MapScript1_23577E: @ 823577E - checkflag FLAG_0x071 - call_if 1, CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1 + call_if_set FLAG_0x071, CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1 end diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc index d73ff8231..5743c7c8c 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc @@ -3,7 +3,6 @@ CaveOfOrigin_UnusedRubySapphireMap2_MapScripts:: @ 8235788 .byte 0 CaveOfOrigin_UnusedRubySapphireMap2_MapScript1_23578E: @ 823578E - checkflag FLAG_0x071 - call_if 1, CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1 + call_if_set FLAG_0x071, CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1 end diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc index 7f4fb2ff1..c831218a4 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc @@ -3,7 +3,6 @@ CaveOfOrigin_UnusedRubySapphireMap3_MapScripts:: @ 8235798 .byte 0 CaveOfOrigin_UnusedRubySapphireMap3_MapScript1_23579E: @ 823579E - checkflag FLAG_0x071 - call_if 1, CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1 + call_if_set FLAG_0x071, CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1 end diff --git a/data/maps/DesertRuins/scripts.inc b/data/maps/DesertRuins/scripts.inc index 760336d91..685d8f5cf 100644 --- a/data/maps/DesertRuins/scripts.inc +++ b/data/maps/DesertRuins/scripts.inc @@ -5,20 +5,18 @@ DesertRuins_MapScripts:: @ 822D95B .byte 0 DesertRuins_MapScript1_22D96B: @ 822D96B - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, DesertRuins_EventScript_22D975 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, DesertRuins_EventScript_22D975 end DesertRuins_EventScript_22D975:: @ 822D975 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, DesertRuins_EventScript_27374E + goto_if_ne DesertRuins_EventScript_27374E removeobject VAR_LAST_TALKED return DesertRuins_MapScript1_22D989: @ 822D989 - checkflag FLAG_SYS_BRAILLE_STRENGTH - call_if 0, DesertRuins_EventScript_22D993 + call_if_unset FLAG_SYS_BRAILLE_STRENGTH, DesertRuins_EventScript_22D993 end DesertRuins_EventScript_22D993:: @ 822D993 @@ -32,8 +30,7 @@ DesertRuins_EventScript_22D993:: @ 822D993 DesertRuins_MapScript1_22D9CA: @ 822D9CA setflag FLAG_LANDMARK_DESERT_RUINS - checkflag FLAG_0x1BB - call_if 0, DesertRuins_EventScript_22D9D7 + call_if_unset FLAG_0x1BB, DesertRuins_EventScript_22D9D7 end DesertRuins_EventScript_22D9D7:: @ 822D9D7 @@ -42,8 +39,7 @@ DesertRuins_EventScript_22D9D7:: @ 822D9D7 DesertRuins_EventScript_22D9DB:: @ 822D9DB lockall - checkflag FLAG_SYS_BRAILLE_STRENGTH - goto_eq DesertRuins_EventScript_22D9EE + goto_if_set FLAG_SYS_BRAILLE_STRENGTH, DesertRuins_EventScript_22D9EE braillemessage DesertRuins_Braille_2A6CA0 waitbuttonpress hidebox2 @@ -77,11 +73,11 @@ DesertRuins_EventScript_22DA02:: @ 822DA02 clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq DesertRuins_EventScript_22DA49 + goto_if_eq DesertRuins_EventScript_22DA49 compare VAR_RESULT, 4 - goto_eq DesertRuins_EventScript_22DA52 + goto_if_eq DesertRuins_EventScript_22DA52 compare VAR_RESULT, 5 - goto_eq DesertRuins_EventScript_22DA52 + goto_if_eq DesertRuins_EventScript_22DA52 setflag FLAG_0x1BB release end diff --git a/data/maps/DesertUnderpass/scripts.inc b/data/maps/DesertUnderpass/scripts.inc index 486bd2577..d9913cb76 100644 --- a/data/maps/DesertUnderpass/scripts.inc +++ b/data/maps/DesertUnderpass/scripts.inc @@ -9,10 +9,8 @@ DesertUnderpass_MapScript1_23AF3D: @ 823AF3D DesertUnderpass_EventScript_23AF41:: @ 823AF41 lock faceplayer - checkflag FLAG_0x14F - goto_eq DesertUnderpass_EventScript_23AF57 - checkflag FLAG_0x150 - goto_eq DesertUnderpass_EventScript_23AF68 + goto_if_set FLAG_0x14F, DesertUnderpass_EventScript_23AF57 + goto_if_set FLAG_0x150, DesertUnderpass_EventScript_23AF68 release end diff --git a/data/maps/DewfordTown/scripts.inc b/data/maps/DewfordTown/scripts.inc index 41abdcede..b08a0e8a3 100644 --- a/data/maps/DewfordTown/scripts.inc +++ b/data/maps/DewfordTown/scripts.inc @@ -9,8 +9,7 @@ DewfordTown_MapScript1_1E950D: @ 81E950D DewfordTown_EventScript_1E9511:: @ 81E9511 lock faceplayer - checkflag FLAG_0x0BD - goto_if 0, DewfordTown_EventScript_1E9585 + goto_if_unset FLAG_0x0BD, DewfordTown_EventScript_1E9585 message DewfordTown_Text_1E9C8A waitmessage multichoicedefault 21, 6, 0, 2, 0 @@ -44,7 +43,7 @@ DewfordTown_EventScript_1E957A:: @ 81E957A DewfordTown_EventScript_1E9585:: @ 81E9585 msgbox DewfordTown_Text_1E9B24, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq DewfordTown_EventScript_1E95A2 + goto_if_eq DewfordTown_EventScript_1E95A2 msgbox DewfordTown_Text_1E9BD9, MSGBOX_DEFAULT release end @@ -74,13 +73,12 @@ DewfordTown_EventScript_1E95CC:: @ 81E95CC DewfordTown_EventScript_1E95D5:: @ 81E95D5 lock faceplayer - checkflag FLAG_0x101 - goto_eq DewfordTown_EventScript_1E962A + goto_if_set FLAG_0x101, DewfordTown_EventScript_1E962A msgbox DewfordTown_Text_1E9DD1, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq DewfordTown_EventScript_1E95FF + goto_if_eq DewfordTown_EventScript_1E95FF compare VAR_RESULT, 0 - goto_eq DewfordTown_EventScript_1E9620 + goto_if_eq DewfordTown_EventScript_1E9620 end DewfordTown_EventScript_1E95FF:: @ 81E95FF @@ -101,9 +99,9 @@ DewfordTown_EventScript_1E962A:: @ 81E962A waitmessage multichoice 20, 8, 50, 1 compare VAR_RESULT, 0 - goto_eq DewfordTown_EventScript_1E964C + goto_if_eq DewfordTown_EventScript_1E964C compare VAR_RESULT, 1 - goto_eq DewfordTown_EventScript_1E9656 + goto_if_eq DewfordTown_EventScript_1E9656 end DewfordTown_EventScript_1E964C:: @ 81E964C @@ -119,29 +117,29 @@ DewfordTown_EventScript_1E9656:: @ 81E9656 DewfordTown_EventScript_1E9660:: @ 81E9660 call DewfordTown_EventScript_271E95 setobjectpriority 2, MAP_DEWFORD_TOWN, 0 - setobjectpriority 255, MAP_DEWFORD_TOWN, 0 + setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN, 0 applymovement 2, DewfordTown_Movement_1E991D waitmovement 0 removeobject 2 - applymovement 255, DewfordTown_Movement_1E9911 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9911 waitmovement 0 - hideobjectat 255, MAP_DEWFORD_TOWN + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN call DewfordTown_EventScript_2720A0 applymovement 4, DewfordTown_Movement_1E97A2 - applymovement 255, DewfordTown_Movement_1E97A2 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E97A2 waitmovement 0 - showobjectat 255, MAP_ROUTE104 + showobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104 call DewfordTown_EventScript_2720A8 - applymovement 255, DewfordTown_Movement_1E9914 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9914 waitmovement 0 - showobjectat 255, MAP_ROUTE104 + showobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104 clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY clearflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO clearflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN hideobjectat 4, MAP_DEWFORD_TOWN setvar VAR_0x408E, 2 - resetobjectpriority 255, MAP_DEWFORD_TOWN + resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN warp MAP_ROUTE104_MR_BRINEYS_HOUSE, 255, 5, 4 copyvar VAR_0x4096, VAR_0x8008 waitstate @@ -151,20 +149,20 @@ DewfordTown_EventScript_1E9660:: @ 81E9660 DewfordTown_EventScript_1E96E7:: @ 81E96E7 call DewfordTown_EventScript_271E95 setobjectpriority 2, MAP_DEWFORD_TOWN, 0 - setobjectpriority 255, MAP_DEWFORD_TOWN, 1 + setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN, 1 applymovement 2, DewfordTown_Movement_1E991D waitmovement 0 removeobject 2 - applymovement 255, DewfordTown_Movement_1E9911 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9911 waitmovement 0 - hideobjectat 255, MAP_DEWFORD_TOWN + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN call DewfordTown_EventScript_2720A0 applymovement 4, DewfordTown_Movement_1E9865 - applymovement 255, DewfordTown_Movement_1E9865 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9865 waitmovement 0 call DewfordTown_EventScript_2720A8 - showobjectat 255, MAP_ROUTE109 - applymovement 255, DewfordTown_Movement_1E9918 + showobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE109 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9918 waitmovement 0 setobjectxyperm 2, 21, 26 addobject 2 @@ -176,13 +174,11 @@ DewfordTown_EventScript_1E96E7:: @ 81E96E7 clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN hideobjectat 4, MAP_DEWFORD_TOWN - checkflag FLAG_0x095 - call_if 0, DewfordTown_EventScript_1E9790 - checkflag FLAG_0x095 - call_if 1, DewfordTown_EventScript_1E9799 + call_if_unset FLAG_0x095, DewfordTown_EventScript_1E9790 + call_if_set FLAG_0x095, DewfordTown_EventScript_1E9799 closemessage copyvar VAR_0x4096, VAR_0x8008 - resetobjectpriority 255, MAP_DEWFORD_TOWN + resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN resetobjectpriority 2, MAP_ROUTE109 moveobjectoffscreen 2 release @@ -600,9 +596,9 @@ DewfordTown_EventScript_1E9922:: @ 81E9922 call DewfordTown_EventScript_271E8B msgbox DewfordTown_Text_1EA136, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq DewfordTown_EventScript_1E9948 + goto_if_eq DewfordTown_EventScript_1E9948 compare VAR_RESULT, 0 - goto_eq DewfordTown_EventScript_1E9952 + goto_if_eq DewfordTown_EventScript_1E9952 end DewfordTown_EventScript_1E9948:: @ 81E9948 @@ -617,15 +613,15 @@ DewfordTown_EventScript_1E9952:: @ 81E9952 lock faceplayer compare VAR_RESULT, 1 - goto_eq DewfordTown_EventScript_1E997D + goto_if_eq DewfordTown_EventScript_1E997D compare VAR_RESULT, 0 - goto_eq DewfordTown_EventScript_1E9994 + goto_if_eq DewfordTown_EventScript_1E9994 end DewfordTown_EventScript_1E997D:: @ 81E997D incrementgamestat 2 compare VAR_0x8004, 0 - goto_eq DewfordTown_EventScript_1E999E + goto_if_eq DewfordTown_EventScript_1E999E msgbox DewfordTown_Text_1EA2AA, MSGBOX_DEFAULT release end diff --git a/data/maps/DewfordTown_Gym/scripts.inc b/data/maps/DewfordTown_Gym/scripts.inc index 703888e98..1251c714e 100644 --- a/data/maps/DewfordTown_Gym/scripts.inc +++ b/data/maps/DewfordTown_Gym/scripts.inc @@ -8,21 +8,21 @@ DewfordTown_Gym_MapScript1_1FC642: @ 81FC642 DewfordTown_Gym_EventScript_1FC648:: @ 81FC648 checktrainerflag TRAINER_BRAWLY_1 - goto_eq DewfordTown_Gym_EventScript_1FC6A2 + goto_if_eq DewfordTown_Gym_EventScript_1FC6A2 call DewfordTown_Gym_EventScript_1FC768 copyvar VAR_0x8001, VAR_0x8000 compare VAR_0x8000, 0 - goto_eq DewfordTown_Gym_EventScript_1FC6BE + goto_if_eq DewfordTown_Gym_EventScript_1FC6BE compare VAR_0x8000, 1 - goto_eq DewfordTown_Gym_EventScript_1FC6BA + goto_if_eq DewfordTown_Gym_EventScript_1FC6BA compare VAR_0x8000, 2 - goto_eq DewfordTown_Gym_EventScript_1FC6B6 + goto_if_eq DewfordTown_Gym_EventScript_1FC6B6 compare VAR_0x8000, 3 - goto_eq DewfordTown_Gym_EventScript_1FC6B2 + goto_if_eq DewfordTown_Gym_EventScript_1FC6B2 compare VAR_0x8000, 4 - goto_eq DewfordTown_Gym_EventScript_1FC6AE + goto_if_eq DewfordTown_Gym_EventScript_1FC6AE compare VAR_0x8000, 5 - goto_eq DewfordTown_Gym_EventScript_1FC6AA + goto_if_eq DewfordTown_Gym_EventScript_1FC6AA goto DewfordTown_Gym_EventScript_1FC6A6 DewfordTown_Gym_EventScript_1FC6A2:: @ 81FC6A2 @@ -61,20 +61,20 @@ DewfordTown_Gym_EventScript_1FC6C2:: @ 81FC6C2 call DewfordTown_Gym_EventScript_1FC768 nop1 compare VAR_0x8000, VAR_0x8001 - goto_eq DewfordTown_Gym_EventScript_1FC71A + goto_if_eq DewfordTown_Gym_EventScript_1FC71A copyvar VAR_0x8001, VAR_0x8000 compare VAR_0x8000, 1 - goto_eq DewfordTown_Gym_EventScript_1FC71B + goto_if_eq DewfordTown_Gym_EventScript_1FC71B compare VAR_0x8000, 2 - goto_eq DewfordTown_Gym_EventScript_1FC726 + goto_if_eq DewfordTown_Gym_EventScript_1FC726 compare VAR_0x8000, 3 - goto_eq DewfordTown_Gym_EventScript_1FC731 + goto_if_eq DewfordTown_Gym_EventScript_1FC731 compare VAR_0x8000, 4 - goto_eq DewfordTown_Gym_EventScript_1FC73C + goto_if_eq DewfordTown_Gym_EventScript_1FC73C compare VAR_0x8000, 5 - goto_eq DewfordTown_Gym_EventScript_1FC747 + goto_if_eq DewfordTown_Gym_EventScript_1FC747 compare VAR_0x8000, 6 - goto_eq DewfordTown_Gym_EventScript_1FC752 + goto_if_eq DewfordTown_Gym_EventScript_1FC752 DewfordTown_Gym_EventScript_1FC71A:: @ 81FC71A return @@ -124,32 +124,32 @@ DewfordTown_Gym_EventScript_1FC75D:: @ 81FC75D DewfordTown_Gym_EventScript_1FC768:: @ 81FC768 setvar VAR_0x8000, 0 checktrainerflag TRAINER_TAKAO - goto_if 0, DewfordTown_Gym_EventScript_1FC77B + goto_if_lt DewfordTown_Gym_EventScript_1FC77B addvar VAR_0x8000, 1 DewfordTown_Gym_EventScript_1FC77B:: @ 81FC77B checktrainerflag TRAINER_JOCELYN - goto_if 0, DewfordTown_Gym_EventScript_1FC789 + goto_if_lt DewfordTown_Gym_EventScript_1FC789 addvar VAR_0x8000, 1 DewfordTown_Gym_EventScript_1FC789:: @ 81FC789 checktrainerflag TRAINER_LAURA - goto_if 0, DewfordTown_Gym_EventScript_1FC797 + goto_if_lt DewfordTown_Gym_EventScript_1FC797 addvar VAR_0x8000, 1 DewfordTown_Gym_EventScript_1FC797:: @ 81FC797 checktrainerflag TRAINER_BRENDEN - goto_if 0, DewfordTown_Gym_EventScript_1FC7A5 + goto_if_lt DewfordTown_Gym_EventScript_1FC7A5 addvar VAR_0x8000, 1 DewfordTown_Gym_EventScript_1FC7A5:: @ 81FC7A5 checktrainerflag TRAINER_CRISTIAN - goto_if 0, DewfordTown_Gym_EventScript_1FC7B3 + goto_if_lt DewfordTown_Gym_EventScript_1FC7B3 addvar VAR_0x8000, 1 DewfordTown_Gym_EventScript_1FC7B3:: @ 81FC7B3 checktrainerflag TRAINER_LILITH - goto_if 0, DewfordTown_Gym_EventScript_1FC7C1 + goto_if_lt DewfordTown_Gym_EventScript_1FC7C1 addvar VAR_0x8000, 1 DewfordTown_Gym_EventScript_1FC7C1:: @ 81FC7C1 @@ -159,9 +159,8 @@ DewfordTown_Gym_EventScript_1FC7C2:: @ 81FC7C2 trainerbattle_single TRAINER_BRAWLY_1, DewfordTown_Gym_Text_1FCF44, DewfordTown_Gym_Text_1FD008, DewfordTown_Gym_EventScript_1FC7F7, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq DewfordTown_Gym_EventScript_1FC89C - checkflag FLAG_0x0A6 - goto_if 0, DewfordTown_Gym_EventScript_1FC878 + goto_if_eq DewfordTown_Gym_EventScript_1FC89C + goto_if_unset FLAG_0x0A6, DewfordTown_Gym_EventScript_1FC878 msgbox DewfordTown_Gym_Text_1FD20D, MSGBOX_DEFAULT release end @@ -176,7 +175,7 @@ DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7 setflag FLAG_BADGE02_GET addvar VAR_0x4085, 1 compare VAR_0x4085, 6 - call_if 1, DewfordTown_Gym_EventScript_271E84 + call_if_eq DewfordTown_Gym_EventScript_271E84 setvar VAR_0x8008, 2 call DewfordTown_Gym_EventScript_271F43 call DewfordTown_Gym_EventScript_1FC855 @@ -196,7 +195,7 @@ DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7 DewfordTown_Gym_EventScript_1FC855:: @ 81FC855 giveitem_std ITEM_TM08 compare VAR_RESULT, 0 - goto_eq DewfordTown_Gym_EventScript_27205E + goto_if_eq DewfordTown_Gym_EventScript_27205E msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT setflag FLAG_0x0A6 return @@ -204,7 +203,7 @@ DewfordTown_Gym_EventScript_1FC855:: @ 81FC855 DewfordTown_Gym_EventScript_1FC878:: @ 81FC878 giveitem_std ITEM_TM08 compare VAR_RESULT, 0 - goto_eq DewfordTown_Gym_EventScript_272054 + goto_if_eq DewfordTown_Gym_EventScript_272054 msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT setflag FLAG_0x0A6 release @@ -278,8 +277,7 @@ DewfordTown_Gym_EventScript_1FC97C:: @ 81FC97C DewfordTown_Gym_EventScript_1FC983:: @ 81FC983 lock faceplayer - checkflag FLAG_0x4F1 - goto_eq DewfordTown_Gym_EventScript_1FC998 + goto_if_set FLAG_0x4F1, DewfordTown_Gym_EventScript_1FC998 msgbox DewfordTown_Gym_Text_1FC9D6, MSGBOX_DEFAULT release end @@ -291,15 +289,13 @@ DewfordTown_Gym_EventScript_1FC998:: @ 81FC998 DewfordTown_Gym_EventScript_1FC9A2:: @ 81FC9A2 lockall - checkflag FLAG_BADGE02_GET - goto_eq DewfordTown_Gym_EventScript_1FC9C2 + goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_1FC9C2 goto DewfordTown_Gym_EventScript_1FC9CC end DewfordTown_Gym_EventScript_1FC9B2:: @ 81FC9B2 lockall - checkflag FLAG_BADGE02_GET - goto_eq DewfordTown_Gym_EventScript_1FC9C2 + goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_1FC9C2 goto DewfordTown_Gym_EventScript_1FC9CC end diff --git a/data/maps/DewfordTown_Hall/scripts.inc b/data/maps/DewfordTown_Hall/scripts.inc index bec9826f3..450ccb4ec 100644 --- a/data/maps/DewfordTown_Hall/scripts.inc +++ b/data/maps/DewfordTown_Hall/scripts.inc @@ -7,7 +7,7 @@ DewfordTown_Hall_EventScript_1FD4D0:: @ 81FD4D0 call DewfordTown_Hall_EventScript_271E8B special TrendyPhraseIsOld compare VAR_RESULT, 1 - goto_eq DewfordTown_Hall_EventScript_1FD4EF + goto_if_eq DewfordTown_Hall_EventScript_1FD4EF msgbox DewfordTown_Hall_Text_1FD818, MSGBOX_DEFAULT release end @@ -32,9 +32,9 @@ DewfordTown_Hall_EventScript_1FD50A:: @ 81FD50A special sub_811EF6C msgbox DewfordTown_Hall_Text_1FD948, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq DewfordTown_Hall_EventScript_1FD533 + goto_if_eq DewfordTown_Hall_EventScript_1FD533 compare VAR_RESULT, 0 - goto_eq DewfordTown_Hall_EventScript_1FD53D + goto_if_eq DewfordTown_Hall_EventScript_1FD53D end DewfordTown_Hall_EventScript_1FD533:: @ 81FD533 @@ -192,15 +192,15 @@ DewfordTown_Hall_EventScript_1FD73A:: @ 81FD73A applymovement 8, DewfordTown_Hall_Movement_1FD7D6 waitmovement 0 compare VAR_0x8008, 0 - goto_eq DewfordTown_Hall_EventScript_1FD75B + goto_if_eq DewfordTown_Hall_EventScript_1FD75B compare VAR_0x8008, 1 - goto_eq DewfordTown_Hall_EventScript_1FD771 + goto_if_eq DewfordTown_Hall_EventScript_1FD771 end DewfordTown_Hall_EventScript_1FD75B:: @ 81FD75B compare VAR_FACING, 4 - goto_eq DewfordTown_Hall_EventScript_1FD739 - applymovement 255, DewfordTown_Hall_Movement_2725A8 + goto_if_eq DewfordTown_Hall_EventScript_1FD739 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Hall_Movement_2725A8 waitmovement 0 return @@ -211,32 +211,32 @@ DewfordTown_Hall_EventScript_1FD772:: @ 81FD772 applymovement 7, DewfordTown_Hall_Movement_1FD7D8 waitmovement 0 compare VAR_0x8008, 0 - goto_eq DewfordTown_Hall_EventScript_1FD793 + goto_if_eq DewfordTown_Hall_EventScript_1FD793 compare VAR_0x8008, 1 - goto_eq DewfordTown_Hall_EventScript_1FD7C0 + goto_if_eq DewfordTown_Hall_EventScript_1FD7C0 end DewfordTown_Hall_EventScript_1FD793:: @ 81FD793 compare VAR_FACING, 2 - call_if 1, DewfordTown_Hall_EventScript_1FD7AA + call_if_eq DewfordTown_Hall_EventScript_1FD7AA compare VAR_FACING, 1 - call_if 1, DewfordTown_Hall_EventScript_1FD7B5 + call_if_eq DewfordTown_Hall_EventScript_1FD7B5 return DewfordTown_Hall_EventScript_1FD7AA:: @ 81FD7AA - applymovement 255, DewfordTown_Hall_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Hall_Movement_2725A6 waitmovement 0 return DewfordTown_Hall_EventScript_1FD7B5:: @ 81FD7B5 - applymovement 255, DewfordTown_Hall_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Hall_Movement_2725AA waitmovement 0 return DewfordTown_Hall_EventScript_1FD7C0:: @ 81FD7C0 compare VAR_FACING, 3 - goto_eq DewfordTown_Hall_EventScript_1FD739 - applymovement 255, DewfordTown_Hall_Movement_2725A4 + goto_if_eq DewfordTown_Hall_EventScript_1FD739 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Hall_Movement_2725A4 waitmovement 0 return @@ -252,12 +252,11 @@ DewfordTown_Hall_EventScript_1FD7DA:: @ 81FD7DA lock faceplayer call DewfordTown_Hall_EventScript_271E8B - checkflag FLAG_RECEIVED_TM_36 - goto_eq DewfordTown_Hall_EventScript_1FD80E + goto_if_set FLAG_RECEIVED_TM_36, DewfordTown_Hall_EventScript_1FD80E msgbox DewfordTown_Hall_Text_1FE142, MSGBOX_DEFAULT giveitem_std ITEM_TM36 compare VAR_RESULT, 0 - goto_eq DewfordTown_Hall_EventScript_272054 + goto_if_eq DewfordTown_Hall_EventScript_272054 setflag FLAG_RECEIVED_TM_36 release end diff --git a/data/maps/DewfordTown_House2/scripts.inc b/data/maps/DewfordTown_House2/scripts.inc index c0de82dac..cff58306e 100644 --- a/data/maps/DewfordTown_House2/scripts.inc +++ b/data/maps/DewfordTown_House2/scripts.inc @@ -4,12 +4,11 @@ DewfordTown_House2_MapScripts:: @ 81FE22D DewfordTown_House2_EventScript_1FE22E:: @ 81FE22E lock faceplayer - checkflag FLAG_0x121 - goto_eq DewfordTown_House2_EventScript_1FE267 + goto_if_set FLAG_0x121, DewfordTown_House2_EventScript_1FE267 msgbox DewfordTown_House2_Text_1FE27A, MSGBOX_DEFAULT giveitem_std ITEM_SILK_SCARF compare VAR_RESULT, 0 - goto_eq DewfordTown_House2_EventScript_1FE25D + goto_if_eq DewfordTown_House2_EventScript_1FE25D setflag FLAG_0x121 release end diff --git a/data/maps/EverGrandeCity/scripts.inc b/data/maps/EverGrandeCity/scripts.inc index 5bb85a3c1..75327b839 100644 --- a/data/maps/EverGrandeCity/scripts.inc +++ b/data/maps/EverGrandeCity/scripts.inc @@ -3,8 +3,7 @@ EverGrandeCity_MapScripts:: @ 81E7D1B .byte 0 EverGrandeCity_MapScript1_1E7D21: @ 81E7D21 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, EverGrandeCity_EventScript_27207A + call_if_set FLAG_SYS_WEATHER_CTRL, EverGrandeCity_EventScript_27207A end EverGrandeCity_EventScript_1E7D2B:: @ 81E7D2B diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc index 250a3012b..8da9ae712 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc +++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc @@ -13,7 +13,7 @@ EverGrandeCity_ChampionsRoom_MapScript2_228A05: @ 8228A05 .2byte 0 EverGrandeCity_ChampionsRoom_EventScript_228A0F:: @ 8228A0F - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end EverGrandeCity_ChampionsRoom_MapScript2_228A14: @ 8228A14 @@ -22,10 +22,10 @@ EverGrandeCity_ChampionsRoom_MapScript2_228A14: @ 8228A14 EverGrandeCity_ChampionsRoom_EventScript_228A1E:: @ 8228A1E lockall - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725C1 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725C1 waitmovement 0 delay 40 - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228A42 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228A42 waitmovement 0 setvar VAR_TEMP_1, 1 goto EverGrandeCity_ChampionsRoom_EventScript_228A45 @@ -54,16 +54,16 @@ EverGrandeCity_ChampionsRoom_EventScript_228A61:: @ 8228A61 playse SE_DOOR checkplayergender compare VAR_RESULT, 0 - call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228ABC + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228ABC compare VAR_RESULT, 1 - call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228AC1 + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AC1 addobject 2 call EverGrandeCity_ChampionsRoom_EventScript_228BFD checkplayergender compare VAR_RESULT, 0 - goto_eq EverGrandeCity_ChampionsRoom_EventScript_228AC6 + goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AC6 compare VAR_RESULT, 1 - goto_eq EverGrandeCity_ChampionsRoom_EventScript_228AFB + goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AFB end EverGrandeCity_ChampionsRoom_EventScript_228ABC:: @ 8228ABC @@ -105,7 +105,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30 addobject 3 applymovement 3, EverGrandeCity_ChampionsRoom_Movement_228C43 waitmovement 0 - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725A8 waitmovement 0 msgbox EverGrandeCity_ChampionsRoom_Text_2291E6, MSGBOX_DEFAULT call EverGrandeCity_ChampionsRoom_EventScript_272184 @@ -119,22 +119,22 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30 closemessage delay 30 applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3B - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228C1D + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228C1D applymovement 3, EverGrandeCity_ChampionsRoom_Movement_2725A6 applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C38 waitmovement 0 delay 20 - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725AA waitmovement 0 msgbox EverGrandeCity_ChampionsRoom_Text_2293EB, MSGBOX_DEFAULT checkplayergender compare VAR_RESULT, 0 - call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228BEB + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228BEB compare VAR_RESULT, 1 - call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228BF4 + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228BF4 closemessage applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3F - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228C20 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228C20 waitmovement 0 setflag FLAG_HIDE_PETALBURG_GYM_GREETER warp MAP_EVER_GRANDE_CITY_HALL_OF_FAME, 255, 7, 16 @@ -153,7 +153,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228BF4:: @ 8228BF4 EverGrandeCity_ChampionsRoom_EventScript_228BFD:: @ 8228BFD applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C26 waitmovement 0 - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725A4 waitmovement 0 return diff --git a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc index b50e715aa..06dd58d26 100644 --- a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc +++ b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc @@ -9,7 +9,7 @@ EverGrandeCity_DrakesRoom_MapScript2_2286AC: @ 82286AC .2byte 0 EverGrandeCity_DrakesRoom_EventScript_2286B6:: @ 82286B6 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end EverGrandeCity_DrakesRoom_MapScript2_2286BB: @ 82286BB @@ -24,10 +24,9 @@ EverGrandeCity_DrakesRoom_EventScript_2286C5:: @ 82286C5 end EverGrandeCity_DrakesRoom_MapScript1_2286D2: @ 82286D2 - checkflag FLAG_0x4FE - call_if 1, EverGrandeCity_DrakesRoom_EventScript_2286E7 + call_if_set FLAG_0x4FE, EverGrandeCity_DrakesRoom_EventScript_2286E7 compare VAR_0x409C, 4 - call_if 1, EverGrandeCity_DrakesRoom_EventScript_2286ED + call_if_eq EverGrandeCity_DrakesRoom_EventScript_2286ED end EverGrandeCity_DrakesRoom_EventScript_2286E7:: @ 82286E7 @@ -41,8 +40,7 @@ EverGrandeCity_DrakesRoom_EventScript_2286ED:: @ 82286ED EverGrandeCity_DrakesRoom_EventScript_2286F3:: @ 82286F3 lock faceplayer - checkflag FLAG_0x4FE - goto_eq EverGrandeCity_DrakesRoom_EventScript_22871A + goto_if_set FLAG_0x4FE, EverGrandeCity_DrakesRoom_EventScript_22871A playbgm MUS_SITENNOU, 0 msgbox EverGrandeCity_DrakesRoom_Text_22873E, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_DRAKE, EverGrandeCity_DrakesRoom_Text_228895 diff --git a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc index 141881cf9..641c994a5 100644 --- a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc +++ b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc @@ -9,7 +9,7 @@ EverGrandeCity_GlaciasRoom_MapScript2_228422: @ 8228422 .2byte 0 EverGrandeCity_GlaciasRoom_EventScript_22842C:: @ 822842C - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end EverGrandeCity_GlaciasRoom_MapScript2_228431: @ 8228431 @@ -24,10 +24,9 @@ EverGrandeCity_GlaciasRoom_EventScript_22843B:: @ 822843B end EverGrandeCity_GlaciasRoom_MapScript1_228448: @ 8228448 - checkflag FLAG_0x4FD - call_if 1, EverGrandeCity_GlaciasRoom_EventScript_22845D + call_if_set FLAG_0x4FD, EverGrandeCity_GlaciasRoom_EventScript_22845D compare VAR_0x409C, 3 - call_if 1, EverGrandeCity_GlaciasRoom_EventScript_228463 + call_if_eq EverGrandeCity_GlaciasRoom_EventScript_228463 end EverGrandeCity_GlaciasRoom_EventScript_22845D:: @ 822845D @@ -41,8 +40,7 @@ EverGrandeCity_GlaciasRoom_EventScript_228463:: @ 8228463 EverGrandeCity_GlaciasRoom_EventScript_228469:: @ 8228469 lock faceplayer - checkflag FLAG_0x4FD - goto_eq EverGrandeCity_GlaciasRoom_EventScript_228490 + goto_if_set FLAG_0x4FD, EverGrandeCity_GlaciasRoom_EventScript_228490 playbgm MUS_SITENNOU, 0 msgbox EverGrandeCity_GlaciasRoom_Text_2284AC, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GLACIA, EverGrandeCity_GlaciasRoom_Text_2285B4 diff --git a/data/maps/EverGrandeCity_Hall1/scripts.inc b/data/maps/EverGrandeCity_Hall1/scripts.inc index 960918662..a5b7764d7 100644 --- a/data/maps/EverGrandeCity_Hall1/scripts.inc +++ b/data/maps/EverGrandeCity_Hall1/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall1_MapScript2_22956F: @ 822956F .2byte 0 EverGrandeCity_Hall1_EventScript_229579:: @ 8229579 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end diff --git a/data/maps/EverGrandeCity_Hall2/scripts.inc b/data/maps/EverGrandeCity_Hall2/scripts.inc index 1d76e3695..565d68168 100644 --- a/data/maps/EverGrandeCity_Hall2/scripts.inc +++ b/data/maps/EverGrandeCity_Hall2/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall2_MapScript2_229584: @ 8229584 .2byte 0 EverGrandeCity_Hall2_EventScript_22958E:: @ 822958E - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end diff --git a/data/maps/EverGrandeCity_Hall3/scripts.inc b/data/maps/EverGrandeCity_Hall3/scripts.inc index a100487f5..85d0bb2f6 100644 --- a/data/maps/EverGrandeCity_Hall3/scripts.inc +++ b/data/maps/EverGrandeCity_Hall3/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall3_MapScript2_229599: @ 8229599 .2byte 0 EverGrandeCity_Hall3_EventScript_2295A3:: @ 82295A3 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end diff --git a/data/maps/EverGrandeCity_Hall4/scripts.inc b/data/maps/EverGrandeCity_Hall4/scripts.inc index a7c730594..29f56829a 100644 --- a/data/maps/EverGrandeCity_Hall4/scripts.inc +++ b/data/maps/EverGrandeCity_Hall4/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall4_MapScript2_2295AE: @ 82295AE .2byte 0 EverGrandeCity_Hall4_EventScript_2295B8:: @ 82295B8 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end diff --git a/data/maps/EverGrandeCity_Hall5/scripts.inc b/data/maps/EverGrandeCity_Hall5/scripts.inc index 9ca9991e4..d492c28d2 100644 --- a/data/maps/EverGrandeCity_Hall5/scripts.inc +++ b/data/maps/EverGrandeCity_Hall5/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall5_MapScript2_2295C3: @ 82295C3 .2byte 0 EverGrandeCity_Hall5_EventScript_2295CD:: @ 82295CD - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc index 2a871e18f..9b9bdb5d6 100644 --- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc +++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc @@ -8,7 +8,7 @@ EverGrandeCity_HallOfFame_MapScript2_229837: @ 8229837 .2byte 0 EverGrandeCity_HallOfFame_EventScript_229841:: @ 8229841 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end EverGrandeCity_HallOfFame_MapScript2_229846: @ 8229846 @@ -18,24 +18,24 @@ EverGrandeCity_HallOfFame_MapScript2_229846: @ 8229846 EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 lockall applymovement 1, EverGrandeCity_HallOfFame_Movement_229901 - applymovement 255, EverGrandeCity_HallOfFame_Movement_229901 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_229901 waitmovement 0 applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A8 - applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_2725A4 waitmovement 0 msgbox EverGrandeCity_HallOfFame_Text_22990E, MSGBOX_DEFAULT closemessage applymovement 1, EverGrandeCity_HallOfFame_Movement_229908 - applymovement 255, EverGrandeCity_HallOfFame_Movement_229908 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_229908 waitmovement 0 delay 20 applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A8 - applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_2725A4 waitmovement 0 msgbox EverGrandeCity_HallOfFame_Text_2299A3, MSGBOX_DEFAULT closemessage applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A6 - applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_2725A6 waitmovement 0 delay 20 dofieldeffect 62 @@ -45,9 +45,9 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 call EverGrandeCity_HallOfFame_EventScript_2717C1 checkplayergender compare VAR_RESULT, 0 - goto_eq EverGrandeCity_HallOfFame_EventScript_2298E9 + goto_if_eq EverGrandeCity_HallOfFame_EventScript_2298E9 compare VAR_RESULT, 1 - goto_eq EverGrandeCity_HallOfFame_EventScript_2298F5 + goto_if_eq EverGrandeCity_HallOfFame_EventScript_2298F5 end EverGrandeCity_HallOfFame_EventScript_2298E9:: @ 82298E9 diff --git a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc index 165c985ac..84ead3766 100644 --- a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc +++ b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc @@ -9,7 +9,7 @@ EverGrandeCity_PhoebesRoom_MapScript2_228184: @ 8228184 .2byte 0 EverGrandeCity_PhoebesRoom_EventScript_22818E:: @ 822818E - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end EverGrandeCity_PhoebesRoom_MapScript2_228193: @ 8228193 @@ -24,10 +24,9 @@ EverGrandeCity_PhoebesRoom_EventScript_22819D:: @ 822819D end EverGrandeCity_PhoebesRoom_MapScript1_2281AA: @ 82281AA - checkflag FLAG_0x4FC - call_if 1, EverGrandeCity_PhoebesRoom_EventScript_2281BF + call_if_set FLAG_0x4FC, EverGrandeCity_PhoebesRoom_EventScript_2281BF compare VAR_0x409C, 2 - call_if 1, EverGrandeCity_PhoebesRoom_EventScript_2281C5 + call_if_eq EverGrandeCity_PhoebesRoom_EventScript_2281C5 end EverGrandeCity_PhoebesRoom_EventScript_2281BF:: @ 82281BF @@ -41,8 +40,7 @@ EverGrandeCity_PhoebesRoom_EventScript_2281C5:: @ 82281C5 EverGrandeCity_PhoebesRoom_EventScript_2281CB:: @ 82281CB lock faceplayer - checkflag FLAG_0x4FC - goto_eq EverGrandeCity_PhoebesRoom_EventScript_2281F2 + goto_if_set FLAG_0x4FC, EverGrandeCity_PhoebesRoom_EventScript_2281F2 playbgm MUS_SITENNOU, 0 msgbox EverGrandeCity_PhoebesRoom_Text_22820E, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_PHOEBE, EverGrandeCity_PhoebesRoom_Text_228325 diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc index 3fb16a5ab..c029571d0 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc @@ -5,13 +5,11 @@ EverGrandeCity_PokemonCenter_1F_MapScripts:: @ 8229A34 EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F: @ 8229A3F setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_1 - checkflag FLAG_0x1CF - call_if 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C + call_if_unset FLAG_0x1CF, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C end EverGrandeCity_PokemonCenter_1F_EventScript_229A4C:: @ 8229A4C - checkflag FLAG_BADGE06_GET - goto_if 0, EverGrandeCity_PokemonCenter_1F_EventScript_27374E + goto_if_unset FLAG_BADGE06_GET, EverGrandeCity_PokemonCenter_1F_EventScript_27374E clearflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT return @@ -37,11 +35,11 @@ EverGrandeCity_PokemonCenter_1F_EventScript_229A79:: @ 8229A79 msgbox EverGrandeCity_PokemonCenter_1F_Text_229BF1, MSGBOX_DEFAULT closemessage compare VAR_FACING, 2 - call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AB6 + call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AB6 compare VAR_FACING, 4 - call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AC1 + call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AC1 compare VAR_FACING, 3 - call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AC1 + call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AC1 addvar VAR_0x40D1, 1 setflag FLAG_0x1CF playse SE_KAIDAN diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc index 0f3f6c33e..9b9c561eb 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc @@ -6,8 +6,7 @@ EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2 EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD: @ 82295DD setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_2 setflag FLAG_LANDMARK_POKEMON_LEAGUE - checkflag FLAG_0x107 - call_if 0, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED + call_if_unset FLAG_0x107, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED end EverGrandeCity_PokemonLeague_1F_EventScript_2295ED:: @ 82295ED @@ -48,18 +47,16 @@ EverGrandeCity_PokemonLeague_1F_Pokemart_229624: @ 8229624 EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636 lockall - checkflag FLAG_0x107 - goto_eq EverGrandeCity_PokemonLeague_1F_EventScript_2296BB + goto_if_set FLAG_0x107, EverGrandeCity_PokemonLeague_1F_EventScript_2296BB getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_0, 11 - call_if 4, EverGrandeCity_PokemonLeague_1F_EventScript_229698 + call_if_ge EverGrandeCity_PokemonLeague_1F_EventScript_229698 compare VAR_TEMP_0, 8 - call_if 3, EverGrandeCity_PokemonLeague_1F_EventScript_2296A3 + call_if_le EverGrandeCity_PokemonLeague_1F_EventScript_2296A3 message EverGrandeCity_PokemonLeague_1F_Text_2296E8 waitmessage delay 120 - checkflag FLAG_BADGE06_GET - goto_if 0, EverGrandeCity_PokemonLeague_1F_EventScript_2296AE + goto_if_unset FLAG_BADGE06_GET, EverGrandeCity_PokemonLeague_1F_EventScript_2296AE closemessage applymovement 3, EverGrandeCity_PokemonLeague_1F_Movement_2296E2 applymovement 4, EverGrandeCity_PokemonLeague_1F_Movement_2296E5 @@ -77,12 +74,12 @@ EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636 end EverGrandeCity_PokemonLeague_1F_EventScript_229698:: @ 8229698 - applymovement 255, EverGrandeCity_PokemonLeague_1F_Movement_2296DA + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_2296DA waitmovement 0 return EverGrandeCity_PokemonLeague_1F_EventScript_2296A3:: @ 82296A3 - applymovement 255, EverGrandeCity_PokemonLeague_1F_Movement_2296DE + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_2296DE waitmovement 0 return diff --git a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc index b283f166e..8324e19cf 100644 --- a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc +++ b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc @@ -11,10 +11,9 @@ EverGrandeCity_SidneysRoom_MapScript1_227F16: @ 8227F16 end EverGrandeCity_SidneysRoom_MapScript1_227F1D: @ 8227F1D - checkflag FLAG_0x4FB - call_if 1, EverGrandeCity_SidneysRoom_EventScript_227F32 + call_if_set FLAG_0x4FB, EverGrandeCity_SidneysRoom_EventScript_227F32 compare VAR_0x409C, 1 - call_if 1, EverGrandeCity_SidneysRoom_EventScript_227F38 + call_if_eq EverGrandeCity_SidneysRoom_EventScript_227F38 end EverGrandeCity_SidneysRoom_EventScript_227F32:: @ 8227F32 @@ -31,7 +30,7 @@ EverGrandeCity_SidneysRoom_MapScript2_227F3E: @ 8227F3E .2byte 0 EverGrandeCity_SidneysRoom_EventScript_227F48:: @ 8227F48 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end EverGrandeCity_SidneysRoom_MapScript2_227F4D: @ 8227F4D @@ -48,8 +47,7 @@ EverGrandeCity_SidneysRoom_EventScript_227F57:: @ 8227F57 EverGrandeCity_SidneysRoom_EventScript_227F64:: @ 8227F64 lock faceplayer - checkflag FLAG_0x4FB - goto_eq EverGrandeCity_SidneysRoom_EventScript_227F8B + goto_if_set FLAG_0x4FB, EverGrandeCity_SidneysRoom_EventScript_227F8B playbgm MUS_SITENNOU, 0 msgbox EverGrandeCity_SidneysRoom_Text_227FA7, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_SIDNEY, EverGrandeCity_SidneysRoom_Text_2280A2 diff --git a/data/maps/FallarborTown/scripts.inc b/data/maps/FallarborTown/scripts.inc index 7a9d0b444..7b157c5f3 100644 --- a/data/maps/FallarborTown/scripts.inc +++ b/data/maps/FallarborTown/scripts.inc @@ -11,8 +11,7 @@ FallarborTown_MapScript1_1EB200: @ 81EB200 FallarborTown_EventScript_1EB20C:: @ 81EB20C lock faceplayer - checkflag FLAG_0x08B - goto_eq FallarborTown_EventScript_1EB221 + goto_if_set FLAG_0x08B, FallarborTown_EventScript_1EB221 msgbox FallarborTown_Text_1EB26B, MSGBOX_DEFAULT release end diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc index f3e1edbbf..a81bf991c 100644 --- a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc +++ b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc @@ -11,9 +11,9 @@ FallarborTown_BattleTentBattleRoom_MapScript1_2008A9: @ 82008A9 FallarborTown_BattleTentBattleRoom_EventScript_2008AF:: @ 82008AF checkplayergender compare VAR_RESULT, 0 - goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2008C7 + goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2008C7 compare VAR_RESULT, 1 - goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2008D2 + goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2008D2 return FallarborTown_BattleTentBattleRoom_EventScript_2008C7:: @ 82008C7 @@ -39,7 +39,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_2008E7:: @ 82008E7 setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, FallarborTown_BattleTentBattleRoom_EventScript_200B73 + goto_if_ne FallarborTown_BattleTentBattleRoom_EventScript_200B73 FallarborTown_BattleTentBattleRoom_EventScript_20090F:: @ 820090F setvar VAR_0x8004, 3 @@ -117,9 +117,9 @@ FallarborTown_BattleTentBattleRoom_EventScript_200A2A:: @ 8200A2A setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 1 - call_if 1, FallarborTown_BattleTentBattleRoom_EventScript_200B43 + call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_200B43 compare VAR_RESULT, 2 - call_if 1, FallarborTown_BattleTentBattleRoom_EventScript_200B4A + call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_200B4A multichoice 20, 6, 104, 1 switch VAR_RESULT case 0, FallarborTown_BattleTentBattleRoom_EventScript_200AD8 @@ -164,7 +164,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_200AF3:: @ 8200AF3 setvar VAR_0x8005, 1 special CallBattleArenaFunction compare VAR_RESULT, 9999 - goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2009B3 + goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2009B3 addvar VAR_RESULT, 1 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 @@ -260,7 +260,7 @@ FallarborTown_BattleTentBattleRoom_MapScript2_200BB0: @ 8200BB0 .2byte 0 FallarborTown_BattleTentBattleRoom_EventScript_200BBA:: @ 8200BBA - hideobjectat 255, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM hideobjectat 1, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM removeobject 3 setvar VAR_TEMP_1, 1 diff --git a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc index d21216208..f3d0a924e 100644 --- a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc +++ b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc @@ -10,12 +10,12 @@ FallarborTown_BattleTentCorridor_EventScript_2006B7:: @ 82006B7 lockall setvar VAR_TEMP_0, 1 applymovement 1, FallarborTown_BattleTentCorridor_Movement_2006FB - applymovement 255, FallarborTown_BattleTentCorridor_Movement_2006FB + applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_2006FB waitmovement 0 opendoor 2, 1 waitdooranim applymovement 1, FallarborTown_BattleTentCorridor_Movement_200701 - applymovement 255, FallarborTown_BattleTentCorridor_Movement_200700 + applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_200700 waitmovement 0 closedoor 2, 1 waitdooranim diff --git a/data/maps/FallarborTown_BattleTentLobby/scripts.inc b/data/maps/FallarborTown_BattleTentLobby/scripts.inc index aed9aa93f..cfc468994 100644 --- a/data/maps/FallarborTown_BattleTentLobby/scripts.inc +++ b/data/maps/FallarborTown_BattleTentLobby/scripts.inc @@ -9,7 +9,7 @@ FallarborTown_BattleTentLobby_MapScript2_1FFE71: @ 81FFE71 FallarborTown_BattleTentLobby_EventScript_1FFE7B:: @ 81FFE7B setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end FallarborTown_BattleTentLobby_MapScript2_1FFE85: @ 81FFE85 @@ -133,7 +133,7 @@ FallarborTown_BattleTentLobby_EventScript_200001:: @ 8200001 setvar VAR_0x8004, 1 special sub_81B9B80 compare VAR_RESULT, 0 - goto_if 5, FallarborTown_BattleTentLobby_EventScript_1FFF84 + goto_if_ne FallarborTown_BattleTentLobby_EventScript_1FFF84 special SavePlayerParty msgbox FallarborTown_BattleTentLobby_Text_2C47EB, MSGBOX_DEFAULT @@ -154,7 +154,7 @@ FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D setvar VAR_0x8004, 15 special CallFrontierUtilFunc compare VAR_0x8004, 1 - goto_eq FallarborTown_BattleTentLobby_EventScript_200176 + goto_if_eq FallarborTown_BattleTentLobby_EventScript_200176 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 2 @@ -166,7 +166,7 @@ FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D special sub_80F9490 waitstate compare VAR_RESULT, 0 - goto_eq FallarborTown_BattleTentLobby_EventScript_2001C2 + goto_if_eq FallarborTown_BattleTentLobby_EventScript_2001C2 msgbox FallarborTown_BattleTentLobby_Text_2C4B35, MSGBOX_YESNO switch VAR_RESULT case 0, FallarborTown_BattleTentLobby_EventScript_2001C2 @@ -194,7 +194,7 @@ FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2 call FallarborTown_BattleTentLobby_EventScript_27134F setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_eq FallarborTown_BattleTentLobby_EventScript_2001AB + goto_if_eq FallarborTown_BattleTentLobby_EventScript_2001AB FallarborTown_BattleTentLobby_EventScript_20013C:: @ 820013C special SavePlayerParty @@ -245,12 +245,12 @@ FallarborTown_BattleTentLobby_EventScript_2001CD:: @ 82001CD FallarborTown_BattleTentLobby_EventScript_2001CF:: @ 82001CF applymovement 1, FallarborTown_BattleTentLobby_Movement_2001FE - applymovement 255, FallarborTown_BattleTentLobby_Movement_200205 + applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_200205 waitmovement 0 opendoor 6, 1 waitdooranim applymovement 1, FallarborTown_BattleTentLobby_Movement_200202 - applymovement 255, FallarborTown_BattleTentLobby_Movement_200209 + applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_200209 waitmovement 0 closedoor 6, 1 waitdooranim @@ -294,8 +294,7 @@ FallarborTown_BattleTentLobby_EventScript_20021F:: @ 820021F FallarborTown_BattleTentLobby_EventScript_200228:: @ 8200228 lock faceplayer - checkflag FLAG_0x1CD - goto_eq FallarborTown_BattleTentLobby_EventScript_200245 + goto_if_set FLAG_0x1CD, FallarborTown_BattleTentLobby_EventScript_200245 msgbox FallarborTown_BattleTentLobby_Text_200501, MSGBOX_DEFAULT addvar VAR_0x40D1, 1 setflag FLAG_0x1CD diff --git a/data/maps/FallarborTown_House1/scripts.inc b/data/maps/FallarborTown_House1/scripts.inc index 470d80267..699f5e4ed 100644 --- a/data/maps/FallarborTown_House1/scripts.inc +++ b/data/maps/FallarborTown_House1/scripts.inc @@ -4,26 +4,23 @@ FallarborTown_House1_MapScripts:: @ 8200F12 FallarborTown_House1_EventScript_200F13:: @ 8200F13 lock faceplayer - checkflag FLAG_0x0E5 - goto_eq FallarborTown_House1_EventScript_200FB2 + goto_if_set FLAG_0x0E5, FallarborTown_House1_EventScript_200FB2 checkitem ITEM_METEORITE, 1 compare VAR_RESULT, 1 - goto_eq FallarborTown_House1_EventScript_200F38 + goto_if_eq FallarborTown_House1_EventScript_200F38 msgbox FallarborTown_House1_Text_200FEE, MSGBOX_DEFAULT release end FallarborTown_House1_EventScript_200F38:: @ 8200F38 - checkflag FLAG_TEMP_2 - call_if 0, FallarborTown_House1_EventScript_200F8B - checkflag FLAG_TEMP_2 - call_if 1, FallarborTown_House1_EventScript_200F9C + call_if_unset FLAG_TEMP_2, FallarborTown_House1_EventScript_200F8B + call_if_set FLAG_TEMP_2, FallarborTown_House1_EventScript_200F9C compare VAR_RESULT, 0 - goto_eq FallarborTown_House1_EventScript_200FA5 + goto_if_eq FallarborTown_House1_EventScript_200FA5 msgbox FallarborTown_House1_Text_201159, MSGBOX_DEFAULT giveitem_std ITEM_TM27 compare VAR_RESULT, 0 - goto_eq FallarborTown_House1_EventScript_272054 + goto_if_eq FallarborTown_House1_EventScript_272054 setvar VAR_0x8004, 280 call FallarborTown_House1_EventScript_2723E4 setflag FLAG_0x0E5 @@ -54,10 +51,8 @@ FallarborTown_House1_EventScript_200FB2:: @ 8200FB2 FallarborTown_House1_EventScript_200FBC:: @ 8200FBC lock faceplayer - checkflag FLAG_0x0E5 - goto_eq FallarborTown_House1_EventScript_200FE4 - checkflag FLAG_0x08B - goto_eq FallarborTown_House1_EventScript_200FDA + goto_if_set FLAG_0x0E5, FallarborTown_House1_EventScript_200FE4 + goto_if_set FLAG_0x08B, FallarborTown_House1_EventScript_200FDA msgbox FallarborTown_House1_Text_2012BC, MSGBOX_DEFAULT release end diff --git a/data/maps/FallarborTown_House2/scripts.inc b/data/maps/FallarborTown_House2/scripts.inc index 2fddd2fd4..962c4f64e 100644 --- a/data/maps/FallarborTown_House2/scripts.inc +++ b/data/maps/FallarborTown_House2/scripts.inc @@ -5,8 +5,7 @@ FallarborTown_House2_EventScript_201383:: @ 8201383 lockall applymovement 1, FallarborTown_House2_Movement_27259E waitmovement 0 - checkflag FLAG_TEMP_1 - goto_eq FallarborTown_House2_EventScript_2013A8 + goto_if_set FLAG_TEMP_1, FallarborTown_House2_EventScript_2013A8 msgbox FallarborTown_House2_Text_20145C, MSGBOX_DEFAULT setflag FLAG_TEMP_1 goto FallarborTown_House2_EventScript_2013A8 @@ -15,7 +14,7 @@ FallarborTown_House2_EventScript_201383:: @ 8201383 FallarborTown_House2_EventScript_2013A8:: @ 82013A8 checkitem ITEM_HEART_SCALE, 1 compare VAR_RESULT, 0 - goto_eq FallarborTown_House2_EventScript_201452 + goto_if_eq FallarborTown_House2_EventScript_201452 msgbox FallarborTown_House2_Text_201541, MSGBOX_YESNO switch VAR_RESULT case 0, FallarborTown_House2_EventScript_201452 @@ -27,12 +26,12 @@ FallarborTown_House2_EventScript_2013D6:: @ 82013D6 special sub_81B951C waitstate compare VAR_0x8004, 255 - goto_eq FallarborTown_House2_EventScript_201452 + goto_if_eq FallarborTown_House2_EventScript_201452 special sub_81B98DC compare VAR_RESULT, 1 - goto_eq FallarborTown_House2_EventScript_201444 + goto_if_eq FallarborTown_House2_EventScript_201444 compare VAR_0x8005, 0 - goto_eq FallarborTown_House2_EventScript_201436 + goto_if_eq FallarborTown_House2_EventScript_201436 goto FallarborTown_House2_EventScript_20140C end @@ -41,7 +40,7 @@ FallarborTown_House2_EventScript_20140C:: @ 820140C special TeachMoveTutorMove waitstate compare VAR_0x8004, 0 - goto_eq FallarborTown_House2_EventScript_2013D6 + goto_if_eq FallarborTown_House2_EventScript_2013D6 msgbox FallarborTown_House2_Text_201627, MSGBOX_DEFAULT takeitem ITEM_HEART_SCALE, 1 goto FallarborTown_House2_EventScript_201452 diff --git a/data/maps/FarawayIsland_Entrance/scripts.inc b/data/maps/FarawayIsland_Entrance/scripts.inc index 1fd5fdd35..8661c4c52 100644 --- a/data/maps/FarawayIsland_Entrance/scripts.inc +++ b/data/maps/FarawayIsland_Entrance/scripts.inc @@ -7,12 +7,12 @@ FarawayIsland_Entrance_MapScript1_267C94: @ 8267C94 end FarawayIsland_Entrance_EventScript_267C98:: @ 8267C98 - setweather 1 + setweather WEATHER_CLOUDS doweather end FarawayIsland_Entrance_EventScript_267C9D:: @ 8267C9D - setweather 0 + setweather WEATHER_NONE doweather end @@ -21,7 +21,7 @@ FarawayIsland_Entrance_EventScript_267CA2:: @ 8267CA2 faceplayer msgbox FarawayIsland_Entrance_Text_2C6B42, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq FarawayIsland_Entrance_EventScript_267CE7 + goto_if_eq FarawayIsland_Entrance_EventScript_267CE7 msgbox FarawayIsland_Entrance_Text_2A6A5D, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, FarawayIsland_Entrance_Movement_2725AA diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc index 7b62ab578..55fd591e2 100644 --- a/data/maps/FarawayIsland_Interior/scripts.inc +++ b/data/maps/FarawayIsland_Interior/scripts.inc @@ -6,20 +6,19 @@ FarawayIsland_Interior_MapScripts:: @ 8267CFA .byte 0 FarawayIsland_Interior_MapScript1_267D0F: @ 8267D0F - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, FarawayIsland_Interior_EventScript_267D19 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, FarawayIsland_Interior_EventScript_267D19 end FarawayIsland_Interior_EventScript_267D19:: @ 8267D19 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq FarawayIsland_Interior_EventScript_267D4B + goto_if_eq FarawayIsland_Interior_EventScript_267D4B compare VAR_RESULT, 4 - goto_eq FarawayIsland_Interior_EventScript_267D4B + goto_if_eq FarawayIsland_Interior_EventScript_267D4B compare VAR_RESULT, 5 - goto_eq FarawayIsland_Interior_EventScript_267D4B + goto_if_eq FarawayIsland_Interior_EventScript_267D4B compare VAR_RESULT, 10 - goto_eq FarawayIsland_Interior_EventScript_267D4B + goto_if_eq FarawayIsland_Interior_EventScript_267D4B return FarawayIsland_Interior_EventScript_267D4B:: @ 8267D4B @@ -28,27 +27,24 @@ FarawayIsland_Interior_EventScript_267D4B:: @ 8267D4B return FarawayIsland_Interior_MapScript1_267D54: @ 8267D54 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, FarawayIsland_Interior_EventScript_267D5E + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, FarawayIsland_Interior_EventScript_267D5E end FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, FarawayIsland_Interior_EventScript_27374E + goto_if_ne FarawayIsland_Interior_EventScript_27374E removeobject VAR_LAST_TALKED return FarawayIsland_Interior_MapScript1_267D72: @ 8267D72 setvar VAR_0x403A, 0 setvar VAR_TEMP_1, 1 - checkflag FLAG_0x1CA - call_if 0, FarawayIsland_Interior_EventScript_267D86 + call_if_unset FLAG_0x1CA, FarawayIsland_Interior_EventScript_267D86 end FarawayIsland_Interior_EventScript_267D86:: @ 8267D86 - checkflag FLAG_0x1C7 - goto_eq FarawayIsland_Interior_EventScript_27374E + goto_if_set FLAG_0x1C7, FarawayIsland_Interior_EventScript_27374E clearflag FLAG_HIDE_MEW setvar VAR_TEMP_1, 0 return @@ -130,13 +126,13 @@ FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2 waitse playmoncry SPECIES_MEW, 2 compare VAR_FACING, 2 - call_if 1, FarawayIsland_Interior_EventScript_267EAF + call_if_eq FarawayIsland_Interior_EventScript_267EAF compare VAR_FACING, 1 - call_if 1, FarawayIsland_Interior_EventScript_267EBA + call_if_eq FarawayIsland_Interior_EventScript_267EBA compare VAR_FACING, 3 - call_if 1, FarawayIsland_Interior_EventScript_267EC5 + call_if_eq FarawayIsland_Interior_EventScript_267EC5 compare VAR_FACING, 4 - call_if 1, FarawayIsland_Interior_EventScript_267ED0 + call_if_eq FarawayIsland_Interior_EventScript_267ED0 special sub_81D4BEC delay 40 waitmoncry @@ -150,13 +146,13 @@ FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2 clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq FarawayIsland_Interior_EventScript_267E96 + goto_if_eq FarawayIsland_Interior_EventScript_267E96 compare VAR_RESULT, 4 - goto_eq FarawayIsland_Interior_EventScript_267EA4 + goto_if_eq FarawayIsland_Interior_EventScript_267EA4 compare VAR_RESULT, 5 - goto_eq FarawayIsland_Interior_EventScript_267EA4 + goto_if_eq FarawayIsland_Interior_EventScript_267EA4 compare VAR_RESULT, 10 - goto_eq FarawayIsland_Interior_EventScript_267EA4 + goto_if_eq FarawayIsland_Interior_EventScript_267EA4 setflag FLAG_0x1CA release end diff --git a/data/maps/FieryPath/scripts.inc b/data/maps/FieryPath/scripts.inc index f0a28345c..3888c61ef 100644 --- a/data/maps/FieryPath/scripts.inc +++ b/data/maps/FieryPath/scripts.inc @@ -3,8 +3,7 @@ FieryPath_MapScripts:: @ 8230F24 .byte 0 FieryPath_MapScript1_230F2A: @ 8230F2A - checkflag FLAG_LANDMARK_FIERY_PATH - call_if 0, FieryPath_EventScript_230F37 + call_if_unset FLAG_LANDMARK_FIERY_PATH, FieryPath_EventScript_230F37 setflag FLAG_LANDMARK_FIERY_PATH end diff --git a/data/maps/FortreeCity/scripts.inc b/data/maps/FortreeCity/scripts.inc index 948f443d2..d1c80c9f9 100644 --- a/data/maps/FortreeCity/scripts.inc +++ b/data/maps/FortreeCity/scripts.inc @@ -18,8 +18,7 @@ FortreeCity_EventScript_1E25B6:: @ 81E25B6 FortreeCity_EventScript_1E25BF:: @ 81E25BF lock faceplayer - checkflag FLAG_0x127 - goto_eq FortreeCity_EventScript_1E25D4 + goto_if_set FLAG_0x127, FortreeCity_EventScript_1E25D4 msgbox FortreeCity_Text_1E2738, MSGBOX_DEFAULT release end @@ -58,7 +57,7 @@ FortreeCity_EventScript_1E2614:: @ 81E2614 faceplayer checkitem ITEM_DEVON_SCOPE, 1 compare VAR_RESULT, 1 - goto_eq FortreeCity_EventScript_1E2630 + goto_if_eq FortreeCity_EventScript_1E2630 msgbox FortreeCity_Text_1E29E5, MSGBOX_DEFAULT release end @@ -66,7 +65,7 @@ FortreeCity_EventScript_1E2614:: @ 81E2614 FortreeCity_EventScript_1E2630:: @ 81E2630 msgbox FortreeCity_Text_1E2A08, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq FortreeCity_EventScript_1E2645 + goto_if_eq FortreeCity_EventScript_1E2645 release end diff --git a/data/maps/FortreeCity_Gym/scripts.inc b/data/maps/FortreeCity_Gym/scripts.inc index c56f0cbdb..f45d87c58 100644 --- a/data/maps/FortreeCity_Gym/scripts.inc +++ b/data/maps/FortreeCity_Gym/scripts.inc @@ -19,9 +19,8 @@ FortreeCity_Gym_EventScript_2165C8:: @ 82165C8 trainerbattle_single TRAINER_WINONA_1, FortreeCity_Gym_Text_216D75, FortreeCity_Gym_Text_216E60, FortreeCity_Gym_EventScript_2165FD, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq FortreeCity_Gym_EventScript_21668D - checkflag FLAG_0x0AA - goto_if 0, FortreeCity_Gym_EventScript_216646 + goto_if_eq FortreeCity_Gym_EventScript_21668D + goto_if_unset FLAG_0x0AA, FortreeCity_Gym_EventScript_216646 msgbox FortreeCity_Gym_Text_217071, MSGBOX_DEFAULT release end @@ -52,7 +51,7 @@ FortreeCity_Gym_EventScript_2165FD:: @ 82165FD FortreeCity_Gym_EventScript_216646:: @ 8216646 giveitem_std ITEM_TM40 compare VAR_RESULT, 0 - goto_eq FortreeCity_Gym_EventScript_272054 + goto_if_eq FortreeCity_Gym_EventScript_272054 msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT setflag FLAG_0x0AA release @@ -61,7 +60,7 @@ FortreeCity_Gym_EventScript_216646:: @ 8216646 FortreeCity_Gym_EventScript_21666A:: @ 821666A giveitem_std ITEM_TM40 compare VAR_RESULT, 0 - goto_eq FortreeCity_Gym_EventScript_27205E + goto_if_eq FortreeCity_Gym_EventScript_27205E msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT setflag FLAG_0x0AA return @@ -104,8 +103,7 @@ FortreeCity_Gym_EventScript_21671B:: @ 821671B FortreeCity_Gym_EventScript_216732:: @ 8216732 lock faceplayer - checkflag FLAG_0x4F5 - goto_eq FortreeCity_Gym_EventScript_216747 + goto_if_set FLAG_0x4F5, FortreeCity_Gym_EventScript_216747 msgbox FortreeCity_Gym_Text_216785, MSGBOX_DEFAULT release end @@ -117,15 +115,13 @@ FortreeCity_Gym_EventScript_216747:: @ 8216747 FortreeCity_Gym_EventScript_216751:: @ 8216751 lockall - checkflag FLAG_BADGE06_GET - goto_eq FortreeCity_Gym_EventScript_216771 + goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_216771 goto FortreeCity_Gym_EventScript_21677B end FortreeCity_Gym_EventScript_216761:: @ 8216761 lockall - checkflag FLAG_BADGE06_GET - goto_eq FortreeCity_Gym_EventScript_216771 + goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_216771 goto FortreeCity_Gym_EventScript_21677B end diff --git a/data/maps/FortreeCity_House1/scripts.inc b/data/maps/FortreeCity_House1/scripts.inc index 52a9793c3..44651ae0d 100644 --- a/data/maps/FortreeCity_House1/scripts.inc +++ b/data/maps/FortreeCity_House1/scripts.inc @@ -4,25 +4,24 @@ FortreeCity_House1_MapScripts:: @ 82162BA FortreeCity_House1_EventScript_2162BB:: @ 82162BB lock faceplayer - checkflag FLAG_0x09B - goto_eq FortreeCity_House1_EventScript_216355 + goto_if_set FLAG_0x09B, FortreeCity_House1_EventScript_216355 setvar VAR_0x8008, 1 copyvar VAR_0x8004, VAR_0x8008 specialvar VAR_RESULT, sub_807E73C copyvar VAR_0x8009, VAR_RESULT msgbox FortreeCity_House1_Text_21637B, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq FortreeCity_House1_EventScript_21633D + goto_if_eq FortreeCity_House1_EventScript_21633D special sub_81B94B0 waitstate copyvar VAR_0x800A, VAR_0x8004 compare VAR_0x8004, 255 - goto_eq FortreeCity_House1_EventScript_21633D + goto_if_eq FortreeCity_House1_EventScript_21633D copyvar VAR_0x8005, VAR_0x800A specialvar VAR_RESULT, sub_807E9D4 copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 - goto_if 5, FortreeCity_House1_EventScript_216347 + goto_if_ne FortreeCity_House1_EventScript_216347 copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A special sub_807EA10 diff --git a/data/maps/FortreeCity_House2/scripts.inc b/data/maps/FortreeCity_House2/scripts.inc index 0a5042c09..db8b14029 100644 --- a/data/maps/FortreeCity_House2/scripts.inc +++ b/data/maps/FortreeCity_House2/scripts.inc @@ -4,10 +4,8 @@ FortreeCity_House2_MapScripts:: @ 82177CA FortreeCity_House2_EventScript_2177CB:: @ 82177CB lock faceplayer - checkflag FLAG_0x108 - goto_eq FortreeCity_House2_EventScript_21786E - checkflag FLAG_0x076 - call_if 0, FortreeCity_House2_EventScript_217862 + goto_if_set FLAG_0x108, FortreeCity_House2_EventScript_21786E + call_if_unset FLAG_0x076, FortreeCity_House2_EventScript_217862 msgbox FortreeCity_House2_Text_2178D6, MSGBOX_DEFAULT multichoice 21, 8, 54, 1 switch VAR_RESULT @@ -23,7 +21,7 @@ FortreeCity_House2_EventScript_2177CB:: @ 82177CB msgbox FortreeCity_House2_Text_217A28, MSGBOX_DEFAULT giveitem_std ITEM_TM10 compare VAR_RESULT, 0 - goto_eq FortreeCity_House2_EventScript_272054 + goto_if_eq FortreeCity_House2_EventScript_272054 setflag FLAG_0x108 msgbox FortreeCity_House2_Text_217A91, MSGBOX_DEFAULT release diff --git a/data/maps/FortreeCity_House4/scripts.inc b/data/maps/FortreeCity_House4/scripts.inc index eb6043ab3..742fce6e9 100644 --- a/data/maps/FortreeCity_House4/scripts.inc +++ b/data/maps/FortreeCity_House4/scripts.inc @@ -7,12 +7,9 @@ FortreeCity_House4_EventScript_217C81:: @ 8217C81 FortreeCity_House4_EventScript_217C8A:: @ 8217C8A lockall - checkflag FLAG_0x0DF - goto_eq FortreeCity_House4_EventScript_217D06 - checkflag FLAG_0x0E0 - goto_eq FortreeCity_House4_EventScript_217CD8 - checkflag FLAG_0x0DE - goto_eq FortreeCity_House4_EventScript_217CC4 + goto_if_set FLAG_0x0DF, FortreeCity_House4_EventScript_217D06 + goto_if_set FLAG_0x0E0, FortreeCity_House4_EventScript_217CD8 + goto_if_set FLAG_0x0DE, FortreeCity_House4_EventScript_217CC4 msgbox FortreeCity_House4_Text_217DB9, MSGBOX_DEFAULT closemessage setflag FLAG_0x0DE @@ -36,7 +33,7 @@ FortreeCity_House4_EventScript_217CD8:: @ 8217CD8 msgbox FortreeCity_House4_Text_217E05, MSGBOX_DEFAULT giveitem_std ITEM_MENTAL_HERB compare VAR_RESULT, 0 - goto_eq FortreeCity_House4_EventScript_272054 + goto_if_eq FortreeCity_House4_EventScript_272054 setflag FLAG_0x0DF releaseall end diff --git a/data/maps/GraniteCave_1F/scripts.inc b/data/maps/GraniteCave_1F/scripts.inc index 28b95d578..1ace4071b 100644 --- a/data/maps/GraniteCave_1F/scripts.inc +++ b/data/maps/GraniteCave_1F/scripts.inc @@ -4,8 +4,7 @@ GraniteCave_1F_MapScripts:: @ 822DA5D GraniteCave_1F_EventScript_22DA5E:: @ 822DA5E lock faceplayer - checkflag FLAG_0x06D - goto_eq GraniteCave_1F_EventScript_22DA8A + goto_if_set FLAG_0x06D, GraniteCave_1F_EventScript_22DA8A msgbox GraniteCave_1F_Text_22DA94, MSGBOX_DEFAULT giveitem_std ITEM_HM05 setflag FLAG_0x06D diff --git a/data/maps/GraniteCave_StevensRoom/scripts.inc b/data/maps/GraniteCave_StevensRoom/scripts.inc index da0668bac..e08dfffd7 100644 --- a/data/maps/GraniteCave_StevensRoom/scripts.inc +++ b/data/maps/GraniteCave_StevensRoom/scripts.inc @@ -11,7 +11,7 @@ GraniteCave_StevensRoom_EventScript_22DC7B:: @ 822DC7B msgbox GraniteCave_StevensRoom_Text_22DDBD, MSGBOX_DEFAULT giveitem_std ITEM_TM47 compare VAR_RESULT, 0 - call_if 1, GraniteCave_StevensRoom_EventScript_22DD3C + call_if_eq GraniteCave_StevensRoom_EventScript_22DD3C msgbox GraniteCave_StevensRoom_Text_22DE6B, MSGBOX_DEFAULT closemessage delay 30 @@ -24,13 +24,13 @@ GraniteCave_StevensRoom_EventScript_22DC7B:: @ 822DC7B msgbox GraniteCave_StevensRoom_Text_22DF8C, MSGBOX_DEFAULT closemessage compare VAR_FACING, 2 - call_if 1, GraniteCave_StevensRoom_EventScript_22DD0D + call_if_eq GraniteCave_StevensRoom_EventScript_22DD0D compare VAR_FACING, 1 - call_if 1, GraniteCave_StevensRoom_EventScript_22DD2A + call_if_eq GraniteCave_StevensRoom_EventScript_22DD2A compare VAR_FACING, 3 - call_if 1, GraniteCave_StevensRoom_EventScript_22DD18 + call_if_eq GraniteCave_StevensRoom_EventScript_22DD18 compare VAR_FACING, 4 - call_if 1, GraniteCave_StevensRoom_EventScript_22DD18 + call_if_eq GraniteCave_StevensRoom_EventScript_22DD18 playse SE_KAIDAN removeobject 1 release @@ -42,13 +42,13 @@ GraniteCave_StevensRoom_EventScript_22DD0D:: @ 822DD0D return GraniteCave_StevensRoom_EventScript_22DD18:: @ 822DD18 - applymovement 255, GraniteCave_StevensRoom_Movement_22DD4C + applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_22DD4C applymovement 1, GraniteCave_StevensRoom_Movement_22DD45 waitmovement 0 return GraniteCave_StevensRoom_EventScript_22DD2A:: @ 822DD2A - applymovement 255, GraniteCave_StevensRoom_Movement_22DD4C + applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_22DD4C applymovement 1, GraniteCave_StevensRoom_Movement_22DD51 waitmovement 0 return diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc index 100e4314d..53bdc073a 100644 --- a/data/maps/InsideOfTruck/scripts.inc +++ b/data/maps/InsideOfTruck/scripts.inc @@ -18,9 +18,9 @@ InsideOfTruck_EventScript_23BF04:: @ 823BF04 setflag FLAG_SPECIAL_FLAG_0x4000 checkplayergender compare VAR_RESULT, 0 - goto_eq InsideOfTruck_EventScript_23BF20 + goto_if_eq InsideOfTruck_EventScript_23BF20 compare VAR_RESULT, 1 - goto_eq InsideOfTruck_EventScript_23BF46 + goto_if_eq InsideOfTruck_EventScript_23BF46 end InsideOfTruck_EventScript_23BF20:: @ 823BF20 diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc index e18b73a7a..218a92205 100644 --- a/data/maps/IslandCave/scripts.inc +++ b/data/maps/IslandCave/scripts.inc @@ -5,20 +5,18 @@ IslandCave_MapScripts:: @ 8238E2A .byte 0 IslandCave_MapScript1_238E3A: @ 8238E3A - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, IslandCave_EventScript_238E44 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, IslandCave_EventScript_238E44 end IslandCave_EventScript_238E44:: @ 8238E44 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, IslandCave_EventScript_27374E + goto_if_ne IslandCave_EventScript_27374E removeobject VAR_LAST_TALKED return IslandCave_MapScript1_238E58: @ 8238E58 - checkflag FLAG_SYS_BRAILLE_WAIT - call_if 0, IslandCave_EventScript_238E62 + call_if_unset FLAG_SYS_BRAILLE_WAIT, IslandCave_EventScript_238E62 end IslandCave_EventScript_238E62:: @ 8238E62 @@ -33,8 +31,7 @@ IslandCave_EventScript_238E62:: @ 8238E62 IslandCave_MapScript1_238E99: @ 8238E99 setflag FLAG_LANDMARK_ISLAND_CAVE call IslandCave_EventScript_238F45 - checkflag FLAG_0x1BC - call_if 0, IslandCave_EventScript_238EAB + call_if_unset FLAG_0x1BC, IslandCave_EventScript_238EAB end IslandCave_EventScript_238EAB:: @ 8238EAB @@ -55,10 +52,8 @@ IslandCave_EventScript_238EAF:: @ 8238EAF IslandCave_EventScript_238EEF:: @ 8238EEF lockall - checkflag FLAG_TEMP_3 - call_if 1, IslandCave_EventScript_238F45 - checkflag FLAG_SYS_BRAILLE_WAIT - goto_eq IslandCave_EventScript_238F13 + call_if_set FLAG_TEMP_3, IslandCave_EventScript_238F45 + goto_if_set FLAG_SYS_BRAILLE_WAIT, IslandCave_EventScript_238F13 braillemessage IslandCave_Braille_2A6CD4 setflag FLAG_TEMP_2 special ShouldDoBrailleRegicePuzzle @@ -72,11 +67,9 @@ IslandCave_EventScript_238F13:: @ 8238F13 IslandCave_EventScript_238F1D:: @ 8238F1D lockall - checkflag FLAG_TEMP_3 - call_if 1, IslandCave_EventScript_238F45 + call_if_set FLAG_TEMP_3, IslandCave_EventScript_238F45 braillemessage IslandCave_Braille_2A6CD4 - checkflag FLAG_SYS_BRAILLE_WAIT - goto_eq IslandCave_EventScript_238F41 + goto_if_set FLAG_SYS_BRAILLE_WAIT, IslandCave_EventScript_238F41 setflag FLAG_TEMP_2 special ShouldDoBrailleRegicePuzzle goto IslandCave_EventScript_238F41 @@ -109,11 +102,11 @@ IslandCave_EventScript_238F58:: @ 8238F58 clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq IslandCave_EventScript_238F9F + goto_if_eq IslandCave_EventScript_238F9F compare VAR_RESULT, 4 - goto_eq IslandCave_EventScript_238FA8 + goto_if_eq IslandCave_EventScript_238FA8 compare VAR_RESULT, 5 - goto_eq IslandCave_EventScript_238FA8 + goto_if_eq IslandCave_EventScript_238FA8 setflag FLAG_0x1BC release end diff --git a/data/maps/JaggedPass/scripts.inc b/data/maps/JaggedPass/scripts.inc index d9a5f0849..a140093ca 100644 --- a/data/maps/JaggedPass/scripts.inc +++ b/data/maps/JaggedPass/scripts.inc @@ -7,13 +7,13 @@ JaggedPass_MapScripts:: @ 8230656 JaggedPass_MapScript1_230666: @ 8230666 setstepcallback 1 compare VAR_0x40C8, 0 - call_if 1, JaggedPass_EventScript_230674 + call_if_eq JaggedPass_EventScript_230674 end JaggedPass_EventScript_230674:: @ 8230674 checkitem ITEM_MAGMA_EMBLEM, 1 compare VAR_RESULT, 1 - goto_eq JaggedPass_EventScript_230685 + goto_if_eq JaggedPass_EventScript_230685 return JaggedPass_EventScript_230685:: @ 8230685 @@ -22,17 +22,17 @@ JaggedPass_EventScript_230685:: @ 8230685 JaggedPass_MapScript1_23068B: @ 823068B compare VAR_0x40BD, 1 - call_if 1, JaggedPass_EventScript_230697 + call_if_eq JaggedPass_EventScript_230697 end JaggedPass_EventScript_230697:: @ 8230697 - setweather 7 + setweather WEATHER_ASH doweather return JaggedPass_MapScript1_23069C: @ 823069C compare VAR_0x40C8, 1 - goto_if 3, JaggedPass_EventScript_2306A8 + goto_if_le JaggedPass_EventScript_2306A8 end JaggedPass_EventScript_2306A8:: @ 82306A8 @@ -68,8 +68,7 @@ JaggedPass_EventScript_2306BB:: @ 82306BB JaggedPass_EventScript_230718:: @ 8230718 lockall - checkflag FLAG_0x139 - goto_eq JaggedPass_EventScript_230766 + goto_if_set FLAG_0x139, JaggedPass_EventScript_230766 waitse playse SE_PIN applymovement 5, JaggedPass_Movement_272598 @@ -106,7 +105,7 @@ JaggedPass_EventScript_23079C:: @ 823079C trainerbattle_single TRAINER_DIANA_1, JaggedPass_Text_230974, JaggedPass_Text_2309B5, JaggedPass_EventScript_2307C8 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq JaggedPass_EventScript_2307E4 + goto_if_eq JaggedPass_EventScript_2307E4 msgbox JaggedPass_Text_2309D8, MSGBOX_DEFAULT release end @@ -127,7 +126,7 @@ JaggedPass_EventScript_2307FB:: @ 82307FB trainerbattle_single TRAINER_ETHAN_1, JaggedPass_Text_230B10, JaggedPass_Text_230B50, JaggedPass_EventScript_230827 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq JaggedPass_EventScript_230843 + goto_if_eq JaggedPass_EventScript_230843 msgbox JaggedPass_Text_230B93, MSGBOX_DEFAULT release end diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc index a42703900..f210a9d11 100644 --- a/data/maps/LavaridgeTown/scripts.inc +++ b/data/maps/LavaridgeTown/scripts.inc @@ -5,16 +5,14 @@ LavaridgeTown_MapScripts:: @ 81EA4D3 LavaridgeTown_MapScript1_1EA4DE: @ 81EA4DE setflag FLAG_VISITED_LAVARIDGE_TOWN - checkflag FLAG_0x06C - call_if 1, LavaridgeTown_EventScript_1EA514 - checkflag FLAG_0x08B - call_if 1, LavaridgeTown_EventScript_1EA53F + call_if_set FLAG_0x06C, LavaridgeTown_EventScript_1EA514 + call_if_set FLAG_0x08B, LavaridgeTown_EventScript_1EA53F call LavaridgeTown_EventScript_271ED7 call LavaridgeTown_EventScript_271EFB compare VAR_0x4053, 1 - call_if 1, LavaridgeTown_EventScript_1EA518 + call_if_eq LavaridgeTown_EventScript_1EA518 compare VAR_0x4053, 1 - call_if 1, LavaridgeTown_EventScript_1EA543 + call_if_eq LavaridgeTown_EventScript_1EA543 end LavaridgeTown_EventScript_1EA514:: @ 81EA514 @@ -24,7 +22,7 @@ LavaridgeTown_EventScript_1EA514:: @ 81EA514 LavaridgeTown_EventScript_1EA518:: @ 81EA518 getplayerxy VAR_0x8004, VAR_0x8005 compare VAR_0x8004, 9 - goto_eq LavaridgeTown_EventScript_1EA529 + goto_if_eq LavaridgeTown_EventScript_1EA529 return LavaridgeTown_EventScript_1EA529:: @ 81EA529 @@ -50,24 +48,24 @@ LavaridgeTown_EventScript_1EA551:: @ 81EA551 lockall getplayerxy VAR_0x8008, VAR_0x8009 compare VAR_0x8008, 9 - call_if 1, LavaridgeTown_EventScript_1EA63A + call_if_eq LavaridgeTown_EventScript_1EA63A compare VAR_0x8008, 9 - call_if 5, LavaridgeTown_EventScript_1EA65C + call_if_ne LavaridgeTown_EventScript_1EA65C delay 20 checkplayergender compare VAR_RESULT, 0 - call_if 1, LavaridgeTown_EventScript_1EA630 + call_if_eq LavaridgeTown_EventScript_1EA630 compare VAR_RESULT, 1 - call_if 1, LavaridgeTown_EventScript_1EA635 + call_if_eq LavaridgeTown_EventScript_1EA635 compare VAR_0x8008, 9 - call_if 1, LavaridgeTown_EventScript_1EA6A1 + call_if_eq LavaridgeTown_EventScript_1EA6A1 compare VAR_0x8008, 9 - call_if 5, LavaridgeTown_EventScript_1EA6AC + call_if_ne LavaridgeTown_EventScript_1EA6AC checkplayergender compare VAR_RESULT, 0 - goto_eq LavaridgeTown_EventScript_1EA5B5 + goto_if_eq LavaridgeTown_EventScript_1EA5B5 compare VAR_RESULT, 1 - goto_eq LavaridgeTown_EventScript_1EA5DA + goto_if_eq LavaridgeTown_EventScript_1EA5DA end LavaridgeTown_EventScript_1EA5B5:: @ 81EA5B5 @@ -92,9 +90,9 @@ LavaridgeTown_EventScript_1EA5FF:: @ 81EA5FF addobject 7 delay 30 compare VAR_0x8008, 9 - call_if 1, LavaridgeTown_EventScript_1EA6B7 + call_if_eq LavaridgeTown_EventScript_1EA6B7 compare VAR_0x8008, 9 - call_if 5, LavaridgeTown_EventScript_1EA6C9 + call_if_ne LavaridgeTown_EventScript_1EA6C9 removeobject 7 setvar VAR_0x4053, 2 clearflag FLAG_SPECIAL_FLAG_0x4000 @@ -136,7 +134,7 @@ LavaridgeTown_EventScript_1EA65C:: @ 81EA65C waitmovement 0 applymovement 8, LavaridgeTown_Movement_27259A waitmovement 0 - applymovement 255, LavaridgeTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LavaridgeTown_Movement_2725A8 waitmovement 0 return @@ -151,7 +149,7 @@ LavaridgeTown_EventScript_1EA6AC:: @ 81EA6AC return LavaridgeTown_EventScript_1EA6B7:: @ 81EA6B7 - applymovement 255, LavaridgeTown_Movement_1EA6DF + applymovement EVENT_OBJ_ID_PLAYER, LavaridgeTown_Movement_1EA6DF applymovement 7, LavaridgeTown_Movement_1EA6E3 waitmovement 0 return @@ -214,7 +212,7 @@ LavaridgeTown_Movement_1EA6F8: @ 81EA6F8 LavaridgeTown_EventScript_1EA6FA:: @ 81EA6FA specialvar VAR_RESULT, GetPlayerFacingDirection compare VAR_RESULT, 1 - goto_eq LavaridgeTown_EventScript_1EA70B + goto_if_eq LavaridgeTown_EventScript_1EA70B end LavaridgeTown_EventScript_1EA70B:: @ 81EA70B @@ -248,14 +246,13 @@ LavaridgeTown_EventScript_1EA73B:: @ 81EA73B LavaridgeTown_EventScript_1EA744:: @ 81EA744 lock faceplayer - checkflag FLAG_0x10A - goto_eq LavaridgeTown_EventScript_1EA787 + goto_if_set FLAG_0x10A, LavaridgeTown_EventScript_1EA787 msgbox LavaridgeTown_Text_1EAB80, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LavaridgeTown_EventScript_1EA79B + goto_if_eq LavaridgeTown_EventScript_1EA79B getpartysize compare VAR_RESULT, 6 - goto_eq LavaridgeTown_EventScript_1EA791 + goto_if_eq LavaridgeTown_EventScript_1EA791 msgbox LavaridgeTown_Text_1EACC0, MSGBOX_DEFAULT setflag FLAG_0x10A playfanfare MUS_FANFA4 diff --git a/data/maps/LavaridgeTown_Gym_1F/scripts.inc b/data/maps/LavaridgeTown_Gym_1F/scripts.inc index 6a795a74c..c0c8f1093 100644 --- a/data/maps/LavaridgeTown_Gym_1F/scripts.inc +++ b/data/maps/LavaridgeTown_Gym_1F/scripts.inc @@ -14,22 +14,22 @@ LavaridgeTown_Gym_1F_EventScript_1FE705:: @ 81FE705 setvar VAR_TEMP_E, 0 setvar VAR_TEMP_F, 0 checktrainerflag TRAINER_COLE - goto_eq LavaridgeTown_Gym_1F_EventScript_1FE72C + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE72C setvar VAR_TEMP_B, 1 LavaridgeTown_Gym_1F_EventScript_1FE72C:: @ 81FE72C checktrainerflag TRAINER_GERALD - goto_eq LavaridgeTown_Gym_1F_EventScript_1FE73A + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE73A setvar VAR_TEMP_C, 1 LavaridgeTown_Gym_1F_EventScript_1FE73A:: @ 81FE73A checktrainerflag TRAINER_AXLE - goto_eq LavaridgeTown_Gym_1F_EventScript_1FE748 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE748 setvar VAR_TEMP_D, 1 LavaridgeTown_Gym_1F_EventScript_1FE748:: @ 81FE748 checktrainerflag TRAINER_DANIELLE - goto_eq LavaridgeTown_Gym_1F_EventScript_1FE756 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE756 setvar VAR_TEMP_E, 1 LavaridgeTown_Gym_1F_EventScript_1FE756:: @ 81FE756 @@ -37,22 +37,22 @@ LavaridgeTown_Gym_1F_EventScript_1FE756:: @ 81FE756 LavaridgeTown_Gym_1F_EventScript_1FE757:: @ 81FE757 checktrainerflag TRAINER_COLE - goto_eq LavaridgeTown_Gym_1F_EventScript_1FE764 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE764 setobjectmovementtype 2, 63 LavaridgeTown_Gym_1F_EventScript_1FE764:: @ 81FE764 checktrainerflag TRAINER_GERALD - goto_eq LavaridgeTown_Gym_1F_EventScript_1FE771 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE771 setobjectmovementtype 3, 63 LavaridgeTown_Gym_1F_EventScript_1FE771:: @ 81FE771 checktrainerflag TRAINER_AXLE - goto_eq LavaridgeTown_Gym_1F_EventScript_1FE77E + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE77E setobjectmovementtype 4, 63 LavaridgeTown_Gym_1F_EventScript_1FE77E:: @ 81FE77E checktrainerflag TRAINER_DANIELLE - goto_eq LavaridgeTown_Gym_1F_EventScript_1FE78B + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE78B setobjectmovementtype 5, 63 LavaridgeTown_Gym_1F_EventScript_1FE78B:: @ 81FE78B @@ -62,9 +62,8 @@ LavaridgeTown_Gym_1F_EventScript_1FE78C:: @ 81FE78C trainerbattle_single TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_1FF0DC, LavaridgeTown_Gym_1F_Text_1FF233, LavaridgeTown_Gym_1F_EventScript_1FE7C1, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq LavaridgeTown_Gym_1F_EventScript_1FE864 - checkflag FLAG_0x0A8 - goto_if 0, LavaridgeTown_Gym_1F_EventScript_1FE81D + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE864 + goto_if_unset FLAG_0x0A8, LavaridgeTown_Gym_1F_EventScript_1FE81D msgbox LavaridgeTown_Gym_1F_Text_1FF546, MSGBOX_DEFAULT release end @@ -79,7 +78,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1 setflag FLAG_BADGE04_GET addvar VAR_0x4085, 1 compare VAR_0x4085, 6 - call_if 1, LavaridgeTown_Gym_1F_EventScript_271E84 + call_if_eq LavaridgeTown_Gym_1F_EventScript_271E84 setvar VAR_0x8008, 4 call LavaridgeTown_Gym_1F_EventScript_271F43 setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY @@ -99,7 +98,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1 LavaridgeTown_Gym_1F_EventScript_1FE81D:: @ 81FE81D giveitem_std ITEM_TM50 compare VAR_RESULT, 0 - goto_eq LavaridgeTown_Gym_1F_EventScript_272054 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_272054 msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT setflag FLAG_0x0A8 release @@ -108,7 +107,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE81D:: @ 81FE81D LavaridgeTown_Gym_1F_EventScript_1FE841:: @ 81FE841 giveitem_std ITEM_TM50 compare VAR_RESULT, 0 - goto_eq LavaridgeTown_Gym_1F_EventScript_27205E + goto_if_eq LavaridgeTown_Gym_1F_EventScript_27205E msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT setflag FLAG_0x0A8 return @@ -129,7 +128,7 @@ LavaridgeTown_Gym_B1F_EventScript_1FE89A:: @ 81FE89A release special ShouldTryGetTrainerScript compare VAR_RESULT, 1 - goto_eq EventScript_GotoTrainerScript + goto_if_eq EventScript_GotoTrainerScript end LavaridgeTown_Gym_1F_EventScript_1FE8AF:: @ 81FE8AF @@ -170,8 +169,7 @@ LavaridgeTown_Gym_B1F_EventScript_1FE951:: @ 81FE951 LavaridgeTown_Gym_1F_EventScript_1FE96C:: @ 81FE96C lock faceplayer - checkflag FLAG_0x4F3 - goto_eq LavaridgeTown_Gym_1F_EventScript_1FE981 + goto_if_set FLAG_0x4F3, LavaridgeTown_Gym_1F_EventScript_1FE981 msgbox LavaridgeTown_Gym_1F_Text_1FE9BF, MSGBOX_DEFAULT release end @@ -183,15 +181,13 @@ LavaridgeTown_Gym_1F_EventScript_1FE981:: @ 81FE981 LavaridgeTown_Gym_1F_EventScript_1FE98B:: @ 81FE98B lockall - checkflag FLAG_BADGE04_GET - goto_eq LavaridgeTown_Gym_1F_EventScript_1FE9AB + goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_1FE9AB goto LavaridgeTown_Gym_1F_EventScript_1FE9B5 end LavaridgeTown_Gym_1F_EventScript_1FE99B:: @ 81FE99B lockall - checkflag FLAG_BADGE04_GET - goto_eq LavaridgeTown_Gym_1F_EventScript_1FE9AB + goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_1FE9AB goto LavaridgeTown_Gym_1F_EventScript_1FE9B5 end diff --git a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc index ad2be83ea..222f36810 100644 --- a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc +++ b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc @@ -13,22 +13,22 @@ LavaridgeTown_Gym_B1F_EventScript_1FF88F:: @ 81FF88F setvar VAR_TEMP_9, 0 setvar VAR_TEMP_A, 0 checktrainerflag TRAINER_KEEGAN - goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8B1 + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8B1 setvar VAR_TEMP_7, 1 LavaridgeTown_Gym_B1F_EventScript_1FF8B1:: @ 81FF8B1 checktrainerflag TRAINER_JACE - goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8BF + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8BF setvar VAR_TEMP_8, 1 LavaridgeTown_Gym_B1F_EventScript_1FF8BF:: @ 81FF8BF checktrainerflag TRAINER_JEFF - goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8CD + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8CD setvar VAR_TEMP_9, 1 LavaridgeTown_Gym_B1F_EventScript_1FF8CD:: @ 81FF8CD checktrainerflag TRAINER_ELI - goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8DB + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8DB setvar VAR_TEMP_A, 1 LavaridgeTown_Gym_B1F_EventScript_1FF8DB:: @ 81FF8DB @@ -36,22 +36,22 @@ LavaridgeTown_Gym_B1F_EventScript_1FF8DB:: @ 81FF8DB LavaridgeTown_Gym_B1F_EventScript_1FF8DC:: @ 81FF8DC checktrainerflag TRAINER_KEEGAN - goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8E9 + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8E9 setobjectmovementtype 2, 63 LavaridgeTown_Gym_B1F_EventScript_1FF8E9:: @ 81FF8E9 checktrainerflag TRAINER_JACE - goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8F6 + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8F6 setobjectmovementtype 1, 63 LavaridgeTown_Gym_B1F_EventScript_1FF8F6:: @ 81FF8F6 checktrainerflag TRAINER_JEFF - goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF903 + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF903 setobjectmovementtype 3, 63 LavaridgeTown_Gym_B1F_EventScript_1FF903:: @ 81FF903 checktrainerflag TRAINER_ELI - goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF910 + goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF910 setobjectmovementtype 4, 63 LavaridgeTown_Gym_B1F_EventScript_1FF910:: @ 81FF910 diff --git a/data/maps/LavaridgeTown_HerbShop/scripts.inc b/data/maps/LavaridgeTown_HerbShop/scripts.inc index b1d776fbd..d627d4fa7 100644 --- a/data/maps/LavaridgeTown_HerbShop/scripts.inc +++ b/data/maps/LavaridgeTown_HerbShop/scripts.inc @@ -28,12 +28,11 @@ LavaridgeTown_HerbShop_EventScript_1FE4FC:: @ 81FE4FC LavaridgeTown_HerbShop_EventScript_1FE505:: @ 81FE505 lock faceplayer - checkflag FLAG_0x0FE - goto_eq LavaridgeTown_HerbShop_EventScript_1FE534 + goto_if_set FLAG_0x0FE, LavaridgeTown_HerbShop_EventScript_1FE534 msgbox LavaridgeTown_HerbShop_Text_1FE584, MSGBOX_DEFAULT giveitem_std ITEM_CHARCOAL compare VAR_RESULT, 0 - goto_eq LavaridgeTown_HerbShop_EventScript_272054 + goto_if_eq LavaridgeTown_HerbShop_EventScript_272054 setflag FLAG_0x0FE release end diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc index 83b258c7e..515754f8c 100644 --- a/data/maps/LilycoveCity/scripts.inc +++ b/data/maps/LilycoveCity/scripts.inc @@ -7,14 +7,12 @@ LilycoveCity_MapScript1_1E2B47: @ 81E2B47 setflag FLAG_VISITED_LILYCOVE_CITY setvar VAR_0x4086, 0 setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, LilycoveCity_EventScript_27207A + call_if_set FLAG_SYS_WEATHER_CTRL, LilycoveCity_EventScript_27207A call LilycoveCity_EventScript_271ED7 end LilycoveCity_MapScript1_1E2B61: @ 81E2B61 - checkflag FLAG_0x070 - call_if 0, LilycoveCity_EventScript_1E2B6B + call_if_unset FLAG_0x070, LilycoveCity_EventScript_1E2B6B end LilycoveCity_EventScript_1E2B6B:: @ 81E2B6B @@ -36,14 +34,13 @@ LilycoveCity_EventScript_1E2BD8:: @ 81E2BD8 lock faceplayer dodailyevents - checkflag FLAG_0x92F - goto_eq LilycoveCity_EventScript_1E2C18 + goto_if_set FLAG_0x92F, LilycoveCity_EventScript_1E2C18 msgbox LilycoveCity_Text_2A7244, MSGBOX_DEFAULT random 10 addvar VAR_RESULT, 133 giveitem_std VAR_RESULT compare VAR_RESULT, 0 - goto_eq LilycoveCity_EventScript_272054 + goto_if_eq LilycoveCity_EventScript_272054 setflag FLAG_0x92F msgbox LilycoveCity_Text_2A72E3, MSGBOX_DEFAULT release @@ -61,8 +58,7 @@ LilycoveCity_EventScript_1E2C22:: @ 81E2C22 LilycoveCity_EventScript_1E2C2B:: @ 81E2C2B lock faceplayer - checkflag FLAG_BADGE07_GET - goto_eq LilycoveCity_EventScript_1E2C40 + goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_1E2C40 msgbox LilycoveCity_Text_1E3E3C, MSGBOX_DEFAULT release end @@ -79,8 +75,7 @@ LilycoveCity_EventScript_1E2C4A:: @ 81E2C4A LilycoveCity_EventScript_1E2C53:: @ 81E2C53 lock faceplayer - checkflag FLAG_0x070 - goto_eq LilycoveCity_EventScript_1E2C68 + goto_if_set FLAG_0x070, LilycoveCity_EventScript_1E2C68 msgbox LilycoveCity_Text_1E3FAB, MSGBOX_DEFAULT release end @@ -93,8 +88,7 @@ LilycoveCity_EventScript_1E2C68:: @ 81E2C68 LilycoveCity_EventScript_1E2C72:: @ 81E2C72 lock faceplayer - checkflag FLAG_0x070 - goto_eq LilycoveCity_EventScript_1E2C87 + goto_if_set FLAG_0x070, LilycoveCity_EventScript_1E2C87 msgbox LilycoveCity_Text_1E40AD, MSGBOX_DEFAULT release end @@ -119,8 +113,7 @@ LilycoveCity_EventScript_1E2CA3:: @ 81E2CA3 LilycoveCity_EventScript_1E2CAC:: @ 81E2CAC lock faceplayer - checkflag FLAG_BADGE07_GET - goto_eq LilycoveCity_EventScript_1E2CC1 + goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_1E2CC1 msgbox LilycoveCity_Text_1E42FC, MSGBOX_DEFAULT release end @@ -178,8 +171,7 @@ LilycoveCity_EventScript_1E2D3A:: @ 81E2D3A LilycoveCity_EventScript_1E2D44:: @ 81E2D44 lockall - checkflag FLAG_SYS_GAME_CLEAR - goto_eq LilycoveCity_EventScript_1E2D58 + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_1E2D58 msgbox LilycoveCity_Text_1E45A7, MSGBOX_DEFAULT releaseall end @@ -203,8 +195,7 @@ LilycoveCity_EventScript_1E2D74:: @ 81E2D74 LilycoveCity_EventScript_1E2D7D:: @ 81E2D7D lockall - checkflag FLAG_0x0DA - goto_eq LilycoveCity_EventScript_1E2DB0 + goto_if_set FLAG_0x0DA, LilycoveCity_EventScript_1E2DB0 msgbox LilycoveCity_Text_1E3D1F, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, LilycoveCity_Movement_27259E waitmovement 0 @@ -241,19 +232,17 @@ LilycoveCity_EventScript_1E2DDE:: @ 81E2DDE faceplayer checkplayergender compare VAR_RESULT, 0 - goto_eq LilycoveCity_EventScript_1E2DF8 + goto_if_eq LilycoveCity_EventScript_1E2DF8 compare VAR_RESULT, 1 - goto_eq LilycoveCity_EventScript_1E2E6B + goto_if_eq LilycoveCity_EventScript_1E2E6B end LilycoveCity_EventScript_1E2DF8:: @ 81E2DF8 playbgm MUS_GIRL_SUP, 1 - checkflag FLAG_0x11E - call_if 1, LilycoveCity_EventScript_1E2E48 - checkflag FLAG_0x11E - call_if 0, LilycoveCity_EventScript_1E2E51 + call_if_set FLAG_0x11E, LilycoveCity_EventScript_1E2E48 + call_if_unset FLAG_0x11E, LilycoveCity_EventScript_1E2E51 compare VAR_RESULT, 0 - goto_eq LilycoveCity_EventScript_1E2E5A + goto_if_eq LilycoveCity_EventScript_1E2E5A msgbox LilycoveCity_Text_1E3234, MSGBOX_DEFAULT switch VAR_STARTER_MON case 0, LilycoveCity_EventScript_1E2EDE @@ -279,12 +268,10 @@ LilycoveCity_EventScript_1E2E5A:: @ 81E2E5A LilycoveCity_EventScript_1E2E6B:: @ 81E2E6B playbgm MUS_BOY_SUP, 1 - checkflag FLAG_0x11E - call_if 1, LilycoveCity_EventScript_1E2EBB - checkflag FLAG_0x11E - call_if 0, LilycoveCity_EventScript_1E2EC4 + call_if_set FLAG_0x11E, LilycoveCity_EventScript_1E2EBB + call_if_unset FLAG_0x11E, LilycoveCity_EventScript_1E2EC4 compare VAR_RESULT, 0 - goto_eq LilycoveCity_EventScript_1E2ECD + goto_if_eq LilycoveCity_EventScript_1E2ECD msgbox LilycoveCity_Text_1E373C, MSGBOX_DEFAULT switch VAR_STARTER_MON case 0, LilycoveCity_EventScript_1E2F0E @@ -341,20 +328,18 @@ LilycoveCity_EventScript_1E2F2E:: @ 81E2F2E LilycoveCity_EventScript_1E2F3E:: @ 81E2F3E msgbox LilycoveCity_Text_1E32FB, MSGBOX_DEFAULT setvar VAR_RESULT, 0 - checkflag FLAG_BADGE06_GET - call_if 1, LilycoveCity_EventScript_1E2F76 + call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_1E2F76 compare VAR_RESULT, 0 - call_if 1, LilycoveCity_EventScript_1E2F86 + call_if_eq LilycoveCity_EventScript_1E2F86 compare VAR_RESULT, 1 - call_if 1, LilycoveCity_EventScript_1E2F8F + call_if_eq LilycoveCity_EventScript_1E2F8F clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL goto LilycoveCity_EventScript_1E3006 end LilycoveCity_EventScript_1E2F76:: @ 81E2F76 - checkflag FLAG_BADGE08_GET - goto_eq LilycoveCity_EventScript_1E2F80 + goto_if_set FLAG_BADGE08_GET, LilycoveCity_EventScript_1E2F80 return LilycoveCity_EventScript_1E2F80:: @ 81E2F80 @@ -366,8 +351,7 @@ LilycoveCity_EventScript_1E2F86:: @ 81E2F86 return LilycoveCity_EventScript_1E2F8F:: @ 81E2F8F - checkflag FLAG_SYS_GAME_CLEAR - goto_eq LilycoveCity_EventScript_1E2FA1 + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_1E2FA1 msgbox LilycoveCity_Text_1E346D, MSGBOX_DEFAULT return @@ -378,12 +362,11 @@ LilycoveCity_EventScript_1E2FA1:: @ 81E2FA1 LilycoveCity_EventScript_1E2FAA:: @ 81E2FAA msgbox LilycoveCity_Text_1E37D7, MSGBOX_DEFAULT setvar VAR_RESULT, 0 - checkflag FLAG_BADGE06_GET - call_if 1, LilycoveCity_EventScript_1E2F76 + call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_1E2F76 compare VAR_RESULT, 0 - call_if 1, LilycoveCity_EventScript_1E2FE2 + call_if_eq LilycoveCity_EventScript_1E2FE2 compare VAR_RESULT, 1 - call_if 1, LilycoveCity_EventScript_1E2FEB + call_if_eq LilycoveCity_EventScript_1E2FEB clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL goto LilycoveCity_EventScript_1E3006 @@ -394,8 +377,7 @@ LilycoveCity_EventScript_1E2FE2:: @ 81E2FE2 return LilycoveCity_EventScript_1E2FEB:: @ 81E2FEB - checkflag FLAG_SYS_GAME_CLEAR - goto_eq LilycoveCity_EventScript_1E2FFD + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_1E2FFD msgbox LilycoveCity_Text_1E390C, MSGBOX_DEFAULT return @@ -424,9 +406,9 @@ LilycoveCity_EventScript_1E302D:: @ 81E302D faceplayer msgbox LilycoveCity_Text_1E4774, MSGBOX_YESNO compare VAR_RESULT, 1 - call_if 1, LilycoveCity_EventScript_1E304F + call_if_eq LilycoveCity_EventScript_1E304F compare VAR_RESULT, 0 - call_if 1, LilycoveCity_EventScript_1E3058 + call_if_eq LilycoveCity_EventScript_1E3058 release end diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc index a849925bd..c60e8fdfc 100644 --- a/data/maps/LilycoveCity_ContestLobby/scripts.inc +++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc @@ -11,7 +11,7 @@ LilycoveCity_ContestLobby_MapScript1_21A21C: @ 821A21C LilycoveCity_ContestLobby_EventScript_21A227:: @ 821A227 getpricereduction 4 compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_21A23C + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A23C clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS return @@ -27,8 +27,7 @@ LilycoveCity_ContestLobby_MapScript2_21A243: @ 821A243 .2byte 0 LilycoveCity_ContestLobby_EventScript_21A255:: @ 821A255 - checkflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR - goto_eq LilycoveCity_ContestLobby_EventScript_21A264 + goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_21A264 setvar VAR_0x4099, 0 end @@ -37,7 +36,7 @@ LilycoveCity_ContestLobby_EventScript_21A264:: @ 821A264 addobject 4 applymovement 4, LilycoveCity_ContestLobby_Movement_21A407 waitmovement 4 - applymovement 255, LilycoveCity_ContestLobby_Movement_21A418 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A418 waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_21ADB9, MSGBOX_DEFAULT lockall @@ -46,9 +45,9 @@ LilycoveCity_ContestLobby_EventScript_21A264:: @ 821A264 lockall msgbox LilycoveCity_ContestLobby_Text_21AE78, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_21A2AA + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A2AA compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_21A2E4 + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A2E4 releaseall end @@ -59,7 +58,7 @@ LilycoveCity_ContestLobby_EventScript_21A2AA:: @ 821A2AA setvar VAR_0x4099, 0 specialvar VAR_RESULT, GiveMonArtistRibbon compare VAR_RESULT, 1 - call_if 1, LilycoveCity_ContestLobby_EventScript_21A314 + call_if_eq LilycoveCity_ContestLobby_EventScript_21A314 applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F waitmovement 0 removeobject 4 @@ -71,7 +70,7 @@ LilycoveCity_ContestLobby_EventScript_21A2AA:: @ 821A2AA LilycoveCity_ContestLobby_EventScript_21A2E4:: @ 821A2E4 msgbox LilycoveCity_ContestLobby_Text_21B0BC, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_21A2AA + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A2AA msgbox LilycoveCity_ContestLobby_Text_21B132, MSGBOX_DEFAULT closemessage applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F @@ -202,8 +201,7 @@ LilycoveCity_ContestLobby_Movement_21A41E: @ 821A41E step_end LilycoveCity_ContestLobby_EventScript_21A427:: @ 821A427 - checkflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR - goto_eq LilycoveCity_ContestLobby_EventScript_21A436 + goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_21A436 setvar VAR_0x4099, 0 end @@ -212,7 +210,7 @@ LilycoveCity_ContestLobby_EventScript_21A436:: @ 821A436 addobject 11 applymovement 11, LilycoveCity_ContestLobby_Movement_21A533 waitmovement 11 - applymovement 255, LilycoveCity_ContestLobby_Movement_21A545 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A545 waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_21ADB9, MSGBOX_DEFAULT lockall @@ -220,9 +218,9 @@ LilycoveCity_ContestLobby_EventScript_21A436:: @ 821A436 drawcontestwinner 0 msgbox LilycoveCity_ContestLobby_Text_21AE78, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_21A47A + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A47A compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_21A4B4 + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A4B4 end LilycoveCity_ContestLobby_EventScript_21A47A:: @ 821A47A @@ -232,7 +230,7 @@ LilycoveCity_ContestLobby_EventScript_21A47A:: @ 821A47A setvar VAR_0x4099, 0 specialvar VAR_RESULT, GiveMonArtistRibbon compare VAR_RESULT, 1 - call_if 1, LilycoveCity_ContestLobby_EventScript_21A4E4 + call_if_eq LilycoveCity_ContestLobby_EventScript_21A4E4 applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C waitmovement 0 removeobject 11 @@ -244,7 +242,7 @@ LilycoveCity_ContestLobby_EventScript_21A47A:: @ 821A47A LilycoveCity_ContestLobby_EventScript_21A4B4:: @ 821A4B4 msgbox LilycoveCity_ContestLobby_Text_21B0BC, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_21A47A + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A47A msgbox LilycoveCity_ContestLobby_Text_21B132, MSGBOX_DEFAULT closemessage applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C @@ -321,7 +319,7 @@ LilycoveCity_ContestLobby_EventScript_21A554:: @ 821A554 special sub_80F9154 specialvar VAR_RESULT, sub_80F8D24 compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_21A5CF + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A5CF call LilycoveCity_ContestLobby_EventScript_279CC5 call LilycoveCity_ContestLobby_EventScript_21A670 special SetContestTrainerGfxIds @@ -422,12 +420,12 @@ LilycoveCity_ContestLobby_EventScript_21A670:: @ 821A670 delay 20 applymovement 1, LilycoveCity_ContestLobby_Movement_21A706 waitmovement 0 - applymovement 255, LilycoveCity_ContestLobby_Movement_21A6F2 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A6F2 waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_27B653, MSGBOX_DEFAULT closemessage applymovement 1, LilycoveCity_ContestLobby_Movement_21A6FD - applymovement 255, LilycoveCity_ContestLobby_Movement_21A6E8 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A6E8 waitmovement 0 releaseall return @@ -643,10 +641,10 @@ LilycoveCity_ContestLobby_EventScript_21A819:: @ 821A819 LilycoveCity_ContestLobby_EventScript_21A856:: @ 821A856 msgbox LilycoveCity_ContestLobby_Text_27BD17, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_21A97F + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F call LilycoveCity_ContestLobby_EventScript_27134F compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_21A97F + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F message LilycoveCity_ContestLobby_Text_27C8FD waitmessage specialvar VAR_TEMP_D, IsWirelessAdapterConnected @@ -666,7 +664,7 @@ LilycoveCity_ContestLobby_EventScript_21A8BB:: @ 821A8BB LilycoveCity_ContestLobby_EventScript_21A8C6:: @ 821A8C6 setvar VAR_TEMP_C, 1 compare VAR_TEMP_D, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_21AAFC + goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAFC goto LilycoveCity_ContestLobby_EventScript_21A8DC end @@ -719,18 +717,18 @@ LilycoveCity_ContestLobby_EventScript_21A98C:: @ 821A98C setvar VAR_CONTEST_RANK, 0 choosecontestmon compare VAR_0x8004, 255 - goto_eq LilycoveCity_ContestLobby_EventScript_21A97F + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F special sub_80F7F30 compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_21A9E0 + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A9E0 compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_21AA0A + goto_if_eq LilycoveCity_ContestLobby_EventScript_21AA0A compare VAR_RESULT, 2 - goto_eq LilycoveCity_ContestLobby_EventScript_21AA0A + goto_if_eq LilycoveCity_ContestLobby_EventScript_21AA0A compare VAR_RESULT, 3 - goto_eq LilycoveCity_ContestLobby_EventScript_21A9EE + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A9EE compare VAR_RESULT, 4 - goto_eq LilycoveCity_ContestLobby_EventScript_21A9FC + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A9FC end LilycoveCity_ContestLobby_EventScript_21A9E0:: @ 821A9E0 @@ -755,28 +753,28 @@ LilycoveCity_ContestLobby_EventScript_21AA0A:: @ 821AA0A LilycoveCity_ContestLobby_EventScript_21AA15:: @ 821AA15 compare VAR_TEMP_D, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_21AB4B + goto_if_eq LilycoveCity_ContestLobby_EventScript_21AB4B compare VAR_TEMP_D, 2 - goto_if 4, LilycoveCity_ContestLobby_EventScript_21A97F + goto_if_ge LilycoveCity_ContestLobby_EventScript_21A97F message LilycoveCity_ContestLobby_Text_27BF85 waitmessage copyvar VAR_0x8004, VAR_RESULT compare VAR_TEMP_C, 0 - call_if 1, LilycoveCity_ContestLobby_EventScript_21AABB + call_if_eq LilycoveCity_ContestLobby_EventScript_21AABB compare VAR_TEMP_C, 1 - call_if 1, LilycoveCity_ContestLobby_EventScript_21AAC0 + call_if_eq LilycoveCity_ContestLobby_EventScript_21AAC0 compare VAR_TEMP_C, 2 - goto_if 4, LilycoveCity_ContestLobby_EventScript_21A97F + goto_if_ge LilycoveCity_ContestLobby_EventScript_21A97F compare VAR_RESULT, 4 - goto_eq LilycoveCity_ContestLobby_EventScript_21AAD3 + goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAD3 compare VAR_RESULT, 3 - goto_eq LilycoveCity_ContestLobby_EventScript_21AAD3 + goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAD3 compare VAR_RESULT, 5 - goto_eq LilycoveCity_ContestLobby_EventScript_21A97F + goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F compare VAR_RESULT, 6 - goto_eq LilycoveCity_ContestLobby_EventScript_21AAEF + goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAEF compare VAR_RESULT, 10 - goto_eq LilycoveCity_ContestLobby_EventScript_21AAE1 + goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAE1 message3 LilycoveCity_ContestLobby_Text_27BEEC contestlinktransfer switch VAR_0x8004 @@ -844,15 +842,15 @@ LilycoveCity_ContestLobby_EventScript_21AB17:: @ 821AB17 LilycoveCity_ContestLobby_EventScript_21AB4B:: @ 821AB4B compare VAR_CONTEST_CATEGORY, 0 - call_if 1, LilycoveCity_ContestLobby_EventScript_21AB88 + call_if_eq LilycoveCity_ContestLobby_EventScript_21AB88 compare VAR_CONTEST_CATEGORY, 1 - call_if 1, LilycoveCity_ContestLobby_EventScript_21AB8E + call_if_eq LilycoveCity_ContestLobby_EventScript_21AB8E compare VAR_CONTEST_CATEGORY, 2 - call_if 1, LilycoveCity_ContestLobby_EventScript_21AB94 + call_if_eq LilycoveCity_ContestLobby_EventScript_21AB94 compare VAR_CONTEST_CATEGORY, 3 - call_if 1, LilycoveCity_ContestLobby_EventScript_21AB9A + call_if_eq LilycoveCity_ContestLobby_EventScript_21AB9A compare VAR_CONTEST_CATEGORY, 4 - call_if 1, LilycoveCity_ContestLobby_EventScript_21ABA0 + call_if_eq LilycoveCity_ContestLobby_EventScript_21ABA0 goto LilycoveCity_ContestLobby_EventScript_21ABA6 end @@ -890,22 +888,22 @@ LilycoveCity_ContestLobby_EventScript_21ABA6:: @ 821ABA6 LilycoveCity_ContestLobby_EventScript_21ABE3:: @ 821ABE3 call LilycoveCity_ContestLobby_EventScript_21AC33 compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_21AC3D + goto_if_eq LilycoveCity_ContestLobby_EventScript_21AC3D compare VAR_RESULT, 5 - goto_eq LilycoveCity_ContestLobby_EventScript_21ABA6 + goto_if_eq LilycoveCity_ContestLobby_EventScript_21ABA6 compare VAR_RESULT, 8 - goto_eq LilycoveCity_ContestLobby_EventScript_21ABE3 + goto_if_eq LilycoveCity_ContestLobby_EventScript_21ABE3 release end LilycoveCity_ContestLobby_EventScript_21AC0B:: @ 821AC0B call LilycoveCity_ContestLobby_EventScript_21AC38 compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_21AC3D + goto_if_eq LilycoveCity_ContestLobby_EventScript_21AC3D compare VAR_RESULT, 5 - goto_eq LilycoveCity_ContestLobby_EventScript_21ABA6 + goto_if_eq LilycoveCity_ContestLobby_EventScript_21ABA6 compare VAR_RESULT, 8 - goto_eq LilycoveCity_ContestLobby_EventScript_21AC0B + goto_if_eq LilycoveCity_ContestLobby_EventScript_21AC0B release end @@ -945,7 +943,7 @@ LilycoveCity_ContestLobby_EventScript_21AC49:: @ 821AC49 delay 20 applymovement 2, LilycoveCity_ContestLobby_Movement_21ACEF waitmovement 0 - applymovement 255, LilycoveCity_ContestLobby_Movement_21ACDB + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21ACDB waitmovement 0 messageautoscroll LilycoveCity_ContestLobby_Text_27B653 waitmessage @@ -953,7 +951,7 @@ LilycoveCity_ContestLobby_EventScript_21AC49:: @ 821AC49 closemessage call LilycoveCity_ContestLobby_EventScript_27AD92 applymovement 2, LilycoveCity_ContestLobby_Movement_21ACE5 - applymovement 255, LilycoveCity_ContestLobby_Movement_21ACD0 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21ACD0 waitmovement 0 release return @@ -1006,8 +1004,7 @@ LilycoveCity_ContestLobby_Movement_21ACEF: @ 821ACEF LilycoveCity_ContestLobby_EventScript_21ACF1:: @ 821ACF1 lock faceplayer - checkflag FLAG_0x05F - goto_eq LilycoveCity_ContestLobby_EventScript_21AD06 + goto_if_set FLAG_0x05F, LilycoveCity_ContestLobby_EventScript_21AD06 msgbox LilycoveCity_ContestLobby_Text_21AD10, MSGBOX_DEFAULT release end diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc index 18ef70cfd..7ccc8b82f 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc @@ -3,10 +3,8 @@ LilycoveCity_CoveLilyMotel_1F_MapScripts:: @ 8218188 LilycoveCity_CoveLilyMotel_1F_EventScript_218189:: @ 8218189 lockall - checkflag FLAG_SYS_GAME_CLEAR - goto_eq LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA - checkflag FLAG_BADGE07_GET - goto_eq LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3 + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA + goto_if_set FLAG_BADGE07_GET, LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3 msgbox LilycoveCity_CoveLilyMotel_1F_Text_218264, MSGBOX_DEFAULT applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259E waitmovement 0 @@ -46,11 +44,11 @@ LilycoveCity_CoveLilyMotel_1F_EventScript_218211:: @ 8218211 waitmovement 0 applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259A waitmovement 0 - applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_CoveLilyMotel_1F_Movement_2725AA waitmovement 0 msgbox LilycoveCity_CoveLilyMotel_1F_Text_21839B, MSGBOX_DEFAULT closemessage - applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_218259 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_CoveLilyMotel_1F_Movement_218259 applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_21825E waitmovement 0 applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_218260 diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc index 33f67ff9a..2290b7df5 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc +++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc @@ -4,13 +4,11 @@ LilycoveCity_CoveLilyMotel_2F_MapScripts:: @ 82186D2 LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3:: @ 82186D3 lock faceplayer - checkflag FLAG_TEMP_2 - call_if 0, LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9 - checkflag FLAG_TEMP_2 - call_if 1, LilycoveCity_CoveLilyMotel_2F_EventScript_21870F + call_if_unset FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9 + call_if_set FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_21870F specialvar VAR_RESULT, sub_80C08E4 compare VAR_RESULT, 1 - goto_eq LilycoveCity_CoveLilyMotel_2F_EventScript_218702 + goto_if_eq LilycoveCity_CoveLilyMotel_2F_EventScript_218702 release end @@ -57,8 +55,7 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_218744:: @ 8218744 LilycoveCity_CoveLilyMotel_2F_EventScript_21874D:: @ 821874D lock faceplayer - checkflag FLAG_0x1CE - goto_eq LilycoveCity_CoveLilyMotel_2F_EventScript_21876A + goto_if_set FLAG_0x1CE, LilycoveCity_CoveLilyMotel_2F_EventScript_21876A msgbox LilycoveCity_CoveLilyMotel_2F_Text_218ACF, MSGBOX_DEFAULT addvar VAR_0x40D1, 1 setflag FLAG_0x1CE diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc index bcc3649e2..80a93df47 100644 --- a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc @@ -5,8 +5,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_220624:: @ 8220624 lock faceplayer setvar VAR_0x8004, 0 - checkflag FLAG_TEMP_2 - call_if 0, LilycoveCity_DepartmentStoreElevator_EventScript_2207FC + call_if_unset FLAG_TEMP_2, LilycoveCity_DepartmentStoreElevator_EventScript_2207FC copyvar VAR_0x8005, VAR_DEPT_STORE_FLOOR special sub_8139B60 message gUnknown_08272C1D @@ -61,7 +60,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_220718:: @ 8220718 setvar VAR_0x8006, 4 setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F, 255, 2, 1 compare VAR_DEPT_STORE_FLOOR, 4 - goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 setvar VAR_DEPT_STORE_FLOOR, 4 goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 @@ -71,7 +70,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_220740:: @ 8220740 setvar VAR_0x8006, 5 setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F, 255, 2, 1 compare VAR_DEPT_STORE_FLOOR, 5 - goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 setvar VAR_DEPT_STORE_FLOOR, 5 goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 @@ -81,7 +80,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_220768:: @ 8220768 setvar VAR_0x8006, 6 setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F, 255, 2, 1 compare VAR_DEPT_STORE_FLOOR, 6 - goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 setvar VAR_DEPT_STORE_FLOOR, 6 goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 @@ -91,7 +90,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_220790:: @ 8220790 setvar VAR_0x8006, 7 setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F, 255, 2, 1 compare VAR_DEPT_STORE_FLOOR, 7 - goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 setvar VAR_DEPT_STORE_FLOOR, 7 goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 @@ -101,7 +100,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_2207B8:: @ 82207B8 setvar VAR_0x8006, 8 setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F, 255, 2, 1 compare VAR_DEPT_STORE_FLOOR, 8 - goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 setvar VAR_DEPT_STORE_FLOOR, 8 goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc index dbb552409..d5379f96a 100644 --- a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc @@ -5,9 +5,9 @@ LilycoveCity_DepartmentStoreRooftop_MapScripts:: @ 8220207 LilycoveCity_DepartmentStoreRooftop_MapScript1_22020D: @ 822020D getpricereduction 3 compare VAR_RESULT, 1 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220227 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220227 compare VAR_RESULT, 0 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22022B + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_22022B end LilycoveCity_DepartmentStoreRooftop_EventScript_220227:: @ 8220227 @@ -53,7 +53,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_220268:: @ 8220268 faceplayer getpricereduction 3 compare VAR_RESULT, 1 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220282 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220282 msgbox LilycoveCity_DepartmentStoreRooftop_Text_220463, MSGBOX_DEFAULT release end @@ -127,22 +127,22 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_220328:: @ 8220328 LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F compare VAR_TEMP_1, 0 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220305 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220305 compare VAR_TEMP_1, 1 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22030C + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_22030C compare VAR_TEMP_1, 2 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220313 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220313 compare VAR_RESULT, 0 - goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220442 + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220442 checkitemspace VAR_TEMP_0, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 compare VAR_TEMP_1, 0 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22031A + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_22031A compare VAR_TEMP_1, 1 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220321 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220321 compare VAR_TEMP_1, 2 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220328 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220328 updatemoneybox 0, 0 nop bufferitemname 0, VAR_TEMP_0 @@ -154,10 +154,10 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F msgbox gUnknown_08272A9A, MSGBOX_DEFAULT random 64 compare VAR_RESULT, 0 - goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_220436 + goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_220436 checkitemspace VAR_TEMP_0, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 playse SE_JIHANKI msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, MSGBOX_DEFAULT giveitem VAR_TEMP_0, 1 @@ -166,10 +166,10 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F msgbox gUnknown_08272A9A, MSGBOX_DEFAULT random 64 compare VAR_RESULT, 0 - goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_220436 + goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_220436 checkitemspace VAR_TEMP_0, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 playse SE_JIHANKI msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, MSGBOX_DEFAULT giveitem VAR_TEMP_0, 1 diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc index fece7f16e..d2d5f60d6 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc @@ -10,12 +10,11 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C faceplayer dodailyevents compare VAR_POKELOT_PRIZE, 0 - goto_if 5, LilycoveCity_DepartmentStore_1F_EventScript_21F7F7 - checkflag FLAG_0x92A - goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F78D + goto_if_ne LilycoveCity_DepartmentStore_1F_EventScript_21F7F7 + goto_if_set FLAG_0x92A, LilycoveCity_DepartmentStore_1F_EventScript_21F78D msgbox LilycoveCity_DepartmentStore_1F_Text_2A6390, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F797 + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F797 setflag FLAG_0x92A message LilycoveCity_DepartmentStore_1F_Text_2A64C8 waitmessage @@ -34,24 +33,24 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_27259E waitmovement 0 compare VAR_0x8004, 0 - goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7A1 + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7A1 incrementgamestat 46 compare VAR_0x8006, 0 - call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F77B + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F77B compare VAR_0x8006, 1 - call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F784 + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F784 bufferitemname 0, VAR_0x8005 compare VAR_0x8004, 1 - call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7B9 + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7B9 compare VAR_0x8004, 2 - call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7C2 + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7C2 compare VAR_0x8004, 3 - call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7CB + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7CB compare VAR_0x8004, 4 - call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7D4 + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7D4 giveitem_std VAR_0x8005 compare VAR_RESULT, 0 - goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7DD + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7DD special sub_80EE2CC goto LilycoveCity_DepartmentStore_1F_EventScript_21F7AF end @@ -115,7 +114,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F7F7:: @ 821F7F7 msgbox LilycoveCity_DepartmentStore_1F_Text_2A67E1, MSGBOX_DEFAULT giveitem_std VAR_POKELOT_PRIZE compare VAR_RESULT, 0 - goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7ED + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7ED copyvar VAR_0x8004, VAR_0x404D copyvar VAR_0x8005, VAR_POKELOT_PRIZE special sub_80EE2CC diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc index 9f55dbc04..b278d3e14 100644 --- a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc @@ -126,9 +126,9 @@ LilycoveCity_DepartmentStore_5F_EventScript_220075:: @ 8220075 applymovement 7, LilycoveCity_DepartmentStore_5F_Movement_27259E waitmovement 0 compare VAR_0x405E, 0 - goto_eq LilycoveCity_DepartmentStore_5F_EventScript_22009C + goto_if_eq LilycoveCity_DepartmentStore_5F_EventScript_22009C compare VAR_0x405E, 4 - goto_if 4, LilycoveCity_DepartmentStore_5F_EventScript_22009C + goto_if_ge LilycoveCity_DepartmentStore_5F_EventScript_22009C goto LilycoveCity_DepartmentStore_5F_EventScript_2200A7 end diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc index 67ef01e09..62bcc15dd 100644 --- a/data/maps/LilycoveCity_Harbor/scripts.inc +++ b/data/maps/LilycoveCity_Harbor/scripts.inc @@ -9,8 +9,7 @@ LilycoveCity_Harbor_MapScript1_21E006: @ 821E006 LilycoveCity_Harbor_EventScript_21E00F:: @ 821E00F lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, LilycoveCity_Harbor_EventScript_21E54D + goto_if_unset FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_21E54D call LilycoveCity_Harbor_EventScript_21E194 call LilycoveCity_Harbor_EventScript_21E1C6 call LilycoveCity_Harbor_EventScript_21E1F8 @@ -18,23 +17,23 @@ LilycoveCity_Harbor_EventScript_21E00F:: @ 821E00F call LilycoveCity_Harbor_EventScript_21E25C call LilycoveCity_Harbor_EventScript_21E2A6 compare VAR_TEMP_C, 2 - goto_eq LilycoveCity_Harbor_EventScript_21E350 + goto_if_eq LilycoveCity_Harbor_EventScript_21E350 compare VAR_TEMP_B, 1 - goto_eq LilycoveCity_Harbor_EventScript_21E2F0 + goto_if_eq LilycoveCity_Harbor_EventScript_21E2F0 compare VAR_TEMP_B, 2 - goto_eq LilycoveCity_Harbor_EventScript_21E320 + goto_if_eq LilycoveCity_Harbor_EventScript_21E320 compare VAR_TEMP_B, 4 - goto_eq LilycoveCity_Harbor_EventScript_21E350 + goto_if_eq LilycoveCity_Harbor_EventScript_21E350 compare VAR_TEMP_B, 8 - goto_eq LilycoveCity_Harbor_EventScript_21E41D + goto_if_eq LilycoveCity_Harbor_EventScript_21E41D compare VAR_TEMP_B, 0 - goto_if 5, LilycoveCity_Harbor_EventScript_21E44D + goto_if_ne LilycoveCity_Harbor_EventScript_21E44D goto LilycoveCity_Harbor_EventScript_21E080 end LilycoveCity_Harbor_EventScript_21E080:: @ 821E080 compare VAR_TEMP_A, 0 - goto_eq LilycoveCity_Harbor_EventScript_21E557 + goto_if_eq LilycoveCity_Harbor_EventScript_21E557 msgbox LilycoveCity_Harbor_Text_21E758, MSGBOX_DEFAULT message LilycoveCity_Harbor_Text_21E7ED waitmessage @@ -88,7 +87,7 @@ LilycoveCity_Harbor_EventScript_21E139:: @ 821E139 LilycoveCity_Harbor_EventScript_21E149:: @ 821E149 msgbox LilycoveCity_Harbor_Text_21E864, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LilycoveCity_Harbor_EventScript_21E5C0 + goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0 setvar VAR_PORTHOLE_STATE, 5 call LilycoveCity_Harbor_EventScript_21E5CC warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 @@ -99,7 +98,7 @@ LilycoveCity_Harbor_EventScript_21E149:: @ 821E149 LilycoveCity_Harbor_EventScript_21E171:: @ 821E171 msgbox LilycoveCity_Harbor_Text_21E880, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LilycoveCity_Harbor_EventScript_21E5C0 + goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0 call LilycoveCity_Harbor_EventScript_21E5CC warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67 waitstate @@ -108,66 +107,58 @@ LilycoveCity_Harbor_EventScript_21E171:: @ 821E171 LilycoveCity_Harbor_EventScript_21E194:: @ 821E194 setvar VAR_TEMP_E, 0 - checkflag FLAG_SYS_HAS_EON_TICKET - goto_if 0, LilycoveCity_Harbor_EventScript_27374E + goto_if_unset FLAG_SYS_HAS_EON_TICKET, LilycoveCity_Harbor_EventScript_27374E checkitem ITEM_EON_TICKET, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_Harbor_EventScript_27374E + goto_if_eq LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_E, 1 - checkflag FLAG_0x1AE - goto_eq LilycoveCity_Harbor_EventScript_27374E + goto_if_set FLAG_0x1AE, LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_E, 2 return LilycoveCity_Harbor_EventScript_21E1C6:: @ 821E1C6 setvar VAR_TEMP_D, 0 - checkflag FLAG_0x8D5 - goto_if 0, LilycoveCity_Harbor_EventScript_27374E + goto_if_unset FLAG_0x8D5, LilycoveCity_Harbor_EventScript_27374E checkitem ITEM_AURORA_TICKET, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_Harbor_EventScript_27374E + goto_if_eq LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_D, 1 - checkflag FLAG_0x1AF - goto_eq LilycoveCity_Harbor_EventScript_27374E + goto_if_set FLAG_0x1AF, LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_D, 2 return LilycoveCity_Harbor_EventScript_21E1F8:: @ 821E1F8 setvar VAR_TEMP_C, 0 - checkflag FLAG_0x8D6 - goto_if 0, LilycoveCity_Harbor_EventScript_27374E + goto_if_unset FLAG_0x8D6, LilycoveCity_Harbor_EventScript_27374E checkitem ITEM_OLD_SEA_MAP, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_Harbor_EventScript_27374E + goto_if_eq LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_C, 1 - checkflag FLAG_0x1B0 - goto_eq LilycoveCity_Harbor_EventScript_27374E + goto_if_set FLAG_0x1B0, LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_C, 2 return LilycoveCity_Harbor_EventScript_21E22A:: @ 821E22A setvar VAR_TEMP_9, 0 - checkflag FLAG_0x8E0 - goto_if 0, LilycoveCity_Harbor_EventScript_27374E + goto_if_unset FLAG_0x8E0, LilycoveCity_Harbor_EventScript_27374E checkitem ITEM_MYSTIC_TICKET, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_Harbor_EventScript_27374E + goto_if_eq LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_9, 1 - checkflag FLAG_0x1DB - goto_eq LilycoveCity_Harbor_EventScript_27374E + goto_if_set FLAG_0x1DB, LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_9, 2 return LilycoveCity_Harbor_EventScript_21E25C:: @ 821E25C setvar VAR_TEMP_B, 0 compare VAR_TEMP_E, 2 - call_if 1, LilycoveCity_Harbor_EventScript_21E28E + call_if_eq LilycoveCity_Harbor_EventScript_21E28E compare VAR_TEMP_D, 2 - call_if 1, LilycoveCity_Harbor_EventScript_21E294 + call_if_eq LilycoveCity_Harbor_EventScript_21E294 compare VAR_TEMP_C, 2 - call_if 1, LilycoveCity_Harbor_EventScript_21E29A + call_if_eq LilycoveCity_Harbor_EventScript_21E29A compare VAR_TEMP_9, 2 - call_if 1, LilycoveCity_Harbor_EventScript_21E2A0 + call_if_eq LilycoveCity_Harbor_EventScript_21E2A0 return LilycoveCity_Harbor_EventScript_21E28E:: @ 821E28E @@ -189,13 +180,13 @@ LilycoveCity_Harbor_EventScript_21E2A0:: @ 821E2A0 LilycoveCity_Harbor_EventScript_21E2A6:: @ 821E2A6 setvar VAR_TEMP_A, 0 compare VAR_TEMP_E, 1 - call_if 1, LilycoveCity_Harbor_EventScript_21E2D8 + call_if_eq LilycoveCity_Harbor_EventScript_21E2D8 compare VAR_TEMP_D, 1 - call_if 1, LilycoveCity_Harbor_EventScript_21E2DE + call_if_eq LilycoveCity_Harbor_EventScript_21E2DE compare VAR_TEMP_C, 1 - call_if 1, LilycoveCity_Harbor_EventScript_21E2E4 + call_if_eq LilycoveCity_Harbor_EventScript_21E2E4 compare VAR_TEMP_9, 1 - call_if 1, LilycoveCity_Harbor_EventScript_21E2EA + call_if_eq LilycoveCity_Harbor_EventScript_21E2EA return LilycoveCity_Harbor_EventScript_21E2D8:: @ 821E2D8 @@ -263,25 +254,25 @@ LilycoveCity_Harbor_EventScript_21E350:: @ 821E350 applymovement 4, LilycoveCity_Harbor_Movement_27259A waitmovement 0 compare VAR_FACING, 2 - call_if 1, LilycoveCity_Harbor_EventScript_21E656 + call_if_eq LilycoveCity_Harbor_EventScript_21E656 compare VAR_FACING, 4 - call_if 1, LilycoveCity_Harbor_EventScript_21E661 + call_if_eq LilycoveCity_Harbor_EventScript_21E661 addobject 5 compare VAR_FACING, 2 - call_if 1, LilycoveCity_Harbor_EventScript_21E675 + call_if_eq LilycoveCity_Harbor_EventScript_21E675 compare VAR_FACING, 4 - call_if 1, LilycoveCity_Harbor_EventScript_21E680 + call_if_eq LilycoveCity_Harbor_EventScript_21E680 msgbox LilycoveCity_Harbor_Text_2C6951, MSGBOX_DEFAULT compare VAR_FACING, 2 - call_if 1, LilycoveCity_Harbor_EventScript_21E68B + call_if_eq LilycoveCity_Harbor_EventScript_21E68B compare VAR_FACING, 4 - call_if 1, LilycoveCity_Harbor_EventScript_21E696 + call_if_eq LilycoveCity_Harbor_EventScript_21E696 msgbox LilycoveCity_Harbor_Text_2C69AA, MSGBOX_DEFAULT closemessage compare VAR_FACING, 2 - call_if 1, LilycoveCity_Harbor_EventScript_21E6A1 + call_if_eq LilycoveCity_Harbor_EventScript_21E6A1 compare VAR_FACING, 4 - call_if 1, LilycoveCity_Harbor_EventScript_21E6BA + call_if_eq LilycoveCity_Harbor_EventScript_21E6BA setvar VAR_0x8004, 2 call LilycoveCity_Harbor_EventScript_2721E2 warp MAP_FARAWAY_ISLAND_ENTRANCE, 255, 13, 38 @@ -368,11 +359,11 @@ LilycoveCity_Harbor_EventScript_21E514:: @ 821E514 delay 30 removeobject 4 compare VAR_FACING, 2 - call_if 1, LilycoveCity_Harbor_EventScript_21E61B + call_if_eq LilycoveCity_Harbor_EventScript_21E61B compare VAR_FACING, 4 - call_if 1, LilycoveCity_Harbor_EventScript_21E610 + call_if_eq LilycoveCity_Harbor_EventScript_21E610 delay 30 - hideobjectat 255, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY setvar VAR_0x8004, 2 call LilycoveCity_Harbor_EventScript_2721E2 return @@ -397,7 +388,7 @@ LilycoveCity_Harbor_EventScript_21E56B:: @ 821E56B LilycoveCity_Harbor_EventScript_21E575:: @ 821E575 msgbox LilycoveCity_Harbor_Text_21E864, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LilycoveCity_Harbor_EventScript_21E5C0 + goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0 setvar VAR_PORTHOLE_STATE, 5 call LilycoveCity_Harbor_EventScript_21E5CC warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 @@ -408,7 +399,7 @@ LilycoveCity_Harbor_EventScript_21E575:: @ 821E575 LilycoveCity_Harbor_EventScript_21E59D:: @ 821E59D msgbox LilycoveCity_Harbor_Text_21E880, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LilycoveCity_Harbor_EventScript_21E5C0 + goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0 call LilycoveCity_Harbor_EventScript_21E5CC warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67 waitstate @@ -429,22 +420,22 @@ LilycoveCity_Harbor_EventScript_21E5CC:: @ 821E5CC delay 30 hideobjectat VAR_LAST_TALKED, MAP_LILYCOVE_CITY_HARBOR compare VAR_FACING, 2 - call_if 1, LilycoveCity_Harbor_EventScript_21E61B + call_if_eq LilycoveCity_Harbor_EventScript_21E61B compare VAR_FACING, 4 - call_if 1, LilycoveCity_Harbor_EventScript_21E610 + call_if_eq LilycoveCity_Harbor_EventScript_21E610 delay 30 - hideobjectat 255, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY setvar VAR_0x8004, 2 call LilycoveCity_Harbor_EventScript_2721E2 return LilycoveCity_Harbor_EventScript_21E610:: @ 821E610 - applymovement 255, LilycoveCity_Harbor_Movement_21E630 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E630 waitmovement 0 return LilycoveCity_Harbor_EventScript_21E61B:: @ 821E61B - applymovement 255, LilycoveCity_Harbor_Movement_21E633 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E633 waitmovement 0 return @@ -469,8 +460,7 @@ LilycoveCity_Harbor_Movement_21E635: @ 821E635 LilycoveCity_Harbor_EventScript_21E637:: @ 821E637 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_eq LilycoveCity_Harbor_EventScript_21E64C + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_21E64C msgbox LilycoveCity_Harbor_Text_21E8EE, MSGBOX_DEFAULT release end @@ -525,14 +515,14 @@ LilycoveCity_Harbor_EventScript_21E696:: @ 821E696 LilycoveCity_Harbor_EventScript_21E6A1:: @ 821E6A1 applymovement 5, LilycoveCity_Harbor_Movement_21E6D3 - applymovement 255, LilycoveCity_Harbor_Movement_21E6D7 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E6D7 applymovement 4, LilycoveCity_Harbor_Movement_21E6DC waitmovement 0 return LilycoveCity_Harbor_EventScript_21E6BA:: @ 821E6BA applymovement 5, LilycoveCity_Harbor_Movement_21E6D3 - applymovement 255, LilycoveCity_Harbor_Movement_21E6E4 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E6E4 applymovement 4, LilycoveCity_Harbor_Movement_21E6EA waitmovement 0 return diff --git a/data/maps/LilycoveCity_House2/scripts.inc b/data/maps/LilycoveCity_House2/scripts.inc index 6069f0fa7..dc526f00b 100644 --- a/data/maps/LilycoveCity_House2/scripts.inc +++ b/data/maps/LilycoveCity_House2/scripts.inc @@ -4,12 +4,11 @@ LilycoveCity_House2_MapScripts:: @ 821ED74 LilycoveCity_House2_EventScript_21ED75:: @ 821ED75 lock faceplayer - checkflag FLAG_0x0EA - goto_eq LilycoveCity_House2_EventScript_21EDAC + goto_if_set FLAG_0x0EA, LilycoveCity_House2_EventScript_21EDAC msgbox LilycoveCity_House2_Text_21EDB6, MSGBOX_DEFAULT giveitem_std ITEM_TM44 compare VAR_RESULT, 0 - goto_eq LilycoveCity_House2_EventScript_272054 + goto_if_eq LilycoveCity_House2_EventScript_272054 setflag FLAG_0x0EA msgbox LilycoveCity_House2_Text_21EDF9, MSGBOX_DEFAULT release diff --git a/data/maps/LilycoveCity_House3/scripts.inc b/data/maps/LilycoveCity_House3/scripts.inc index 8c3f4f7ab..644c50113 100644 --- a/data/maps/LilycoveCity_House3/scripts.inc +++ b/data/maps/LilycoveCity_House3/scripts.inc @@ -12,7 +12,7 @@ LilycoveCity_House3_EventScript_21EE4B:: @ 821EE4B faceplayer msgbox LilycoveCity_House3_Text_21EF99, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LilycoveCity_House3_EventScript_21EE75 + goto_if_eq LilycoveCity_House3_EventScript_21EE75 msgbox LilycoveCity_House3_Text_21F0F8, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, LilycoveCity_House3_Movement_2725A2 diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc index f56102a99..89ac90dc6 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc @@ -12,9 +12,9 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2:: @ 8218CC2 waitmessage multichoice 20, 8, 16, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5 + goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5 compare VAR_RESULT, 1 - goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC + goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC end LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC:: @ 8218CEC @@ -24,9 +24,9 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC:: @ 8218CEC LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5:: @ 8218CF5 msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F98, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D14 + goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D14 compare VAR_RESULT, 1 - goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E + goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E end LilycoveCity_LilycoveMuseum_1F_EventScript_218D14:: @ 8218D14 @@ -47,7 +47,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E:: @ 8218D1E LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A:: @ 8218D5A lockall - applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218DA1 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218DA1 waitmovement 0 warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8 waitstate @@ -55,7 +55,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A:: @ 8218D5A LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F:: @ 8218D6F lockall - applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218D9B + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218D9B waitmovement 0 warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8 waitstate @@ -63,7 +63,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F:: @ 8218D6F LilycoveCity_LilycoveMuseum_1F_EventScript_218D84:: @ 8218D84 lockall - applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218D9E + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218D9E waitmovement 0 warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8 waitstate diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc index 5f2b64aec..325ad0340 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc @@ -4,32 +4,27 @@ LilycoveCity_LilycoveMuseum_2F_MapScripts:: @ 821973A .byte 0 LilycoveCity_LilycoveMuseum_2F_MapScript1_219745: @ 8219745 - checkflag FLAG_0x0A0 - goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_21978B + goto_if_set FLAG_0x0A0, LilycoveCity_LilycoveMuseum_2F_EventScript_21978B goto LilycoveCity_LilycoveMuseum_2F_EventScript_219754 end LilycoveCity_LilycoveMuseum_2F_EventScript_219754:: @ 8219754 - checkflag FLAG_0x0A1 - goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3 + goto_if_set FLAG_0x0A1, LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3 goto LilycoveCity_LilycoveMuseum_2F_EventScript_219763 end LilycoveCity_LilycoveMuseum_2F_EventScript_219763:: @ 8219763 - checkflag FLAG_0x0A2 - goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB + goto_if_set FLAG_0x0A2, LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB goto LilycoveCity_LilycoveMuseum_2F_EventScript_219772 end LilycoveCity_LilycoveMuseum_2F_EventScript_219772:: @ 8219772 - checkflag FLAG_0x0A3 - goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3 + goto_if_set FLAG_0x0A3, LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3 goto LilycoveCity_LilycoveMuseum_2F_EventScript_219781 end LilycoveCity_LilycoveMuseum_2F_EventScript_219781:: @ 8219781 - checkflag FLAG_0x0A4 - goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB + goto_if_set FLAG_0x0A4, LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB end LilycoveCity_LilycoveMuseum_2F_EventScript_21978B:: @ 821978B @@ -68,17 +63,17 @@ LilycoveCity_LilycoveMuseum_2F_MapScript2_2197FE: @ 82197FE LilycoveCity_LilycoveMuseum_2F_EventScript_219808:: @ 8219808 lockall applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E - applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219861 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219861 waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_2199EB, MSGBOX_SIGN applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863 waitmovement 0 - applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219863 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219863 waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_219A0D, MSGBOX_SIGN applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E waitmovement 0 - applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219861 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219861 waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_219BC4, MSGBOX_SIGN copyvar VAR_0x4094, 0x1 @@ -96,8 +91,7 @@ LilycoveCity_LilycoveMuseum_2F_Movement_219863: @ 8219863 LilycoveCity_LilycoveMuseum_2F_EventScript_219866:: @ 8219866 lockall - checkflag FLAG_0x0EC - goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219921 + goto_if_set FLAG_0x0EC, LilycoveCity_LilycoveMuseum_2F_EventScript_219921 specialvar VAR_0x8004, sub_80F8940 switch VAR_0x8004 case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA @@ -126,7 +120,7 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA:: @ 82198EA msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EC5, MSGBOX_DEFAULT givedecoration_std 44 compare VAR_RESULT, 0 - goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219911 + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219911 setflag FLAG_0x0EC closemessage releaseall @@ -146,36 +140,31 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_219921:: @ 8219921 LilycoveCity_LilycoveMuseum_2F_EventScript_21992B:: @ 821992B lockall - checkflag FLAG_0x0A2 - goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1 + goto_if_set FLAG_0x0A2, LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1 msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FA0, MSGBOX_SIGN end LilycoveCity_LilycoveMuseum_2F_EventScript_21993E:: @ 821993E lockall - checkflag FLAG_0x0A4 - goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD + goto_if_set FLAG_0x0A4, LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FD3, MSGBOX_SIGN end LilycoveCity_LilycoveMuseum_2F_EventScript_219951:: @ 8219951 lockall - checkflag FLAG_0x0A0 - goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5 + goto_if_set FLAG_0x0A0, LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5 msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A03B, MSGBOX_SIGN end LilycoveCity_LilycoveMuseum_2F_EventScript_219964:: @ 8219964 lockall - checkflag FLAG_0x0A1 - goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3 + goto_if_set FLAG_0x0A1, LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3 msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A008, MSGBOX_SIGN end LilycoveCity_LilycoveMuseum_2F_EventScript_219977:: @ 8219977 lockall - checkflag FLAG_0x0A3 - goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF + goto_if_set FLAG_0x0A3, LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A06D, MSGBOX_SIGN end diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc index 160dab557..c5c2188e5 100644 --- a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc +++ b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc @@ -17,19 +17,19 @@ LilycoveCity_MoveDeletersHouse_EventScript_21EA3B:: @ 821EA3B special sub_81B94B0 waitstate compare VAR_0x8004, 255 - goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAE6 + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAE6 special sub_81B98DC compare VAR_RESULT, 1 - goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EADC + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EADC special sub_81B96D0 compare VAR_RESULT, 1 - goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EACF + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EACF msgbox LilycoveCity_MoveDeletersHouse_Text_21EB89, MSGBOX_DEFAULT fadescreen 1 special sub_81B968C fadescreen 0 compare VAR_0x8005, 4 - goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EA3B + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EA3B special sub_81B9718 msgbox LilycoveCity_MoveDeletersHouse_Text_21EBDA, MSGBOX_YESNO switch VAR_RESULT @@ -41,7 +41,7 @@ LilycoveCity_MoveDeletersHouse_EventScript_21EA3B:: @ 821EA3B LilycoveCity_MoveDeletersHouse_EventScript_21EAB0:: @ 821EAB0 special sub_81B9918 compare VAR_RESULT, 1 - goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAF0 + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAF0 special sub_81B9770 playfanfare MUS_ME_WASURE waitfanfare diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc index 5e51f7daa..dd0dff376 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc @@ -11,9 +11,9 @@ LilycoveCity_PokemonCenter_1F_MapScript1_21C5BD: @ 821C5BD LilycoveCity_PokemonCenter_1F_EventScript_21C5C6:: @ 821C5C6 special sub_818D9C0 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E0 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E4 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E4 end LilycoveCity_PokemonCenter_1F_EventScript_21C5E0:: @ 821C5E0 @@ -39,8 +39,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_21C5F6:: @ 821C5F6 LilycoveCity_PokemonCenter_1F_EventScript_21C5FF:: @ 821C5FF lock faceplayer - checkflag FLAG_BADGE07_GET - goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C614 + goto_if_set FLAG_BADGE07_GET, LilycoveCity_PokemonCenter_1F_EventScript_21C614 msgbox LilycoveCity_PokemonCenter_1F_Text_21C69D, MSGBOX_DEFAULT release end diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc index d4c0f4cea..cf4be3065 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc @@ -15,12 +15,12 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5 waitmovement 0 - applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_PokemonTrainerFanClub_Movement_2725A8 waitmovement 0 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF12, MSGBOX_DEFAULT applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C804 waitmovement 0 - applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_PokemonTrainerFanClub_Movement_2725A4 waitmovement 0 applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C807 waitmovement 0 @@ -63,9 +63,9 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807 LilycoveCity_PokemonTrainerFanClub_MapScript1_21C80D: @ 821C80D call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA compare VAR_LILYCOVE_FAN_CLUB_STATE, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8 compare VAR_LILYCOVE_FAN_CLUB_STATE, 2 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C829 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C829 end LilycoveCity_PokemonTrainerFanClub_EventScript_21C829:: @ 821C829 @@ -74,41 +74,41 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C829:: @ 821C829 setvar VAR_0x8004, 8 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8 + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8 setvar VAR_0x8004, 9 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0 + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0 setvar VAR_0x8004, 10 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8 + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8 setvar VAR_0x8004, 11 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0 + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0 setvar VAR_0x8004, 12 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8 + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8 setvar VAR_0x8004, 13 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0 + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0 setvar VAR_0x8004, 14 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8 + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8 setvar VAR_0x8004, 15 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0 + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0 end LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA:: @ 821C8DA specialvar VAR_RESULT, sub_80EE7C0 compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1 clearflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER clearflag FLAG_0x0D2 return @@ -122,37 +122,37 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5:: @ 821C8F5 setvar VAR_0x8004, 8 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 9 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 10 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 11 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 12 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 13 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 14 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 15 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE compare VAR_0x8005, 5 - goto_if 4, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4 + goto_if_ge LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4 return LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE:: @ 821C9AE @@ -210,13 +210,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17 setvar VAR_0x8004, 13 special BufferStreakTrainerText compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56 specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, MSGBOX_DEFAULT release end @@ -224,7 +224,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17 LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56:: @ 821CA56 specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, MSGBOX_DEFAULT release end @@ -250,13 +250,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E setvar VAR_0x8004, 8 special BufferStreakTrainerText compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, MSGBOX_DEFAULT release end @@ -264,7 +264,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD:: @ 821CACD specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, MSGBOX_DEFAULT release end @@ -290,13 +290,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05 setvar VAR_0x8004, 9 special BufferStreakTrainerText compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44 specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, MSGBOX_DEFAULT release end @@ -304,7 +304,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05 LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44:: @ 821CB44 specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, MSGBOX_DEFAULT release end @@ -330,13 +330,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C setvar VAR_0x8004, 10 special BufferStreakTrainerText compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9 specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, MSGBOX_DEFAULT release end @@ -344,7 +344,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB:: @ 821CBBB specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, MSGBOX_DEFAULT release end @@ -371,10 +371,10 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3 special BufferStreakTrainerText specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27 specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, MSGBOX_DEFAULT release end @@ -382,7 +382,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3 LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27:: @ 821CC27 specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, MSGBOX_DEFAULT release end @@ -404,10 +404,10 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55 special BufferStreakTrainerText specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89 specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, MSGBOX_DEFAULT release end @@ -415,7 +415,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55 LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89:: @ 821CC89 specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, MSGBOX_DEFAULT release end @@ -437,10 +437,10 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7 special BufferStreakTrainerText specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, MSGBOX_DEFAULT release end @@ -448,7 +448,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7 LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB:: @ 821CCEB specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, MSGBOX_DEFAULT release end @@ -470,10 +470,10 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19 special BufferStreakTrainerText specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, MSGBOX_DEFAULT release end @@ -481,7 +481,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19 LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D:: @ 821CD4D specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE72, MSGBOX_DEFAULT release end @@ -499,17 +499,15 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71:: @ 821CD71 LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B:: @ 821CD7B lock faceplayer - checkflag FLAG_0x0D2 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED - checkflag FLAG_0x0D2 - goto_if 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90 + goto_if_set FLAG_0x0D2, LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED + goto_if_unset FLAG_0x0D2, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90 setvar VAR_0x8005, 11 special InterviewBefore compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF copyvar VAR_0x800A, VAR_0x8006 setvar VAR_0x8004, 8 special BufferStreakTrainerText @@ -520,9 +518,9 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90 lock faceplayer compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE end LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0:: @ 821CDE0 @@ -535,9 +533,9 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C3D, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15 @@ -550,9 +548,9 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15 lock faceplayer compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE end LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D @@ -580,9 +578,9 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CCD, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 compare VAR_RESULT, 0 - goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D end LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6:: @ 821CEC6 diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc index 660a3984d..9f589d2e4 100644 --- a/data/maps/LittlerootTown/scripts.inc +++ b/data/maps/LittlerootTown/scripts.inc @@ -8,23 +8,22 @@ LittlerootTown_MapScript1_1E7DDB: @ 81E7DDB setflag FLAG_VISITED_LITTLEROOT_TOWN call LittlerootTown_EventScript_271ED7 compare VAR_0x4092, 2 - call_if 1, LittlerootTown_EventScript_1E7E67 - checkflag FLAG_0x052 - call_if 0, LittlerootTown_EventScript_1E7E6F + call_if_eq LittlerootTown_EventScript_1E7E67 + call_if_unset FLAG_0x052, LittlerootTown_EventScript_1E7E6F compare VAR_0x4050, 3 - call_if 1, LittlerootTown_EventScript_1E7E92 + call_if_eq LittlerootTown_EventScript_1E7E92 compare VAR_0x4082, 4 - call_if 1, LittlerootTown_EventScript_1E7E5C + call_if_eq LittlerootTown_EventScript_1E7E5C compare VAR_0x408C, 4 - call_if 1, LittlerootTown_EventScript_1E7E5C + call_if_eq LittlerootTown_EventScript_1E7E5C compare VAR_0x40C7, 1 - call_if 1, LittlerootTown_EventScript_1E7E53 + call_if_eq LittlerootTown_EventScript_1E7E53 compare VAR_0x408D, 3 - call_if 1, LittlerootTown_EventScript_1E7E4F + call_if_eq LittlerootTown_EventScript_1E7E4F compare VAR_0x40D3, 1 - call_if 1, LittlerootTown_EventScript_1E7E4B + call_if_eq LittlerootTown_EventScript_1E7E4B compare VAR_0x40D3, 2 - call_if 1, LittlerootTown_EventScript_1E7E45 + call_if_eq LittlerootTown_EventScript_1E7E45 end LittlerootTown_EventScript_1E7E45:: @ 81E7E45 @@ -55,7 +54,7 @@ LittlerootTown_EventScript_1E7E67:: @ 81E7E67 LittlerootTown_EventScript_1E7E6F:: @ 81E7E6F compare VAR_0x4050, 0 - goto_eq LittlerootTown_EventScript_1E7E86 + goto_if_eq LittlerootTown_EventScript_1E7E86 setobjectxyperm 1, 10, 1 setobjectmovementtype 1, 7 return @@ -70,9 +69,9 @@ LittlerootTown_EventScript_1E7E92:: @ 81E7E92 setobjectmovementtype 4, 8 checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_EventScript_1E7EB1 + call_if_eq LittlerootTown_EventScript_1E7EB1 compare VAR_RESULT, 1 - call_if 1, LittlerootTown_EventScript_1E7EB9 + call_if_eq LittlerootTown_EventScript_1E7EB9 return LittlerootTown_EventScript_1E7EB1:: @ 81E7EB1 @@ -114,7 +113,7 @@ LittlerootTown_EventScript_1E7EF9:: @ 81E7EF9 LittlerootTown_EventScript_1E7F17:: @ 81E7F17 delay 15 playse SE_DANSA - applymovement 255, LittlerootTown_Movement_1E7FAC + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FAC waitmovement 0 opendoor VAR_0x8004, VAR_0x8005 waitdooranim @@ -129,16 +128,16 @@ LittlerootTown_EventScript_1E7F17:: @ 81E7F17 msgbox LittlerootTown_Text_1E86BC, MSGBOX_DEFAULT closemessage applymovement 4, LittlerootTown_Movement_1E7F9D - applymovement 255, LittlerootTown_Movement_1E7FA4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FA4 waitmovement 0 opendoor VAR_0x8004, VAR_0x8005 waitdooranim applymovement 4, LittlerootTown_Movement_1E7FA1 - applymovement 255, LittlerootTown_Movement_1E7FA9 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FA9 waitmovement 0 setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE setvar VAR_0x4092, 3 - hideobjectat 255, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor VAR_0x8004, VAR_0x8005 waitdooranim clearflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN @@ -210,7 +209,7 @@ LittlerootTown_EventScript_1E7FEC:: @ 81E7FEC addobject 7 checkplayergender compare VAR_RESULT, 0 - goto_eq LittlerootTown_EventScript_1E8004 + goto_if_eq LittlerootTown_EventScript_1E8004 goto LittlerootTown_EventScript_1E8013 end @@ -235,12 +234,10 @@ LittlerootTown_EventScript_1E802B:: @ 81E802B LittlerootTown_EventScript_1E8034:: @ 81E8034 lock faceplayer - checkflag FLAG_0x074 - goto_eq LittlerootTown_EventScript_1E8087 - checkflag FLAG_0x052 - goto_eq LittlerootTown_EventScript_1E807A + goto_if_set FLAG_0x074, LittlerootTown_EventScript_1E8087 + goto_if_set FLAG_0x052, LittlerootTown_EventScript_1E807A compare VAR_0x4050, 0 - goto_if 5, LittlerootTown_EventScript_1E805D + goto_if_ne LittlerootTown_EventScript_1E805D msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT release end @@ -280,7 +277,7 @@ LittlerootTown_EventScript_1E80AD:: @ 81E80AD msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT closemessage applymovement 1, LittlerootTown_Movement_1E80DF - applymovement 255, LittlerootTown_Movement_1E80EB + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E80EB waitmovement 0 msgbox LittlerootTown_Text_1E8C07, MSGBOX_DEFAULT closemessage @@ -362,7 +359,7 @@ LittlerootTown_EventScript_1E811F:: @ 81E811F lockall applymovement 1, LittlerootTown_Movement_2725A8 waitmovement 0 - applymovement 255, LittlerootTown_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4 waitmovement 0 special GetPlayerBigGuyGirlString msgbox LittlerootTown_Text_1E8C3A, MSGBOX_DEFAULT @@ -385,9 +382,9 @@ LittlerootTown_EventScript_1E8163:: @ 81E8163 lockall checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_EventScript_1E817D + call_if_eq LittlerootTown_EventScript_1E817D compare VAR_RESULT, 1 - call_if 1, LittlerootTown_EventScript_1E8186 + call_if_eq LittlerootTown_EventScript_1E8186 releaseall end @@ -403,9 +400,9 @@ LittlerootTown_EventScript_1E818F:: @ 81E818F lockall checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_EventScript_1E81A9 + call_if_eq LittlerootTown_EventScript_1E81A9 compare VAR_RESULT, 1 - call_if 1, LittlerootTown_EventScript_1E81B2 + call_if_eq LittlerootTown_EventScript_1E81B2 releaseall end @@ -458,27 +455,27 @@ LittlerootTown_EventScript_1E8205:: @ 81E8205 LittlerootTown_EventScript_1E8211:: @ 81E8211 checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_EventScript_1E8297 + call_if_eq LittlerootTown_EventScript_1E8297 compare VAR_RESULT, 1 - call_if 1, LittlerootTown_EventScript_1E82A2 + call_if_eq LittlerootTown_EventScript_1E82A2 checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_EventScript_1E8281 + call_if_eq LittlerootTown_EventScript_1E8281 compare VAR_RESULT, 1 - call_if 1, LittlerootTown_EventScript_1E828C + call_if_eq LittlerootTown_EventScript_1E828C msgbox LittlerootTown_Text_1E87E1, MSGBOX_DEFAULT closemessage checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_EventScript_1E82AD + call_if_eq LittlerootTown_EventScript_1E82AD compare VAR_RESULT, 1 - call_if 1, LittlerootTown_EventScript_1E82F0 + call_if_eq LittlerootTown_EventScript_1E82F0 call LittlerootTown_EventScript_1E8693 checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_EventScript_1E8405 + call_if_eq LittlerootTown_EventScript_1E8405 compare VAR_RESULT, 1 - call_if 1, LittlerootTown_EventScript_1E8448 + call_if_eq LittlerootTown_EventScript_1E8448 goto LittlerootTown_EventScript_1E8686 end @@ -504,99 +501,99 @@ LittlerootTown_EventScript_1E82A2:: @ 81E82A2 LittlerootTown_EventScript_1E82AD:: @ 81E82AD compare VAR_0x8008, 0 - call_if 1, LittlerootTown_EventScript_1E8333 + call_if_eq LittlerootTown_EventScript_1E8333 compare VAR_0x8008, 1 - call_if 1, LittlerootTown_EventScript_1E8348 + call_if_eq LittlerootTown_EventScript_1E8348 compare VAR_0x8008, 2 - call_if 1, LittlerootTown_EventScript_1E835D + call_if_eq LittlerootTown_EventScript_1E835D compare VAR_0x8008, 3 - call_if 1, LittlerootTown_EventScript_1E8372 + call_if_eq LittlerootTown_EventScript_1E8372 compare VAR_0x8008, 4 - call_if 1, LittlerootTown_EventScript_1E8387 + call_if_eq LittlerootTown_EventScript_1E8387 compare VAR_0x8008, 5 - call_if 1, LittlerootTown_EventScript_1E839C + call_if_eq LittlerootTown_EventScript_1E839C return LittlerootTown_EventScript_1E82F0:: @ 81E82F0 compare VAR_0x8008, 0 - call_if 1, LittlerootTown_EventScript_1E8333 + call_if_eq LittlerootTown_EventScript_1E8333 compare VAR_0x8008, 1 - call_if 1, LittlerootTown_EventScript_1E8348 + call_if_eq LittlerootTown_EventScript_1E8348 compare VAR_0x8008, 2 - call_if 1, LittlerootTown_EventScript_1E83B1 + call_if_eq LittlerootTown_EventScript_1E83B1 compare VAR_0x8008, 3 - call_if 1, LittlerootTown_EventScript_1E83C6 + call_if_eq LittlerootTown_EventScript_1E83C6 compare VAR_0x8008, 4 - call_if 1, LittlerootTown_EventScript_1E83DB + call_if_eq LittlerootTown_EventScript_1E83DB compare VAR_0x8008, 5 - call_if 1, LittlerootTown_EventScript_1E83F0 + call_if_eq LittlerootTown_EventScript_1E83F0 return LittlerootTown_EventScript_1E8333:: @ 81E8333 - applymovement 255, LittlerootTown_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725AA waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85D1 waitmovement 0 return LittlerootTown_EventScript_1E8348:: @ 81E8348 - applymovement 255, LittlerootTown_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725AA waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85D8 waitmovement 0 return LittlerootTown_EventScript_1E835D:: @ 81E835D - applymovement 255, LittlerootTown_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85DF waitmovement 0 return LittlerootTown_EventScript_1E8372:: @ 81E8372 - applymovement 255, LittlerootTown_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85E4 waitmovement 0 return LittlerootTown_EventScript_1E8387:: @ 81E8387 - applymovement 255, LittlerootTown_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85EA waitmovement 0 return LittlerootTown_EventScript_1E839C:: @ 81E839C - applymovement 255, LittlerootTown_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85ED waitmovement 0 return LittlerootTown_EventScript_1E83B1:: @ 81E83B1 - applymovement 255, LittlerootTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A8 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85F1 waitmovement 0 return LittlerootTown_EventScript_1E83C6:: @ 81E83C6 - applymovement 255, LittlerootTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A8 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85F5 waitmovement 0 return LittlerootTown_EventScript_1E83DB:: @ 81E83DB - applymovement 255, LittlerootTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A8 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85F8 waitmovement 0 return LittlerootTown_EventScript_1E83F0:: @ 81E83F0 - applymovement 255, LittlerootTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A8 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85FE waitmovement 0 @@ -604,32 +601,32 @@ LittlerootTown_EventScript_1E83F0:: @ 81E83F0 LittlerootTown_EventScript_1E8405:: @ 81E8405 compare VAR_0x8008, 0 - call_if 1, LittlerootTown_EventScript_1E848B + call_if_eq LittlerootTown_EventScript_1E848B compare VAR_0x8008, 1 - call_if 1, LittlerootTown_EventScript_1E8496 + call_if_eq LittlerootTown_EventScript_1E8496 compare VAR_0x8008, 2 - call_if 1, LittlerootTown_EventScript_1E84A1 + call_if_eq LittlerootTown_EventScript_1E84A1 compare VAR_0x8008, 3 - call_if 1, LittlerootTown_EventScript_1E84C7 + call_if_eq LittlerootTown_EventScript_1E84C7 compare VAR_0x8008, 4 - call_if 1, LittlerootTown_EventScript_1E84ED + call_if_eq LittlerootTown_EventScript_1E84ED compare VAR_0x8008, 5 - call_if 1, LittlerootTown_EventScript_1E8513 + call_if_eq LittlerootTown_EventScript_1E8513 return LittlerootTown_EventScript_1E8448:: @ 81E8448 compare VAR_0x8008, 0 - call_if 1, LittlerootTown_EventScript_1E848B + call_if_eq LittlerootTown_EventScript_1E848B compare VAR_0x8008, 1 - call_if 1, LittlerootTown_EventScript_1E8496 + call_if_eq LittlerootTown_EventScript_1E8496 compare VAR_0x8008, 2 - call_if 1, LittlerootTown_EventScript_1E8539 + call_if_eq LittlerootTown_EventScript_1E8539 compare VAR_0x8008, 3 - call_if 1, LittlerootTown_EventScript_1E855F + call_if_eq LittlerootTown_EventScript_1E855F compare VAR_0x8008, 4 - call_if 1, LittlerootTown_EventScript_1E8585 + call_if_eq LittlerootTown_EventScript_1E8585 compare VAR_0x8008, 5 - call_if 1, LittlerootTown_EventScript_1E85AB + call_if_eq LittlerootTown_EventScript_1E85AB return LittlerootTown_EventScript_1E848B:: @ 81E848B @@ -893,9 +890,9 @@ LittlerootTown_EventScript_1E863D:: @ 81E863D faceplayer checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_EventScript_1E8281 + call_if_eq LittlerootTown_EventScript_1E8281 compare VAR_RESULT, 1 - call_if 1, LittlerootTown_EventScript_1E828C + call_if_eq LittlerootTown_EventScript_1E828C call LittlerootTown_EventScript_1E8693 applymovement 4, LittlerootTown_Movement_2725A6 waitmovement 0 diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc index 4413a80d5..9eab32885 100644 --- a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc @@ -6,9 +6,8 @@ LittlerootTown_BrendansHouse_1F_MapScripts:: @ 81F7755 LittlerootTown_BrendansHouse_1F_MapScript1_1F7765: @ 81F7765 compare VAR_0x4092, 6 - call_if 0, LittlerootTown_BrendansHouse_1F_EventScript_1F777A - checkflag FLAG_0x112 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F778D + call_if_lt LittlerootTown_BrendansHouse_1F_EventScript_1F777A + call_if_set FLAG_0x112, LittlerootTown_BrendansHouse_1F_EventScript_1F778D end LittlerootTown_BrendansHouse_1F_EventScript_1F777A:: @ 81F777A @@ -19,7 +18,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F777A:: @ 81F777A LittlerootTown_BrendansHouse_1F_EventScript_1F778D:: @ 81F778D checkplayergender compare VAR_RESULT, 0 - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F779A + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F779A return LittlerootTown_BrendansHouse_1F_EventScript_1F779A:: @ 81F779A @@ -28,11 +27,11 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F779A:: @ 81F779A LittlerootTown_BrendansHouse_1F_MapScript1_1F77A4: @ 81F77A4 compare VAR_0x4092, 3 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F77DE + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F77DE compare VAR_0x4092, 5 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F77C6 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F77C6 compare VAR_0x4092, 6 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F77D2 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F77D2 end LittlerootTown_BrendansHouse_1F_EventScript_1F77C6:: @ 81F77C6 @@ -62,7 +61,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F7814:: @ 81F7814 lockall msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B67, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F783A + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F783A applymovement 1, LittlerootTown_BrendansHouse_1F_Movement_1F783A waitmovement 0 warp MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 255, 7, 1 @@ -95,7 +94,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F785E:: @ 81F785E waitmovement 0 applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_27259A waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4 applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1F789C waitmovement 0 special GetRivalSonDaughterString @@ -152,22 +151,22 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2 applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_27259A waitmovement 0 compare VAR_0x8008, 1 - call_if 5, LittlerootTown_BrendansHouse_1F_EventScript_1F7981 + call_if_ne LittlerootTown_BrendansHouse_1F_EventScript_1F7981 playbgm MUS_BOY_SUP, 1 compare VAR_0x8008, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F798C + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F798C compare VAR_0x8008, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F7997 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F7997 compare VAR_0x8008, 2 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79A2 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79A2 msgbox LittlerootTown_BrendansHouse_1F_Text_1F90B4, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79C1 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79C1 compare VAR_0x8008, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79D3 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79D3 compare VAR_0x8008, 2 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79E5 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79E5 playse SE_KAIDAN removeobject 7 setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN @@ -182,7 +181,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2 end LittlerootTown_BrendansHouse_1F_EventScript_1F7981:: @ 81F7981 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725AA waitmovement 0 return @@ -228,19 +227,19 @@ LittlerootTown_BrendansHouse_1F_Movement_1F79B9: @ 81F79B9 step_end LittlerootTown_BrendansHouse_1F_EventScript_1F79C1:: @ 81F79C1 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F79F7 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F79F7 applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A06 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_1F79D3:: @ 81F79D3 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F79FB + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F79FB applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A0C waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_1F79E5:: @ 81F79E5 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F7A02 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F7A02 applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A16 waitmovement 0 return diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc index 2ebc9b900..096f35c1e 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc @@ -5,28 +5,27 @@ LittlerootTown_BrendansHouse_2F_MapScripts:: @ 81F83E3 LittlerootTown_BrendansHouse_2F_MapScript1_1F83EE: @ 81F83EE compare VAR_0x408D, 2 - call_if 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8457 + call_if_lt LittlerootTown_BrendansHouse_2F_EventScript_1F8457 compare VAR_0x408D, 3 - call_if 4, LittlerootTown_BrendansHouse_2F_EventScript_1F841A + call_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F841A compare VAR_0x4092, 4 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_2926FE + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_2926FE call LittlerootTown_BrendansHouse_2F_EventScript_275CE1 setvar VAR_0x4089, 0 end LittlerootTown_BrendansHouse_2F_EventScript_1F841A:: @ 81F841A - checkflag FLAG_0x124 - goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8433 + goto_if_set FLAG_0x124, LittlerootTown_BrendansHouse_2F_EventScript_1F8433 compare VAR_0x4084, 2 - goto_if 4, LittlerootTown_BrendansHouse_2F_EventScript_1F8456 + goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F8456 goto LittlerootTown_BrendansHouse_2F_EventScript_1F8433 LittlerootTown_BrendansHouse_2F_EventScript_1F8433:: @ 81F8433 checkplayergender compare VAR_RESULT, 0 - goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8456 + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8456 compare VAR_0x40D3, 2 - goto_if 4, LittlerootTown_BrendansHouse_2F_EventScript_1F9309 + goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F9309 setobjectxyperm 1, 0, 2 setobjectmovementtype 1, 7 return @@ -37,7 +36,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8456:: @ 81F8456 LittlerootTown_BrendansHouse_2F_EventScript_1F8457:: @ 81F8457 checkplayergender compare VAR_RESULT, 1 - goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8464 + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8464 return LittlerootTown_BrendansHouse_2F_EventScript_1F8464:: @ 81F8464 @@ -51,13 +50,13 @@ LittlerootTown_BrendansHouse_2F_MapScript2_1F846A: @ 81F846A LittlerootTown_BrendansHouse_2F_EventScript_1F8474:: @ 81F8474 checkplayergender compare VAR_RESULT, 0 - goto_eq EventScript_275D0C + goto_if_eq EventScript_275D0C end LittlerootTown_BrendansHouse_2F_EventScript_1F8481:: @ 81F8481 lockall compare VAR_0x408D, 2 - goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8497 + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8497 msgbox LittlerootTown_BrendansHouse_2F_Text_1F9991, MSGBOX_DEFAULT releaseall end @@ -75,13 +74,13 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497 delay 10 playbgm MUS_BOY_SUP, 1 compare VAR_FACING, 2 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8507 + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8507 compare VAR_FACING, 1 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8536 + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8536 compare VAR_FACING, 3 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8565 + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8565 compare VAR_FACING, 4 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8594 + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8594 setvar VAR_0x408D, 3 setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM @@ -94,11 +93,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497 LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C0 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A8 waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85CF + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85CF applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C6 waitmovement 0 return @@ -106,11 +105,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507 LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85D7 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A8 waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85E2 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85E2 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85DB waitmovement 0 return @@ -118,11 +117,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536 LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85E8 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A8 waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85F6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85F6 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85ED waitmovement 0 return @@ -130,7 +129,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565 LittlerootTown_BrendansHouse_2F_EventScript_1F8594:: @ 81F8594 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85FD waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A6 waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT closemessage @@ -249,9 +248,9 @@ EventScript_PlayerPCMale:: @ 81F860D lockall checkplayergender compare VAR_RESULT, 0 - goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8626 + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8626 compare VAR_RESULT, 1 - goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F864C + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F864C end LittlerootTown_BrendansHouse_2F_EventScript_1F8626:: @ 81F8626 diff --git a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc index 824c4d930..0f71be46a 100644 --- a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc @@ -6,9 +6,8 @@ LittlerootTown_MaysHouse_1F_MapScripts:: @ 81F88A5 LittlerootTown_MaysHouse_1F_MapScript1_1F88B5: @ 81F88B5 compare VAR_0x4092, 6 - call_if 0, LittlerootTown_MaysHouse_1F_EventScript_1F88CA - checkflag FLAG_0x112 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F88DD + call_if_lt LittlerootTown_MaysHouse_1F_EventScript_1F88CA + call_if_set FLAG_0x112, LittlerootTown_MaysHouse_1F_EventScript_1F88DD end LittlerootTown_MaysHouse_1F_EventScript_1F88CA:: @ 81F88CA @@ -19,7 +18,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F88CA:: @ 81F88CA LittlerootTown_MaysHouse_1F_EventScript_1F88DD:: @ 81F88DD checkplayergender compare VAR_RESULT, 1 - goto_eq LittlerootTown_MaysHouse_1F_EventScript_1F88EA + goto_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F88EA return LittlerootTown_MaysHouse_1F_EventScript_1F88EA:: @ 81F88EA @@ -28,11 +27,11 @@ LittlerootTown_MaysHouse_1F_EventScript_1F88EA:: @ 81F88EA LittlerootTown_MaysHouse_1F_MapScript1_1F88F4: @ 81F88F4 compare VAR_0x4092, 3 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F892E + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F892E compare VAR_0x4092, 5 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8916 + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8916 compare VAR_0x4092, 6 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8922 + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8922 end LittlerootTown_MaysHouse_1F_EventScript_1F8916:: @ 81F8916 @@ -62,7 +61,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8964:: @ 81F8964 lockall msgbox LittlerootTown_MaysHouse_1F_Text_1F7B67, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F898A + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F898A applymovement 1, LittlerootTown_MaysHouse_1F_Movement_1F898A waitmovement 0 warp MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F, 255, 1, 1 @@ -95,7 +94,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F89AE:: @ 81F89AE waitmovement 0 applymovement 4, LittlerootTown_MaysHouse_1F_Movement_27259A waitmovement 0 - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_2725A8 applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1F89EC waitmovement 0 special GetRivalSonDaughterString @@ -118,12 +117,10 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F89F3:: @ 81F89F3 LittlerootTown_MaysHouse_1F_EventScript_1F89F3:: @ 81F89F3 lock faceplayer - checkflag FLAG_0x082 - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A33 - checkflag FLAG_SYS_POKEMON_GET - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A29 + goto_if_set FLAG_0x082, LittlerootTown_BrendansHouse_1F_EventScript_1F8A33 + goto_if_set FLAG_SYS_POKEMON_GET, LittlerootTown_BrendansHouse_1F_EventScript_1F8A29 compare VAR_0x408D, 3 - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F special GetRivalSonDaughterString msgbox LittlerootTown_BrendansHouse_1F_Text_1F8CA5, MSGBOX_DEFAULT release @@ -191,22 +188,22 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B applymovement 7, LittlerootTown_MaysHouse_1F_Movement_27259A waitmovement 0 compare VAR_0x8008, 1 - call_if 5, LittlerootTown_MaysHouse_1F_EventScript_1F8B2A + call_if_ne LittlerootTown_MaysHouse_1F_EventScript_1F8B2A playbgm MUS_GIRL_SUP, 1 compare VAR_0x8008, 0 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B35 + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B35 compare VAR_0x8008, 1 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B40 + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B40 compare VAR_0x8008, 2 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B4B + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B4B msgbox LittlerootTown_MaysHouse_1F_Text_1F8EC6, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B6A + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B6A compare VAR_0x8008, 1 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B7C + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B7C compare VAR_0x8008, 2 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B8E + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B8E playse SE_KAIDAN removeobject 7 setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN @@ -221,7 +218,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B end LittlerootTown_MaysHouse_1F_EventScript_1F8B2A:: @ 81F8B2A - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_2725AA waitmovement 0 return @@ -267,19 +264,19 @@ LittlerootTown_MaysHouse_1F_Movement_1F8B62: @ 81F8B62 step_end LittlerootTown_MaysHouse_1F_EventScript_1F8B6A:: @ 81F8B6A - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BA0 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BA0 applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BAF waitmovement 0 return LittlerootTown_MaysHouse_1F_EventScript_1F8B7C:: @ 81F8B7C - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BA4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BA4 applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BB5 waitmovement 0 return LittlerootTown_MaysHouse_1F_EventScript_1F8B8E:: @ 81F8B8E - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BAB + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BAB applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BBF waitmovement 0 return diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc index 8a2ec10ac..e0cb7dfe7 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc @@ -5,28 +5,27 @@ LittlerootTown_MaysHouse_2F_MapScripts:: @ 81F9296 LittlerootTown_MaysHouse_2F_MapScript1_1F92A1: @ 81F92A1 compare VAR_0x408D, 2 - call_if 0, LittlerootTown_MaysHouse_2F_EventScript_1F930A + call_if_lt LittlerootTown_MaysHouse_2F_EventScript_1F930A compare VAR_0x408D, 3 - call_if 4, LittlerootTown_MaysHouse_2F_EventScript_1F92CD + call_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F92CD compare VAR_0x4092, 4 - call_if 1, LittlerootTown_MaysHouse_2F_EventScript_2926FE + call_if_eq LittlerootTown_MaysHouse_2F_EventScript_2926FE call LittlerootTown_MaysHouse_2F_EventScript_275CE1 setvar VAR_0x4089, 0 end LittlerootTown_MaysHouse_2F_EventScript_1F92CD:: @ 81F92CD - checkflag FLAG_0x124 - goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F92E6 + goto_if_set FLAG_0x124, LittlerootTown_MaysHouse_2F_EventScript_1F92E6 compare VAR_0x4084, 2 - goto_if 4, LittlerootTown_MaysHouse_2F_EventScript_1F9309 + goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F9309 goto LittlerootTown_MaysHouse_2F_EventScript_1F92E6 LittlerootTown_MaysHouse_2F_EventScript_1F92E6:: @ 81F92E6 checkplayergender compare VAR_RESULT, 1 - goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F9309 + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9309 compare VAR_0x40D3, 2 - goto_if 4, LittlerootTown_MaysHouse_2F_EventScript_1F9309 + goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F9309 setobjectxyperm 1, 8, 2 setobjectmovementtype 1, 7 return @@ -38,7 +37,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9309:: @ 81F9309 LittlerootTown_MaysHouse_2F_EventScript_1F930A:: @ 81F930A checkplayergender compare VAR_RESULT, 0 - goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F9317 + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9317 return LittlerootTown_MaysHouse_2F_EventScript_1F9317:: @ 81F9317 @@ -52,13 +51,13 @@ LittlerootTown_MaysHouse_2F_MapScript2_1F931D: @ 81F931D LittlerootTown_MaysHouse_2F_EventScript_1F9327:: @ 81F9327 checkplayergender compare VAR_RESULT, 1 - goto_eq EventScript_275D0C + goto_if_eq EventScript_275D0C end LittlerootTown_MaysHouse_2F_EventScript_1F9334:: @ 81F9334 lockall compare VAR_0x408D, 2 - goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F934A + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F934A msgbox LittlerootTown_MaysHouse_2F_Text_1F9991, MSGBOX_DEFAULT releaseall end @@ -76,13 +75,13 @@ LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A delay 10 playbgm MUS_GIRL_SUP, 1 compare VAR_FACING, 2 - call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F93BA + call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F93BA compare VAR_FACING, 1 - call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F93E9 + call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F93E9 compare VAR_FACING, 3 - call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F9418 + call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9418 compare VAR_FACING, 4 - call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F9440 + call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9440 setvar VAR_0x408D, 3 setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM @@ -95,11 +94,11 @@ LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9473 waitmovement 0 - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_2725A4 waitmovement 0 msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F9483 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F9483 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9479 waitmovement 0 return @@ -107,11 +106,11 @@ LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948B waitmovement 0 - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_2725A4 waitmovement 0 msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F9497 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F9497 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948F waitmovement 0 return @@ -119,7 +118,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9 LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F949D waitmovement 0 - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_2725A6 waitmovement 0 msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT closemessage @@ -130,11 +129,11 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418 LittlerootTown_MaysHouse_2F_EventScript_1F9440:: @ 81F9440 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94AD waitmovement 0 - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_2725A4 waitmovement 0 msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F94BB + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F94BB applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94B2 waitmovement 0 return @@ -250,13 +249,12 @@ LittlerootTown_MaysHouse_2F_Movement_1F94BB: @ 81F94BB LittlerootTown_BrendansHouse_2F_EventScript_1F94C1:: @ 81F94C1 LittlerootTown_MaysHouse_2F_EventScript_1F94C1:: @ 81F94C1 lockall - checkflag FLAG_0x124 - goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94F7 + goto_if_set FLAG_0x124, LittlerootTown_BrendansHouse_2F_EventScript_1F94F7 checkplayergender compare VAR_RESULT, 0 - goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94E3 + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94E3 compare VAR_RESULT, 1 - goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94ED + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94ED end LittlerootTown_BrendansHouse_2F_EventScript_1F94E3:: @ 81F94E3 @@ -274,22 +272,20 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F94F7:: @ 81F94F7 waitmovement 0 checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F951D + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F951D compare VAR_RESULT, 1 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F952F + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F952F setflag FLAG_0x125 releaseall end LittlerootTown_BrendansHouse_2F_EventScript_1F951D:: @ 81F951D - checkflag FLAG_0x125 - goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F9541 + goto_if_set FLAG_0x125, LittlerootTown_BrendansHouse_2F_EventScript_1F9541 msgbox LittlerootTown_BrendansHouse_2F_Text_1F99C9, MSGBOX_DEFAULT return LittlerootTown_BrendansHouse_2F_EventScript_1F952F:: @ 81F952F - checkflag FLAG_0x125 - goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F954A + goto_if_set FLAG_0x125, LittlerootTown_BrendansHouse_2F_EventScript_1F954A msgbox LittlerootTown_BrendansHouse_2F_Text_1F9B0D, MSGBOX_DEFAULT return @@ -305,9 +301,9 @@ EventScript_PlayerPCFemale:: @ 81F9553 lockall checkplayergender compare VAR_RESULT, 0 - goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F956C + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F956C compare VAR_RESULT, 1 - goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F9576 + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9576 end LittlerootTown_MaysHouse_2F_EventScript_1F956C:: @ 81F956C diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc index ec6cd9738..3534047ae 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc @@ -8,17 +8,17 @@ LittlerootTown_ProfessorBirchsLab_MapScript1_1F9CA1: @ 81F9CA1 call LittlerootTown_ProfessorBirchsLab_EventScript_271ED7 call LittlerootTown_ProfessorBirchsLab_EventScript_2720AD compare VAR_0x40D3, 6 - goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7 compare VAR_0x40D3, 4 - goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3 compare VAR_0x40D3, 3 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD end LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD:: @ 81F9CCD specialvar VAR_RESULT, sub_80C08E4 compare VAR_RESULT, 1 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9 setobjectmovementtype 3, 3 setobjectxyperm 3, 5, 10 end @@ -48,11 +48,11 @@ LittlerootTown_ProfessorBirchsLab_MapScript2_1F9D06: @ 81F9D06 .2byte 0 LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40:: @ 81F9D40 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45:: @ 81F9D45 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 addobject 2 addobject 3 turnobject 3, 2 @@ -100,9 +100,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB:: @ 81F9DDB waitfanfare msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8B1, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07 compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17 end LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07:: @ 81F9E07 @@ -114,9 +114,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07:: @ 81F9E07 LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17:: @ 81F9E17 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8F6, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36 compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48 end LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36:: @ 81F9E36 @@ -129,14 +129,14 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36:: @ 81F9E36 LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48:: @ 81F9E48 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA35, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36 compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48 end LittlerootTown_ProfessorBirchsLab_EventScript_1F9E67:: @ 81F9E67 lockall - applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1F9E78 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_1F9E78 waitmovement 0 goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8 end @@ -168,20 +168,20 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80 playse SE_TK_KASYA delay 20 applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 - applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_2725A4 waitmovement 0 checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32 compare VAR_RESULT, 1 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C playse SE_PC_ON waitse delay 20 applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F58 waitmovement 0 applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_2725A6 - applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_2725A6 waitmovement 0 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB419, MSGBOX_DEFAULT playfanfare MUS_FANFA4 @@ -244,7 +244,7 @@ LittlerootTown_ProfessorBirchsLab_Movement_1F9F58: @ 81F9F58 LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62:: @ 81F9F62 lockall - applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C waitmovement 0 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB5F9, MSGBOX_DEFAULT setvar VAR_0x40D3, 5 @@ -265,9 +265,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84:: @ 81F9F84 lock faceplayer compare VAR_0x4084, 3 - goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1 - checkflag FLAG_0x058 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1 + goto_if_set FLAG_0x058, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA4E2, MSGBOX_DEFAULT setflag FLAG_0x058 release @@ -286,39 +285,39 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1:: @ 81F9FB1 LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB:: @ 81F9FBB release compare VAR_0x40D3, 6 - goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 waitmovement 0 drawmonpic SPECIES_CYNDAQUIL, 10, 3 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB7F6, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C end LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF:: @ 81F9FEF release compare VAR_0x40D3, 6 - goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 waitmovement 0 drawmonpic SPECIES_TOTODILE, 10, 3 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB869, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D end LittlerootTown_ProfessorBirchsLab_EventScript_1FA023:: @ 81FA023 release compare VAR_0x40D3, 6 - goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 waitmovement 0 drawmonpic SPECIES_CHIKORITA, 10, 3 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB8E0, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE end @@ -338,9 +337,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C:: @ 81FA06C setvar VAR_TEMP_1, 155 givemon SPECIES_CYNDAQUIL, 5, ITEM_NONE, 0x0, 0x0, 0 compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1 compare VAR_RESULT, 1 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC erasemonpic goto LittlerootTown_ProfessorBirchsLab_EventScript_273811 end @@ -350,7 +349,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1:: @ 81FA0A1 removeobject 4 msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD call LittlerootTown_ProfessorBirchsLab_EventScript_27378B call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD @@ -361,7 +360,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC:: @ 81FA0CC removeobject 4 msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2 call LittlerootTown_ProfessorBirchsLab_EventScript_273797 goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2 end @@ -383,9 +382,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D:: @ 81FA10D setvar VAR_TEMP_1, 158 givemon SPECIES_TOTODILE, 5, ITEM_NONE, 0x0, 0x0, 0 compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA142 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA142 compare VAR_RESULT, 1 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D erasemonpic goto LittlerootTown_ProfessorBirchsLab_EventScript_273811 end @@ -395,7 +394,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA142:: @ 81FA142 removeobject 5 msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E call LittlerootTown_ProfessorBirchsLab_EventScript_27378B call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E @@ -406,7 +405,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D:: @ 81FA16D removeobject 5 msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA193 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA193 call LittlerootTown_ProfessorBirchsLab_EventScript_273797 goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA193 end @@ -428,9 +427,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE:: @ 81FA1AE setvar VAR_TEMP_1, 152 givemon SPECIES_CHIKORITA, 5, ITEM_NONE, 0x0, 0x0, 0 compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3 compare VAR_RESULT, 1 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E erasemonpic goto LittlerootTown_ProfessorBirchsLab_EventScript_273811 end @@ -440,7 +439,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3:: @ 81FA1E3 removeobject 6 msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F call LittlerootTown_ProfessorBirchsLab_EventScript_27378B call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F @@ -451,7 +450,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E:: @ 81FA20E removeobject 6 msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA234 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA234 call LittlerootTown_ProfessorBirchsLab_EventScript_273797 goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA234 end @@ -479,13 +478,11 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A:: @ 81FA25A lock faceplayer compare VAR_0x40D3, 5 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A compare VAR_0x40D3, 2 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA294 - checkflag FLAG_HAS_MATCH_CALL - goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E - checkflag FLAG_0x119 - goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA294 + goto_if_unset FLAG_HAS_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E + goto_if_unset FLAG_0x119, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2 goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E end @@ -500,14 +497,13 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA294:: @ 81FA294 end LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E:: @ 81FA29E - checkflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 - goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_272141 + goto_if_unset FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380, LittlerootTown_ProfessorBirchsLab_EventScript_272141 compare VAR_0x40D3, 3 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_272141 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_272141 compare VAR_0x40D3, 6 - goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_272141 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_272141 compare VAR_0x4084, 5 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA74, MSGBOX_DEFAULT release end @@ -534,13 +530,13 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8 closemessage applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0 waitmovement 0 - applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 waitmovement 0 checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA352 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA352 compare VAR_RESULT, 1 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F setvar VAR_0x4084, 5 setflag FLAG_0x074 setvar VAR_0x4051, 1 @@ -553,7 +549,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA352:: @ 81FA352 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FADD7, MSGBOX_DEFAULT giveitem_std ITEM_POKE_BALL, 5 compare VAR_RESULT, 0 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAE40, MSGBOX_DEFAULT setvar VAR_RESULT, 0 return @@ -562,7 +558,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F:: @ 81FA37F msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF3F, MSGBOX_DEFAULT giveitem_std ITEM_POKE_BALL, 5 compare VAR_RESULT, 0 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF8E, MSGBOX_DEFAULT setvar VAR_RESULT, 1 return @@ -603,16 +599,16 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC:: @ 81FA3EC lock faceplayer compare VAR_0x40D3, 5 - goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A compare VAR_0x40D3, 6 - goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA465 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA465 compare VAR_0x40D3, 2 - goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA490 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA490 checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA428 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA428 compare VAR_RESULT, 1 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA431 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA431 release end @@ -627,9 +623,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA431:: @ 81FA431 LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A:: @ 81FA43A checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA453 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA453 compare VAR_RESULT, 1 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C release end @@ -644,9 +640,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C:: @ 81FA45C LittlerootTown_ProfessorBirchsLab_EventScript_1FA465:: @ 81FA465 checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E compare VAR_RESULT, 1 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA487 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA487 release end @@ -661,9 +657,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA487:: @ 81FA487 LittlerootTown_ProfessorBirchsLab_EventScript_1FA490:: @ 81FA490 checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9 compare VAR_RESULT, 1 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2 release end diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc index 714983999..818b11da7 100644 --- a/data/maps/MagmaHideout_4F/scripts.inc +++ b/data/maps/MagmaHideout_4F/scripts.inc @@ -18,7 +18,7 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560 playfanfare MUS_ME_TAMA playse SE_TAMA special sub_80B0534 - applymovement 255, MagmaHideout_4F_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, MagmaHideout_4F_Movement_2725A6 waitmovement 0 delay 150 removeobject 7 @@ -50,7 +50,7 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560 waitmovement 0 msgbox MagmaHideout_4F_Text_23AADA, MSGBOX_DEFAULT closemessage - applymovement 255, MagmaHideout_4F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, MagmaHideout_4F_Movement_2725A8 waitmovement 0 delay 30 applymovement 6, MagmaHideout_4F_Movement_27259E diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc index f61620c29..d42e0e1d6 100644 --- a/data/maps/MarineCave_End/scripts.inc +++ b/data/maps/MarineCave_End/scripts.inc @@ -4,20 +4,18 @@ MarineCave_End_MapScripts:: @ 823AFDF .byte 0 MarineCave_End_MapScript1_23AFEA: @ 823AFEA - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, MarineCave_End_EventScript_23AFF4 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, MarineCave_End_EventScript_23AFF4 end MarineCave_End_EventScript_23AFF4:: @ 823AFF4 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, MarineCave_End_EventScript_27374E + goto_if_ne MarineCave_End_EventScript_27374E removeobject 1 return MarineCave_End_MapScript1_23B008: @ 823B008 - checkflag FLAG_0x1BE - call_if 0, MarineCave_End_EventScript_23B012 + call_if_unset FLAG_0x1BE, MarineCave_End_EventScript_23B012 end MarineCave_End_EventScript_23B012:: @ 823B012 @@ -27,7 +25,7 @@ MarineCave_End_EventScript_23B012:: @ 823B012 MarineCave_End_EventScript_23B01B:: @ 823B01B lockall - applymovement 255, MarineCave_End_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, MarineCave_End_Movement_2725B2 waitmovement 0 applymovement 1, MarineCave_End_Movement_23B09D waitmovement 0 @@ -44,11 +42,11 @@ MarineCave_End_EventScript_23B01B:: @ 823B01B setvar VAR_TEMP_1, 0 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq MarineCave_End_EventScript_23B084 + goto_if_eq MarineCave_End_EventScript_23B084 compare VAR_RESULT, 4 - goto_eq MarineCave_End_EventScript_23B092 + goto_if_eq MarineCave_End_EventScript_23B092 compare VAR_RESULT, 5 - goto_eq MarineCave_End_EventScript_23B092 + goto_if_eq MarineCave_End_EventScript_23B092 setvar VAR_0x4039, 1 setflag FLAG_0x1BE releaseall diff --git a/data/maps/MauvilleCity/scripts.inc b/data/maps/MauvilleCity/scripts.inc index 17ace6e10..751723f7b 100644 --- a/data/maps/MauvilleCity/scripts.inc +++ b/data/maps/MauvilleCity/scripts.inc @@ -9,8 +9,7 @@ MauvilleCity_MapScript1_1DF38B: @ 81DF38B setflag FLAG_SYS_TV_START clearflag FLAG_0x063 setvar VAR_0x4093, 0 - checkflag FLAG_GOT_TM24_FROM_WATTSON - call_if 1, MauvilleCity_EventScript_1DF3A9 + call_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_1DF3A9 end MauvilleCity_EventScript_1DF3A9:: @ 81DF3A9 @@ -54,8 +53,7 @@ MauvilleCity_EventScript_1DF3F2:: @ 81DF3F2 MauvilleCity_EventScript_1DF3FB:: @ 81DF3FB lock faceplayer - checkflag FLAG_0x062 - goto_eq MauvilleCity_EventScript_1DF413 + goto_if_set FLAG_0x062, MauvilleCity_EventScript_1DF413 msgbox MauvilleCity_Text_1E056A, MSGBOX_DEFAULT setflag FLAG_0x062 release @@ -69,8 +67,7 @@ MauvilleCity_EventScript_1DF413:: @ 81DF413 MauvilleCity_EventScript_1DF41D:: @ 81DF41D lock faceplayer - checkflag FLAG_0x11C - goto_eq MauvilleCity_EventScript_1DF43D + goto_if_set FLAG_0x11C, MauvilleCity_EventScript_1DF43D msgbox MauvilleCity_Text_1DF7DC, MSGBOX_DEFAULT closemessage applymovement 7, MauvilleCity_Movement_2725A2 @@ -88,8 +85,7 @@ MauvilleCity_EventScript_1DF43D:: @ 81DF43D MauvilleCity_EventScript_1DF452:: @ 81DF452 lockall - checkflag FLAG_0x11C - goto_eq MauvilleCity_EventScript_1DF690 + goto_if_set FLAG_0x11C, MauvilleCity_EventScript_1DF690 applymovement 6, MauvilleCity_Movement_2725A8 waitmovement 0 msgbox MauvilleCity_Text_1DF845, MSGBOX_DEFAULT @@ -108,9 +104,9 @@ MauvilleCity_EventScript_1DF452:: @ 81DF452 MauvilleCity_EventScript_1DF4AD:: @ 81DF4AD compare VAR_RESULT, 1 - call_if 1, MauvilleCity_EventScript_1DF63A + call_if_eq MauvilleCity_EventScript_1DF63A compare VAR_RESULT, 0 - goto_eq MauvilleCity_EventScript_1DF683 + goto_if_eq MauvilleCity_EventScript_1DF683 closemessage switch VAR_FACING case 2, MauvilleCity_EventScript_1DF4E0 @@ -118,19 +114,19 @@ MauvilleCity_EventScript_1DF4AD:: @ 81DF4AD end MauvilleCity_EventScript_1DF4E0:: @ 81DF4E0 - applymovement 255, MauvilleCity_Movement_1DF6DF + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6DF applymovement 6, MauvilleCity_Movement_1DF6A8 applymovement 7, MauvilleCity_Movement_1DF6E2 waitmovement 0 applymovement 6, MauvilleCity_Movement_2725A8 waitmovement 0 delay 30 - applymovement 255, MauvilleCity_Movement_1DF6EE + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6EE applymovement 7, MauvilleCity_Movement_1DF6F3 waitmovement 0 msgbox MauvilleCity_Text_1DFD34, MSGBOX_DEFAULT closemessage - applymovement 255, MauvilleCity_Movement_1DF6CC + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6CC applymovement 7, MauvilleCity_Movement_1DF6FA applymovement 6, MauvilleCity_Movement_1DF6B4 waitmovement 0 @@ -138,7 +134,7 @@ MauvilleCity_EventScript_1DF4E0:: @ 81DF4E0 end MauvilleCity_EventScript_1DF53D:: @ 81DF53D - applymovement 255, MauvilleCity_Movement_1DF6DC + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6DC applymovement 6, MauvilleCity_Movement_1DF6AE applymovement 7, MauvilleCity_Movement_1DF6E8 waitmovement 0 @@ -149,7 +145,7 @@ MauvilleCity_EventScript_1DF53D:: @ 81DF53D waitmovement 0 msgbox MauvilleCity_Text_1DFD34, MSGBOX_DEFAULT closemessage - applymovement 255, MauvilleCity_Movement_1DF6D0 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D0 applymovement 7, MauvilleCity_Movement_1DF703 applymovement 6, MauvilleCity_Movement_1DF6C0 waitmovement 0 @@ -165,18 +161,18 @@ MauvilleCity_EventScript_1DF593:: @ 81DF593 setvar VAR_0x40F2, 0 setflag FLAG_0x088 compare VAR_FACING, 2 - call_if 1, MauvilleCity_EventScript_1DF5F3 + call_if_eq MauvilleCity_EventScript_1DF5F3 compare VAR_FACING, 4 - call_if 1, MauvilleCity_EventScript_1DF601 - applymovement 255, MauvilleCity_Movement_2725AA + call_if_eq MauvilleCity_EventScript_1DF601 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_2725AA waitmovement 0 msgbox MauvilleCity_Text_1DFED5, MSGBOX_DEFAULT closemessage addvar VAR_0x40D1, 1 compare VAR_FACING, 2 - call_if 1, MauvilleCity_EventScript_1DF616 + call_if_eq MauvilleCity_EventScript_1DF616 compare VAR_FACING, 4 - call_if 1, MauvilleCity_EventScript_1DF628 + call_if_eq MauvilleCity_EventScript_1DF628 removeobject 11 releaseall end @@ -195,13 +191,13 @@ MauvilleCity_EventScript_1DF601:: @ 81DF601 return MauvilleCity_EventScript_1DF616:: @ 81DF616 - applymovement 255, MauvilleCity_Movement_1DF6D5 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D5 applymovement 11, MauvilleCity_Movement_1DF725 waitmovement 0 return MauvilleCity_EventScript_1DF628:: @ 81DF628 - applymovement 255, MauvilleCity_Movement_1DF6D8 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D8 applymovement 11, MauvilleCity_Movement_1DF72F waitmovement 0 return @@ -424,12 +420,10 @@ MauvilleCity_Movement_1DF72F: @ 81DF72F MauvilleCity_EventScript_1DF73A:: @ 81DF73A lock faceplayer - checkflag FLAG_GOT_TM24_FROM_WATTSON - goto_eq MauvilleCity_EventScript_1DF7B0 + goto_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_1DF7B0 compare VAR_0x40BA, 2 - goto_eq MauvilleCity_EventScript_1DF784 - checkflag FLAG_GOT_BASEMENT_KEY_FROM_WATTSON - goto_eq MauvilleCity_EventScript_1DF77A + goto_if_eq MauvilleCity_EventScript_1DF784 + goto_if_set FLAG_GOT_BASEMENT_KEY_FROM_WATTSON, MauvilleCity_EventScript_1DF77A msgbox MauvilleCity_Text_1DFFE4, MSGBOX_DEFAULT giveitem_std ITEM_BASEMENT_KEY setflag FLAG_GOT_BASEMENT_KEY_FROM_WATTSON @@ -446,7 +440,7 @@ MauvilleCity_EventScript_1DF784:: @ 81DF784 msgbox MauvilleCity_Text_1E020E, MSGBOX_DEFAULT giveitem_std ITEM_TM24 compare VAR_RESULT, 0 - goto_eq MauvilleCity_EventScript_272054 + goto_if_eq MauvilleCity_EventScript_272054 setflag FLAG_GOT_TM24_FROM_WATTSON msgbox MauvilleCity_Text_1E02AA, MSGBOX_DEFAULT release diff --git a/data/maps/MauvilleCity_BikeShop/scripts.inc b/data/maps/MauvilleCity_BikeShop/scripts.inc index 1634ee33c..fd390a92c 100644 --- a/data/maps/MauvilleCity_BikeShop/scripts.inc +++ b/data/maps/MauvilleCity_BikeShop/scripts.inc @@ -4,24 +4,22 @@ MauvilleCity_BikeShop_MapScripts:: @ 820EBBB MauvilleCity_BikeShop_EventScript_20EBBC:: @ 820EBBC lock faceplayer - checkflag FLAG_0x05A - goto_eq MauvilleCity_BikeShop_EventScript_20EC94 - checkflag FLAG_0x059 - goto_eq MauvilleCity_BikeShop_EventScript_20EBF7 + goto_if_set FLAG_0x05A, MauvilleCity_BikeShop_EventScript_20EC94 + goto_if_set FLAG_0x059, MauvilleCity_BikeShop_EventScript_20EBF7 msgbox MauvilleCity_BikeShop_Text_20EE22, MSGBOX_DEFAULT msgbox MauvilleCity_BikeShop_Text_20EE99, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq MauvilleCity_BikeShop_EventScript_20EC4A + goto_if_eq MauvilleCity_BikeShop_EventScript_20EC4A compare VAR_RESULT, 0 - goto_eq MauvilleCity_BikeShop_EventScript_20EC3D + goto_if_eq MauvilleCity_BikeShop_EventScript_20EC3D end MauvilleCity_BikeShop_EventScript_20EBF7:: @ 820EBF7 msgbox MauvilleCity_BikeShop_Text_20EE99, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq MauvilleCity_BikeShop_EventScript_20EC4A + goto_if_eq MauvilleCity_BikeShop_EventScript_20EC4A compare VAR_RESULT, 0 - goto_eq MauvilleCity_BikeShop_EventScript_20EC3D + goto_if_eq MauvilleCity_BikeShop_EventScript_20EC3D end MauvilleCity_BikeShop_EventScript_20EC16:: @ 820EC16 @@ -65,19 +63,19 @@ MauvilleCity_BikeShop_EventScript_20EC87:: @ 820EC87 MauvilleCity_BikeShop_EventScript_20EC94:: @ 820EC94 msgbox MauvilleCity_BikeShop_Text_20F1FB, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq MauvilleCity_BikeShop_EventScript_20ECB3 + goto_if_eq MauvilleCity_BikeShop_EventScript_20ECB3 compare VAR_RESULT, 0 - goto_eq MauvilleCity_BikeShop_EventScript_20ECE5 + goto_if_eq MauvilleCity_BikeShop_EventScript_20ECE5 end MauvilleCity_BikeShop_EventScript_20ECB3:: @ 820ECB3 msgbox MauvilleCity_BikeShop_Text_20F22F, MSGBOX_DEFAULT checkitem ITEM_ACRO_BIKE, 1 compare VAR_RESULT, 1 - goto_eq MauvilleCity_BikeShop_EventScript_20ECEF + goto_if_eq MauvilleCity_BikeShop_EventScript_20ECEF checkitem ITEM_MACH_BIKE, 1 compare VAR_RESULT, 1 - goto_eq MauvilleCity_BikeShop_EventScript_20ED10 + goto_if_eq MauvilleCity_BikeShop_EventScript_20ED10 msgbox MauvilleCity_BikeShop_Text_20F2F3, MSGBOX_DEFAULT release end diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc index 135f48f23..45f00c9ee 100644 --- a/data/maps/MauvilleCity_GameCorner/scripts.inc +++ b/data/maps/MauvilleCity_GameCorner/scripts.inc @@ -7,7 +7,7 @@ MauvilleCity_GameCorner_EventScript_20FBB9:: @ 820FBB9 msgbox MauvilleCity_GameCorner_Text_210460, MSGBOX_DEFAULT checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_20FCB7 + goto_if_eq MauvilleCity_GameCorner_EventScript_20FCB7 message MauvilleCity_GameCorner_Text_2104DF waitmessage showmoneybox 0, 0, 0 @@ -33,10 +33,10 @@ MauvilleCity_GameCorner_EventScript_20FC0C:: @ 820FC0C MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33 checkcoins VAR_TEMP_1 compare VAR_TEMP_1, 9950 - goto_if 4, MauvilleCity_GameCorner_EventScript_20FCE1 + goto_if_ge MauvilleCity_GameCorner_EventScript_20FCE1 checkmoney 0x3e8, 0 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_20FCC1 + goto_if_eq MauvilleCity_GameCorner_EventScript_20FCC1 givecoins 50 takemoney 0x3e8, 0 updatemoneybox 0, 0 @@ -54,10 +54,10 @@ MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33 MauvilleCity_GameCorner_EventScript_20FC75:: @ 820FC75 checkcoins VAR_TEMP_1 compare VAR_TEMP_1, 9500 - goto_if 4, MauvilleCity_GameCorner_EventScript_20FCE1 + goto_if_ge MauvilleCity_GameCorner_EventScript_20FCE1 checkmoney 0x2710, 0 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_20FCC1 + goto_if_eq MauvilleCity_GameCorner_EventScript_20FCC1 givecoins 500 takemoney 0x2710, 0 updatemoneybox 0, 0 @@ -110,7 +110,7 @@ MauvilleCity_GameCorner_EventScript_20FCF1:: @ 820FCF1 msgbox MauvilleCity_GameCorner_Text_2105D7, MSGBOX_DEFAULT checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 1 - goto_eq MauvilleCity_GameCorner_EventScript_20FD0D + goto_if_eq MauvilleCity_GameCorner_EventScript_20FD0D release end @@ -154,7 +154,7 @@ MauvilleCity_GameCorner_EventScript_20FD83:: @ 820FD83 MauvilleCity_GameCorner_EventScript_20FD91:: @ 820FD91 msgbox MauvilleCity_GameCorner_Text_210705, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_20FE92 + goto_if_eq MauvilleCity_GameCorner_EventScript_20FE92 switch VAR_TEMP_1 case 1, MauvilleCity_GameCorner_EventScript_20FDCB case 2, MauvilleCity_GameCorner_EventScript_20FE05 @@ -164,11 +164,11 @@ MauvilleCity_GameCorner_EventScript_20FD91:: @ 820FD91 MauvilleCity_GameCorner_EventScript_20FDCB:: @ 820FDCB checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1000 - goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79 + goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79 bufferdecorationname 1, 88 checkdecorspace 88 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_20FE87 + goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87 takecoins 1000 givedecoration 88 updatecoinsbox 1, 1 @@ -180,11 +180,11 @@ MauvilleCity_GameCorner_EventScript_20FDCB:: @ 820FDCB MauvilleCity_GameCorner_EventScript_20FE05:: @ 820FE05 checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1000 - goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79 + goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79 bufferdecorationname 1, 89 checkdecorspace 89 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_20FE87 + goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87 takecoins 1000 givedecoration 89 updatecoinsbox 1, 1 @@ -196,11 +196,11 @@ MauvilleCity_GameCorner_EventScript_20FE05:: @ 820FE05 MauvilleCity_GameCorner_EventScript_20FE3F:: @ 820FE3F checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1000 - goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79 + goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79 bufferdecorationname 1, 90 checkdecorspace 90 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_20FE87 + goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87 takecoins 1000 givedecoration 90 updatecoinsbox 1, 1 @@ -231,7 +231,7 @@ MauvilleCity_GameCorner_EventScript_20FE9F:: @ 820FE9F msgbox MauvilleCity_GameCorner_Text_2105D7, MSGBOX_DEFAULT checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 1 - goto_eq MauvilleCity_GameCorner_EventScript_20FEBB + goto_if_eq MauvilleCity_GameCorner_EventScript_20FEBB release end @@ -293,7 +293,7 @@ MauvilleCity_GameCorner_EventScript_20FF8A:: @ 820FF8A special sub_81398C0 msgbox MauvilleCity_GameCorner_Text_210629, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210118 + goto_if_eq MauvilleCity_GameCorner_EventScript_210118 switch VAR_TEMP_1 case 1, MauvilleCity_GameCorner_EventScript_20FFDD case 2, MauvilleCity_GameCorner_EventScript_210017 @@ -305,10 +305,10 @@ MauvilleCity_GameCorner_EventScript_20FF8A:: @ 820FF8A MauvilleCity_GameCorner_EventScript_20FFDD:: @ 820FFDD checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1500 - goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF + goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF checkitemspace ITEM_TM32, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_21010D + goto_if_eq MauvilleCity_GameCorner_EventScript_21010D takecoins 1500 giveitem ITEM_TM32, 1 updatecoinsbox 1, 1 @@ -320,10 +320,10 @@ MauvilleCity_GameCorner_EventScript_20FFDD:: @ 820FFDD MauvilleCity_GameCorner_EventScript_210017:: @ 8210017 checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 3500 - goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF + goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF checkitemspace ITEM_TM29, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_21010D + goto_if_eq MauvilleCity_GameCorner_EventScript_21010D takecoins 3500 giveitem ITEM_TM29, 1 updatecoinsbox 1, 1 @@ -335,10 +335,10 @@ MauvilleCity_GameCorner_EventScript_210017:: @ 8210017 MauvilleCity_GameCorner_EventScript_210051:: @ 8210051 checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 4000 - goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF + goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF checkitemspace ITEM_TM35, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_21010D + goto_if_eq MauvilleCity_GameCorner_EventScript_21010D takecoins 4000 giveitem ITEM_TM35, 1 updatecoinsbox 1, 1 @@ -350,10 +350,10 @@ MauvilleCity_GameCorner_EventScript_210051:: @ 8210051 MauvilleCity_GameCorner_EventScript_21008B:: @ 821008B checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 4000 - goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF + goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF checkitemspace ITEM_TM24, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_21010D + goto_if_eq MauvilleCity_GameCorner_EventScript_21010D takecoins 4000 giveitem ITEM_TM24, 1 updatecoinsbox 1, 1 @@ -365,10 +365,10 @@ MauvilleCity_GameCorner_EventScript_21008B:: @ 821008B MauvilleCity_GameCorner_EventScript_2100C5:: @ 82100C5 checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 4000 - goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF + goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF checkitemspace ITEM_TM13, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_21010D + goto_if_eq MauvilleCity_GameCorner_EventScript_21010D takecoins 4000 giveitem ITEM_TM13, 1 updatecoinsbox 1, 1 @@ -404,11 +404,10 @@ MauvilleCity_GameCorner_EventScript_21012E:: @ 821012E MauvilleCity_GameCorner_EventScript_210137:: @ 8210137 lock faceplayer - checkflag FLAG_0x0E2 - goto_eq MauvilleCity_GameCorner_EventScript_210213 + goto_if_set FLAG_0x0E2, MauvilleCity_GameCorner_EventScript_210213 msgbox MauvilleCity_GameCorner_Text_210750, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210209 + goto_if_eq MauvilleCity_GameCorner_EventScript_210209 switch VAR_STARTER_MON case 0, MauvilleCity_GameCorner_EventScript_21017C case 1, MauvilleCity_GameCorner_EventScript_2101A6 @@ -419,7 +418,7 @@ MauvilleCity_GameCorner_EventScript_21017C:: @ 821017C bufferdecorationname 1, 88 checkdecorspace 88 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_2101FA + goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT givedecoration_std 88 setflag FLAG_0x0E2 @@ -430,7 +429,7 @@ MauvilleCity_GameCorner_EventScript_2101A6:: @ 82101A6 bufferdecorationname 1, 89 checkdecorspace 89 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_2101FA + goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT givedecoration_std 89 setflag FLAG_0x0E2 @@ -441,7 +440,7 @@ MauvilleCity_GameCorner_EventScript_2101D0:: @ 82101D0 bufferdecorationname 1, 90 checkdecorspace 90 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_2101FA + goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT givedecoration_std 90 setflag FLAG_0x0E2 @@ -469,17 +468,16 @@ MauvilleCity_GameCorner_EventScript_21021D:: @ 821021D faceplayer checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 1 - goto_eq MauvilleCity_GameCorner_EventScript_21023D + goto_if_eq MauvilleCity_GameCorner_EventScript_21023D msgbox MauvilleCity_GameCorner_Text_210830, MSGBOX_DEFAULT goto MauvilleCity_GameCorner_EventScript_2102A9 end MauvilleCity_GameCorner_EventScript_21023D:: @ 821023D - checkflag FLAG_0x0E1 - goto_eq MauvilleCity_GameCorner_EventScript_21026B + goto_if_set FLAG_0x0E1, MauvilleCity_GameCorner_EventScript_21026B checkcoins VAR_TEMP_1 compare VAR_TEMP_1, 1 - goto_if 4, MauvilleCity_GameCorner_EventScript_21026B + goto_if_ge MauvilleCity_GameCorner_EventScript_21026B setflag FLAG_0x0E1 givecoins 20 msgbox MauvilleCity_GameCorner_Text_2108A0, MSGBOX_DEFAULT @@ -538,7 +536,7 @@ MauvilleCity_GameCorner_EventScript_2102D6:: @ 82102D6 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 0 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -549,7 +547,7 @@ MauvilleCity_GameCorner_EventScript_2102F6:: @ 82102F6 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 1 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -560,7 +558,7 @@ MauvilleCity_GameCorner_EventScript_210316:: @ 8210316 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 2 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -571,7 +569,7 @@ MauvilleCity_GameCorner_EventScript_210336:: @ 8210336 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 3 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -582,7 +580,7 @@ MauvilleCity_GameCorner_EventScript_210356:: @ 8210356 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 4 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -593,7 +591,7 @@ MauvilleCity_GameCorner_EventScript_210376:: @ 8210376 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 5 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -604,7 +602,7 @@ MauvilleCity_GameCorner_EventScript_210396:: @ 8210396 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 6 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -615,7 +613,7 @@ MauvilleCity_GameCorner_EventScript_2103B6:: @ 82103B6 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 7 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -626,7 +624,7 @@ MauvilleCity_GameCorner_EventScript_2103D6:: @ 82103D6 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 8 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -637,7 +635,7 @@ MauvilleCity_GameCorner_EventScript_2103F6:: @ 82103F6 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 9 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -648,7 +646,7 @@ MauvilleCity_GameCorner_EventScript_210416:: @ 8210416 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 10 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT @@ -659,7 +657,7 @@ MauvilleCity_GameCorner_EventScript_210436:: @ 8210436 lockall checkitem ITEM_COIN_CASE, 1 compare VAR_RESULT, 0 - goto_eq MauvilleCity_GameCorner_EventScript_210456 + goto_if_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 11 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT diff --git a/data/maps/MauvilleCity_Gym/scripts.inc b/data/maps/MauvilleCity_Gym/scripts.inc index fbc1d8b0b..335a27f56 100644 --- a/data/maps/MauvilleCity_Gym/scripts.inc +++ b/data/maps/MauvilleCity_Gym/scripts.inc @@ -3,8 +3,7 @@ MauvilleCity_Gym_MapScripts:: @ 820DD6E .byte 0 MauvilleCity_Gym_MapScript1_20DD74: @ 820DD74 - checkflag FLAG_0x4F2 - goto_eq MauvilleCity_Gym_EventScript_20DEE7 + goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20DEE7 switch VAR_0x4093 case 0, MauvilleCity_Gym_EventScript_20DDBA case 1, MauvilleCity_Gym_EventScript_20DEAF @@ -14,8 +13,7 @@ MauvilleCity_Gym_MapScript1_20DD74: @ 820DD74 end MauvilleCity_Gym_EventScript_20DDBA:: @ 820DDBA - checkflag FLAG_0x063 - goto_eq MauvilleCity_Gym_EventScript_20DDC4 + goto_if_set FLAG_0x063, MauvilleCity_Gym_EventScript_20DDC4 end MauvilleCity_Gym_EventScript_20DDC4:: @ 820DDC4 @@ -79,11 +77,10 @@ MauvilleCity_Gym_EventScript_20DEEB:: @ 820DEEB trainerbattle_single TRAINER_WATTSON_1, MauvilleCity_Gym_Text_20E602, MauvilleCity_Gym_Text_20E734, MauvilleCity_Gym_EventScript_20DF2B, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq MauvilleCity_Gym_EventScript_20DFDE - checkflag FLAG_0x0A7 - goto_if 0, MauvilleCity_Gym_EventScript_20DF8D + goto_if_eq MauvilleCity_Gym_EventScript_20DFDE + goto_if_unset FLAG_0x0A7, MauvilleCity_Gym_EventScript_20DF8D compare VAR_0x40BA, 2 - goto_eq MauvilleCity_Gym_EventScript_20DFD4 + goto_if_eq MauvilleCity_Gym_EventScript_20DFD4 msgbox MauvilleCity_Gym_Text_20E8E3, MSGBOX_DEFAULT release end @@ -99,7 +96,7 @@ MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B setflag FLAG_BADGE03_GET addvar VAR_0x4085, 1 compare VAR_0x4085, 6 - call_if 1, MauvilleCity_Gym_EventScript_271E84 + call_if_eq MauvilleCity_Gym_EventScript_271E84 setvar VAR_0x8008, 3 call MauvilleCity_Gym_EventScript_271F43 special MauvilleGymSpecial3 @@ -120,7 +117,7 @@ MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B MauvilleCity_Gym_EventScript_20DF8D:: @ 820DF8D giveitem_std ITEM_TM34 compare VAR_RESULT, 0 - goto_eq MauvilleCity_Gym_EventScript_272054 + goto_if_eq MauvilleCity_Gym_EventScript_272054 msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT setflag FLAG_0x0A7 release @@ -129,7 +126,7 @@ MauvilleCity_Gym_EventScript_20DF8D:: @ 820DF8D MauvilleCity_Gym_EventScript_20DFB1:: @ 820DFB1 giveitem_std ITEM_TM34 compare VAR_RESULT, 0 - goto_eq MauvilleCity_Gym_EventScript_27205E + goto_if_eq MauvilleCity_Gym_EventScript_27205E msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT setflag FLAG_0x0A7 return @@ -146,10 +143,9 @@ MauvilleCity_Gym_EventScript_20DFDE:: @ 820DFDE MauvilleCity_Gym_EventScript_20DFF9:: @ 820DFF9 lockall - checkflag FLAG_0x4F2 - goto_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E0AD compare VAR_0x4093, 1 - goto_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_eq MauvilleCity_Gym_EventScript_20E0AD setvar VAR_0x4093, 1 setvar VAR_0x8004, 0 goto MauvilleCity_Gym_EventScript_20E08D @@ -157,10 +153,9 @@ MauvilleCity_Gym_EventScript_20DFF9:: @ 820DFF9 MauvilleCity_Gym_EventScript_20E01E:: @ 820E01E lockall - checkflag FLAG_0x4F2 - goto_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E0AD compare VAR_0x4093, 2 - goto_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_eq MauvilleCity_Gym_EventScript_20E0AD setvar VAR_0x4093, 2 setvar VAR_0x8004, 1 goto MauvilleCity_Gym_EventScript_20E08D @@ -168,10 +163,9 @@ MauvilleCity_Gym_EventScript_20E01E:: @ 820E01E MauvilleCity_Gym_EventScript_20E043:: @ 820E043 lockall - checkflag FLAG_0x4F2 - goto_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E0AD compare VAR_0x4093, 3 - goto_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_eq MauvilleCity_Gym_EventScript_20E0AD setvar VAR_0x4093, 3 setvar VAR_0x8004, 2 goto MauvilleCity_Gym_EventScript_20E08D @@ -179,10 +173,9 @@ MauvilleCity_Gym_EventScript_20E043:: @ 820E043 MauvilleCity_Gym_EventScript_20E068:: @ 820E068 lockall - checkflag FLAG_0x4F2 - goto_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E0AD compare VAR_0x4093, 4 - goto_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_eq MauvilleCity_Gym_EventScript_20E0AD setvar VAR_0x4093, 4 setvar VAR_0x8004, 3 goto MauvilleCity_Gym_EventScript_20E08D @@ -193,10 +186,8 @@ MauvilleCity_Gym_EventScript_20E08D:: @ 820E08D special MauvilleGymSpecial1 special DrawWholeMapView playse SE_KI_GASYAN - checkflag FLAG_0x063 - goto_eq MauvilleCity_Gym_EventScript_20E0B4 - checkflag FLAG_0x063 - goto_if 0, MauvilleCity_Gym_EventScript_20E0AF + goto_if_set FLAG_0x063, MauvilleCity_Gym_EventScript_20E0B4 + goto_if_unset FLAG_0x063, MauvilleCity_Gym_EventScript_20E0AF releaseall end @@ -242,8 +233,7 @@ MauvilleCity_Gym_EventScript_20E115:: @ 820E115 MauvilleCity_Gym_EventScript_20E12C:: @ 820E12C lock faceplayer - checkflag FLAG_0x4F2 - goto_eq MauvilleCity_Gym_EventScript_20E141 + goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E141 msgbox MauvilleCity_Gym_Text_20E17F, MSGBOX_DEFAULT release end @@ -255,15 +245,13 @@ MauvilleCity_Gym_EventScript_20E141:: @ 820E141 MauvilleCity_Gym_EventScript_20E14B:: @ 820E14B lockall - checkflag FLAG_BADGE03_GET - goto_eq MauvilleCity_Gym_EventScript_20E16B + goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_20E16B goto MauvilleCity_Gym_EventScript_20E175 end MauvilleCity_Gym_EventScript_20E15B:: @ 820E15B lockall - checkflag FLAG_BADGE03_GET - goto_eq MauvilleCity_Gym_EventScript_20E16B + goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_20E16B goto MauvilleCity_Gym_EventScript_20E175 end diff --git a/data/maps/MauvilleCity_House1/scripts.inc b/data/maps/MauvilleCity_House1/scripts.inc index d5605e5d7..0168f2e9b 100644 --- a/data/maps/MauvilleCity_House1/scripts.inc +++ b/data/maps/MauvilleCity_House1/scripts.inc @@ -4,8 +4,7 @@ MauvilleCity_House1_MapScripts:: @ 820F975 MauvilleCity_House1_EventScript_20F976:: @ 820F976 lock faceplayer - checkflag FLAG_0x06B - goto_eq MauvilleCity_House1_EventScript_20F9A5 + goto_if_set FLAG_0x06B, MauvilleCity_House1_EventScript_20F9A5 msgbox MauvilleCity_House1_Text_20F9AF, MSGBOX_DEFAULT giveitem_std ITEM_HM06 setflag FLAG_0x06B diff --git a/data/maps/MauvilleCity_House2/scripts.inc b/data/maps/MauvilleCity_House2/scripts.inc index 2256fd1fe..288e50725 100644 --- a/data/maps/MauvilleCity_House2/scripts.inc +++ b/data/maps/MauvilleCity_House2/scripts.inc @@ -4,12 +4,11 @@ MauvilleCity_House2_MapScripts:: @ 8210C5C MauvilleCity_House2_EventScript_210C5D:: @ 8210C5D lock faceplayer - checkflag FLAG_0x102 - goto_eq MauvilleCity_House2_EventScript_210CDA + goto_if_set FLAG_0x102, MauvilleCity_House2_EventScript_210CDA msgbox MauvilleCity_House2_Text_210CEE, MSGBOX_DEFAULT checkitem ITEM_HARBOR_MAIL, 1 compare VAR_RESULT, 1 - goto_eq MauvilleCity_House2_EventScript_210C82 + goto_if_eq MauvilleCity_House2_EventScript_210C82 release end @@ -21,9 +20,9 @@ MauvilleCity_House2_EventScript_210C82:: @ 8210C82 waitmovement 0 msgbox MauvilleCity_House2_Text_210D76, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq MauvilleCity_House2_EventScript_210CB8 + goto_if_eq MauvilleCity_House2_EventScript_210CB8 compare VAR_RESULT, 0 - goto_eq MauvilleCity_House2_EventScript_210CE4 + goto_if_eq MauvilleCity_House2_EventScript_210CE4 end MauvilleCity_House2_EventScript_210CB8:: @ 8210CB8 diff --git a/data/maps/MeteorFalls_1F_1R/scripts.inc b/data/maps/MeteorFalls_1F_1R/scripts.inc index 23afa4845..7732e8e7d 100644 --- a/data/maps/MeteorFalls_1F_1R/scripts.inc +++ b/data/maps/MeteorFalls_1F_1R/scripts.inc @@ -3,8 +3,7 @@ MeteorFalls_1F_1R_MapScripts:: @ 822BD2A .byte 0 MeteorFalls_1F_1R_MapScript1_22BD30: @ 822BD30 - checkflag FLAG_SYS_GAME_CLEAR - call_if 1, MeteorFalls_1F_1R_EventScript_22BD3A + call_if_set FLAG_SYS_GAME_CLEAR, MeteorFalls_1F_1R_EventScript_22BD3A end MeteorFalls_1F_1R_EventScript_22BD3A:: @ 822BD3A @@ -17,7 +16,7 @@ MeteorFalls_1F_1R_EventScript_22BD3A:: @ 822BD3A MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F lockall playbgm MUS_MGM0, 0 - applymovement 255, MeteorFalls_1F_1R_Movement_2725B0 + applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_2725B0 waitmovement 0 delay 30 applymovement 5, MeteorFalls_1F_1R_Movement_2725B4 @@ -38,7 +37,7 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F waitmovement 0 msgbox MeteorFalls_1F_1R_Text_22BFE4, MSGBOX_DEFAULT closemessage - applymovement 255, MeteorFalls_1F_1R_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_2725A4 applymovement 5, MeteorFalls_1F_1R_Movement_2725A4 applymovement 6, MeteorFalls_1F_1R_Movement_2725A4 waitmovement 0 @@ -55,7 +54,7 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F waitmovement 0 msgbox MeteorFalls_1F_1R_Text_22C04E, MSGBOX_DEFAULT closemessage - applymovement 255, MeteorFalls_1F_1R_Movement_22BF1D + applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_22BF1D applymovement 5, MeteorFalls_1F_1R_Movement_22BEC4 applymovement 6, MeteorFalls_1F_1R_Movement_22BECE waitmovement 0 @@ -221,8 +220,7 @@ MeteorFalls_1F_1R_Movement_22BF1D: @ 822BF1D MeteorFalls_1F_1R_EventScript_22BF25:: @ 822BF25 lock faceplayer - checkflag FLAG_0x0F4 - goto_eq MeteorFalls_1F_1R_EventScript_22BF3D + goto_if_set FLAG_0x0F4, MeteorFalls_1F_1R_EventScript_22BF3D setflag FLAG_0x0F4 msgbox MeteorFalls_1F_1R_Text_22C342, MSGBOX_DEFAULT release diff --git a/data/maps/MeteorFalls_1F_2R/scripts.inc b/data/maps/MeteorFalls_1F_2R/scripts.inc index c1427d1f2..fee636e0b 100644 --- a/data/maps/MeteorFalls_1F_2R/scripts.inc +++ b/data/maps/MeteorFalls_1F_2R/scripts.inc @@ -5,7 +5,7 @@ MeteorFalls_1F_2R_EventScript_22C4DE:: @ 822C4DE trainerbattle_single TRAINER_NICOLAS_1, MeteorFalls_1F_2R_Text_22C608, MeteorFalls_1F_2R_Text_22C678, MeteorFalls_1F_2R_EventScript_22C50A specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq MeteorFalls_1F_2R_EventScript_22C529 + goto_if_eq MeteorFalls_1F_2R_EventScript_22C529 msgbox MeteorFalls_1F_2R_Text_22C6A3, MSGBOX_DEFAULT release end @@ -27,7 +27,7 @@ MeteorFalls_1F_2R_EventScript_22C540:: @ 822C540 trainerbattle_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_22C843, MeteorFalls_1F_2R_Text_22C89C, MeteorFalls_1F_2R_Text_22C92B, MeteorFalls_1F_2R_EventScript_22C570 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq MeteorFalls_1F_2R_EventScript_22C589 + goto_if_eq MeteorFalls_1F_2R_EventScript_22C589 msgbox MeteorFalls_1F_2R_Text_22C8C1, MSGBOX_DEFAULT release end @@ -47,7 +47,7 @@ MeteorFalls_1F_2R_EventScript_22C5A4:: @ 822C5A4 trainerbattle_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_22C9E6, MeteorFalls_1F_2R_Text_22CA44, MeteorFalls_1F_2R_Text_22CACD, MeteorFalls_1F_2R_EventScript_22C5D4 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq MeteorFalls_1F_2R_EventScript_22C5ED + goto_if_eq MeteorFalls_1F_2R_EventScript_22C5ED msgbox MeteorFalls_1F_2R_Text_22CA70, MSGBOX_DEFAULT release end diff --git a/data/maps/MeteorFalls_StevensCave/scripts.inc b/data/maps/MeteorFalls_StevensCave/scripts.inc index 738a7b6cd..854105932 100644 --- a/data/maps/MeteorFalls_StevensCave/scripts.inc +++ b/data/maps/MeteorFalls_StevensCave/scripts.inc @@ -3,8 +3,7 @@ MeteorFalls_StevensCave_MapScripts:: @ 823B181 MeteorFalls_StevensCave_EventScript_23B182:: @ 823B182 lock - checkflag FLAG_0x4F8 - goto_eq MeteorFalls_StevensCave_EventScript_23B1CD + goto_if_set FLAG_0x4F8, MeteorFalls_StevensCave_EventScript_23B1CD waitse playse SE_PIN applymovement 1, MeteorFalls_StevensCave_Movement_272598 diff --git a/data/maps/MirageTower_4F/scripts.inc b/data/maps/MirageTower_4F/scripts.inc index e60180559..b64fb23a3 100644 --- a/data/maps/MirageTower_4F/scripts.inc +++ b/data/maps/MirageTower_4F/scripts.inc @@ -6,7 +6,7 @@ MirageTower_4F_EventScript_23AD48:: @ 823AD48 faceplayer msgbox MirageTower_4F_Text_23ADF9, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MirageTower_4F_EventScript_23AD7F + goto_if_eq MirageTower_4F_EventScript_23AD7F giveitem_std ITEM_ROOT_FOSSIL closemessage setflag FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL @@ -27,7 +27,7 @@ MirageTower_4F_EventScript_23AD89:: @ 823AD89 faceplayer msgbox MirageTower_4F_Text_23AE98, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MirageTower_4F_EventScript_23ADC0 + goto_if_eq MirageTower_4F_EventScript_23ADC0 giveitem_std ITEM_CLAW_FOSSIL closemessage setflag FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL diff --git a/data/maps/MossdeepCity/scripts.inc b/data/maps/MossdeepCity/scripts.inc index fe037074f..54210e809 100644 --- a/data/maps/MossdeepCity/scripts.inc +++ b/data/maps/MossdeepCity/scripts.inc @@ -7,15 +7,13 @@ MossdeepCity_MapScript1_1E4A9C: @ 81E4A9C clearflag FLAG_0x065 clearflag FLAG_0x066 clearflag FLAG_0x067 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, MossdeepCity_EventScript_27207A + call_if_set FLAG_SYS_WEATHER_CTRL, MossdeepCity_EventScript_27207A end MossdeepCity_EventScript_1E4AB2:: @ 81E4AB2 lock faceplayer - checkflag FLAG_0x07B - goto_eq MossdeepCity_EventScript_1E4AC7 + goto_if_set FLAG_0x07B, MossdeepCity_EventScript_1E4AC7 msgbox MossdeepCity_Text_1E4E90, MSGBOX_DEFAULT release end @@ -28,8 +26,7 @@ MossdeepCity_EventScript_1E4AC7:: @ 81E4AC7 MossdeepCity_EventScript_1E4AD1:: @ 81E4AD1 lock faceplayer - checkflag FLAG_0x07B - goto_eq MossdeepCity_EventScript_1E4AE6 + goto_if_set FLAG_0x07B, MossdeepCity_EventScript_1E4AE6 msgbox MossdeepCity_Text_1E4F50, MSGBOX_DEFAULT release end @@ -227,15 +224,14 @@ MossdeepCity_EventScript_1E4C10:: @ 81E4C10 MossdeepCity_EventScript_1E4C26:: @ 81E4C26 lock faceplayer - checkflag FLAG_0x114 - goto_eq MossdeepCity_EventScript_1E4C68 + goto_if_set FLAG_0x114, MossdeepCity_EventScript_1E4C68 msgbox MossdeepCity_Text_1E4CED, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MossdeepCity_EventScript_1E4C72 + goto_if_eq MossdeepCity_EventScript_1E4C72 msgbox MossdeepCity_Text_1E4D5B, MSGBOX_DEFAULT giveitem_std ITEM_KINGS_ROCK compare VAR_RESULT, 0 - goto_eq MossdeepCity_EventScript_272054 + goto_if_eq MossdeepCity_EventScript_272054 setflag FLAG_0x114 release end @@ -260,22 +256,22 @@ MossdeepCity_EventScript_1E4C85:: @ 81E4C85 msgbox MossdeepCity_Text_1E5453, MSGBOX_DEFAULT closemessage compare VAR_FACING, 2 - call_if 1, MossdeepCity_EventScript_1E4CB0 + call_if_eq MossdeepCity_EventScript_1E4CB0 compare VAR_FACING, 4 - call_if 1, MossdeepCity_EventScript_1E4CC2 + call_if_eq MossdeepCity_EventScript_1E4CC2 addvar VAR_0x40D1, 1 removeobject 16 release end MossdeepCity_EventScript_1E4CB0:: @ 81E4CB0 - applymovement 255, MossdeepCity_Movement_1E4CD4 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_1E4CD4 applymovement 16, MossdeepCity_Movement_1E4CD8 waitmovement 0 return MossdeepCity_EventScript_1E4CC2:: @ 81E4CC2 - applymovement 255, MossdeepCity_Movement_1E4CD4 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_1E4CD4 applymovement 16, MossdeepCity_Movement_1E4CE2 waitmovement 0 return diff --git a/data/maps/MossdeepCity_Gym/scripts.inc b/data/maps/MossdeepCity_Gym/scripts.inc index f42b3f4e4..84157a362 100644 --- a/data/maps/MossdeepCity_Gym/scripts.inc +++ b/data/maps/MossdeepCity_Gym/scripts.inc @@ -3,26 +3,22 @@ MossdeepCity_Gym_MapScripts:: @ 8220800 .byte 0 MossdeepCity_Gym_MapScript1_220806: @ 8220806 - checkflag FLAG_0x064 - goto_eq MossdeepCity_Gym_EventScript_22083D + goto_if_set FLAG_0x064, MossdeepCity_Gym_EventScript_22083D goto MossdeepCity_Gym_EventScript_220815 end MossdeepCity_Gym_EventScript_220815:: @ 8220815 - checkflag FLAG_0x065 - goto_eq MossdeepCity_Gym_EventScript_220855 + goto_if_set FLAG_0x065, MossdeepCity_Gym_EventScript_220855 goto MossdeepCity_Gym_EventScript_220824 end MossdeepCity_Gym_EventScript_220824:: @ 8220824 - checkflag FLAG_0x066 - goto_eq MossdeepCity_Gym_EventScript_22086D + goto_if_set FLAG_0x066, MossdeepCity_Gym_EventScript_22086D goto MossdeepCity_Gym_EventScript_220833 end MossdeepCity_Gym_EventScript_220833:: @ 8220833 - checkflag FLAG_0x067 - goto_eq MossdeepCity_Gym_EventScript_220885 + goto_if_set FLAG_0x067, MossdeepCity_Gym_EventScript_220885 end MossdeepCity_Gym_EventScript_22083D:: @ 822083D @@ -52,9 +48,8 @@ MossdeepCity_Gym_EventScript_220898:: @ 8220898 trainerbattle_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_221783, MossdeepCity_Gym_Text_2218EC, MossdeepCity_Gym_Text_221BCE, MossdeepCity_Gym_EventScript_2208D1, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq MossdeepCity_Gym_EventScript_22097E - checkflag FLAG_0x0AB - goto_if 0, MossdeepCity_Gym_EventScript_220937 + goto_if_eq MossdeepCity_Gym_EventScript_22097E + goto_if_unset FLAG_0x0AB, MossdeepCity_Gym_EventScript_220937 msgbox MossdeepCity_Gym_Text_221B1D, MSGBOX_DEFAULT release end @@ -94,7 +89,7 @@ MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1 MossdeepCity_Gym_EventScript_220937:: @ 8220937 giveitem_std ITEM_TM04 compare VAR_RESULT, 0 - goto_eq MossdeepCity_Gym_EventScript_272054 + goto_if_eq MossdeepCity_Gym_EventScript_272054 msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT setflag FLAG_0x0AB release @@ -103,7 +98,7 @@ MossdeepCity_Gym_EventScript_220937:: @ 8220937 MossdeepCity_Gym_EventScript_22095B:: @ 822095B giveitem_std ITEM_TM04 compare VAR_RESULT, 0 - goto_eq MossdeepCity_Gym_EventScript_27205E + goto_if_eq MossdeepCity_Gym_EventScript_27205E msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT setflag FLAG_0x0AB return @@ -115,10 +110,9 @@ MossdeepCity_Gym_EventScript_22097E:: @ 822097E MossdeepCity_Gym_EventScript_220999:: @ 8220999 lockall - checkflag FLAG_0x064 - goto_eq MossdeepCity_Gym_EventScript_2209D0 + goto_if_set FLAG_0x064, MossdeepCity_Gym_EventScript_2209D0 setflag FLAG_0x064 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 5, 5, 516, 0 setmetatile 2, 7, 569, 1 @@ -133,7 +127,7 @@ MossdeepCity_Gym_EventScript_2209C8:: @ 82209C8 MossdeepCity_Gym_EventScript_2209D0:: @ 82209D0 clearflag FLAG_0x064 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 5, 5, 524, 0 setmetatile 2, 7, 568, 1 @@ -142,10 +136,9 @@ MossdeepCity_Gym_EventScript_2209D0:: @ 82209D0 MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5 lockall - checkflag FLAG_0x065 - goto_eq MossdeepCity_Gym_EventScript_220A24 + goto_if_set FLAG_0x065, MossdeepCity_Gym_EventScript_220A24 setflag FLAG_0x065 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 8, 14, 516, 0 setmetatile 8, 10, 569, 1 @@ -154,7 +147,7 @@ MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5 MossdeepCity_Gym_EventScript_220A24:: @ 8220A24 clearflag FLAG_0x065 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 8, 14, 517, 0 setmetatile 8, 10, 568, 1 @@ -163,10 +156,9 @@ MossdeepCity_Gym_EventScript_220A24:: @ 8220A24 MossdeepCity_Gym_EventScript_220A49:: @ 8220A49 lockall - checkflag FLAG_0x066 - goto_eq MossdeepCity_Gym_EventScript_220A78 + goto_if_set FLAG_0x066, MossdeepCity_Gym_EventScript_220A78 setflag FLAG_0x066 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 15, 17, 524, 0 setmetatile 17, 15, 569, 1 @@ -175,7 +167,7 @@ MossdeepCity_Gym_EventScript_220A49:: @ 8220A49 MossdeepCity_Gym_EventScript_220A78:: @ 8220A78 clearflag FLAG_0x066 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 15, 17, 516, 0 setmetatile 17, 15, 568, 1 @@ -184,10 +176,9 @@ MossdeepCity_Gym_EventScript_220A78:: @ 8220A78 MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D lockall - checkflag FLAG_0x067 - goto_eq MossdeepCity_Gym_EventScript_220ACC + goto_if_set FLAG_0x067, MossdeepCity_Gym_EventScript_220ACC setflag FLAG_0x067 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 1, 23, 525, 0 setmetatile 5, 24, 569, 1 @@ -196,7 +187,7 @@ MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D MossdeepCity_Gym_EventScript_220ACC:: @ 8220ACC clearflag FLAG_0x067 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 1, 23, 516, 0 setmetatile 5, 24, 568, 1 @@ -273,8 +264,7 @@ MossdeepCity_Gym_EventScript_220BFA:: @ 8220BFA MossdeepCity_Gym_EventScript_220C11:: @ 8220C11 lock faceplayer - checkflag FLAG_0x4F6 - goto_eq MossdeepCity_Gym_EventScript_220C26 + goto_if_set FLAG_0x4F6, MossdeepCity_Gym_EventScript_220C26 msgbox MossdeepCity_Gym_Text_220CD5, MSGBOX_DEFAULT release end @@ -291,15 +281,13 @@ MossdeepCity_Gym_Movement_220C30: @ 8220C30 MossdeepCity_Gym_EventScript_220C33:: @ 8220C33 lockall - checkflag FLAG_BADGE07_GET - goto_eq MossdeepCity_Gym_EventScript_220C53 + goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_220C53 goto MossdeepCity_Gym_EventScript_220C5D end MossdeepCity_Gym_EventScript_220C43:: @ 8220C43 lockall - checkflag FLAG_BADGE07_GET - goto_eq MossdeepCity_Gym_EventScript_220C53 + goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_220C53 goto MossdeepCity_Gym_EventScript_220C5D end diff --git a/data/maps/MossdeepCity_House1/scripts.inc b/data/maps/MossdeepCity_House1/scripts.inc index 4a5da3b16..60d612fb2 100644 --- a/data/maps/MossdeepCity_House1/scripts.inc +++ b/data/maps/MossdeepCity_House1/scripts.inc @@ -8,7 +8,7 @@ MossdeepCity_House1_EventScript_221FD6:: @ 8221FD6 msgbox MossdeepCity_House1_Text_22200F, MSGBOX_DEFAULT specialvar VAR_RESULT, GetPokeblockNameByMonNature compare VAR_RESULT, 0 - goto_eq MossdeepCity_House1_EventScript_221FFC + goto_if_eq MossdeepCity_House1_EventScript_221FFC msgbox MossdeepCity_House1_Text_22201D, MSGBOX_DEFAULT release end diff --git a/data/maps/MossdeepCity_House2/scripts.inc b/data/maps/MossdeepCity_House2/scripts.inc index 863bb4eda..c2c5ff620 100644 --- a/data/maps/MossdeepCity_House2/scripts.inc +++ b/data/maps/MossdeepCity_House2/scripts.inc @@ -20,9 +20,9 @@ MossdeepCity_House2_EventScript_2220F1:: @ 82220F1 setflag FLAG_0x0E0 clearflag FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL compare VAR_FACING, 2 - call_if 1, MossdeepCity_House2_EventScript_222124 + call_if_eq MossdeepCity_House2_EventScript_222124 compare VAR_FACING, 3 - call_if 1, MossdeepCity_House2_EventScript_22212F + call_if_eq MossdeepCity_House2_EventScript_22212F removeobject 3 release end diff --git a/data/maps/MossdeepCity_House3/scripts.inc b/data/maps/MossdeepCity_House3/scripts.inc index 2d4fd04ad..c61a0751c 100644 --- a/data/maps/MossdeepCity_House3/scripts.inc +++ b/data/maps/MossdeepCity_House3/scripts.inc @@ -4,11 +4,10 @@ MossdeepCity_House3_MapScripts:: @ 82225C2 MossdeepCity_House3_EventScript_2225C3:: @ 82225C3 lock faceplayer - checkflag FLAG_0x098 - goto_eq MossdeepCity_House3_EventScript_222602 + goto_if_set FLAG_0x098, MossdeepCity_House3_EventScript_222602 msgbox MossdeepCity_House3_Text_222616, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MossdeepCity_House3_EventScript_22260C + goto_if_eq MossdeepCity_House3_EventScript_22260C msgbox MossdeepCity_House3_Text_2226B6, MSGBOX_DEFAULT giveitem_std ITEM_SUPER_ROD setflag FLAG_0x098 diff --git a/data/maps/MossdeepCity_House4/scripts.inc b/data/maps/MossdeepCity_House4/scripts.inc index 627340b5c..1763a9c46 100644 --- a/data/maps/MossdeepCity_House4/scripts.inc +++ b/data/maps/MossdeepCity_House4/scripts.inc @@ -4,8 +4,7 @@ MossdeepCity_House4_MapScripts:: @ 8222DD7 MossdeepCity_House4_EventScript_222DD8:: @ 8222DD8 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_eq MossdeepCity_House4_EventScript_222DED + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_House4_EventScript_222DED msgbox MossdeepCity_House4_Text_222E31, MSGBOX_DEFAULT release end @@ -20,7 +19,7 @@ MossdeepCity_House4_EventScript_222DF7:: @ 8222DF7 faceplayer special sub_80E8BC8 compare VAR_RESULT, 0 - goto_eq MossdeepCity_House4_EventScript_222E14 + goto_if_eq MossdeepCity_House4_EventScript_222E14 special GetSecretBaseNearbyMapName msgbox MossdeepCity_House4_Text_222ECC, MSGBOX_DEFAULT release diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc index 32eac1540..6d8b7bd47 100644 --- a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc @@ -5,7 +5,7 @@ MossdeepCity_SpaceCenter_1F_MapScripts:: @ 8222F41 MossdeepCity_SpaceCenter_1F_MapScript1_222F4C: @ 8222F4C compare VAR_0x405D, 2 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222F58 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222F58 end MossdeepCity_SpaceCenter_1F_EventScript_222F58:: @ 8222F58 @@ -19,11 +19,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_222F58:: @ 8222F58 setobjectmovementtype 1, 10 setobjectmovementtype 2, 10 compare VAR_0x409E, 1 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222FAA + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FAA compare VAR_0x409E, 2 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222FB2 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FB2 compare VAR_0x409E, 3 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222FBA + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FBA end MossdeepCity_SpaceCenter_1F_EventScript_222FAA:: @ 8222FAA @@ -40,7 +40,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_222FBA:: @ 8222FBA MossdeepCity_SpaceCenter_1F_MapScript1_222FC2: @ 8222FC2 compare VAR_0x405D, 2 - goto_if 3, MossdeepCity_SpaceCenter_1F_EventScript_222FCE + goto_if_le MossdeepCity_SpaceCenter_1F_EventScript_222FCE end MossdeepCity_SpaceCenter_1F_EventScript_222FCE:: @ 8222FCE @@ -51,14 +51,14 @@ MossdeepCity_SpaceCenter_1F_EventScript_222FD8:: @ 8222FD8 lock faceplayer compare VAR_0x405D, 2 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223024 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223024 dodailyevents specialvar VAR_RESULT, GetWeekCount buffernumberstring 0, VAR_RESULT compare VAR_RESULT, 0 - call_if 1, MossdeepCity_SpaceCenter_1F_EventScript_223012 + call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223012 compare VAR_RESULT, 1 - call_if 4, MossdeepCity_SpaceCenter_1F_EventScript_22301B + call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_22301B closemessage applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2 waitmovement 0 @@ -78,9 +78,9 @@ MossdeepCity_SpaceCenter_1F_EventScript_223024:: @ 8223024 specialvar VAR_RESULT, GetWeekCount buffernumberstring 0, VAR_RESULT compare VAR_RESULT, 0 - call_if 1, MossdeepCity_SpaceCenter_1F_EventScript_223051 + call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223051 compare VAR_RESULT, 1 - call_if 4, MossdeepCity_SpaceCenter_1F_EventScript_22305A + call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_22305A closemessage applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8 waitmovement 0 @@ -99,7 +99,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_223063:: @ 8223063 lock faceplayer compare VAR_0x405D, 2 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22307A + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_22307A msgbox MossdeepCity_SpaceCenter_1F_Text_2233D3, MSGBOX_DEFAULT release end @@ -115,13 +115,12 @@ MossdeepCity_SpaceCenter_1F_EventScript_22308E:: @ 822308E lock faceplayer compare VAR_0x405D, 2 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2230DA - checkflag FLAG_0x0C0 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2230D0 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_2230DA + goto_if_set FLAG_0x0C0, MossdeepCity_SpaceCenter_1F_EventScript_2230D0 msgbox MossdeepCity_SpaceCenter_1F_Text_223540, MSGBOX_DEFAULT giveitem_std ITEM_SUN_STONE compare VAR_RESULT, 0 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_272054 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_272054 setflag FLAG_0x0C0 msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, MSGBOX_DEFAULT release @@ -133,12 +132,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_2230D0:: @ 82230D0 end MossdeepCity_SpaceCenter_1F_EventScript_2230DA:: @ 82230DA - checkflag FLAG_0x0C0 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223119 + goto_if_set FLAG_0x0C0, MossdeepCity_SpaceCenter_1F_EventScript_223119 msgbox MossdeepCity_SpaceCenter_1F_Text_2235F0, MSGBOX_DEFAULT giveitem_std ITEM_SUN_STONE compare VAR_RESULT, 0 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_272054 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_272054 setflag FLAG_0x0C0 msgbox MossdeepCity_SpaceCenter_1F_Text_223664, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8 @@ -156,12 +154,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_223119:: @ 8223119 MossdeepCity_SpaceCenter_1F_EventScript_22312D:: @ 822312D lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223154 + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_223154 compare VAR_0x405D, 2 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22315E + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_22315E compare VAR_0x405D, 2 - goto_if 0, MossdeepCity_SpaceCenter_1F_EventScript_223154 + goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_223154 goto MossdeepCity_SpaceCenter_1F_EventScript_22315E end @@ -178,12 +175,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_22315E:: @ 822315E MossdeepCity_SpaceCenter_1F_EventScript_223168:: @ 8223168 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22318F + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_22318F compare VAR_0x405D, 2 - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2231A4 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_2231A4 compare VAR_0x405D, 2 - goto_if 0, MossdeepCity_SpaceCenter_1F_EventScript_22318F + goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_22318F goto MossdeepCity_SpaceCenter_1F_EventScript_2231A4 end @@ -236,8 +232,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_223208:: @ 8223208 MossdeepCity_SpaceCenter_1F_EventScript_22321F:: @ 822321F lock faceplayer - checkflag FLAG_0x0BF - goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22326E + goto_if_set FLAG_0x0BF, MossdeepCity_SpaceCenter_1F_EventScript_22326E msgbox MossdeepCity_SpaceCenter_1F_Text_223B90, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_23, MossdeepCity_SpaceCenter_1F_Text_223BC2 setflag FLAG_0x0BF diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc index 3c31ec06c..c4b106589 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc @@ -5,9 +5,9 @@ MossdeepCity_SpaceCenter_2F_MapScripts:: @ 8223D58 MossdeepCity_SpaceCenter_2F_MapScript1_223D63: @ 8223D63 compare VAR_0x405D, 2 - call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_223D7A + call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223D7A compare VAR_0x409F, 2 - call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_223D9F + call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223D9F end MossdeepCity_SpaceCenter_2F_EventScript_223D7A:: @ 8223D7A @@ -32,16 +32,16 @@ MossdeepCity_SpaceCenter_2F_MapScript2_223DB5: @ 8223DB5 MossdeepCity_SpaceCenter_2F_EventScript_223DBF:: @ 8223DBF playse SE_PIN - applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_272598 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_272598 waitmovement 0 - applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_27259A + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_27259A waitmovement 0 msgbox MossdeepCity_SpaceCenter_2F_Text_2243A4, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223E09 + goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223E09 msgbox MossdeepCity_SpaceCenter_2F_Text_2243FE, MSGBOX_DEFAULT closemessage - applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_223E07 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_223E07 waitmovement 0 warp MAP_MOSSDEEP_CITY_SPACE_CENTER_1F, 255, 13, 1 waitstate @@ -57,13 +57,13 @@ MossdeepCity_SpaceCenter_2F_EventScript_223E09:: @ 8223E09 trainerbattle_no_intro TRAINER_GRUNT_34, MossdeepCity_SpaceCenter_2F_Text_224461 applymovement 6, MossdeepCity_SpaceCenter_2F_Movement_223E85 waitmovement 0 - applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_2725A4 waitmovement 0 msgbox MossdeepCity_SpaceCenter_2F_Text_22446E, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_35, MossdeepCity_SpaceCenter_2F_Text_224499 applymovement 5, MossdeepCity_SpaceCenter_2F_Movement_223E81 waitmovement 0 - applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_2725A8 waitmovement 0 msgbox MossdeepCity_SpaceCenter_2F_Text_2244AB, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_36, MossdeepCity_SpaceCenter_2F_Text_2244F1 @@ -97,12 +97,11 @@ MossdeepCity_SpaceCenter_2F_Movement_223E89: @ 8223E89 MossdeepCity_SpaceCenter_2F_EventScript_223E8D:: @ 8223E8D lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EB4 + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223EB4 compare VAR_0x405D, 2 - goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EBE + goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223EBE compare VAR_0x405D, 2 - goto_if 0, MossdeepCity_SpaceCenter_2F_EventScript_223EB4 + goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223EB4 goto MossdeepCity_SpaceCenter_2F_EventScript_223EBE end @@ -119,12 +118,11 @@ MossdeepCity_SpaceCenter_2F_EventScript_223EBE:: @ 8223EBE MossdeepCity_SpaceCenter_2F_EventScript_223EC8:: @ 8223EC8 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EEF + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223EEF compare VAR_0x405D, 2 - goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EF9 + goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223EF9 compare VAR_0x405D, 2 - goto_if 0, MossdeepCity_SpaceCenter_2F_EventScript_223EEF + goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223EEF goto MossdeepCity_SpaceCenter_2F_EventScript_223EF9 end @@ -141,12 +139,11 @@ MossdeepCity_SpaceCenter_2F_EventScript_223EF9:: @ 8223EF9 MossdeepCity_SpaceCenter_2F_EventScript_223F03:: @ 8223F03 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223F2A + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223F2A compare VAR_0x405D, 2 - goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223F34 + goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223F34 compare VAR_0x405D, 2 - goto_if 0, MossdeepCity_SpaceCenter_2F_EventScript_223F2A + goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223F2A goto MossdeepCity_SpaceCenter_2F_EventScript_223F34 end @@ -189,8 +186,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_223F6F:: @ 8223F6F MossdeepCity_SpaceCenter_2F_EventScript_223F7A:: @ 8223F7A lockall - checkflag FLAG_0x0CD - goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223FDA + goto_if_set FLAG_0x0CD, MossdeepCity_SpaceCenter_2F_EventScript_223FDA setflag FLAG_0x0CD msgbox MossdeepCity_SpaceCenter_2F_Text_2246B2, MSGBOX_DEFAULT msgbox MossdeepCity_SpaceCenter_2F_Text_2246F0, MSGBOX_DEFAULT @@ -239,7 +235,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_223FDA:: @ 8223FDA waitmovement 0 msgbox MossdeepCity_SpaceCenter_2F_Text_2247FF, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq MossdeepCity_SpaceCenter_2F_EventScript_22400C + goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_22400C msgbox MossdeepCity_SpaceCenter_2F_Text_224854, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_2725AA @@ -255,7 +251,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_22400C:: @ 822400C special sub_80F9438 waitstate compare VAR_RESULT, 0 - goto_if 5, MossdeepCity_SpaceCenter_2F_EventScript_224032 + goto_if_ne MossdeepCity_SpaceCenter_2F_EventScript_224032 special LoadPlayerParty goto MossdeepCity_SpaceCenter_2F_EventScript_223FDA @@ -354,9 +350,9 @@ MossdeepCity_SpaceCenter_2F_EventScript_224175:: @ 8224175 lockall checkplayergender compare VAR_RESULT, 0 - call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_224193 + call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_224193 compare VAR_RESULT, 1 - call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_22419A + call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_22419A closemessage clearflag FLAG_0x075 releaseall diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc index 297af90d3..8db53c1c6 100644 --- a/data/maps/MossdeepCity_StevensHouse/scripts.inc +++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc @@ -5,8 +5,7 @@ MossdeepCity_StevensHouse_MapScripts:: @ 8222784 .byte 0 MossdeepCity_StevensHouse_MapScript1_222794: @ 8222794 - checkflag FLAG_SYS_GAME_CLEAR - call_if 0, MossdeepCity_StevensHouse_EventScript_22279E + call_if_unset FLAG_SYS_GAME_CLEAR, MossdeepCity_StevensHouse_EventScript_22279E end MossdeepCity_StevensHouse_EventScript_22279E:: @ 822279E @@ -15,7 +14,7 @@ MossdeepCity_StevensHouse_EventScript_22279E:: @ 822279E MossdeepCity_StevensHouse_MapScript1_2227A8: @ 82227A8 compare VAR_0x40C6, 2 - call_if 1, MossdeepCity_StevensHouse_EventScript_2227B4 + call_if_eq MossdeepCity_StevensHouse_EventScript_2227B4 end MossdeepCity_StevensHouse_EventScript_2227B4:: @ 82227B4 @@ -75,7 +74,7 @@ MossdeepCity_StevensHouse_EventScript_222841:: @ 8222841 lockall msgbox MossdeepCity_StevensHouse_Text_222B9E, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MossdeepCity_StevensHouse_EventScript_22285B + goto_if_eq MossdeepCity_StevensHouse_EventScript_22285B goto MossdeepCity_StevensHouse_EventScript_222865 end @@ -88,9 +87,9 @@ MossdeepCity_StevensHouse_EventScript_222865:: @ 8222865 setvar VAR_TEMP_1, 398 givemon SPECIES_BELDUM, 5, ITEM_NONE, 0x0, 0x0, 0 compare VAR_RESULT, 0 - goto_eq MossdeepCity_StevensHouse_EventScript_222895 + goto_if_eq MossdeepCity_StevensHouse_EventScript_222895 compare VAR_RESULT, 1 - goto_eq MossdeepCity_StevensHouse_EventScript_2228BD + goto_if_eq MossdeepCity_StevensHouse_EventScript_2228BD goto MossdeepCity_StevensHouse_EventScript_273811 end @@ -98,7 +97,7 @@ MossdeepCity_StevensHouse_EventScript_222895:: @ 8222895 call MossdeepCity_StevensHouse_EventScript_2228EB msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MossdeepCity_StevensHouse_EventScript_222901 + goto_if_eq MossdeepCity_StevensHouse_EventScript_222901 call MossdeepCity_StevensHouse_EventScript_27378B call MossdeepCity_StevensHouse_EventScript_2723DD goto MossdeepCity_StevensHouse_EventScript_222901 @@ -108,7 +107,7 @@ MossdeepCity_StevensHouse_EventScript_2228BD:: @ 82228BD call MossdeepCity_StevensHouse_EventScript_2228EB msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MossdeepCity_StevensHouse_EventScript_2228E0 + goto_if_eq MossdeepCity_StevensHouse_EventScript_2228E0 call MossdeepCity_StevensHouse_EventScript_273797 goto MossdeepCity_StevensHouse_EventScript_2228E0 end diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc index 88df5692e..6e7331660 100644 --- a/data/maps/MtChimney/scripts.inc +++ b/data/maps/MtChimney/scripts.inc @@ -14,10 +14,8 @@ MtChimney_MapScript1_22EDD2: @ 822EDD2 MtChimney_EventScript_22EDD5:: @ 822EDD5 lock faceplayer - checkflag FLAG_0x0DB - call_if 0, MtChimney_EventScript_22EDF9 - checkflag FLAG_0x0DB - call_if 1, MtChimney_EventScript_22EE02 + call_if_unset FLAG_0x0DB, MtChimney_EventScript_22EDF9 + call_if_set FLAG_0x0DB, MtChimney_EventScript_22EE02 closemessage applymovement 1, MtChimney_Movement_2725A2 waitmovement 0 @@ -59,17 +57,17 @@ MtChimney_EventScript_22EE0B:: @ 822EE0B setobjectxyperm 1, 10, 12 addobject 1 compare VAR_FACING, 4 - call_if 1, MtChimney_EventScript_22EEC7 + call_if_eq MtChimney_EventScript_22EEC7 compare VAR_FACING, 2 - call_if 1, MtChimney_EventScript_22EED2 - applymovement 255, MtChimney_Movement_2725A4 + call_if_eq MtChimney_EventScript_22EED2 + applymovement EVENT_OBJ_ID_PLAYER, MtChimney_Movement_2725A4 waitmovement 0 msgbox MtChimney_Text_22FC3D, MSGBOX_DEFAULT closemessage compare VAR_FACING, 4 - call_if 1, MtChimney_EventScript_22EEDD + call_if_eq MtChimney_EventScript_22EEDD compare VAR_FACING, 2 - call_if 1, MtChimney_EventScript_22EEE8 + call_if_eq MtChimney_EventScript_22EEE8 removeobject 1 setflag FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA setflag FLAG_0x08B @@ -105,17 +103,17 @@ MtChimney_EventScript_22EEF3:: @ 822EEF3 showmoneybox 0, 0, 0 msgbox MtChimney_Text_22FE04, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MtChimney_EventScript_22EF69 + goto_if_eq MtChimney_EventScript_22EF69 checkmoney 0xc8, 0 compare VAR_RESULT, 0 - goto_eq MtChimney_EventScript_22EF76 + goto_if_eq MtChimney_EventScript_22EF76 msgbox MtChimney_Text_22FE4D, MSGBOX_DEFAULT checkitemspace ITEM_LAVA_COOKIE, 1 compare VAR_RESULT, 1 - call_if 1, MtChimney_EventScript_22EF5E + call_if_eq MtChimney_EventScript_22EF5E giveitem_std ITEM_LAVA_COOKIE compare VAR_RESULT, 0 - goto_eq MtChimney_EventScript_22EF51 + goto_if_eq MtChimney_EventScript_22EF51 hidemoneybox nop nop @@ -454,13 +452,11 @@ MtChimney_EventScript_22F0DB:: @ 822F0DB MtChimney_EventScript_22F0E4:: @ 822F0E4 lockall - checkflag FLAG_0x08B - goto_if 0, MtChimney_EventScript_22F137 - checkflag FLAG_0x073 - goto_eq MtChimney_EventScript_22F12D + goto_if_unset FLAG_0x08B, MtChimney_EventScript_22F137 + goto_if_set FLAG_0x073, MtChimney_EventScript_22F12D msgbox MtChimney_Text_22FF12, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MtChimney_EventScript_22F123 + goto_if_eq MtChimney_EventScript_22F123 msgbox MtChimney_Text_22FF66, MSGBOX_DEFAULT giveitem_std ITEM_METEORITE setflag FLAG_0x073 @@ -490,7 +486,7 @@ MtChimney_EventScript_22F14A:: @ 822F14A trainerbattle_single TRAINER_SHELBY_1, MtChimney_Text_23001D, MtChimney_Text_230076, MtChimney_EventScript_22F176 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq MtChimney_EventScript_22F195 + goto_if_eq MtChimney_EventScript_22F195 msgbox MtChimney_Text_2300A2, MSGBOX_DEFAULT release end @@ -532,7 +528,7 @@ MtChimney_EventScript_22F208:: @ 822F208 trainerbattle_single TRAINER_SAWYER_1, MtChimney_Text_2304B3, MtChimney_Text_2304F7, MtChimney_EventScript_22F234 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq MtChimney_EventScript_22F253 + goto_if_eq MtChimney_EventScript_22F253 msgbox MtChimney_Text_230519, MSGBOX_DEFAULT release end diff --git a/data/maps/MtChimney_CableCarStation/scripts.inc b/data/maps/MtChimney_CableCarStation/scripts.inc index 89fc9fd38..8e52438c9 100644 --- a/data/maps/MtChimney_CableCarStation/scripts.inc +++ b/data/maps/MtChimney_CableCarStation/scripts.inc @@ -5,7 +5,7 @@ MtChimney_CableCarStation_MapScripts:: @ 822ABFA MtChimney_CableCarStation_MapScript1_22AC05: @ 822AC05 compare VAR_0x40A3, 1 - call_if 1, MtChimney_CableCarStation_EventScript_22AC11 + call_if_eq MtChimney_CableCarStation_EventScript_22AC11 end MtChimney_CableCarStation_EventScript_22AC11:: @ 822AC11 @@ -19,7 +19,7 @@ MtChimney_CableCarStation_MapScript2_22AC1D: @ 822AC1D MtChimney_CableCarStation_EventScript_22AC27:: @ 822AC27 lockall - applymovement 255, MtChimney_CableCarStation_Movement_22ACB4 + applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_22ACB4 applymovement 1, MtChimney_CableCarStation_Movement_22ACAA waitmovement 0 setvar VAR_0x40A3, 0 @@ -33,16 +33,16 @@ MtChimney_CableCarStation_EventScript_22AC4B:: @ 822AC4B faceplayer msgbox MtChimney_CableCarStation_Text_22ACB9, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq MtChimney_CableCarStation_EventScript_22AC6C + goto_if_eq MtChimney_CableCarStation_EventScript_22AC6C compare VAR_RESULT, 0 - goto_eq MtChimney_CableCarStation_EventScript_22AC9B + goto_if_eq MtChimney_CableCarStation_EventScript_22AC9B end MtChimney_CableCarStation_EventScript_22AC6C:: @ 822AC6C msgbox MtChimney_CableCarStation_Text_22ACF8, MSGBOX_DEFAULT closemessage applymovement 1, MtChimney_CableCarStation_Movement_22ACA5 - applymovement 255, MtChimney_CableCarStation_Movement_22ACAF + applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_22ACAF waitmovement 0 setvar VAR_0x8004, 1 setvar VAR_0x40A3, 2 diff --git a/data/maps/MtPyre_1F/scripts.inc b/data/maps/MtPyre_1F/scripts.inc index c5f24ccc0..b3f38c296 100644 --- a/data/maps/MtPyre_1F/scripts.inc +++ b/data/maps/MtPyre_1F/scripts.inc @@ -4,12 +4,11 @@ MtPyre_1F_MapScripts:: @ 8230F3E MtPyre_1F_EventScript_230F3F:: @ 8230F3F lock faceplayer - checkflag FLAG_0x11A - goto_eq MtPyre_1F_EventScript_230F6E + goto_if_set FLAG_0x11A, MtPyre_1F_EventScript_230F6E msgbox MtPyre_1F_Text_230F8A, MSGBOX_DEFAULT giveitem_std ITEM_CLEANSE_TAG compare VAR_RESULT, 0 - goto_eq MtPyre_1F_EventScript_272054 + goto_if_eq MtPyre_1F_EventScript_272054 setflag FLAG_0x11A release end diff --git a/data/maps/MtPyre_3F/scripts.inc b/data/maps/MtPyre_3F/scripts.inc index 42c39705c..558ab9999 100644 --- a/data/maps/MtPyre_3F/scripts.inc +++ b/data/maps/MtPyre_3F/scripts.inc @@ -15,7 +15,7 @@ MtPyre_3F_EventScript_231781:: @ 8231781 trainerbattle_single TRAINER_GABRIELLE_1, MtPyre_3F_Text_231952, MtPyre_3F_Text_23196A, MtPyre_3F_EventScript_2317AD specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq MtPyre_3F_EventScript_2317CC + goto_if_eq MtPyre_3F_EventScript_2317CC msgbox MtPyre_3F_Text_23199B, MSGBOX_DEFAULT release end diff --git a/data/maps/MtPyre_6F/scripts.inc b/data/maps/MtPyre_6F/scripts.inc index 92178b21b..f59edd7b1 100644 --- a/data/maps/MtPyre_6F/scripts.inc +++ b/data/maps/MtPyre_6F/scripts.inc @@ -5,7 +5,7 @@ MtPyre_6F_EventScript_231D3B:: @ 8231D3B trainerbattle_single TRAINER_VALERIE_1, MtPyre_6F_Text_231DB4, MtPyre_6F_Text_231DE2, MtPyre_6F_EventScript_231D67 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq MtPyre_6F_EventScript_231D86 + goto_if_eq MtPyre_6F_EventScript_231D86 msgbox MtPyre_6F_Text_231DFC, MSGBOX_DEFAULT release end diff --git a/data/maps/MtPyre_Exterior/scripts.inc b/data/maps/MtPyre_Exterior/scripts.inc index 8f757ebb4..fe51946dc 100644 --- a/data/maps/MtPyre_Exterior/scripts.inc +++ b/data/maps/MtPyre_Exterior/scripts.inc @@ -9,20 +9,20 @@ MtPyre_Exterior_MapScript1_231FD2: @ 8231FD2 MtPyre_Exterior_EventScript_231FD8:: @ 8231FD8 getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_1, 12 - goto_if 0, MtPyre_Exterior_EventScript_231FE9 + goto_if_lt MtPyre_Exterior_EventScript_231FE9 return MtPyre_Exterior_EventScript_231FE9:: @ 8231FE9 - setweather 6 + setweather WEATHER_FOG_1 return MtPyre_Exterior_EventScript_231FED:: @ 8231FED - setweather 6 + setweather WEATHER_FOG_1 doweather end MtPyre_Exterior_EventScript_231FF2:: @ 8231FF2 - setweather 2 + setweather WEATHER_SUNNY doweather end diff --git a/data/maps/MtPyre_Summit/scripts.inc b/data/maps/MtPyre_Summit/scripts.inc index 13caaab1e..31ae3348a 100644 --- a/data/maps/MtPyre_Summit/scripts.inc +++ b/data/maps/MtPyre_Summit/scripts.inc @@ -4,7 +4,7 @@ MtPyre_Summit_MapScripts:: @ 8231FF7 MtPyre_Summit_MapScript1_231FFD: @ 8231FFD compare VAR_0x40B9, 2 - call_if 1, MtPyre_Summit_EventScript_232009 + call_if_eq MtPyre_Summit_EventScript_232009 end MtPyre_Summit_EventScript_232009:: @ 8232009 @@ -32,17 +32,17 @@ MtPyre_Summit_EventScript_232030:: @ 8232030 MtPyre_Summit_EventScript_23203C:: @ 823203C playbgm MUS_AQA_0, 0 - applymovement 255, MtPyre_Summit_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2725B2 waitmovement 0 applymovement 2, MtPyre_Summit_Movement_2725AA waitmovement 0 delay 50 compare VAR_0x8008, 0 - call_if 1, MtPyre_Summit_EventScript_2320E0 + call_if_eq MtPyre_Summit_EventScript_2320E0 compare VAR_0x8008, 1 - call_if 1, MtPyre_Summit_EventScript_2320EB + call_if_eq MtPyre_Summit_EventScript_2320EB compare VAR_0x8008, 2 - call_if 1, MtPyre_Summit_EventScript_2320EC + call_if_eq MtPyre_Summit_EventScript_2320EC msgbox MtPyre_Summit_Text_23281A, MSGBOX_DEFAULT closemessage fadescreen 1 @@ -58,11 +58,11 @@ MtPyre_Summit_EventScript_23203C:: @ 823203C delay 20 setvar VAR_0x40B9, 1 compare VAR_0x8008, 0 - call_if 1, MtPyre_Summit_EventScript_2320F7 + call_if_eq MtPyre_Summit_EventScript_2320F7 compare VAR_0x8008, 1 - call_if 1, MtPyre_Summit_EventScript_23210C + call_if_eq MtPyre_Summit_EventScript_23210C compare VAR_0x8008, 2 - call_if 1, MtPyre_Summit_EventScript_232117 + call_if_eq MtPyre_Summit_EventScript_232117 msgbox MtPyre_Summit_Text_23290E, MSGBOX_DEFAULT giveitem_std ITEM_MAGMA_EMBLEM setflag FLAG_0x0D4 @@ -86,7 +86,7 @@ MtPyre_Summit_EventScript_2320EC:: @ 82320EC MtPyre_Summit_EventScript_2320F7:: @ 82320F7 applymovement 3, MtPyre_Summit_Movement_23212C waitmovement 0 - applymovement 255, MtPyre_Summit_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2725A8 waitmovement 0 return @@ -98,7 +98,7 @@ MtPyre_Summit_EventScript_23210C:: @ 823210C MtPyre_Summit_EventScript_232117:: @ 8232117 applymovement 3, MtPyre_Summit_Movement_232132 waitmovement 0 - applymovement 255, MtPyre_Summit_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2725A4 waitmovement 0 return @@ -131,22 +131,21 @@ MtPyre_Summit_Movement_232139: @ 8232139 MtPyre_Summit_EventScript_23213C:: @ 823213C lock faceplayer - checkflag FLAG_0x09E - goto_eq MtPyre_Summit_EventScript_232167 + goto_if_set FLAG_0x09E, MtPyre_Summit_EventScript_232167 msgbox MtPyre_Summit_Text_232E0C, MSGBOX_YESNO compare VAR_RESULT, 1 - call_if 1, MtPyre_Summit_EventScript_232187 + call_if_eq MtPyre_Summit_EventScript_232187 compare VAR_RESULT, 0 - call_if 1, MtPyre_Summit_EventScript_232190 + call_if_eq MtPyre_Summit_EventScript_232190 release end MtPyre_Summit_EventScript_232167:: @ 8232167 msgbox MtPyre_Summit_Text_2331A6, MSGBOX_YESNO compare VAR_RESULT, 1 - call_if 1, MtPyre_Summit_EventScript_232199 + call_if_eq MtPyre_Summit_EventScript_232199 compare VAR_RESULT, 0 - call_if 1, MtPyre_Summit_EventScript_232190 + call_if_eq MtPyre_Summit_EventScript_232190 release end @@ -165,12 +164,10 @@ MtPyre_Summit_EventScript_232199:: @ 8232199 MtPyre_Summit_EventScript_2321A2:: @ 82321A2 lock faceplayer - checkflag FLAG_0x103 - goto_eq MtPyre_Summit_EventScript_2321E2 + goto_if_set FLAG_0x103, MtPyre_Summit_EventScript_2321E2 compare VAR_0x40B9, 3 - call_if 4, MtPyre_Summit_EventScript_2321CB - checkflag FLAG_0x081 - goto_eq MtPyre_Summit_EventScript_2321D8 + call_if_ge MtPyre_Summit_EventScript_2321CB + goto_if_set FLAG_0x081, MtPyre_Summit_EventScript_2321D8 msgbox MtPyre_Summit_Text_232AD8, MSGBOX_DEFAULT release end @@ -210,15 +207,15 @@ MtPyre_Summit_EventScript_232204:: @ 8232204 end MtPyre_Summit_EventScript_232210:: @ 8232210 - applymovement 255, MtPyre_Summit_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2725A6 waitmovement 0 delay 60 compare VAR_0x8008, 0 - call_if 1, MtPyre_Summit_EventScript_2322C4 + call_if_eq MtPyre_Summit_EventScript_2322C4 compare VAR_0x8008, 1 - call_if 1, MtPyre_Summit_EventScript_2322DD + call_if_eq MtPyre_Summit_EventScript_2322DD compare VAR_0x8008, 2 - call_if 1, MtPyre_Summit_EventScript_2322F6 + call_if_eq MtPyre_Summit_EventScript_2322F6 playse SE_PIN applymovement 8, MtPyre_Summit_Movement_272598 waitmovement 0 @@ -226,19 +223,19 @@ MtPyre_Summit_EventScript_232210:: @ 8232210 waitmovement 0 delay 30 compare VAR_0x8008, 0 - call_if 1, MtPyre_Summit_EventScript_23230F + call_if_eq MtPyre_Summit_EventScript_23230F compare VAR_0x8008, 1 - call_if 1, MtPyre_Summit_EventScript_232328 + call_if_eq MtPyre_Summit_EventScript_232328 compare VAR_0x8008, 2 - call_if 1, MtPyre_Summit_EventScript_232341 + call_if_eq MtPyre_Summit_EventScript_232341 msgbox MtPyre_Summit_Text_233183, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if 1, MtPyre_Summit_EventScript_23235A + call_if_eq MtPyre_Summit_EventScript_23235A compare VAR_0x8008, 1 - call_if 1, MtPyre_Summit_EventScript_232376 + call_if_eq MtPyre_Summit_EventScript_232376 compare VAR_0x8008, 2 - call_if 1, MtPyre_Summit_EventScript_232392 + call_if_eq MtPyre_Summit_EventScript_232392 delay 30 applymovement 2, MtPyre_Summit_Movement_2323B6 applymovement 8, MtPyre_Summit_Movement_2323BD @@ -250,49 +247,49 @@ MtPyre_Summit_EventScript_232210:: @ 8232210 end MtPyre_Summit_EventScript_2322C4:: @ 82322C4 - applymovement 255, MtPyre_Summit_Movement_2323C4 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323C4 applymovement 2, MtPyre_Summit_Movement_2323B6 applymovement 8, MtPyre_Summit_Movement_2323BD waitmovement 0 return MtPyre_Summit_EventScript_2322DD:: @ 82322DD - applymovement 255, MtPyre_Summit_Movement_2323CB + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323CB applymovement 2, MtPyre_Summit_Movement_2323B6 applymovement 8, MtPyre_Summit_Movement_2323BD waitmovement 0 return MtPyre_Summit_EventScript_2322F6:: @ 82322F6 - applymovement 255, MtPyre_Summit_Movement_2323D2 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323D2 applymovement 2, MtPyre_Summit_Movement_2323B6 applymovement 8, MtPyre_Summit_Movement_2323BD waitmovement 0 return MtPyre_Summit_EventScript_23230F:: @ 823230F - applymovement 255, MtPyre_Summit_Movement_2323AE + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323AE applymovement 2, MtPyre_Summit_Movement_2323E7 applymovement 8, MtPyre_Summit_Movement_2323D8 waitmovement 0 return MtPyre_Summit_EventScript_232328:: @ 8232328 - applymovement 255, MtPyre_Summit_Movement_2323B2 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323B2 applymovement 2, MtPyre_Summit_Movement_2323E7 applymovement 8, MtPyre_Summit_Movement_2323DD waitmovement 0 return MtPyre_Summit_EventScript_232341:: @ 8232341 - applymovement 255, MtPyre_Summit_Movement_2323B2 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323B2 applymovement 2, MtPyre_Summit_Movement_2323E7 applymovement 8, MtPyre_Summit_Movement_2323E2 waitmovement 0 return MtPyre_Summit_EventScript_23235A:: @ 823235A - applymovement 255, MtPyre_Summit_Movement_2323EA + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA applymovement 8, MtPyre_Summit_Movement_2323ED waitmovement 0 applymovement 2, MtPyre_Summit_Movement_2725A8 @@ -300,7 +297,7 @@ MtPyre_Summit_EventScript_23235A:: @ 823235A return MtPyre_Summit_EventScript_232376:: @ 8232376 - applymovement 255, MtPyre_Summit_Movement_2323EA + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA applymovement 8, MtPyre_Summit_Movement_2323F3 waitmovement 0 applymovement 2, MtPyre_Summit_Movement_2725A8 @@ -308,7 +305,7 @@ MtPyre_Summit_EventScript_232376:: @ 8232376 return MtPyre_Summit_EventScript_232392:: @ 8232392 - applymovement 255, MtPyre_Summit_Movement_2323EA + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA applymovement 8, MtPyre_Summit_Movement_2323F8 waitmovement 0 applymovement 2, MtPyre_Summit_Movement_2725A8 diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc index 3abd0c84a..bbe02aadf 100644 --- a/data/maps/NavelRock_Bottom/scripts.inc +++ b/data/maps/NavelRock_Bottom/scripts.inc @@ -4,10 +4,8 @@ NavelRock_Bottom_MapScripts:: @ 8269255 .byte 0 NavelRock_Bottom_MapScript1_269260: @ 8269260 - checkflag FLAG_0x091 - call_if 1, NavelRock_Bottom_EventScript_269273 - checkflag FLAG_0x091 - call_if 0, NavelRock_Bottom_EventScript_269277 + call_if_set FLAG_0x091, NavelRock_Bottom_EventScript_269273 + call_if_unset FLAG_0x091, NavelRock_Bottom_EventScript_269277 end NavelRock_Bottom_EventScript_269273:: @ 8269273 @@ -15,20 +13,18 @@ NavelRock_Bottom_EventScript_269273:: @ 8269273 return NavelRock_Bottom_EventScript_269277:: @ 8269277 - checkflag FLAG_0x1DD - goto_eq NavelRock_Bottom_EventScript_27374E + goto_if_set FLAG_0x1DD, NavelRock_Bottom_EventScript_27374E clearflag FLAG_HIDE_LUGIA return NavelRock_Bottom_MapScript1_269284: @ 8269284 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, NavelRock_Bottom_EventScript_26928E + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NavelRock_Bottom_EventScript_26928E end NavelRock_Bottom_EventScript_26928E:: @ 826928E specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, NavelRock_Bottom_EventScript_27374E + goto_if_ne NavelRock_Bottom_EventScript_27374E removeobject 1 return @@ -66,11 +62,11 @@ NavelRock_Bottom_EventScript_2692A2:: @ 82692A2 clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq NavelRock_Bottom_EventScript_269336 + goto_if_eq NavelRock_Bottom_EventScript_269336 compare VAR_RESULT, 4 - goto_eq NavelRock_Bottom_EventScript_269344 + goto_if_eq NavelRock_Bottom_EventScript_269344 compare VAR_RESULT, 5 - goto_eq NavelRock_Bottom_EventScript_269344 + goto_if_eq NavelRock_Bottom_EventScript_269344 setflag FLAG_0x091 release end diff --git a/data/maps/NavelRock_Harbor/scripts.inc b/data/maps/NavelRock_Harbor/scripts.inc index 910dc8eed..4df8343fb 100644 --- a/data/maps/NavelRock_Harbor/scripts.inc +++ b/data/maps/NavelRock_Harbor/scripts.inc @@ -6,7 +6,7 @@ NavelRock_Harbor_EventScript_2690BD:: @ 82690BD faceplayer msgbox NavelRock_Harbor_Text_2C6CE6, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq NavelRock_Harbor_EventScript_269102 + goto_if_eq NavelRock_Harbor_EventScript_269102 msgbox NavelRock_Harbor_Text_2A6A5D, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, NavelRock_Harbor_Movement_2725AA diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc index 8ae17cb37..28d55d68f 100644 --- a/data/maps/NavelRock_Top/scripts.inc +++ b/data/maps/NavelRock_Top/scripts.inc @@ -4,10 +4,8 @@ NavelRock_Top_MapScripts:: @ 8269113 .byte 0 NavelRock_Top_MapScript1_26911E: @ 826911E - checkflag FLAG_0x092 - call_if 1, NavelRock_Top_EventScript_269131 - checkflag FLAG_0x092 - call_if 0, NavelRock_Top_EventScript_26913A + call_if_set FLAG_0x092, NavelRock_Top_EventScript_269131 + call_if_unset FLAG_0x092, NavelRock_Top_EventScript_26913A end NavelRock_Top_EventScript_269131:: @ 8269131 @@ -17,36 +15,34 @@ NavelRock_Top_EventScript_269131:: @ 8269131 NavelRock_Top_EventScript_26913A:: @ 826913A setvar VAR_TEMP_1, 1 - checkflag FLAG_0x1DC - goto_eq NavelRock_Top_EventScript_27374E + goto_if_set FLAG_0x1DC, NavelRock_Top_EventScript_27374E setvar VAR_TEMP_1, 0 clearflag FLAG_HIDE_HOOH return NavelRock_Top_MapScript1_269151: @ 8269151 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, NavelRock_Top_EventScript_26915B + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NavelRock_Top_EventScript_26915B end NavelRock_Top_EventScript_26915B:: @ 826915B specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, NavelRock_Top_EventScript_27374E + goto_if_ne NavelRock_Top_EventScript_27374E removeobject 1 return NavelRock_Top_EventScript_26916F:: @ 826916F lockall setvar VAR_TEMP_1, 1 - special SpawnScriptEventObject + special SpawnCameraObject setvar VAR_0x8004, 3 setvar VAR_0x8005, 35 special sub_813B80C applymovement 1, NavelRock_Top_Movement_269243 - applymovement 127, NavelRock_Top_Movement_269230 + applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_269230 waitmovement 0 delay 50 - setweather 0 + setweather WEATHER_NONE doweather waitse playmoncry SPECIES_HO_OH, 2 @@ -56,10 +52,10 @@ NavelRock_Top_EventScript_26916F:: @ 826916F setvar VAR_0x8004, 3 setvar VAR_0x8005, 35 special sub_813B80C - applymovement 127, NavelRock_Top_Movement_269234 + applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_269234 applymovement 1, NavelRock_Top_Movement_26923A waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject setvar VAR_0x8004, 250 setvar VAR_0x8005, 70 setvar VAR_0x8006, 0 @@ -71,11 +67,11 @@ NavelRock_Top_EventScript_26916F:: @ 826916F setvar VAR_LAST_TALKED, 1 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq NavelRock_Top_EventScript_269217 + goto_if_eq NavelRock_Top_EventScript_269217 compare VAR_RESULT, 4 - goto_eq NavelRock_Top_EventScript_269225 + goto_if_eq NavelRock_Top_EventScript_269225 compare VAR_RESULT, 5 - goto_eq NavelRock_Top_EventScript_269225 + goto_if_eq NavelRock_Top_EventScript_269225 setflag FLAG_0x092 releaseall end diff --git a/data/maps/NewMauville_Entrance/scripts.inc b/data/maps/NewMauville_Entrance/scripts.inc index 714a20b6b..d841f0374 100644 --- a/data/maps/NewMauville_Entrance/scripts.inc +++ b/data/maps/NewMauville_Entrance/scripts.inc @@ -5,7 +5,7 @@ NewMauville_Entrance_MapScripts:: @ 82372AD NewMauville_Entrance_MapScript1_2372B8: @ 82372B8 compare VAR_0x40BA, 0 - call_if 1, NewMauville_Entrance_EventScript_2372C4 + call_if_eq NewMauville_Entrance_EventScript_2372C4 end NewMauville_Entrance_EventScript_2372C4:: @ 82372C4 @@ -23,15 +23,15 @@ NewMauville_Entrance_MapScript1_2372FB: @ 82372FB NewMauville_Entrance_EventScript_2372FF:: @ 82372FF lockall - applymovement 255, NewMauville_Entrance_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, NewMauville_Entrance_Movement_2725A6 waitmovement 0 msgbox NewMauville_Entrance_Text_237382, MSGBOX_DEFAULT checkitem ITEM_BASEMENT_KEY, 1 compare VAR_RESULT, 0 - goto_eq NewMauville_Entrance_EventScript_237380 + goto_if_eq NewMauville_Entrance_EventScript_237380 msgbox NewMauville_Entrance_Text_237396, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq NewMauville_Entrance_EventScript_237380 + goto_if_eq NewMauville_Entrance_EventScript_237380 msgbox NewMauville_Entrance_Text_2373AC, MSGBOX_DEFAULT setmetatile 3, 0, 707, 0 setmetatile 4, 0, 708, 0 diff --git a/data/maps/NewMauville_Inside/scripts.inc b/data/maps/NewMauville_Inside/scripts.inc index b0f0a18c7..aff38c577 100644 --- a/data/maps/NewMauville_Inside/scripts.inc +++ b/data/maps/NewMauville_Inside/scripts.inc @@ -6,29 +6,25 @@ NewMauville_Inside_MapScripts:: @ 82373D7 NewMauville_Inside_MapScript1_2373E7: @ 82373E7 compare VAR_TEMP_1, 1 - call_if 1, NewMauville_Inside_EventScript_237489 + call_if_eq NewMauville_Inside_EventScript_237489 compare VAR_TEMP_2, 1 - call_if 1, NewMauville_Inside_EventScript_2375D7 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, NewMauville_Inside_EventScript_237407 + call_if_eq NewMauville_Inside_EventScript_2375D7 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NewMauville_Inside_EventScript_237407 end NewMauville_Inside_EventScript_237407:: @ 8237407 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, NewMauville_Inside_EventScript_27374E + goto_if_ne NewMauville_Inside_EventScript_27374E removeobject VAR_LAST_TALKED return NewMauville_Inside_MapScript1_23741B: @ 823741B setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 - checkflag FLAG_0x1C1 - call_if 0, NewMauville_Inside_EventScript_237441 - checkflag FLAG_0x1C2 - call_if 0, NewMauville_Inside_EventScript_237445 - checkflag FLAG_0x1C3 - call_if 0, NewMauville_Inside_EventScript_237449 + call_if_unset FLAG_0x1C1, NewMauville_Inside_EventScript_237441 + call_if_unset FLAG_0x1C2, NewMauville_Inside_EventScript_237445 + call_if_unset FLAG_0x1C3, NewMauville_Inside_EventScript_237449 end NewMauville_Inside_EventScript_237441:: @ 8237441 @@ -45,7 +41,7 @@ NewMauville_Inside_EventScript_237449:: @ 8237449 NewMauville_Inside_MapScript1_23744D: @ 823744D compare VAR_0x40BA, 2 - call_if 1, NewMauville_Inside_EventScript_23773A + call_if_eq NewMauville_Inside_EventScript_23773A end NewMauville_Inside_EventScript_237459:: @ 8237459 @@ -172,7 +168,7 @@ NewMauville_Inside_EventScript_23773A:: @ 823773A NewMauville_Inside_EventScript_23778F:: @ 823778F lockall compare VAR_0x40BA, 2 - goto_eq NewMauville_Inside_EventScript_2377A5 + goto_if_eq NewMauville_Inside_EventScript_2377A5 msgbox NewMauville_Inside_Text_237896, MSGBOX_DEFAULT releaseall end @@ -195,11 +191,11 @@ NewMauville_Inside_EventScript_2377AF:: @ 82377AF clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq NewMauville_Inside_EventScript_2377F3 + goto_if_eq NewMauville_Inside_EventScript_2377F3 compare VAR_RESULT, 4 - goto_eq NewMauville_Inside_EventScript_2377F3 + goto_if_eq NewMauville_Inside_EventScript_2377F3 compare VAR_RESULT, 5 - goto_eq NewMauville_Inside_EventScript_2377F3 + goto_if_eq NewMauville_Inside_EventScript_2377F3 setflag FLAG_0x1C1 release end @@ -222,11 +218,11 @@ NewMauville_Inside_EventScript_2377FC:: @ 82377FC clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq NewMauville_Inside_EventScript_237840 + goto_if_eq NewMauville_Inside_EventScript_237840 compare VAR_RESULT, 4 - goto_eq NewMauville_Inside_EventScript_237840 + goto_if_eq NewMauville_Inside_EventScript_237840 compare VAR_RESULT, 5 - goto_eq NewMauville_Inside_EventScript_237840 + goto_if_eq NewMauville_Inside_EventScript_237840 setflag FLAG_0x1C2 release end @@ -249,11 +245,11 @@ NewMauville_Inside_EventScript_237849:: @ 8237849 clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq NewMauville_Inside_EventScript_23788D + goto_if_eq NewMauville_Inside_EventScript_23788D compare VAR_RESULT, 4 - goto_eq NewMauville_Inside_EventScript_23788D + goto_if_eq NewMauville_Inside_EventScript_23788D compare VAR_RESULT, 5 - goto_eq NewMauville_Inside_EventScript_23788D + goto_if_eq NewMauville_Inside_EventScript_23788D setflag FLAG_0x1C3 release end diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc index d2e808116..96863ceed 100644 --- a/data/maps/OldaleTown/scripts.inc +++ b/data/maps/OldaleTown/scripts.inc @@ -5,12 +5,9 @@ OldaleTown_MapScripts:: @ 81E8EA2 OldaleTown_MapScript1_1E8EA8: @ 81E8EA8 call OldaleTown_EventScript_271ED7 setflag FLAG_VISITED_OLDALE_TOWN - checkflag FLAG_0x074 - call_if 0, OldaleTown_EventScript_1E8ED2 - checkflag FLAG_0x084 - call_if 0, OldaleTown_EventScript_1E8EDE - checkflag FLAG_0x074 - call_if 1, OldaleTown_EventScript_1E8ECC + call_if_unset FLAG_0x074, OldaleTown_EventScript_1E8ED2 + call_if_unset FLAG_0x084, OldaleTown_EventScript_1E8EDE + call_if_set FLAG_0x074, OldaleTown_EventScript_1E8ECC end OldaleTown_EventScript_1E8ECC:: @ 81E8ECC @@ -38,10 +35,8 @@ OldaleTown_EventScript_1E8EF3:: @ 81E8EF3 OldaleTown_EventScript_1E8EFC:: @ 81E8EFC lock faceplayer - checkflag FLAG_0x084 - goto_eq OldaleTown_EventScript_1E8FB9 - checkflag FLAG_TEMP_1 - goto_eq OldaleTown_EventScript_1E8FB9 + goto_if_set FLAG_0x084, OldaleTown_EventScript_1E8FB9 + goto_if_set FLAG_TEMP_1, OldaleTown_EventScript_1E8FB9 setflag FLAG_TEMP_1 playbgm MUS_TSURETEK, 0 msgbox OldaleTown_Text_1E91C0, MSGBOX_DEFAULT @@ -54,20 +49,20 @@ OldaleTown_EventScript_1E8EFC:: @ 81E8EFC OldaleTown_EventScript_1E8F47:: @ 81E8F47 applymovement 2, OldaleTown_Movement_1E8FD7 - applymovement 255, OldaleTown_Movement_1E9001 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E9001 waitmovement 0 goto OldaleTown_EventScript_1E8F8C end OldaleTown_EventScript_1E8F5E:: @ 81E8F5E applymovement 2, OldaleTown_Movement_1E8FE2 - applymovement 255, OldaleTown_Movement_1E900B + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E900B waitmovement 0 goto OldaleTown_EventScript_1E8F8C end OldaleTown_EventScript_1E8F75:: @ 81E8F75 - applymovement 255, OldaleTown_Movement_1E8FF9 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E8FF9 applymovement 2, OldaleTown_Movement_1E8FCE waitmovement 0 goto OldaleTown_EventScript_1E8F8C @@ -77,7 +72,7 @@ OldaleTown_EventScript_1E8F8C:: @ 81E8F8C msgbox OldaleTown_Text_1E91FD, MSGBOX_DEFAULT giveitem_std ITEM_POTION compare VAR_RESULT, 0 - goto_eq OldaleTown_EventScript_1E8FC3 + goto_if_eq OldaleTown_EventScript_1E8FC3 msgbox OldaleTown_Text_1E92AF, MSGBOX_DEFAULT setflag FLAG_0x084 fadedefaultbgm @@ -195,8 +190,7 @@ OldaleTown_Movement_1E9013: @ 81E9013 OldaleTown_EventScript_1E901F:: @ 81E901F lock faceplayer - checkflag FLAG_0x074 - goto_eq OldaleTown_EventScript_1E9066 + goto_if_set FLAG_0x074, OldaleTown_EventScript_1E9066 msgbox OldaleTown_Text_1E939A, MSGBOX_DEFAULT closemessage applymovement 3, OldaleTown_Movement_2725A2 @@ -206,7 +200,7 @@ OldaleTown_EventScript_1E901F:: @ 81E901F OldaleTown_EventScript_1E903F:: @ 81E903F lockall - applymovement 255, OldaleTown_Movement_1E9182 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E9182 applymovement 3, OldaleTown_Movement_1E9185 waitmovement 0 msgbox OldaleTown_Text_1E9313, MSGBOX_DEFAULT @@ -233,7 +227,7 @@ OldaleTown_EventScript_1E9086:: @ 81E9086 lockall applymovement 4, OldaleTown_Movement_1E9170 waitmovement 0 - applymovement 255, OldaleTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_2725A8 waitmovement 0 setvar VAR_0x8009, 1 goto OldaleTown_EventScript_1E90E6 @@ -243,7 +237,7 @@ OldaleTown_EventScript_1E90A6:: @ 81E90A6 lockall applymovement 4, OldaleTown_Movement_1E9173 waitmovement 0 - applymovement 255, OldaleTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_2725A8 waitmovement 0 setvar VAR_0x8009, 1 goto OldaleTown_EventScript_1E90E6 @@ -253,7 +247,7 @@ OldaleTown_EventScript_1E90C6:: @ 81E90C6 lockall applymovement 4, OldaleTown_Movement_1E9175 waitmovement 0 - applymovement 255, OldaleTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_2725A8 waitmovement 0 setvar VAR_0x8009, 1 goto OldaleTown_EventScript_1E90E6 @@ -262,9 +256,9 @@ OldaleTown_EventScript_1E90C6:: @ 81E90C6 OldaleTown_EventScript_1E90E6:: @ 81E90E6 checkplayergender compare VAR_RESULT, 0 - goto_eq OldaleTown_EventScript_1E90FE + goto_if_eq OldaleTown_EventScript_1E90FE compare VAR_RESULT, 1 - goto_eq OldaleTown_EventScript_1E910C + goto_if_eq OldaleTown_EventScript_1E910C end OldaleTown_EventScript_1E90FE:: @ 81E90FE @@ -280,9 +274,9 @@ OldaleTown_EventScript_1E910C:: @ 81E910C OldaleTown_EventScript_1E911A:: @ 81E911A closemessage compare VAR_0x8009, 0 - call_if 1, OldaleTown_EventScript_1E9148 + call_if_eq OldaleTown_EventScript_1E9148 compare VAR_0x8009, 1 - call_if 1, OldaleTown_EventScript_1E915E + call_if_eq OldaleTown_EventScript_1E915E applymovement 4, OldaleTown_Movement_1E9177 waitmovement 0 removeobject 4 @@ -293,13 +287,13 @@ OldaleTown_EventScript_1E911A:: @ 81E911A OldaleTown_EventScript_1E9148:: @ 81E9148 compare VAR_FACING, 1 - goto_if 5, OldaleTown_EventScript_1E915E + goto_if_ne OldaleTown_EventScript_1E915E applymovement 4, OldaleTown_Movement_1E9177 waitmovement 0 return OldaleTown_EventScript_1E915E:: @ 81E915E - applymovement 255, OldaleTown_Movement_1E917E + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E917E applymovement 4, OldaleTown_Movement_1E9177 waitmovement 0 return diff --git a/data/maps/OldaleTown_Mart/scripts.inc b/data/maps/OldaleTown_Mart/scripts.inc index 4503a27a8..2eaa483f5 100644 --- a/data/maps/OldaleTown_Mart/scripts.inc +++ b/data/maps/OldaleTown_Mart/scripts.inc @@ -6,8 +6,7 @@ OldaleTown_Mart_EventScript_1FC240:: @ 81FC240 faceplayer message gUnknown_08272A21 waitmessage - checkflag FLAG_0x074 - goto_eq OldaleTown_Mart_EventScript_1FC26C + goto_if_set FLAG_0x074, OldaleTown_Mart_EventScript_1FC26C pokemart OldaleTown_Mart_Pokemart_1FC260 msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release @@ -42,8 +41,7 @@ OldaleTown_Mart_Pokemart_1FC27C: @ 81FC27C OldaleTown_Mart_EventScript_1FC28A:: @ 81FC28A lock faceplayer - checkflag FLAG_0x074 - goto_eq OldaleTown_Mart_EventScript_1FC29F + goto_if_set FLAG_0x074, OldaleTown_Mart_EventScript_1FC29F msgbox OldaleTown_Mart_Text_1FC2B2, MSGBOX_DEFAULT release end diff --git a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc index af104c674..19f7d8f67 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc @@ -27,8 +27,7 @@ OldaleTown_PokemonCenter_1F_EventScript_1FC031:: @ 81FC031 OldaleTown_PokemonCenter_1F_EventScript_1FC03A:: @ 81FC03A lock faceplayer - checkflag FLAG_SYS_POKEDEX_GET - goto_eq OldaleTown_PokemonCenter_1F_EventScript_1FC04F + goto_if_set FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_1F_EventScript_1FC04F msgbox OldaleTown_PokemonCenter_1F_Text_1FC148, MSGBOX_DEFAULT release end diff --git a/data/maps/PacifidlogTown_House2/scripts.inc b/data/maps/PacifidlogTown_House2/scripts.inc index 41242ab44..d0eb88cf2 100644 --- a/data/maps/PacifidlogTown_House2/scripts.inc +++ b/data/maps/PacifidlogTown_House2/scripts.inc @@ -6,28 +6,24 @@ PacifidlogTown_House2_EventScript_203792:: @ 8203792 faceplayer dodailyevents call PacifidlogTown_House2_EventScript_2037DE - checkflag FLAG_0x12B - goto_eq PacifidlogTown_House2_EventScript_20387E - checkflag FLAG_0x12C - call_if 1, PacifidlogTown_House2_EventScript_2037F8 - checkflag FLAG_0x12C - call_if 0, PacifidlogTown_House2_EventScript_203801 + goto_if_set FLAG_0x12B, PacifidlogTown_House2_EventScript_20387E + call_if_set FLAG_0x12C, PacifidlogTown_House2_EventScript_2037F8 + call_if_unset FLAG_0x12C, PacifidlogTown_House2_EventScript_203801 setflag FLAG_0x12C specialvar VAR_RESULT, GetLeadMonFriendshipScore compare VAR_RESULT, 4 - goto_if 4, PacifidlogTown_House2_EventScript_203816 + goto_if_ge PacifidlogTown_House2_EventScript_203816 specialvar VAR_RESULT, GetLeadMonFriendshipScore compare VAR_RESULT, 2 - goto_if 4, PacifidlogTown_House2_EventScript_203845 + goto_if_ge PacifidlogTown_House2_EventScript_203845 goto PacifidlogTown_House2_EventScript_20384F end PacifidlogTown_House2_EventScript_2037DE:: @ 82037DE - checkflag FLAG_0x12B - goto_if 0, PacifidlogTown_House2_EventScript_27374E + goto_if_unset FLAG_0x12B, PacifidlogTown_House2_EventScript_27374E specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable compare VAR_RESULT, 0 - call_if 1, PacifidlogTown_House2_EventScript_203812 + call_if_eq PacifidlogTown_House2_EventScript_203812 return PacifidlogTown_House2_EventScript_2037F8:: @ 82037F8 @@ -47,7 +43,7 @@ PacifidlogTown_House2_EventScript_203816:: @ 8203816 msgbox PacifidlogTown_House2_Text_20396D, MSGBOX_DEFAULT giveitem_std ITEM_TM27 compare VAR_RESULT, 0 - goto_eq PacifidlogTown_House2_EventScript_272054 + goto_if_eq PacifidlogTown_House2_EventScript_272054 setflag FLAG_0x12B special SetPacifidlogTMReceivedDay msgbox PacifidlogTown_House2_Text_203A85, MSGBOX_DEFAULT @@ -63,7 +59,7 @@ PacifidlogTown_House2_EventScript_20384F:: @ 820384F msgbox PacifidlogTown_House2_Text_203A2F, MSGBOX_DEFAULT giveitem_std ITEM_TM21 compare VAR_RESULT, 0 - goto_eq PacifidlogTown_House2_EventScript_272054 + goto_if_eq PacifidlogTown_House2_EventScript_272054 setflag FLAG_0x12B special SetPacifidlogTMReceivedDay msgbox PacifidlogTown_House2_Text_203A85, MSGBOX_DEFAULT diff --git a/data/maps/PacifidlogTown_House3/scripts.inc b/data/maps/PacifidlogTown_House3/scripts.inc index d7b83f70a..fb5bf8cb1 100644 --- a/data/maps/PacifidlogTown_House3/scripts.inc +++ b/data/maps/PacifidlogTown_House3/scripts.inc @@ -4,25 +4,24 @@ PacifidlogTown_House3_MapScripts:: @ 8203C10 PacifidlogTown_House3_EventScript_203C11:: @ 8203C11 lock faceplayer - checkflag FLAG_0x09A - goto_eq PacifidlogTown_House3_EventScript_203CAB + goto_if_set FLAG_0x09A, PacifidlogTown_House3_EventScript_203CAB setvar VAR_0x8008, 2 copyvar VAR_0x8004, VAR_0x8008 specialvar VAR_RESULT, sub_807E73C copyvar VAR_0x8009, VAR_RESULT msgbox PacifidlogTown_House3_Text_203CBE, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq PacifidlogTown_House3_EventScript_203C93 + goto_if_eq PacifidlogTown_House3_EventScript_203C93 special sub_81B94B0 waitstate copyvar VAR_0x800A, VAR_0x8004 compare VAR_0x8004, 255 - goto_eq PacifidlogTown_House3_EventScript_203C93 + goto_if_eq PacifidlogTown_House3_EventScript_203C93 copyvar VAR_0x8005, VAR_0x800A specialvar VAR_RESULT, sub_807E9D4 copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 - goto_if 5, PacifidlogTown_House3_EventScript_203C9D + goto_if_ne PacifidlogTown_House3_EventScript_203C9D copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A special sub_807EA10 diff --git a/data/maps/PacifidlogTown_House4/scripts.inc b/data/maps/PacifidlogTown_House4/scripts.inc index 2e9a06e0b..e9f5f19e7 100644 --- a/data/maps/PacifidlogTown_House4/scripts.inc +++ b/data/maps/PacifidlogTown_House4/scripts.inc @@ -14,9 +14,9 @@ PacifidlogTown_House4_EventScript_203F5E:: @ 8203F5E faceplayer msgbox PacifidlogTown_House4_Text_204035, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PacifidlogTown_House4_EventScript_203F7F + goto_if_eq PacifidlogTown_House4_EventScript_203F7F compare VAR_RESULT, 0 - goto_eq PacifidlogTown_House4_EventScript_203F89 + goto_if_eq PacifidlogTown_House4_EventScript_203F89 end PacifidlogTown_House4_EventScript_203F7F:: @ 8203F7F diff --git a/data/maps/PacifidlogTown_House5/scripts.inc b/data/maps/PacifidlogTown_House5/scripts.inc index d9d9f0c56..cdc54fefe 100644 --- a/data/maps/PacifidlogTown_House5/scripts.inc +++ b/data/maps/PacifidlogTown_House5/scripts.inc @@ -6,7 +6,7 @@ PacifidlogTown_House5_EventScript_204111:: @ 8204111 faceplayer specialvar VAR_RESULT, IsMirageIslandPresent compare VAR_RESULT, 1 - goto_eq PacifidlogTown_House5_EventScript_20412D + goto_if_eq PacifidlogTown_House5_EventScript_20412D msgbox PacifidlogTown_House5_Text_204140, MSGBOX_DEFAULT release end diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc index bdffb6814..137731ae2 100644 --- a/data/maps/PetalburgCity/scripts.inc +++ b/data/maps/PetalburgCity/scripts.inc @@ -1,13 +1,13 @@ PetalburgCity_MapScript1_1DC2D7: @ 81DC2D7 setflag FLAG_VISITED_PETALBURG_CITY compare VAR_0x4057, 0 - call_if 1, PetalburgCity_EventScript_1DC307 + call_if_eq PetalburgCity_EventScript_1DC307 compare VAR_0x4057, 2 - call_if 1, PetalburgCity_EventScript_1DC30F + call_if_eq PetalburgCity_EventScript_1DC30F compare VAR_0x4057, 4 - call_if 1, PetalburgCity_EventScript_1DC30F + call_if_eq PetalburgCity_EventScript_1DC30F compare VAR_0x4085, 8 - call_if 1, PetalburgCity_EventScript_1DC316 + call_if_eq PetalburgCity_EventScript_1DC316 end PetalburgCity_EventScript_1DC307:: @ 81DC307 @@ -33,7 +33,7 @@ PetalburgCity_EventScript_1DC32E:: @ 81DC32E special SavePlayerParty special PutZigzagoonInPlayerParty applymovement 2, PetalburgCity_Movement_1DC451 - applymovement 255, PetalburgCity_Movement_1DC430 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC430 waitmovement 0 msgbox PetalburgCity_Text_1EC1F8, MSGBOX_DEFAULT special StartWallyTutorialBattle @@ -58,17 +58,17 @@ PetalburgCity_EventScript_1DC390:: @ 81DC390 lockall setflag FLAG_SPECIAL_FLAG_0x4000 applymovement 5, PetalburgCity_Movement_1DC41B - applymovement 255, PetalburgCity_Movement_1DC406 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC406 waitmovement 0 setvar VAR_0x8004, 7 setvar VAR_0x8005, 5 opendoor VAR_0x8004, VAR_0x8005 waitdooranim applymovement 5, PetalburgCity_Movement_1DC42D - applymovement 255, PetalburgCity_Movement_1DC418 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC418 waitmovement 0 setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE - hideobjectat 255, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor VAR_0x8004, VAR_0x8005 waitdooranim clearflag FLAG_SPECIAL_FLAG_0x4000 @@ -267,26 +267,26 @@ PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA applymovement 8, PetalburgCity_Movement_27259A waitmovement 0 compare VAR_0x8008, 0 - call_if 1, PetalburgCity_EventScript_1DC57F + call_if_eq PetalburgCity_EventScript_1DC57F compare VAR_0x8008, 1 - call_if 1, PetalburgCity_EventScript_1DC594 + call_if_eq PetalburgCity_EventScript_1DC594 compare VAR_0x8008, 2 - call_if 1, PetalburgCity_EventScript_1DC59F + call_if_eq PetalburgCity_EventScript_1DC59F compare VAR_0x8008, 3 - call_if 1, PetalburgCity_EventScript_1DC5B4 + call_if_eq PetalburgCity_EventScript_1DC5B4 msgbox PetalburgCity_Text_1DC881, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if 1, PetalburgCity_EventScript_1DC5C9 + call_if_eq PetalburgCity_EventScript_1DC5C9 compare VAR_0x8008, 1 - call_if 1, PetalburgCity_EventScript_1DC5DB + call_if_eq PetalburgCity_EventScript_1DC5DB compare VAR_0x8008, 2 - call_if 1, PetalburgCity_EventScript_1DC5ED + call_if_eq PetalburgCity_EventScript_1DC5ED compare VAR_0x8008, 3 - call_if 1, PetalburgCity_EventScript_1DC5FF + call_if_eq PetalburgCity_EventScript_1DC5FF msgbox PetalburgCity_Text_1DC91B, MSGBOX_DEFAULT applymovement 8, PetalburgCity_Movement_2725A8 - applymovement 255, PetalburgCity_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A8 waitmovement 0 msgbox PetalburgCity_Text_1DC93E, MSGBOX_DEFAULT closemessage @@ -299,7 +299,7 @@ PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA PetalburgCity_EventScript_1DC57F:: @ 81DC57F applymovement 8, PetalburgCity_Movement_1DC615 waitmovement 0 - applymovement 255, PetalburgCity_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725AA waitmovement 0 return @@ -311,38 +311,38 @@ PetalburgCity_EventScript_1DC594:: @ 81DC594 PetalburgCity_EventScript_1DC59F:: @ 81DC59F applymovement 8, PetalburgCity_Movement_1DC61D waitmovement 0 - applymovement 255, PetalburgCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A6 waitmovement 0 return PetalburgCity_EventScript_1DC5B4:: @ 81DC5B4 applymovement 8, PetalburgCity_Movement_1DC622 waitmovement 0 - applymovement 255, PetalburgCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A6 waitmovement 0 return PetalburgCity_EventScript_1DC5C9:: @ 81DC5C9 applymovement 8, PetalburgCity_Movement_1DC628 - applymovement 255, PetalburgCity_Movement_1DC665 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC665 waitmovement 0 return PetalburgCity_EventScript_1DC5DB:: @ 81DC5DB applymovement 8, PetalburgCity_Movement_1DC633 - applymovement 255, PetalburgCity_Movement_1DC66F + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC66F waitmovement 0 return PetalburgCity_EventScript_1DC5ED:: @ 81DC5ED applymovement 8, PetalburgCity_Movement_1DC641 - applymovement 255, PetalburgCity_Movement_1DC67C + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC67C waitmovement 0 return PetalburgCity_EventScript_1DC5FF:: @ 81DC5FF applymovement 8, PetalburgCity_Movement_1DC64C - applymovement 255, PetalburgCity_Movement_1DC686 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC686 waitmovement 0 return @@ -544,7 +544,7 @@ PetalburgCity_EventScript_1DC6E9:: @ 81DC6E9 waitmovement 0 applymovement 9, PetalburgCity_Movement_1DC7DB waitmovement 0 - applymovement 255, PetalburgCity_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A8 waitmovement 0 setvar VAR_0x40D1, 1 msgbox PetalburgCity_Text_1DCB31, MSGBOX_DEFAULT @@ -560,38 +560,38 @@ PetalburgCity_EventScript_1DC6E9:: @ 81DC6E9 msgbox PetalburgCity_Text_1DCC09, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if 1, PetalburgCity_EventScript_1DC78E + call_if_eq PetalburgCity_EventScript_1DC78E compare VAR_0x8008, 1 - call_if 1, PetalburgCity_EventScript_1DC7A0 + call_if_eq PetalburgCity_EventScript_1DC7A0 compare VAR_0x8008, 2 - call_if 1, PetalburgCity_EventScript_1DC7B2 + call_if_eq PetalburgCity_EventScript_1DC7B2 compare VAR_0x8008, 3 - call_if 1, PetalburgCity_EventScript_1DC7C4 + call_if_eq PetalburgCity_EventScript_1DC7C4 setvar VAR_0x40C9, 1 removeobject 9 releaseall end PetalburgCity_EventScript_1DC78E:: @ 81DC78E - applymovement 255, PetalburgCity_Movement_1DC7EE + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC7EE applymovement 9, PetalburgCity_Movement_1DC7E0 waitmovement 0 return PetalburgCity_EventScript_1DC7A0:: @ 81DC7A0 - applymovement 255, PetalburgCity_Movement_1DC802 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC802 applymovement 9, PetalburgCity_Movement_1DC7F5 waitmovement 0 return PetalburgCity_EventScript_1DC7B2:: @ 81DC7B2 - applymovement 255, PetalburgCity_Movement_1DC815 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC815 applymovement 9, PetalburgCity_Movement_1DC808 waitmovement 0 return PetalburgCity_EventScript_1DC7C4:: @ 81DC7C4 - applymovement 255, PetalburgCity_Movement_1DC828 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC828 applymovement 9, PetalburgCity_Movement_1DC81B waitmovement 0 return diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc index 6a58c20f7..f97825624 100644 --- a/data/maps/PetalburgCity_Gym/scripts.inc +++ b/data/maps/PetalburgCity_Gym/scripts.inc @@ -7,28 +7,28 @@ PetalburgCity_Gym_MapScripts:: @ 8204889 PetalburgCity_Gym_MapScript1_20489E: @ 820489E compare VAR_0x4085, 6 - goto_eq PetalburgCity_Gym_EventScript_2048B5 + goto_if_eq PetalburgCity_Gym_EventScript_2048B5 compare VAR_0x4085, 7 - call_if 4, PetalburgCity_Gym_EventScript_2048FF + call_if_ge PetalburgCity_Gym_EventScript_2048FF end PetalburgCity_Gym_EventScript_2048B5:: @ 82048B5 setvar VAR_0x8005, 1 call PetalburgCity_Gym_EventScript_20555E checktrainerflag TRAINER_RANDALL - call_if 1, PetalburgCity_Gym_EventScript_20557F + call_if_eq PetalburgCity_Gym_EventScript_20557F checktrainerflag TRAINER_MARY - call_if 1, PetalburgCity_Gym_EventScript_2055A0 + call_if_eq PetalburgCity_Gym_EventScript_2055A0 checktrainerflag TRAINER_PARKER - call_if 1, PetalburgCity_Gym_EventScript_2055C1 + call_if_eq PetalburgCity_Gym_EventScript_2055C1 checktrainerflag TRAINER_ALEXIA - call_if 1, PetalburgCity_Gym_EventScript_2055E2 + call_if_eq PetalburgCity_Gym_EventScript_2055E2 checktrainerflag TRAINER_GEORGE - call_if 1, PetalburgCity_Gym_EventScript_205603 + call_if_eq PetalburgCity_Gym_EventScript_205603 checktrainerflag TRAINER_JODY - call_if 1, PetalburgCity_Gym_EventScript_205624 + call_if_eq PetalburgCity_Gym_EventScript_205624 checktrainerflag TRAINER_BERKE - call_if 1, PetalburgCity_Gym_EventScript_205645 + call_if_eq PetalburgCity_Gym_EventScript_205645 end PetalburgCity_Gym_EventScript_2048FF:: @ 82048FF @@ -45,11 +45,10 @@ PetalburgCity_Gym_EventScript_2048FF:: @ 82048FF PetalburgCity_Gym_MapScript1_20492D: @ 820492D compare VAR_0x4085, 1 - call_if 1, PetalburgCity_Gym_EventScript_20494D + call_if_eq PetalburgCity_Gym_EventScript_20494D compare VAR_0x4085, 6 - call_if 0, PetalburgCity_Gym_EventScript_204955 - checkflag FLAG_SYS_GAME_CLEAR - call_if 1, PetalburgCity_Gym_EventScript_20495D + call_if_lt PetalburgCity_Gym_EventScript_204955 + call_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_20495D end PetalburgCity_Gym_EventScript_20494D:: @ 820494D @@ -64,9 +63,9 @@ PetalburgCity_Gym_EventScript_20495D:: @ 820495D setorcopyvar 0x8015, 269 specialvar VAR_RESULT, IsTrainerReadyForRematch compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_204985 + goto_if_eq PetalburgCity_Gym_EventScript_204985 compare VAR_0x4085, 8 - goto_eq PetalburgCity_Gym_EventScript_204985 + goto_if_eq PetalburgCity_Gym_EventScript_204985 setobjectxyperm 1, 4, 107 return @@ -79,7 +78,7 @@ PetalburgCity_Gym_MapScript2_20498B: @ 820498B .2byte 0 PetalburgCity_Gym_EventScript_204995:: @ 8204995 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end PetalburgCity_Gym_MapScript2_20499A: @ 820499A @@ -91,14 +90,14 @@ PetalburgCity_Gym_EventScript_2049A4:: @ 82049A4 msgbox PetalburgCity_Gym_Text_205B32, MSGBOX_DEFAULT msgbox PetalburgCity_Gym_Text_205B4C, MSGBOX_DEFAULT closemessage - applymovement 255, PetalburgCity_Gym_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725AA applymovement 10, PetalburgCity_Gym_Movement_2049EC waitmovement 0 playse SE_KAIDAN removeobject 10 setflag FLAG_HIDE_PETALBURG_CITY_WALLY delay 30 - applymovement 255, PetalburgCity_Gym_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A6 waitmovement 0 msgbox PetalburgCity_Gym_Text_205C40, MSGBOX_DEFAULT setvar VAR_0x4085, 2 @@ -156,65 +155,65 @@ PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC addobject 10 playse SE_DOOR compare VAR_0x8008, 0 - call_if 1, PetalburgCity_Gym_EventScript_204C31 + call_if_eq PetalburgCity_Gym_EventScript_204C31 compare VAR_0x8008, 1 - call_if 1, PetalburgCity_Gym_EventScript_204C43 + call_if_eq PetalburgCity_Gym_EventScript_204C43 compare VAR_0x8008, 2 - call_if 1, PetalburgCity_Gym_EventScript_204C5F + call_if_eq PetalburgCity_Gym_EventScript_204C5F compare VAR_0x8008, 3 - call_if 1, PetalburgCity_Gym_EventScript_204C5F + call_if_eq PetalburgCity_Gym_EventScript_204C5F msgbox PetalburgCity_Gym_Text_2058B1, MSGBOX_DEFAULT msgbox PetalburgCity_Gym_Text_2058DB, MSGBOX_DEFAULT msgbox PetalburgCity_Gym_Text_205910, MSGBOX_DEFAULT msgbox PetalburgCity_Gym_Text_2059D8, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if 1, PetalburgCity_Gym_EventScript_204CC7 + call_if_eq PetalburgCity_Gym_EventScript_204CC7 compare VAR_0x8008, 1 - call_if 1, PetalburgCity_Gym_EventScript_204CD2 + call_if_eq PetalburgCity_Gym_EventScript_204CD2 compare VAR_0x8008, 2 - call_if 1, PetalburgCity_Gym_EventScript_204CE4 + call_if_eq PetalburgCity_Gym_EventScript_204CE4 compare VAR_0x8008, 3 - call_if 1, PetalburgCity_Gym_EventScript_204CF6 + call_if_eq PetalburgCity_Gym_EventScript_204CF6 msgbox PetalburgCity_Gym_Text_2059E8, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if 1, PetalburgCity_Gym_EventScript_204D08 + call_if_eq PetalburgCity_Gym_EventScript_204D08 compare VAR_0x8008, 1 - call_if 1, PetalburgCity_Gym_EventScript_204D13 + call_if_eq PetalburgCity_Gym_EventScript_204D13 compare VAR_0x8008, 2 - call_if 1, PetalburgCity_Gym_EventScript_204D1E + call_if_eq PetalburgCity_Gym_EventScript_204D1E compare VAR_0x8008, 3 - call_if 1, PetalburgCity_Gym_EventScript_204D29 + call_if_eq PetalburgCity_Gym_EventScript_204D29 msgbox PetalburgCity_Gym_Text_205A46, MSGBOX_DEFAULT msgbox PetalburgCity_Gym_Text_205A89, MSGBOX_DEFAULT msgbox PetalburgCity_Gym_Text_205AF4, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if 1, PetalburgCity_Gym_EventScript_204D72 + call_if_eq PetalburgCity_Gym_EventScript_204D72 compare VAR_0x8008, 1 - call_if 1, PetalburgCity_Gym_EventScript_204D73 + call_if_eq PetalburgCity_Gym_EventScript_204D73 compare VAR_0x8008, 2 - call_if 1, PetalburgCity_Gym_EventScript_204D7E + call_if_eq PetalburgCity_Gym_EventScript_204D7E compare VAR_0x8008, 3 - call_if 1, PetalburgCity_Gym_EventScript_204D7F + call_if_eq PetalburgCity_Gym_EventScript_204D7F compare VAR_0x8008, 0 - call_if 1, PetalburgCity_Gym_EventScript_204D34 + call_if_eq PetalburgCity_Gym_EventScript_204D34 compare VAR_0x8008, 1 - call_if 1, PetalburgCity_Gym_EventScript_204D3F + call_if_eq PetalburgCity_Gym_EventScript_204D3F compare VAR_0x8008, 2 - call_if 1, PetalburgCity_Gym_EventScript_204D34 + call_if_eq PetalburgCity_Gym_EventScript_204D34 compare VAR_0x8008, 3 - call_if 1, PetalburgCity_Gym_EventScript_204D34 + call_if_eq PetalburgCity_Gym_EventScript_204D34 msgbox PetalburgCity_Gym_Text_205B0F, MSGBOX_DEFAULT closemessage setflag FLAG_SPECIAL_FLAG_0x4001 playbgm MUS_TSURETEK, 0 compare VAR_0x8008, 0 - call_if 1, PetalburgCity_Gym_EventScript_204C78 + call_if_eq PetalburgCity_Gym_EventScript_204C78 compare VAR_0x8008, 1 - call_if 1, PetalburgCity_Gym_EventScript_204C91 + call_if_eq PetalburgCity_Gym_EventScript_204C91 compare VAR_0x8008, 2 - call_if 1, PetalburgCity_Gym_EventScript_204CA3 + call_if_eq PetalburgCity_Gym_EventScript_204CA3 compare VAR_0x8008, 3 - call_if 1, PetalburgCity_Gym_EventScript_204CB5 + call_if_eq PetalburgCity_Gym_EventScript_204CB5 removeobject 10 setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT setvar VAR_0x4085, 1 @@ -238,13 +237,13 @@ PetalburgCity_Gym_EventScript_204C43:: @ 8204C43 applymovement 10, PetalburgCity_Gym_Movement_2050E1 waitmovement 0 applymovement 1, PetalburgCity_Gym_Movement_2725A8 - applymovement 255, PetalburgCity_Gym_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A8 waitmovement 0 return PetalburgCity_Gym_EventScript_204C5F:: @ 8204C5F applymovement 1, PetalburgCity_Gym_Movement_2725AA - applymovement 255, PetalburgCity_Gym_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725AA applymovement 10, PetalburgCity_Gym_Movement_2050EB waitmovement 0 return @@ -252,25 +251,25 @@ PetalburgCity_Gym_EventScript_204C5F:: @ 8204C5F PetalburgCity_Gym_EventScript_204C78:: @ 8204C78 applymovement 1, PetalburgCity_Gym_Movement_2725AA applymovement 10, PetalburgCity_Gym_Movement_205102 - applymovement 255, PetalburgCity_Gym_Movement_205111 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205111 waitmovement 0 return PetalburgCity_Gym_EventScript_204C91:: @ 8204C91 applymovement 10, PetalburgCity_Gym_Movement_2050F2 - applymovement 255, PetalburgCity_Gym_Movement_205109 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205109 waitmovement 0 return PetalburgCity_Gym_EventScript_204CA3:: @ 8204CA3 applymovement 10, PetalburgCity_Gym_Movement_205102 - applymovement 255, PetalburgCity_Gym_Movement_20511B + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_20511B waitmovement 0 return PetalburgCity_Gym_EventScript_204CB5:: @ 8204CB5 applymovement 10, PetalburgCity_Gym_Movement_2050FA - applymovement 255, PetalburgCity_Gym_Movement_205123 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205123 waitmovement 0 return @@ -281,19 +280,19 @@ PetalburgCity_Gym_EventScript_204CC7:: @ 8204CC7 PetalburgCity_Gym_EventScript_204CD2:: @ 8204CD2 applymovement 1, PetalburgCity_Gym_Movement_2725AA - applymovement 255, PetalburgCity_Gym_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A6 waitmovement 0 return PetalburgCity_Gym_EventScript_204CE4:: @ 8204CE4 applymovement 1, PetalburgCity_Gym_Movement_2725A8 - applymovement 255, PetalburgCity_Gym_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A4 waitmovement 0 return PetalburgCity_Gym_EventScript_204CF6:: @ 8204CF6 applymovement 1, PetalburgCity_Gym_Movement_2725A4 - applymovement 255, PetalburgCity_Gym_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A8 waitmovement 0 return @@ -364,11 +363,9 @@ PetalburgCity_Gym_EventScript_204D7F:: @ 8204D7F PetalburgCity_Gym_EventScript_204D80:: @ 8204D80 call PetalburgCity_Gym_EventScript_204DCE compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_204E1D - checkflag FLAG_0x0A9 - goto_if 0, PetalburgCity_Gym_EventScript_204DAC - checkflag FLAG_SYS_GAME_CLEAR - goto_eq PetalburgCity_Gym_EventScript_20512D + goto_if_eq PetalburgCity_Gym_EventScript_204E1D + goto_if_unset FLAG_0x0A9, PetalburgCity_Gym_EventScript_204DAC + goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_20512D msgbox PetalburgCity_Gym_Text_206417, MSGBOX_DEFAULT release end @@ -386,15 +383,15 @@ PetalburgCity_Gym_EventScript_204DB3:: @ 8204DB3 PetalburgCity_Gym_EventScript_204DCE:: @ 8204DCE specialvar VAR_RESULT, IsEnigmaBerryValid compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_204E17 + goto_if_eq PetalburgCity_Gym_EventScript_204E17 checkitem ITEM_ENIGMA_BERRY, 1 compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_204E17 + goto_if_eq PetalburgCity_Gym_EventScript_204E17 checkpcitem ITEM_ENIGMA_BERRY, 1 compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_204E17 + goto_if_eq PetalburgCity_Gym_EventScript_204E17 compare VAR_ENIGMA_BERRY_AVAILABLE, 0 - goto_eq PetalburgCity_Gym_EventScript_204E17 + goto_if_eq PetalburgCity_Gym_EventScript_204E17 msgbox PetalburgCity_Gym_Text_2A6D3D, MSGBOX_DEFAULT setvar VAR_RESULT, 1 return @@ -406,7 +403,7 @@ PetalburgCity_Gym_EventScript_204E17:: @ 8204E17 PetalburgCity_Gym_EventScript_204E1D:: @ 8204E1D giveitem_std ITEM_ENIGMA_BERRY compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_272054 + goto_if_eq PetalburgCity_Gym_EventScript_272054 setvar VAR_ENIGMA_BERRY_AVAILABLE, 0 release end @@ -447,7 +444,7 @@ PetalburgCity_Gym_EventScript_204E3B:: @ 8204E3B PetalburgCity_Gym_EventScript_204ED2:: @ 8204ED2 giveitem_std ITEM_TM42 compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_27205E + goto_if_eq PetalburgCity_Gym_EventScript_27205E setflag FLAG_0x0A9 msgbox PetalburgCity_Gym_Text_206254, MSGBOX_DEFAULT return @@ -474,30 +471,30 @@ PetalburgCity_Gym_EventScript_204F13:: @ 8204F13 waitmovement 0 delay 10 compare VAR_0x8008, 1 - call_if 1, PetalburgCity_Gym_EventScript_204FED + call_if_eq PetalburgCity_Gym_EventScript_204FED compare VAR_0x8008, 2 - call_if 1, PetalburgCity_Gym_EventScript_205009 + call_if_eq PetalburgCity_Gym_EventScript_205009 compare VAR_0x8008, 3 - call_if 1, PetalburgCity_Gym_EventScript_205025 + call_if_eq PetalburgCity_Gym_EventScript_205025 msgbox PetalburgCity_Gym_Text_206377, MSGBOX_DEFAULT closemessage delay 20 compare VAR_0x8008, 1 - call_if 1, PetalburgCity_Gym_EventScript_204FCC + call_if_eq PetalburgCity_Gym_EventScript_204FCC compare VAR_0x8008, 2 - call_if 1, PetalburgCity_Gym_EventScript_204FD7 + call_if_eq PetalburgCity_Gym_EventScript_204FD7 compare VAR_0x8008, 3 - call_if 1, PetalburgCity_Gym_EventScript_204FE2 + call_if_eq PetalburgCity_Gym_EventScript_204FE2 msgbox PetalburgCity_Gym_Text_2063CA, MSGBOX_DEFAULT closemessage setflag FLAG_SPECIAL_FLAG_0x4001 playbgm MUS_TSURETEK, 0 compare VAR_0x8008, 1 - call_if 1, PetalburgCity_Gym_EventScript_205041 + call_if_eq PetalburgCity_Gym_EventScript_205041 compare VAR_0x8008, 2 - call_if 1, PetalburgCity_Gym_EventScript_20505A + call_if_eq PetalburgCity_Gym_EventScript_20505A compare VAR_0x8008, 3 - call_if 1, PetalburgCity_Gym_EventScript_20506C + call_if_eq PetalburgCity_Gym_EventScript_20506C removeobject 11 setvar VAR_0x4057, 4 clearflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE @@ -524,7 +521,7 @@ PetalburgCity_Gym_EventScript_204FE2:: @ 8204FE2 PetalburgCity_Gym_EventScript_204FED:: @ 8204FED applymovement 11, PetalburgCity_Gym_Movement_2050C3 waitmovement 0 - applymovement 255, PetalburgCity_Gym_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A4 applymovement 1, PetalburgCity_Gym_Movement_2725A4 waitmovement 0 return @@ -532,7 +529,7 @@ PetalburgCity_Gym_EventScript_204FED:: @ 8204FED PetalburgCity_Gym_EventScript_205009:: @ 8205009 applymovement 11, PetalburgCity_Gym_Movement_2050CA waitmovement 0 - applymovement 255, PetalburgCity_Gym_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725AA applymovement 1, PetalburgCity_Gym_Movement_2725AA waitmovement 0 return @@ -540,7 +537,7 @@ PetalburgCity_Gym_EventScript_205009:: @ 8205009 PetalburgCity_Gym_EventScript_205025:: @ 8205025 applymovement 11, PetalburgCity_Gym_Movement_2050D0 waitmovement 0 - applymovement 255, PetalburgCity_Gym_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725AA applymovement 1, PetalburgCity_Gym_Movement_2725AA waitmovement 0 return @@ -548,19 +545,19 @@ PetalburgCity_Gym_EventScript_205025:: @ 8205025 PetalburgCity_Gym_EventScript_205041:: @ 8205041 applymovement 11, PetalburgCity_Gym_Movement_20507E applymovement 1, PetalburgCity_Gym_Movement_2725AA - applymovement 255, PetalburgCity_Gym_Movement_2050A1 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050A1 waitmovement 0 return PetalburgCity_Gym_EventScript_20505A:: @ 820505A applymovement 11, PetalburgCity_Gym_Movement_205089 - applymovement 255, PetalburgCity_Gym_Movement_2050A9 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050A9 waitmovement 0 return PetalburgCity_Gym_EventScript_20506C:: @ 820506C applymovement 11, PetalburgCity_Gym_Movement_205094 - applymovement 255, PetalburgCity_Gym_Movement_2050B1 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050B1 waitmovement 0 return @@ -787,14 +784,14 @@ PetalburgCity_Gym_EventScript_20512D:: @ 820512D PetalburgCity_Gym_EventScript_205137:: @ 8205137 lockall compare VAR_0x4085, 6 - goto_if 0, PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_20517D setvar VAR_0x8008, 7 setvar VAR_0x8009, 85 msgbox PetalburgCity_Gym_Text_20721E, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_20516C compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_20517B end PetalburgCity_Gym_EventScript_20516C:: @ 820516C @@ -817,150 +814,149 @@ PetalburgCity_Gym_EventScript_20517D:: @ 820517D PetalburgCity_Gym_EventScript_205187:: @ 8205187 lockall compare VAR_0x4085, 6 - goto_if 0, PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_20517D setvar VAR_0x8008, 1 setvar VAR_0x8009, 98 msgbox PetalburgCity_Gym_Text_207280, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_20516C compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_20517B end PetalburgCity_Gym_EventScript_2051BC:: @ 82051BC lockall checktrainerflag TRAINER_RANDALL - goto_if 0, PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_20517D setvar VAR_0x8008, 7 setvar VAR_0x8009, 46 msgbox PetalburgCity_Gym_Text_2072BB, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_20516C compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_20517B end PetalburgCity_Gym_EventScript_2051EF:: @ 82051EF lockall checktrainerflag TRAINER_RANDALL - goto_if 0, PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_20517D setvar VAR_0x8008, 1 setvar VAR_0x8009, 59 msgbox PetalburgCity_Gym_Text_2072F7, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_20516C compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_20517B end PetalburgCity_Gym_EventScript_205222:: @ 8205222 lockall checktrainerflag TRAINER_MARY - goto_if 0, PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_20517D setvar VAR_0x8008, 7 setvar VAR_0x8009, 59 msgbox PetalburgCity_Gym_Text_2072F7, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_20516C compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_20517B end PetalburgCity_Gym_EventScript_205255:: @ 8205255 lockall checktrainerflag TRAINER_MARY - goto_if 0, PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_20517D setvar VAR_0x8008, 1 setvar VAR_0x8009, 72 msgbox PetalburgCity_Gym_Text_207331, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_20516C compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_20517B end PetalburgCity_Gym_EventScript_205288:: @ 8205288 lockall checktrainerflag TRAINER_PARKER - goto_if 0, PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_20517D setvar VAR_0x8008, 1 setvar VAR_0x8009, 20 msgbox PetalburgCity_Gym_Text_20736C, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_20516C compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_20517B end PetalburgCity_Gym_EventScript_2052BB:: @ 82052BB lockall checktrainerflag TRAINER_ALEXIA - goto_if 0, PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_20517D setvar VAR_0x8008, 7 setvar VAR_0x8009, 20 msgbox PetalburgCity_Gym_Text_20736C, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_20516C compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_20517B end PetalburgCity_Gym_EventScript_2052EE:: @ 82052EE lockall checktrainerflag TRAINER_ALEXIA - goto_if 0, PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_20517D setvar VAR_0x8008, 1 setvar VAR_0x8009, 33 msgbox PetalburgCity_Gym_Text_2073A7, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_20516C compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_20517B end PetalburgCity_Gym_EventScript_205321:: @ 8205321 lockall checktrainerflag TRAINER_GEORGE - goto_if 0, PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_20517D setvar VAR_0x8008, 7 setvar VAR_0x8009, 33 msgbox PetalburgCity_Gym_Text_2073A7, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_20516C compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_20517B end PetalburgCity_Gym_EventScript_205354:: @ 8205354 lockall checktrainerflag TRAINER_JODY - goto_if 0, PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_20517D setvar VAR_0x8008, 1 setvar VAR_0x8009, 7 msgbox PetalburgCity_Gym_Text_2073E4, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_20516C compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_20517B end PetalburgCity_Gym_EventScript_205387:: @ 8205387 lockall checktrainerflag TRAINER_BERKE - goto_if 0, PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_20517D setvar VAR_0x8008, 7 setvar VAR_0x8009, 7 msgbox PetalburgCity_Gym_Text_2073E4, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq PetalburgCity_Gym_EventScript_20516C + goto_if_eq PetalburgCity_Gym_EventScript_20516C compare VAR_RESULT, 0 - goto_eq PetalburgCity_Gym_EventScript_20517B + goto_if_eq PetalburgCity_Gym_EventScript_20517B end PetalburgCity_Gym_EventScript_2053BA:: @ 82053BA trainerbattle_single TRAINER_RANDALL, PetalburgCity_Gym_Text_20674F, PetalburgCity_Gym_Text_2067B9, PetalburgCity_Gym_EventScript_2053DE - checkflag FLAG_0x4F4 - goto_eq PetalburgCity_Gym_EventScript_2053ED + goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_2053ED msgbox PetalburgCity_Gym_Text_2067D8, MSGBOX_AUTOCLOSE end @@ -977,8 +973,7 @@ PetalburgCity_Gym_EventScript_2053ED:: @ 82053ED PetalburgCity_Gym_EventScript_2053F6:: @ 82053F6 trainerbattle_single TRAINER_PARKER, PetalburgCity_Gym_Text_2068FD, PetalburgCity_Gym_Text_20694F, PetalburgCity_Gym_EventScript_20541A - checkflag FLAG_0x4F4 - goto_eq PetalburgCity_Gym_EventScript_205429 + goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205429 msgbox PetalburgCity_Gym_Text_206996, MSGBOX_AUTOCLOSE end @@ -995,8 +990,7 @@ PetalburgCity_Gym_EventScript_205429:: @ 8205429 PetalburgCity_Gym_EventScript_205432:: @ 8205432 trainerbattle_single TRAINER_GEORGE, PetalburgCity_Gym_Text_206A1B, PetalburgCity_Gym_Text_206AB8, PetalburgCity_Gym_EventScript_205456 - checkflag FLAG_0x4F4 - goto_eq PetalburgCity_Gym_EventScript_205465 + goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205465 msgbox PetalburgCity_Gym_Text_206AE9, MSGBOX_AUTOCLOSE end @@ -1013,8 +1007,7 @@ PetalburgCity_Gym_EventScript_205465:: @ 8205465 PetalburgCity_Gym_EventScript_20546E:: @ 820546E trainerbattle_single TRAINER_BERKE, PetalburgCity_Gym_Text_206BF4, PetalburgCity_Gym_Text_206C7D, PetalburgCity_Gym_EventScript_205492 - checkflag FLAG_0x4F4 - goto_eq PetalburgCity_Gym_EventScript_2054A1 + goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_2054A1 msgbox PetalburgCity_Gym_Text_206C9F, MSGBOX_AUTOCLOSE end @@ -1031,8 +1024,7 @@ PetalburgCity_Gym_EventScript_2054A1:: @ 82054A1 PetalburgCity_Gym_EventScript_2054AA:: @ 82054AA trainerbattle_single TRAINER_MARY, PetalburgCity_Gym_Text_206DB2, PetalburgCity_Gym_Text_206E0D, PetalburgCity_Gym_EventScript_2054CE - checkflag FLAG_0x4F4 - goto_eq PetalburgCity_Gym_EventScript_2054DD + goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_2054DD msgbox PetalburgCity_Gym_Text_206E26, MSGBOX_AUTOCLOSE end @@ -1049,8 +1041,7 @@ PetalburgCity_Gym_EventScript_2054DD:: @ 82054DD PetalburgCity_Gym_EventScript_2054E6:: @ 82054E6 trainerbattle_single TRAINER_ALEXIA, PetalburgCity_Gym_Text_206F44, PetalburgCity_Gym_Text_206F82, PetalburgCity_Gym_EventScript_20550A - checkflag FLAG_0x4F4 - goto_eq PetalburgCity_Gym_EventScript_205519 + goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205519 msgbox PetalburgCity_Gym_Text_206F9F, MSGBOX_AUTOCLOSE end @@ -1067,8 +1058,7 @@ PetalburgCity_Gym_EventScript_205519:: @ 8205519 PetalburgCity_Gym_EventScript_205522:: @ 8205522 trainerbattle_single TRAINER_JODY, PetalburgCity_Gym_Text_207088, PetalburgCity_Gym_Text_2070E6, PetalburgCity_Gym_EventScript_205546 - checkflag FLAG_0x4F4 - goto_eq PetalburgCity_Gym_EventScript_205555 + goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205555 msgbox PetalburgCity_Gym_Text_2070FB, MSGBOX_AUTOCLOSE end @@ -1086,72 +1076,72 @@ PetalburgCity_Gym_EventScript_205555:: @ 8205555 PetalburgCity_Gym_EventScript_20555E:: @ 820555E setvar VAR_0x8004, 1 compare VAR_0x8005, 0 - call_if 1, PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_205746 compare VAR_0x8005, 1 - call_if 1, PetalburgCity_Gym_EventScript_20574B + call_if_eq PetalburgCity_Gym_EventScript_20574B call PetalburgCity_Gym_EventScript_205666 return PetalburgCity_Gym_EventScript_20557F:: @ 820557F setvar VAR_0x8004, 2 compare VAR_0x8005, 0 - call_if 1, PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_205746 compare VAR_0x8005, 1 - call_if 1, PetalburgCity_Gym_EventScript_20574B + call_if_eq PetalburgCity_Gym_EventScript_20574B call PetalburgCity_Gym_EventScript_20568B return PetalburgCity_Gym_EventScript_2055A0:: @ 82055A0 setvar VAR_0x8004, 3 compare VAR_0x8005, 0 - call_if 1, PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_205746 compare VAR_0x8005, 1 - call_if 1, PetalburgCity_Gym_EventScript_20574B + call_if_eq PetalburgCity_Gym_EventScript_20574B call PetalburgCity_Gym_EventScript_2056B0 return PetalburgCity_Gym_EventScript_2055C1:: @ 82055C1 setvar VAR_0x8004, 4 compare VAR_0x8005, 0 - call_if 1, PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_205746 compare VAR_0x8005, 1 - call_if 1, PetalburgCity_Gym_EventScript_20574B + call_if_eq PetalburgCity_Gym_EventScript_20574B call PetalburgCity_Gym_EventScript_2056D5 return PetalburgCity_Gym_EventScript_2055E2:: @ 82055E2 setvar VAR_0x8004, 5 compare VAR_0x8005, 0 - call_if 1, PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_205746 compare VAR_0x8005, 1 - call_if 1, PetalburgCity_Gym_EventScript_20574B + call_if_eq PetalburgCity_Gym_EventScript_20574B call PetalburgCity_Gym_EventScript_2056E8 return PetalburgCity_Gym_EventScript_205603:: @ 8205603 setvar VAR_0x8004, 6 compare VAR_0x8005, 0 - call_if 1, PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_205746 compare VAR_0x8005, 1 - call_if 1, PetalburgCity_Gym_EventScript_20574B + call_if_eq PetalburgCity_Gym_EventScript_20574B call PetalburgCity_Gym_EventScript_20570D return PetalburgCity_Gym_EventScript_205624:: @ 8205624 setvar VAR_0x8004, 7 compare VAR_0x8005, 0 - call_if 1, PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_205746 compare VAR_0x8005, 1 - call_if 1, PetalburgCity_Gym_EventScript_20574B + call_if_eq PetalburgCity_Gym_EventScript_20574B call PetalburgCity_Gym_EventScript_205720 return PetalburgCity_Gym_EventScript_205645:: @ 8205645 setvar VAR_0x8004, 8 compare VAR_0x8005, 0 - call_if 1, PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_205746 compare VAR_0x8005, 1 - call_if 1, PetalburgCity_Gym_EventScript_20574B + call_if_eq PetalburgCity_Gym_EventScript_20574B call PetalburgCity_Gym_EventScript_205733 return @@ -1215,8 +1205,7 @@ PetalburgCity_Gym_EventScript_20574B:: @ 820574B PetalburgCity_Gym_EventScript_20574F:: @ 820574F lock faceplayer - checkflag FLAG_0x4F4 - goto_eq PetalburgCity_Gym_EventScript_205764 + goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205764 msgbox PetalburgCity_Gym_Text_206542, MSGBOX_DEFAULT release end @@ -1228,15 +1217,13 @@ PetalburgCity_Gym_EventScript_205764:: @ 8205764 PetalburgCity_Gym_EventScript_20576E:: @ 820576E lockall - checkflag FLAG_BADGE05_GET - goto_eq PetalburgCity_Gym_EventScript_20578E + goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_20578E goto PetalburgCity_Gym_EventScript_205798 end PetalburgCity_Gym_EventScript_20577E:: @ 820577E lockall - checkflag FLAG_BADGE05_GET - goto_eq PetalburgCity_Gym_EventScript_20578E + goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_20578E goto PetalburgCity_Gym_EventScript_205798 end diff --git a/data/maps/PetalburgCity_Mart/scripts.inc b/data/maps/PetalburgCity_Mart/scripts.inc index f6d975615..4303f1504 100644 --- a/data/maps/PetalburgCity_Mart/scripts.inc +++ b/data/maps/PetalburgCity_Mart/scripts.inc @@ -6,8 +6,7 @@ PetalburgCity_Mart_EventScript_207D69:: @ 8207D69 faceplayer message gUnknown_08272A21 waitmessage - checkflag FLAG_0x128 - goto_eq PetalburgCity_Mart_EventScript_207DA6 + goto_if_set FLAG_0x128, PetalburgCity_Mart_EventScript_207DA6 pokemart PetalburgCity_Mart_Pokemart_207D8C msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc index eb0150c08..1bbeb8fad 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc @@ -30,17 +30,17 @@ PetalburgCity_PokemonCenter_1F_EventScript_207A1C:: @ 8207A1C msgbox PetalburgCity_PokemonCenter_1F_Text_207B09, MSGBOX_DEFAULT specialvar VAR_RESULT, IsStarterInParty compare VAR_RESULT, 1 - goto_eq PetalburgCity_PokemonCenter_1F_EventScript_207A38 + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A38 release end PetalburgCity_PokemonCenter_1F_EventScript_207A38:: @ 8207A38 compare VAR_STARTER_MON, 0 - call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A5B + call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A5B compare VAR_STARTER_MON, 1 - call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A64 + call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A64 compare VAR_STARTER_MON, 2 - call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A6D + call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A6D release end diff --git a/data/maps/PetalburgCity_WallysHouse/scripts.inc b/data/maps/PetalburgCity_WallysHouse/scripts.inc index 8ef530784..7645828ef 100644 --- a/data/maps/PetalburgCity_WallysHouse/scripts.inc +++ b/data/maps/PetalburgCity_WallysHouse/scripts.inc @@ -8,7 +8,7 @@ PetalburgCity_WallysHouse_MapScript2_204234: @ 8204234 .2byte 0 PetalburgCity_WallysHouse_EventScript_20423E:: @ 820423E - turnobject 255, 4 + turnobject EVENT_OBJ_ID_PLAYER, 4 turnobject 1, 3 end @@ -29,12 +29,9 @@ PetalburgCity_WallysHouse_EventScript_204251:: @ 8204251 PetalburgCity_WallysHouse_EventScript_204278:: @ 8204278 lock faceplayer - checkflag FLAG_0x07E - goto_eq PetalburgCity_WallysHouse_EventScript_2042AC - checkflag FLAG_0x07A - goto_eq PetalburgCity_WallysHouse_EventScript_2042A2 - checkflag FLAG_0x087 - goto_eq PetalburgCity_WallysHouse_EventScript_2042B6 + goto_if_set FLAG_0x07E, PetalburgCity_WallysHouse_EventScript_2042AC + goto_if_set FLAG_0x07A, PetalburgCity_WallysHouse_EventScript_2042A2 + goto_if_set FLAG_0x087, PetalburgCity_WallysHouse_EventScript_2042B6 msgbox PetalburgCity_WallysHouse_Text_2042DF, MSGBOX_DEFAULT setflag FLAG_0x087 release @@ -58,8 +55,7 @@ PetalburgCity_WallysHouse_EventScript_2042B6:: @ 82042B6 PetalburgCity_WallysHouse_EventScript_2042C0:: @ 82042C0 lock faceplayer - checkflag FLAG_0x07A - goto_eq PetalburgCity_WallysHouse_EventScript_2042D5 + goto_if_set FLAG_0x07A, PetalburgCity_WallysHouse_EventScript_2042D5 msgbox PetalburgCity_WallysHouse_Text_204732, MSGBOX_DEFAULT release end diff --git a/data/maps/PetalburgWoods/scripts.inc b/data/maps/PetalburgWoods/scripts.inc index 387955f73..57797588f 100644 --- a/data/maps/PetalburgWoods/scripts.inc +++ b/data/maps/PetalburgWoods/scripts.inc @@ -30,7 +30,7 @@ PetalburgWoods_EventScript_22DFD7:: @ 822DFD7 applymovement 3, PetalburgWoods_Movement_22E1F9 waitmovement 0 call PetalburgWoods_EventScript_22E138 - applymovement 255, PetalburgWoods_Movement_22E1E0 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_22E1E0 applymovement 4, PetalburgWoods_Movement_22E1C2 waitmovement 0 goto PetalburgWoods_EventScript_22E1A7 @@ -41,7 +41,7 @@ PetalburgWoods_EventScript_22E079:: @ 822E079 call PetalburgWoods_EventScript_22E124 applymovement 4, PetalburgWoods_Movement_22E1D0 waitmovement 0 - applymovement 255, PetalburgWoods_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_2725A4 waitmovement 0 msgbox PetalburgWoods_Text_22E34F, MSGBOX_DEFAULT closemessage @@ -59,14 +59,14 @@ PetalburgWoods_EventScript_22E079:: @ 822E079 applymovement 4, PetalburgWoods_Movement_22E1EA waitmovement 0 msgbox PetalburgWoods_Text_22E457, MSGBOX_DEFAULT - applymovement 255, PetalburgWoods_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_2725A6 waitmovement 0 msgbox PetalburgWoods_Text_22E4A5, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_8, PetalburgWoods_Text_22E542 applymovement 3, PetalburgWoods_Movement_22E1F9 waitmovement 0 call PetalburgWoods_EventScript_22E138 - applymovement 255, PetalburgWoods_Movement_22E1E0 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_22E1E0 applymovement 4, PetalburgWoods_Movement_22E1D7 waitmovement 0 goto PetalburgWoods_EventScript_22E1A7 @@ -85,12 +85,12 @@ PetalburgWoods_EventScript_22E138:: @ 822E138 applymovement 3, PetalburgWoods_Movement_22E1FD waitmovement 0 removeobject 3 - applymovement 255, PetalburgWoods_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_2725AA waitmovement 0 msgbox PetalburgWoods_Text_22E63D, MSGBOX_DEFAULT giveitem_std ITEM_GREAT_BALL compare VAR_RESULT, 0 - goto_eq PetalburgWoods_EventScript_22E17D + goto_if_eq PetalburgWoods_EventScript_22E17D goto PetalburgWoods_EventScript_22E18B end @@ -249,12 +249,11 @@ PetalburgWoods_EventScript_22E219:: @ 822E219 PetalburgWoods_EventScript_22E222:: @ 822E222 lock faceplayer - checkflag FLAG_0x129 - goto_eq PetalburgWoods_EventScript_22E251 + goto_if_set FLAG_0x129, PetalburgWoods_EventScript_22E251 msgbox PetalburgWoods_Text_22EAFE, MSGBOX_DEFAULT giveitem_std ITEM_MIRACLE_SEED compare VAR_RESULT, 0 - goto_eq PetalburgWoods_EventScript_272054 + goto_if_eq PetalburgWoods_EventScript_272054 setflag FLAG_0x129 release end @@ -281,11 +280,11 @@ PetalburgWoods_EventScript_22E284:: @ 822E284 trainerbattle_single TRAINER_JAMES_1, PetalburgWoods_Text_22E827, PetalburgWoods_Text_22E86B, PetalburgWoods_EventScript_22E2C5 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq PetalburgWoods_EventScript_22E31B + goto_if_eq PetalburgWoods_EventScript_22E31B setvar VAR_0x8004, 621 specialvar VAR_RESULT, sub_813B4E0 compare VAR_RESULT, 0 - goto_eq PetalburgWoods_EventScript_22E2EF + goto_if_eq PetalburgWoods_EventScript_22E2EF msgbox PetalburgWoods_Text_22E889, MSGBOX_DEFAULT release end @@ -293,8 +292,7 @@ PetalburgWoods_EventScript_22E284:: @ 822E284 PetalburgWoods_EventScript_22E2C5:: @ 822E2C5 special sub_80B4808 waitmovement 0 - checkflag FLAG_HAS_MATCH_CALL - goto_eq PetalburgWoods_EventScript_22E2D6 + goto_if_set FLAG_HAS_MATCH_CALL, PetalburgWoods_EventScript_22E2D6 release end @@ -305,8 +303,7 @@ PetalburgWoods_EventScript_22E2D6:: @ 822E2D6 end PetalburgWoods_EventScript_22E2EF:: @ 822E2EF - checkflag FLAG_HAS_MATCH_CALL - goto_eq PetalburgWoods_EventScript_22E302 + goto_if_set FLAG_HAS_MATCH_CALL, PetalburgWoods_EventScript_22E302 msgbox PetalburgWoods_Text_22E889, MSGBOX_DEFAULT release end diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc index f724914ba..deea27e74 100644 --- a/data/maps/Route101/scripts.inc +++ b/data/maps/Route101/scripts.inc @@ -23,7 +23,7 @@ Route101_EventScript_1EBCDE:: @ 81EBCDE closemessage setobjectxy 2, 0, 15 setobjectxy 4, 0, 16 - applymovement 255, Route101_Movement_1EBDC2 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBDC2 applymovement 2, Route101_Movement_1EBDE7 applymovement 4, Route101_Movement_1EBDB5 waitmovement 0 @@ -45,7 +45,7 @@ Route101_EventScript_1EBD4E:: @ 81EBD4E lockall msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT closemessage - applymovement 255, Route101_Movement_1EBD90 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD90 waitmovement 0 releaseall end @@ -54,7 +54,7 @@ Route101_EventScript_1EBD64:: @ 81EBD64 lockall msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT closemessage - applymovement 255, Route101_Movement_1EBD92 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD92 waitmovement 0 releaseall end @@ -63,7 +63,7 @@ Route101_EventScript_1EBD7A:: @ 81EBD7A lockall msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT closemessage - applymovement 255, Route101_Movement_1EBD94 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD94 waitmovement 0 releaseall end @@ -222,8 +222,8 @@ Route101_EventScript_1EBE16:: @ 81EBE16 setflag FLAG_0x052 fadescreen 1 removeobject 4 - setobjectxy 255, 6, 13 - applymovement 255, Route101_Movement_2725A4 + setobjectxy EVENT_OBJ_ID_PLAYER, 6, 13 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_2725A4 waitmovement 0 special ChooseStarter waitstate @@ -239,9 +239,9 @@ Route101_EventScript_1EBE16:: @ 81EBE16 clearflag FLAG_SPECIAL_FLAG_0x4000 checkplayergender compare VAR_RESULT, 0 - call_if 1, Route101_EventScript_1EBE85 + call_if_eq Route101_EventScript_1EBE85 compare VAR_RESULT, 1 - call_if 1, Route101_EventScript_1EBE89 + call_if_eq Route101_EventScript_1EBE89 warp MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5 waitstate release diff --git a/data/maps/Route102/scripts.inc b/data/maps/Route102/scripts.inc index 0a2ba36ba..ada20447a 100644 --- a/data/maps/Route102/scripts.inc +++ b/data/maps/Route102/scripts.inc @@ -21,11 +21,11 @@ Route102_EventScript_1EC105:: @ 81EC105 trainerbattle_single TRAINER_CALVIN_1, Route102_Text_294513, Route102_Text_29457C, Route102_EventScript_1EC146 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route102_EventScript_1EC19C + goto_if_eq Route102_EventScript_1EC19C setvar VAR_0x8004, 318 specialvar VAR_RESULT, sub_813B4E0 compare VAR_RESULT, 0 - goto_eq Route102_EventScript_1EC170 + goto_if_eq Route102_EventScript_1EC170 msgbox Route102_Text_2945AC, MSGBOX_DEFAULT release end @@ -33,8 +33,7 @@ Route102_EventScript_1EC105:: @ 81EC105 Route102_EventScript_1EC146:: @ 81EC146 special sub_80B4808 waitmovement 0 - checkflag FLAG_HAS_MATCH_CALL - goto_eq Route102_EventScript_1EC157 + goto_if_set FLAG_HAS_MATCH_CALL, Route102_EventScript_1EC157 release end @@ -45,8 +44,7 @@ Route102_EventScript_1EC157:: @ 81EC157 end Route102_EventScript_1EC170:: @ 81EC170 - checkflag FLAG_HAS_MATCH_CALL - goto_eq Route102_EventScript_1EC183 + goto_if_set FLAG_HAS_MATCH_CALL, Route102_EventScript_1EC183 msgbox Route102_Text_2945AC, MSGBOX_DEFAULT release end diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index e79ddd041..6b793286e 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -9,8 +9,7 @@ Route103_MapScript1_1EC399: @ 81EC399 end Route103_MapScript1_1EC3A4: @ 81EC3A4 - checkflag FLAG_SYS_GAME_CLEAR - call_if 1, Route103_EventScript_1EC3AE + call_if_set FLAG_SYS_GAME_CLEAR, Route103_EventScript_1EC3AE end Route103_EventScript_1EC3AE:: @ 81EC3AE @@ -22,9 +21,9 @@ Route103_EventScript_1EC3C1:: @ 81EC3C1 lockall checkplayergender compare VAR_RESULT, 0 - goto_eq Route103_EventScript_1EC3DA + goto_if_eq Route103_EventScript_1EC3DA compare VAR_RESULT, 1 - goto_eq Route103_EventScript_1EC434 + goto_if_eq Route103_EventScript_1EC434 end Route103_EventScript_1EC3DA:: @ 81EC3DA @@ -111,7 +110,7 @@ Route103_EventScript_1EC50A:: @ 81EC50A end Route103_EventScript_1EC53D:: @ 81EC53D - applymovement 255, Route103_Movement_1EC5C8 + applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_1EC5C8 applymovement 2, Route103_Movement_1EC5BE waitmovement 0 playse SE_DANSA @@ -121,7 +120,7 @@ Route103_EventScript_1EC53D:: @ 81EC53D end Route103_EventScript_1EC561:: @ 81EC561 - applymovement 255, Route103_Movement_1EC5D6 + applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_1EC5D6 applymovement 2, Route103_Movement_1EC5CE waitmovement 0 playse SE_DANSA @@ -211,7 +210,7 @@ Route103_EventScript_1EC60B:: @ 81EC60B trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_2949F9, Route103_Text_294A3D, Route103_Text_294AAE, Route103_EventScript_1EC63A specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route103_EventScript_1EC653 + goto_if_eq Route103_EventScript_1EC653 msgbox Route103_Text_294A52, MSGBOX_AUTOCLOSE end @@ -230,7 +229,7 @@ Route103_EventScript_1EC66E:: @ 81EC66E trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_294AFD, Route103_Text_294B22, Route103_Text_294BD0, Route103_EventScript_1EC69D specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route103_EventScript_1EC6B6 + goto_if_eq Route103_EventScript_1EC6B6 msgbox Route103_Text_294B40, MSGBOX_AUTOCLOSE end @@ -254,7 +253,7 @@ Route103_EventScript_1EC6E8:: @ 81EC6E8 trainerbattle_single TRAINER_MIGUEL_1, Route103_Text_294EDF, Route103_Text_294F21, Route103_EventScript_1EC714 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route103_EventScript_1EC733 + goto_if_eq Route103_EventScript_1EC733 msgbox Route103_Text_294F42, MSGBOX_DEFAULT release end diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc index 1d591793d..2dfb42d74 100644 --- a/data/maps/Route104/scripts.inc +++ b/data/maps/Route104/scripts.inc @@ -19,10 +19,8 @@ Route104_MapScript1_1ECC4E: @ 81ECC4E end Route104_EventScript_1ECC5E:: @ 81ECC5E - checkflag FLAG_0x07F - goto_if 0, Route104_EventScript_1ECC74 - checkflag FLAG_BADGE03_GET - goto_if 0, Route104_EventScript_1ECC74 + goto_if_unset FLAG_0x07F, Route104_EventScript_1ECC74 + goto_if_unset FLAG_BADGE03_GET, Route104_EventScript_1ECC74 clearflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST return @@ -32,11 +30,9 @@ Route104_EventScript_1ECC74:: @ 81ECC74 Route104_EventScript_1ECC78:: @ 81ECC78 compare VAR_0x408E, 1 - goto_if 4, Route104_EventScript_1ECC9D - checkflag FLAG_0x120 - goto_eq Route104_EventScript_1ECC9D - checkflag FLAG_0x07C - goto_if 0, Route104_EventScript_1ECC9D + goto_if_ge Route104_EventScript_1ECC9D + goto_if_set FLAG_0x120, Route104_EventScript_1ECC9D + goto_if_unset FLAG_0x07C, Route104_EventScript_1ECC9D setobjectxyperm 34, 17, 52 return @@ -55,12 +51,12 @@ Route104_EventScript_1ECCB3:: @ 81ECCB3 setflag FLAG_HIDE_RUSBORO_CITY_RIVAL setvar VAR_0x405A, 8 setvar VAR_0x4063, 2 - applymovement 255, Route104_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_2725A6 waitmovement 0 delay 10 addobject 34 clearflag FLAG_HIDE_ROUTE_104_RIVAL - applymovement 255, Route104_Movement_1ECF86 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECF86 waitmovement 0 applymovement 34, Route104_Movement_1ECF8A waitmovement 0 @@ -77,9 +73,9 @@ Route104_EventScript_1ECCB3:: @ 81ECCB3 Route104_EventScript_1ECD11:: @ 81ECD11 checkplayergender compare VAR_RESULT, 0 - goto_eq Route104_EventScript_1ECD29 + goto_if_eq Route104_EventScript_1ECD29 compare VAR_RESULT, 1 - goto_eq Route104_EventScript_1ECD2E + goto_if_eq Route104_EventScript_1ECD2E return Route104_EventScript_1ECD29:: @ 81ECD29 @@ -93,16 +89,14 @@ Route104_EventScript_1ECD2E:: @ 81ECD2E Route104_EventScript_1ECD33:: @ 81ECD33 checkplayergender compare VAR_RESULT, 0 - goto_eq Route104_EventScript_1ECD4B + goto_if_eq Route104_EventScript_1ECD4B compare VAR_RESULT, 1 - goto_eq Route104_EventScript_1ECE6F + goto_if_eq Route104_EventScript_1ECE6F end Route104_EventScript_1ECD4B:: @ 81ECD4B - checkflag FLAG_0x07D - goto_eq Route104_EventScript_1ECE1C - checkflag FLAG_0x07C - goto_eq Route104_EventScript_1ECDD0 + goto_if_set FLAG_0x07D, Route104_EventScript_1ECE1C + goto_if_set FLAG_0x07C, Route104_EventScript_1ECDD0 setflag FLAG_0x07C msgbox Route104_Text_1EDBFF, MSGBOX_DEFAULT closemessage @@ -113,7 +107,7 @@ Route104_EventScript_1ECD4B:: @ 81ECD4B closemessage delay 30 setflag FLAG_0x0FD - applymovement 255, Route104_Movement_1ECDCD + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECDCD applymovement 34, Route104_Movement_1ECDC8 msgbox Route104_Text_1EDCB1, MSGBOX_DEFAULT closemessage @@ -123,7 +117,7 @@ Route104_EventScript_1ECD4B:: @ 81ECD4B moveobjectoffscreen 34 msgbox Route104_Text_1EDCED, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route104_EventScript_1ECDED + goto_if_eq Route104_EventScript_1ECDED msgbox Route104_Text_1EDD2A, MSGBOX_DEFAULT call Route104_EventScript_1ECE31 releaseall @@ -146,7 +140,7 @@ Route104_Movement_1ECDCD: @ 81ECDCD Route104_EventScript_1ECDD0:: @ 81ECDD0 msgbox Route104_Text_1EDD9F, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route104_EventScript_1ECDED + goto_if_eq Route104_EventScript_1ECDED msgbox Route104_Text_1EDD2A, MSGBOX_DEFAULT releaseall end @@ -162,7 +156,7 @@ Route104_EventScript_1ECDED:: @ 81ECDED Route104_EventScript_1ECE1C:: @ 81ECE1C msgbox Route104_Text_1EDE3E, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if 1, Route104_EventScript_1ECE31 + call_if_eq Route104_EventScript_1ECE31 releaseall end @@ -190,10 +184,8 @@ Route104_EventScript_1ECE5C:: @ 81ECE5C end Route104_EventScript_1ECE6F:: @ 81ECE6F - checkflag FLAG_0x07D - goto_eq Route104_EventScript_1ECF38 - checkflag FLAG_0x07C - goto_eq Route104_EventScript_1ECEEC + goto_if_set FLAG_0x07D, Route104_EventScript_1ECF38 + goto_if_set FLAG_0x07C, Route104_EventScript_1ECEEC setflag FLAG_0x07C msgbox Route104_Text_1EDF04, MSGBOX_DEFAULT closemessage @@ -204,7 +196,7 @@ Route104_EventScript_1ECE6F:: @ 81ECE6F closemessage delay 30 setflag FLAG_0x0FD - applymovement 255, Route104_Movement_1ECDCD + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECDCD applymovement 34, Route104_Movement_1ECDC8 msgbox Route104_Text_1EDFC6, MSGBOX_DEFAULT closemessage @@ -214,7 +206,7 @@ Route104_EventScript_1ECE6F:: @ 81ECE6F moveobjectoffscreen 34 msgbox Route104_Text_1EE009, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route104_EventScript_1ECF09 + goto_if_eq Route104_EventScript_1ECF09 msgbox Route104_Text_1EE04D, MSGBOX_DEFAULT call Route104_EventScript_1ECE31 releaseall @@ -223,7 +215,7 @@ Route104_EventScript_1ECE6F:: @ 81ECE6F Route104_EventScript_1ECEEC:: @ 81ECEEC msgbox Route104_Text_1EE094, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route104_EventScript_1ECF09 + goto_if_eq Route104_EventScript_1ECF09 msgbox Route104_Text_1EE04D, MSGBOX_DEFAULT releaseall end @@ -239,7 +231,7 @@ Route104_EventScript_1ECF09:: @ 81ECF09 Route104_EventScript_1ECF38:: @ 81ECF38 msgbox Route104_Text_1EE120, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if 1, Route104_EventScript_1ECE31 + call_if_eq Route104_EventScript_1ECE31 releaseall end @@ -274,12 +266,11 @@ Route104_Movement_1ECF8A: @ 81ECF8A Route104_EventScript_1ECF8C:: @ 81ECF8C lock faceplayer - checkflag FLAG_0x0F6 - goto_eq Route104_EventScript_1ECFC3 + goto_if_set FLAG_0x0F6, Route104_EventScript_1ECFC3 msgbox Route104_Text_2A6D86, MSGBOX_DEFAULT giveitem_std ITEM_CHESTO_BERRY compare VAR_RESULT, 0 - goto_eq Route104_EventScript_272054 + goto_if_eq Route104_EventScript_272054 setflag FLAG_0x0F6 msgbox Route104_Text_2A6E32, MSGBOX_DEFAULT release @@ -293,12 +284,11 @@ Route104_EventScript_1ECFC3:: @ 81ECFC3 Route104_EventScript_1ECFCD:: @ 81ECFCD lock faceplayer - checkflag FLAG_0x117 - goto_eq Route104_EventScript_1ECFFC + goto_if_set FLAG_0x117, Route104_EventScript_1ECFFC msgbox Route104_Text_1ED96A, MSGBOX_DEFAULT giveitem_std ITEM_WHITE_HERB compare VAR_RESULT, 0 - goto_eq Route104_EventScript_272054 + goto_if_eq Route104_EventScript_272054 setflag FLAG_0x117 release end @@ -347,12 +337,11 @@ Route104_EventScript_1ED04E:: @ 81ED04E Route104_EventScript_1ED057:: @ 81ED057 lock faceplayer - checkflag FLAG_0x106 - goto_eq Route104_EventScript_1ED086 + goto_if_set FLAG_0x106, Route104_EventScript_1ED086 msgbox Route104_Text_1ED838, MSGBOX_DEFAULT giveitem_std ITEM_TM09 compare VAR_RESULT, 0 - goto_eq Route104_EventScript_272054 + goto_if_eq Route104_EventScript_272054 setflag FLAG_0x106 release end @@ -368,29 +357,27 @@ Route104_EventScript_1ED090:: @ 81ED090 Route104_EventScript_1ED099:: @ 81ED099 setobjectpriority 8, MAP_ROUTE104, 0 - setobjectpriority 255, MAP_ROUTE104, 0 + setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE104, 0 applymovement 8, Route104_Movement_1ED359 waitmovement 0 removeobject 8 - applymovement 255, Route104_Movement_1ED34F + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED34F waitmovement 0 - hideobjectat 255, MAP_ROUTE104 + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104 call Route104_EventScript_2720A0 - checkflag FLAG_0x132 - goto_eq Route104_EventScript_1ED0D9 - checkflag FLAG_0x132 - goto_if 0, Route104_EventScript_1ED0EF + goto_if_set FLAG_0x132, Route104_EventScript_1ED0D9 + goto_if_unset FLAG_0x132, Route104_EventScript_1ED0EF end Route104_EventScript_1ED0D9:: @ 81ED0D9 applymovement 7, Route104_Movement_1ED28C - applymovement 255, Route104_Movement_1ED28C + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED28C waitmovement 0 goto Route104_EventScript_1ED139 Route104_EventScript_1ED0EF:: @ 81ED0EF applymovement 7, Route104_Movement_1ED1C8 - applymovement 255, Route104_Movement_1ED1C8 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED1C8 waitmovement 0 pokenavcall Route104_Text_1EE336 waitmessage @@ -401,7 +388,7 @@ Route104_EventScript_1ED0EF:: @ 81ED0EF closemessage delay 30 setflag FLAG_0x132 - applymovement 255, Route104_Movement_1ED22A + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED22A applymovement 7, Route104_Movement_1ED22A, MAP_ROUTE104 waitmovement 7, MAP_ROUTE104 waitmovement 0 @@ -409,11 +396,11 @@ Route104_EventScript_1ED0EF:: @ 81ED0EF Route104_EventScript_1ED139:: @ 81ED139 delay 50 - applymovement 255, Route104_Movement_1ED353 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED353 waitmovement 0 call Route104_EventScript_2720A8 - showobjectat 255, MAP_DEWFORD_TOWN - applymovement 255, Route104_Movement_1ED355 + showobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED355 waitmovement 0 setobjectxyperm 2, 12, 8 addobject 2 @@ -427,14 +414,12 @@ Route104_EventScript_1ED139:: @ 81ED139 setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT hideobjectat 7, MAP_ROUTE104 copyvar VAR_0x4096, VAR_0x8008 - resetobjectpriority 255, MAP_ROUTE104 + resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE104 resetobjectpriority 2, MAP_DEWFORD_TOWN moveobjectoffscreen 2 setvar VAR_0x408E, 0 - checkflag FLAG_0x0BD - goto_if 0, Route104_EventScript_1ED1B4 - checkflag FLAG_0x0BD - goto_eq Route104_EventScript_1ED1BE + goto_if_unset FLAG_0x0BD, Route104_EventScript_1ED1B4 + goto_if_set FLAG_0x0BD, Route104_EventScript_1ED1BE end Route104_EventScript_1ED1B4:: @ 81ED1B4 @@ -884,11 +869,11 @@ Route104_EventScript_1ED38D:: @ 81ED38D trainerbattle_single TRAINER_HALEY_1, Route104_Text_29563A, Route104_Text_29566F, Route104_EventScript_1ED3CE specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route104_EventScript_1ED424 + goto_if_eq Route104_EventScript_1ED424 setvar VAR_0x8004, 604 specialvar VAR_RESULT, sub_813B4E0 compare VAR_RESULT, 0 - goto_eq Route104_EventScript_1ED3F8 + goto_if_eq Route104_EventScript_1ED3F8 msgbox Route104_Text_295689, MSGBOX_DEFAULT release end @@ -896,8 +881,7 @@ Route104_EventScript_1ED38D:: @ 81ED38D Route104_EventScript_1ED3CE:: @ 81ED3CE special sub_80B4808 waitmovement 0 - checkflag FLAG_HAS_MATCH_CALL - goto_eq Route104_EventScript_1ED3DF + goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED3DF release end @@ -908,8 +892,7 @@ Route104_EventScript_1ED3DF:: @ 81ED3DF end Route104_EventScript_1ED3F8:: @ 81ED3F8 - checkflag FLAG_HAS_MATCH_CALL - goto_eq Route104_EventScript_1ED40B + goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED40B msgbox Route104_Text_295689, MSGBOX_DEFAULT release end @@ -929,11 +912,11 @@ Route104_EventScript_1ED43B:: @ 81ED43B trainerbattle_single TRAINER_WINSTON_1, Route104_Text_295870, Route104_Text_2958AD, Route104_EventScript_1ED47C specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route104_EventScript_1ED4D2 + goto_if_eq Route104_EventScript_1ED4D2 setvar VAR_0x8004, 136 specialvar VAR_RESULT, sub_813B4E0 compare VAR_RESULT, 0 - goto_eq Route104_EventScript_1ED4A6 + goto_if_eq Route104_EventScript_1ED4A6 msgbox Route104_Text_2958C1, MSGBOX_DEFAULT release end @@ -941,8 +924,7 @@ Route104_EventScript_1ED43B:: @ 81ED43B Route104_EventScript_1ED47C:: @ 81ED47C special sub_80B4808 waitmovement 0 - checkflag FLAG_HAS_MATCH_CALL - goto_eq Route104_EventScript_1ED48D + goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED48D release end @@ -953,8 +935,7 @@ Route104_EventScript_1ED48D:: @ 81ED48D end Route104_EventScript_1ED4A6:: @ 81ED4A6 - checkflag FLAG_HAS_MATCH_CALL - goto_eq Route104_EventScript_1ED4B9 + goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED4B9 msgbox Route104_Text_2958C1, MSGBOX_DEFAULT release end @@ -974,11 +955,11 @@ Route104_EventScript_1ED4E9:: @ 81ED4E9 trainerbattle_single TRAINER_CINDY_1, Route104_Text_295A7E, Route104_Text_295ABB, Route104_EventScript_1ED52A specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route104_EventScript_1ED580 + goto_if_eq Route104_EventScript_1ED580 setvar VAR_0x8004, 114 specialvar VAR_RESULT, sub_813B4E0 compare VAR_RESULT, 0 - goto_eq Route104_EventScript_1ED554 + goto_if_eq Route104_EventScript_1ED554 msgbox Route104_Text_295AC3, MSGBOX_DEFAULT release end @@ -986,8 +967,7 @@ Route104_EventScript_1ED4E9:: @ 81ED4E9 Route104_EventScript_1ED52A:: @ 81ED52A special sub_80B4808 waitmovement 0 - checkflag FLAG_HAS_MATCH_CALL - goto_eq Route104_EventScript_1ED53B + goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED53B release end @@ -998,8 +978,7 @@ Route104_EventScript_1ED53B:: @ 81ED53B end Route104_EventScript_1ED554:: @ 81ED554 - checkflag FLAG_HAS_MATCH_CALL - goto_eq Route104_EventScript_1ED567 + goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED567 msgbox Route104_Text_295AC3, MSGBOX_DEFAULT release end diff --git a/data/maps/Route104_MrBrineysHouse/scripts.inc b/data/maps/Route104_MrBrineysHouse/scripts.inc index e8fc402c5..90298a924 100644 --- a/data/maps/Route104_MrBrineysHouse/scripts.inc +++ b/data/maps/Route104_MrBrineysHouse/scripts.inc @@ -5,9 +5,8 @@ Route104_MrBrineysHouse_MapScripts:: @ 8229D2E Route104_MrBrineysHouse_MapScript1_229D34: @ 8229D34 setflag FLAG_LANDMARK_MR_BRINEY_HOUSE compare VAR_0x4090, 1 - call_if 1, Route104_MrBrineysHouse_EventScript_229D50 - checkflag FLAG_0x0BC - call_if 1, Route104_MrBrineysHouse_EventScript_229D4C + call_if_eq Route104_MrBrineysHouse_EventScript_229D50 + call_if_set FLAG_0x0BC, Route104_MrBrineysHouse_EventScript_229D4C end Route104_MrBrineysHouse_EventScript_229D4C:: @ 8229D4C @@ -24,12 +23,9 @@ Route104_MrBrineysHouse_EventScript_229D50:: @ 8229D50 Route104_MrBrineysHouse_EventScript_229D67:: @ 8229D67 lock faceplayer - checkflag FLAG_0x093 - call_if 0, Route104_MrBrineysHouse_EventScript_229D8A - checkflag FLAG_0x0BD - goto_if 0, Route104_MrBrineysHouse_EventScript_229DE1 - checkflag FLAG_0x095 - goto_if 0, Route104_MrBrineysHouse_EventScript_229DFA + call_if_unset FLAG_0x093, Route104_MrBrineysHouse_EventScript_229D8A + goto_if_unset FLAG_0x0BD, Route104_MrBrineysHouse_EventScript_229DE1 + goto_if_unset FLAG_0x095, Route104_MrBrineysHouse_EventScript_229DFA goto Route104_MrBrineysHouse_EventScript_229DAE end @@ -38,7 +34,7 @@ Route104_MrBrineysHouse_EventScript_229D8A:: @ 8229D8A msgbox Route104_MrBrineysHouse_Text_229E70, MSGBOX_DEFAULT msgbox Route104_MrBrineysHouse_Text_229E9B, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route104_MrBrineysHouse_EventScript_229E13 + goto_if_eq Route104_MrBrineysHouse_EventScript_229E13 goto Route104_MrBrineysHouse_EventScript_229E27 end @@ -55,14 +51,14 @@ Route104_MrBrineysHouse_EventScript_229DAE:: @ 8229DAE Route104_MrBrineysHouse_EventScript_229DE1:: @ 8229DE1 msgbox Route104_MrBrineysHouse_Text_22A0AD, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route104_MrBrineysHouse_EventScript_229E13 + goto_if_eq Route104_MrBrineysHouse_EventScript_229E13 goto Route104_MrBrineysHouse_EventScript_229E27 end Route104_MrBrineysHouse_EventScript_229DFA:: @ 8229DFA msgbox Route104_MrBrineysHouse_Text_22A18F, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route104_MrBrineysHouse_EventScript_229E13 + goto_if_eq Route104_MrBrineysHouse_EventScript_229E13 goto Route104_MrBrineysHouse_EventScript_229E27 end diff --git a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc index 08b5b7389..fc0acf329 100644 --- a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc +++ b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc @@ -4,10 +4,8 @@ Route104_PrettyPetalFlowerShop_MapScripts:: @ 822A34C Route104_PrettyPetalFlowerShop_MapScript1_22A352: @ 822A352 setflag FLAG_LANDMARK_FLOWER_SHOP - checkflag FLAG_0x07F - goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A36B - checkflag FLAG_BADGE03_GET - goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A36B + goto_if_unset FLAG_0x07F, Route104_PrettyPetalFlowerShop_EventScript_22A36B + goto_if_unset FLAG_BADGE03_GET, Route104_PrettyPetalFlowerShop_EventScript_22A36B setflag FLAG_TEMP_1 end @@ -18,26 +16,24 @@ Route104_PrettyPetalFlowerShop_EventScript_22A36B:: @ 822A36B Route104_PrettyPetalFlowerShop_EventScript_22A373:: @ 822A373 lock faceplayer - checkflag FLAG_TEMP_1 - goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A3E4 + goto_if_set FLAG_TEMP_1, Route104_PrettyPetalFlowerShop_EventScript_22A3E4 msgbox Route104_PrettyPetalFlowerShop_Text_2A7686, MSGBOX_DEFAULT - checkflag FLAG_0x07F - goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A3B2 + goto_if_set FLAG_0x07F, Route104_PrettyPetalFlowerShop_EventScript_22A3B2 setflag FLAG_0x07F msgbox Route104_PrettyPetalFlowerShop_Text_2A7706, MSGBOX_YESNO compare VAR_RESULT, 1 - call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3D2 + call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3D2 compare VAR_RESULT, 0 - call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3DB + call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3DB release end Route104_PrettyPetalFlowerShop_EventScript_22A3B2:: @ 822A3B2 msgbox Route104_PrettyPetalFlowerShop_Text_2A76D9, MSGBOX_YESNO compare VAR_RESULT, 1 - call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3D2 + call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3D2 compare VAR_RESULT, 0 - call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3DB + call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3DB release end @@ -72,8 +68,7 @@ Route104_PrettyPetalFlowerShop_Pokemart_22A3FC: @ 822A3FC Route104_PrettyPetalFlowerShop_EventScript_22A40C:: @ 822A40C lock faceplayer - checkflag FLAG_0x05E - goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A421 + goto_if_unset FLAG_0x05E, Route104_PrettyPetalFlowerShop_EventScript_22A421 msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, MSGBOX_DEFAULT release end @@ -90,14 +85,13 @@ Route104_PrettyPetalFlowerShop_EventScript_22A442:: @ 822A442 lock faceplayer dodailyevents - checkflag FLAG_0x930 - goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A482 + goto_if_set FLAG_0x930, Route104_PrettyPetalFlowerShop_EventScript_22A482 msgbox Route104_PrettyPetalFlowerShop_Text_2A7A98, MSGBOX_DEFAULT random 8 addvar VAR_RESULT, 133 giveitem_std VAR_RESULT compare VAR_RESULT, 0 - goto_eq Route104_PrettyPetalFlowerShop_EventScript_272054 + goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_272054 setflag FLAG_0x930 msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, MSGBOX_DEFAULT release diff --git a/data/maps/Route105/scripts.inc b/data/maps/Route105/scripts.inc index 617e84350..adb8c4f8e 100644 --- a/data/maps/Route105/scripts.inc +++ b/data/maps/Route105/scripts.inc @@ -5,12 +5,11 @@ Route105_MapScripts:: @ 81EE1DB .byte 0 Route105_MapScript1_1EE1EB: @ 81EE1EB - checkflag FLAG_0x0E4 - call_if 0, Route105_EventScript_1EE20B + call_if_unset FLAG_0x0E4, Route105_EventScript_1EE20B compare VAR_0x4037, 9 - call_if 1, Route105_EventScript_2739AB + call_if_eq Route105_EventScript_2739AB compare VAR_0x4037, 10 - call_if 1, Route105_EventScript_273A18 + call_if_eq Route105_EventScript_273A18 end Route105_EventScript_1EE20B:: @ 81EE20B @@ -20,11 +19,11 @@ Route105_EventScript_1EE20B:: @ 81EE20B Route105_MapScript1_1EE21E: @ 81EE21E compare VAR_0x4039, 1 - call_if 1, Route105_EventScript_273D13 + call_if_eq Route105_EventScript_273D13 compare VAR_0x4037, 9 - call_if 1, Route105_EventScript_273D17 + call_if_eq Route105_EventScript_273D17 compare VAR_0x4037, 10 - call_if 1, Route105_EventScript_273D17 + call_if_eq Route105_EventScript_273D17 end Route105_MapScript2_1EE240: @ 81EE240 @@ -65,7 +64,7 @@ Route105_EventScript_1EE2D4:: @ 81EE2D4 trainerbattle_single TRAINER_ANDRES_1, Route105_Text_2960A9, Route105_Text_2960DB, Route105_EventScript_1EE300 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route105_EventScript_1EE31F + goto_if_eq Route105_EventScript_1EE31F msgbox Route105_Text_2960FA, MSGBOX_DEFAULT release end diff --git a/data/maps/Route106/scripts.inc b/data/maps/Route106/scripts.inc index 533f65254..f27ce9647 100644 --- a/data/maps/Route106/scripts.inc +++ b/data/maps/Route106/scripts.inc @@ -19,7 +19,7 @@ Route106_EventScript_1EE4C1:: @ 81EE4C1 trainerbattle_single TRAINER_ELLIOT_1, Route106_Text_296327, Route106_Text_29635C, Route106_EventScript_1EE4ED specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route106_EventScript_1EE50C + goto_if_eq Route106_EventScript_1EE50C msgbox Route106_Text_29638C, MSGBOX_DEFAULT release end diff --git a/data/maps/Route107/scripts.inc b/data/maps/Route107/scripts.inc index 5f840b3fb..90f67a639 100644 --- a/data/maps/Route107/scripts.inc +++ b/data/maps/Route107/scripts.inc @@ -10,7 +10,7 @@ Route107_EventScript_1EE5AC:: @ 81EE5AC trainerbattle_single TRAINER_TONY_1, Route107_Text_2967AD, Route107_Text_2967D8, Route107_EventScript_1EE5D8 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route107_EventScript_1EE5F7 + goto_if_eq Route107_EventScript_1EE5F7 msgbox Route107_Text_2967FF, MSGBOX_DEFAULT release end diff --git a/data/maps/Route108/scripts.inc b/data/maps/Route108/scripts.inc index 73ddb031d..15a657a20 100644 --- a/data/maps/Route108/scripts.inc +++ b/data/maps/Route108/scripts.inc @@ -30,7 +30,7 @@ Route108_EventScript_1EE6FD:: @ 81EE6FD trainerbattle_single TRAINER_CORY_1, Route108_Text_296F5D, Route108_Text_296F93, Route108_EventScript_1EE729 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route108_EventScript_1EE748 + goto_if_eq Route108_EventScript_1EE748 msgbox Route108_Text_296FB0, MSGBOX_DEFAULT release end diff --git a/data/maps/Route109/scripts.inc b/data/maps/Route109/scripts.inc index 52f6437ae..2e588f813 100644 --- a/data/maps/Route109/scripts.inc +++ b/data/maps/Route109/scripts.inc @@ -4,7 +4,7 @@ Route109_MapScripts:: @ 81EE75F Route109_EventScript_1EE760:: @ 81EE760 call Route109_EventScript_271E95 setobjectpriority 2, MAP_ROUTE109, 0 - setobjectpriority 255, MAP_ROUTE109, 0 + setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE109, 0 applymovement 2, Route109_Movement_1EE90B waitmovement 0 removeobject 2 @@ -15,33 +15,33 @@ Route109_EventScript_1EE760:: @ 81EE760 end Route109_EventScript_1EE7A5:: @ 81EE7A5 - applymovement 255, Route109_Movement_1EE8FD + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE8FD waitmovement 0 goto Route109_EventScript_1EE7D5 end Route109_EventScript_1EE7B5:: @ 81EE7B5 - applymovement 255, Route109_Movement_1EE905 + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE905 waitmovement 0 goto Route109_EventScript_1EE7D5 end Route109_EventScript_1EE7C5:: @ 81EE7C5 - applymovement 255, Route109_Movement_1EE908 + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE908 waitmovement 0 goto Route109_EventScript_1EE7D5 end Route109_EventScript_1EE7D5:: @ 81EE7D5 - hideobjectat 255, MAP_ROUTE109 + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE109 call Route109_EventScript_2720A0 applymovement 1, Route109_Movement_1EE84F - applymovement 255, Route109_Movement_1EE84F + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE84F waitmovement 0 delay 50 call Route109_EventScript_2720A8 - showobjectat 255, MAP_DEWFORD_TOWN - applymovement 255, Route109_Movement_1EE900 + showobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE900 waitmovement 0 addobject 4 clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN @@ -56,7 +56,7 @@ Route109_EventScript_1EE7D5:: @ 81EE7D5 msgbox Route109_Text_1E9C1D, MSGBOX_DEFAULT closemessage copyvar VAR_0x4096, VAR_0x8008 - resetobjectpriority 255, MAP_ROUTE109 + resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE109 resetobjectpriority 2, MAP_DEWFORD_TOWN moveobjectoffscreen 2 release @@ -272,8 +272,7 @@ Route109_Movement_1EE90D: @ 81EE90D Route109_EventScript_1EE910:: @ 81EE910 lock faceplayer - checkflag FLAG_0x095 - goto_if 0, Route109_EventScript_1EE921 + goto_if_unset FLAG_0x095, Route109_EventScript_1EE921 goto Route109_EventScript_1EE93F end @@ -281,7 +280,7 @@ Route109_EventScript_1EE921:: @ 81EE921 message Route109_Text_1EEC96 msgbox Route109_Text_1EEC96, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route109_EventScript_1EE981 + goto_if_eq Route109_EventScript_1EE981 goto Route109_EventScript_1EE972 end @@ -329,12 +328,11 @@ Route109_EventScript_1EE9B5:: @ 81EE9B5 lock faceplayer special GetPlayerBigGuyGirlString - checkflag FLAG_0x118 - goto_eq Route109_EventScript_1EE9F2 + goto_if_set FLAG_0x118, Route109_EventScript_1EE9F2 msgbox Route109_Text_1EEFDE, MSGBOX_DEFAULT giveitem_std ITEM_SOFT_SAND compare VAR_RESULT, 0 - goto_eq Route109_EventScript_272054 + goto_if_eq Route109_EventScript_272054 closemessage applymovement VAR_LAST_TALKED, Route109_Movement_2725A2 waitmovement 0 @@ -399,7 +397,7 @@ Route109_EventScript_1EEA99:: @ 81EEA99 trainerbattle_single TRAINER_RICKY_1, Route109_Text_29733B, Route109_Text_297379, Route109_EventScript_1EEAC5 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route109_EventScript_1EEAE4 + goto_if_eq Route109_EventScript_1EEAE4 msgbox Route109_Text_297380, MSGBOX_DEFAULT release end @@ -421,7 +419,7 @@ Route109_EventScript_1EEAFB:: @ 81EEAFB trainerbattle_single TRAINER_LOLA_1, Route109_Text_29749C, Route109_Text_2974CF, Route109_EventScript_1EEB27 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route109_EventScript_1EEB46 + goto_if_eq Route109_EventScript_1EEB46 msgbox Route109_Text_2974D6, MSGBOX_DEFAULT release end diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc index fd0b224bc..3056159cd 100644 --- a/data/maps/Route109_SeashoreHouse/scripts.inc +++ b/data/maps/Route109_SeashoreHouse/scripts.inc @@ -9,12 +9,9 @@ Route109_SeashoreHouse_MapScript1_2693FA: @ 82693FA Route109_SeashoreHouse_EventScript_2693FE:: @ 82693FE lock faceplayer - checkflag FLAG_0x08C - goto_eq Route109_SeashoreHouse_EventScript_269460 - checkflag FLAG_0x08D - goto_eq Route109_SeashoreHouse_EventScript_269432 - checkflag FLAG_TEMP_2 - goto_eq Route109_SeashoreHouse_EventScript_269428 + goto_if_set FLAG_0x08C, Route109_SeashoreHouse_EventScript_269460 + goto_if_set FLAG_0x08D, Route109_SeashoreHouse_EventScript_269432 + goto_if_set FLAG_TEMP_2, Route109_SeashoreHouse_EventScript_269428 msgbox Route109_SeashoreHouse_Text_269555, MSGBOX_DEFAULT setflag FLAG_TEMP_2 release @@ -29,7 +26,7 @@ Route109_SeashoreHouse_EventScript_269432:: @ 8269432 msgbox Route109_SeashoreHouse_Text_269685, MSGBOX_DEFAULT giveitem_std ITEM_SODA_POP, 6 compare VAR_RESULT, 0 - goto_eq Route109_SeashoreHouse_EventScript_269456 + goto_if_eq Route109_SeashoreHouse_EventScript_269456 setflag FLAG_0x08C release end @@ -43,7 +40,7 @@ Route109_SeashoreHouse_EventScript_269460:: @ 8269460 showmoneybox 0, 0, 0 msgbox Route109_SeashoreHouse_Text_26977E, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route109_SeashoreHouse_EventScript_269484 + goto_if_eq Route109_SeashoreHouse_EventScript_269484 msgbox Route109_SeashoreHouse_Text_2697EF, MSGBOX_DEFAULT hidemoneybox nop @@ -54,10 +51,10 @@ Route109_SeashoreHouse_EventScript_269460:: @ 8269460 Route109_SeashoreHouse_EventScript_269484:: @ 8269484 checkmoney 0x12c, 0 compare VAR_RESULT, 0 - goto_eq Route109_SeashoreHouse_EventScript_2694C8 + goto_if_eq Route109_SeashoreHouse_EventScript_2694C8 checkitemspace ITEM_SODA_POP, 1 compare VAR_RESULT, 0 - goto_eq Route109_SeashoreHouse_EventScript_2694D5 + goto_if_eq Route109_SeashoreHouse_EventScript_2694D5 msgbox Route109_SeashoreHouse_Text_2697C8, MSGBOX_DEFAULT takemoney 0x12c, 0 updatemoneybox 0, 0 @@ -102,11 +99,11 @@ Route109_SeashoreHouse_EventScript_269518:: @ 8269518 Route109_SeashoreHouse_EventScript_269533:: @ 8269533 checktrainerflag TRAINER_DWAYNE - goto_if 0, Route109_SeashoreHouse_EventScript_269553 + goto_if_lt Route109_SeashoreHouse_EventScript_269553 checktrainerflag TRAINER_JOHANNA - goto_if 0, Route109_SeashoreHouse_EventScript_269553 + goto_if_lt Route109_SeashoreHouse_EventScript_269553 checktrainerflag TRAINER_SIMON - goto_if 0, Route109_SeashoreHouse_EventScript_269553 + goto_if_lt Route109_SeashoreHouse_EventScript_269553 setflag FLAG_0x08D release end diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc index c5d53b5b4..ba7bced21 100644 --- a/data/maps/Route110/scripts.inc +++ b/data/maps/Route110/scripts.inc @@ -12,7 +12,7 @@ Route110_MapScript1_1EF27D: @ 81EF27D call Route110_EventScript_271ED7 call Route110_EventScript_271EFB compare VAR_CYCLING_CHALLENGE_STATE, 1 - call_if 1, Route110_EventScript_1EF293 + call_if_eq Route110_EventScript_1EF293 end Route110_EventScript_1EF293:: @ 81EF293 @@ -132,7 +132,7 @@ Route110_EventScript_1EF392:: @ 81EF392 lockall specialvar VAR_RESULT, GetRecordedCyclingRoadResults compare VAR_RESULT, 0 - goto_eq Route110_EventScript_1EF3AD + goto_if_eq Route110_EventScript_1EF3AD msgbox Route110_Text_1F0A1E, MSGBOX_DEFAULT releaseall end @@ -147,9 +147,9 @@ Route110_EventScript_1EF3B7:: @ 81EF3B7 faceplayer specialvar VAR_RESULT, GetPlayerAvatarBike compare VAR_RESULT, 1 - goto_eq Route110_EventScript_1EF3E8 + goto_if_eq Route110_EventScript_1EF3E8 compare VAR_CYCLING_CHALLENGE_STATE, 0 - goto_eq Route110_EventScript_1EF3DE + goto_if_eq Route110_EventScript_1EF3DE msgbox Route110_Text_1F06FB, MSGBOX_DEFAULT release end @@ -178,7 +178,7 @@ Route110_EventScript_1EF420:: @ 81EF420 trainerbattle_single TRAINER_EDWIN_1, Route110_Text_29815E, Route110_Text_29818F, Route110_EventScript_1EF44C specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route110_EventScript_1EF46B + goto_if_eq Route110_EventScript_1EF46B msgbox Route110_Text_2981B3, MSGBOX_DEFAULT release end @@ -215,7 +215,7 @@ Route110_EventScript_1EF4C7:: @ 81EF4C7 trainerbattle_single TRAINER_BENJAMIN_1, Route110_Text_297C63, Route110_Text_297C8A, Route110_EventScript_1EF4F3 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route110_EventScript_1EF512 + goto_if_eq Route110_EventScript_1EF512 msgbox Route110_Text_297CB4, MSGBOX_DEFAULT release end @@ -242,7 +242,7 @@ Route110_EventScript_1EF540:: @ 81EF540 trainerbattle_single TRAINER_ABIGAIL_1, Route110_Text_297DFA, Route110_Text_297E69, Route110_EventScript_1EF56C specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route110_EventScript_1EF58B + goto_if_eq Route110_EventScript_1EF58B msgbox Route110_Text_297E88, MSGBOX_DEFAULT release end @@ -264,7 +264,7 @@ Route110_EventScript_1EF5A2:: @ 81EF5A2 trainerbattle_single TRAINER_ISABEL_1, Route110_Text_298349, Route110_Text_298389, Route110_EventScript_1EF5CE specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route110_EventScript_1EF5ED + goto_if_eq Route110_EventScript_1EF5ED msgbox Route110_Text_2983A2, MSGBOX_DEFAULT release end @@ -380,9 +380,9 @@ Route110_EventScript_1EF76E:: @ 81EF76E lockall checkplayergender compare VAR_RESULT, 0 - call_if 1, Route110_EventScript_1EF7E1 + call_if_eq Route110_EventScript_1EF7E1 compare VAR_RESULT, 1 - call_if 1, Route110_EventScript_1EF7E6 + call_if_eq Route110_EventScript_1EF7E6 applymovement 28, Route110_Movement_2725AA waitmovement 0 applymovement 28, Route110_Movement_272598 @@ -391,16 +391,16 @@ Route110_EventScript_1EF76E:: @ 81EF76E waitmovement 0 delay 30 compare VAR_0x8008, 1 - call_if 1, Route110_EventScript_1EF94E + call_if_eq Route110_EventScript_1EF94E compare VAR_0x8008, 2 - call_if 1, Route110_EventScript_1EF959 + call_if_eq Route110_EventScript_1EF959 compare VAR_0x8008, 3 - call_if 1, Route110_EventScript_1EF964 + call_if_eq Route110_EventScript_1EF964 checkplayergender compare VAR_RESULT, 0 - goto_eq Route110_EventScript_1EF7EB + goto_if_eq Route110_EventScript_1EF7EB compare VAR_RESULT, 1 - goto_eq Route110_EventScript_1EF865 + goto_if_eq Route110_EventScript_1EF865 releaseall end @@ -479,22 +479,22 @@ Route110_EventScript_1EF8DF:: @ 81EF8DF Route110_EventScript_1EF8EC:: @ 81EF8EC closemessage compare VAR_0x8008, 1 - call_if 1, Route110_EventScript_1EF990 + call_if_eq Route110_EventScript_1EF990 compare VAR_0x8008, 2 - call_if 1, Route110_EventScript_1EF998 + call_if_eq Route110_EventScript_1EF998 compare VAR_0x8008, 3 - call_if 1, Route110_EventScript_1EF9A0 + call_if_eq Route110_EventScript_1EF9A0 setobjectmovementtype 28, 10 setobjectmovementtype 29, 10 removeobject 28 addobject 29 delay 45 compare VAR_0x8008, 1 - call_if 1, Route110_EventScript_1EF96F + call_if_eq Route110_EventScript_1EF96F compare VAR_0x8008, 2 - call_if 1, Route110_EventScript_1EF97A + call_if_eq Route110_EventScript_1EF97A compare VAR_0x8008, 3 - call_if 1, Route110_EventScript_1EF985 + call_if_eq Route110_EventScript_1EF985 removeobject 29 setvar VAR_0x4069, 1 savebgm MUS_DUMMY @@ -621,13 +621,13 @@ Route110_EventScript_1EF9F7:: @ 81EF9F7 applymovement 36, Route110_Movement_27259A waitmovement 0 compare VAR_0x8008, 1 - call_if 1, Route110_EventScript_1EFAD8 + call_if_eq Route110_EventScript_1EFAD8 compare VAR_0x8008, 2 - call_if 1, Route110_EventScript_1EFAE3 + call_if_eq Route110_EventScript_1EFAE3 compare VAR_0x8008, 3 - call_if 1, Route110_EventScript_1EFAEE + call_if_eq Route110_EventScript_1EFAEE compare VAR_0x8008, 4 - call_if 1, Route110_EventScript_1EFAF9 + call_if_eq Route110_EventScript_1EFAF9 msgbox Route110_Text_1F0AB5, MSGBOX_DEFAULT closemessage delay 20 @@ -652,13 +652,13 @@ Route110_EventScript_1EF9F7:: @ 81EF9F7 msgbox Route110_Text_1F0C33, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 1 - call_if 1, Route110_EventScript_1EFB04 + call_if_eq Route110_EventScript_1EFB04 compare VAR_0x8008, 2 - call_if 1, Route110_EventScript_1EFB0F + call_if_eq Route110_EventScript_1EFB0F compare VAR_0x8008, 3 - call_if 1, Route110_EventScript_1EFB1A + call_if_eq Route110_EventScript_1EFB1A compare VAR_0x8008, 4 - call_if 1, Route110_EventScript_1EFB25 + call_if_eq Route110_EventScript_1EFB25 removeobject 36 setvar VAR_0x40DA, 2 releaseall diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc index ee859748f..687fff9a7 100644 --- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc +++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc @@ -12,7 +12,7 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA84:: @ 826EA84 lockall specialvar VAR_RESULT, GetPlayerAvatarBike compare VAR_RESULT, 0 - goto_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA9F + goto_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA9F setflag FLAG_SYS_CYCLING_ROAD setvar VAR_TEMP_1, 1 releaseall @@ -21,7 +21,7 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA84:: @ 826EA84 Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA9F:: @ 826EA9F msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_26EB48, MSGBOX_DEFAULT closemessage - applymovement 255, Route110_SeasideCyclingRoadNorthEntrance_Movement_26EAB4 + applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadNorthEntrance_Movement_26EAB4 waitmovement 0 releaseall end diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc index 9bd6c845e..a993364e6 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc @@ -4,9 +4,9 @@ Route110_SeasideCyclingRoadSouthEntrance_MapScripts:: @ 826EBA1 Route110_SeasideCyclingRoadSouthEntrance_MapScript1_26EBA7: @ 826EBA7 compare VAR_CYCLING_CHALLENGE_STATE, 3 - call_if 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE + call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE compare VAR_CYCLING_CHALLENGE_STATE, 2 - call_if 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE + call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE end Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE:: @ 826EBBE @@ -24,9 +24,9 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBD0:: @ 826EBD0 lockall specialvar VAR_RESULT, GetPlayerAvatarBike compare VAR_RESULT, 2 - call_if 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6 + call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6 compare VAR_RESULT, 0 - goto_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC + goto_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC setflag FLAG_SYS_CYCLING_ROAD setvar VAR_TEMP_1, 1 releaseall @@ -39,7 +39,7 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6:: @ 826EBF6 Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC:: @ 826EBFC msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_26ECAA, MSGBOX_DEFAULT closemessage - applymovement 255, Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11 + applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11 waitmovement 0 releaseall end diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc index 892d9e65f..8326a7c02 100644 --- a/data/maps/Route110_TrickHouseEnd/scripts.inc +++ b/data/maps/Route110_TrickHouseEnd/scripts.inc @@ -7,7 +7,7 @@ Route110_TrickHouseEnd_MapScripts:: @ 826ACAF Route110_TrickHouseEnd_MapScript1_26ACC4: @ 826ACC4 compare VAR_TEMP_1, 1 - call_if 1, Route110_TrickHouseEnd_EventScript_26AD0D + call_if_eq Route110_TrickHouseEnd_EventScript_26AD0D end Route110_TrickHouseEnd_MapScript1_26ACD0: @ 826ACD0 @@ -62,7 +62,7 @@ Route110_TrickHouseEnd_EventScript_26AD84:: @ 826AD84 setvar VAR_0x40C1, 0 giveitem_std ITEM_RARE_CANDY compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT closemessage call Route110_TrickHouseEnd_EventScript_26AFCF @@ -75,7 +75,7 @@ Route110_TrickHouseEnd_EventScript_26ADC0:: @ 826ADC0 setvar VAR_0x40C1, 0 giveitem_std ITEM_TIMER_BALL compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT closemessage call Route110_TrickHouseEnd_EventScript_26AFCF @@ -88,7 +88,7 @@ Route110_TrickHouseEnd_EventScript_26ADFC:: @ 826ADFC setvar VAR_0x40C1, 0 giveitem_std ITEM_HARD_STONE compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT closemessage call Route110_TrickHouseEnd_EventScript_26AFCF @@ -101,7 +101,7 @@ Route110_TrickHouseEnd_EventScript_26AE38:: @ 826AE38 setvar VAR_0x40C1, 0 giveitem_std ITEM_SMOKE_BALL compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT closemessage call Route110_TrickHouseEnd_EventScript_26AFCF @@ -114,7 +114,7 @@ Route110_TrickHouseEnd_EventScript_26AE74:: @ 826AE74 setvar VAR_0x40C1, 0 giveitem_std ITEM_TM12 compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT closemessage call Route110_TrickHouseEnd_EventScript_26AFCF @@ -127,7 +127,7 @@ Route110_TrickHouseEnd_EventScript_26AEB0:: @ 826AEB0 setvar VAR_0x40C1, 0 giveitem_std ITEM_MAGNET compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT closemessage call Route110_TrickHouseEnd_EventScript_26AFCF @@ -140,7 +140,7 @@ Route110_TrickHouseEnd_EventScript_26AEEC:: @ 826AEEC setvar VAR_0x40C1, 0 giveitem_std ITEM_PP_MAX compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT closemessage call Route110_TrickHouseEnd_EventScript_26AFCF @@ -151,13 +151,13 @@ Route110_TrickHouseEnd_EventScript_26AF28:: @ 826AF28 msgbox Route110_TrickHouseEnd_Text_26B3AB, MSGBOX_DEFAULT closemessage compare VAR_FACING, 1 - call_if 1, Route110_TrickHouseEnd_EventScript_26B015 + call_if_eq Route110_TrickHouseEnd_EventScript_26B015 compare VAR_FACING, 2 - call_if 1, Route110_TrickHouseEnd_EventScript_26B020 + call_if_eq Route110_TrickHouseEnd_EventScript_26B020 compare VAR_FACING, 3 - call_if 1, Route110_TrickHouseEnd_EventScript_26B02B + call_if_eq Route110_TrickHouseEnd_EventScript_26B02B compare VAR_FACING, 4 - call_if 1, Route110_TrickHouseEnd_EventScript_26B036 + call_if_eq Route110_TrickHouseEnd_EventScript_26B036 delay 30 msgbox Route110_TrickHouseEnd_Text_26B3FA, MSGBOX_DEFAULT closemessage @@ -168,7 +168,7 @@ Route110_TrickHouseEnd_EventScript_26AF28:: @ 826AF28 setvar VAR_0x40C1, 0 call Route110_TrickHouseEnd_EventScript_26AFA5 compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_26B002 + call_if_eq Route110_TrickHouseEnd_EventScript_26B002 msgbox Route110_TrickHouseEnd_Text_26B69A, MSGBOX_DEFAULT call Route110_TrickHouseEnd_EventScript_26AFCF special ResetTrickHouseEndRoomFlag @@ -241,11 +241,11 @@ Route110_TrickHouseEnd_EventScript_26B041:: @ 826B041 applymovement 1, Route110_TrickHouseEnd_Movement_26B08B waitmovement 0 playse SE_W153 - applymovement 255, Route110_TrickHouseEnd_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEnd_Movement_2725AA waitmovement 0 msgbox Route110_TrickHouseEnd_Text_26B8BD, MSGBOX_DEFAULT closemessage - applymovement 255, Route110_TrickHouseEnd_Movement_26B089 + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEnd_Movement_26B089 waitmovement 0 delay 4 turnobject 1, 4 diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc index 22750f536..b2aa22f6c 100644 --- a/data/maps/Route110_TrickHouseEntrance/scripts.inc +++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc @@ -7,17 +7,17 @@ Route110_TrickHouseEntrance_MapScripts:: @ 8269A50 Route110_TrickHouseEntrance_MapScript1_269A60: @ 8269A60 setflag FLAG_LANDMARK_TRICK_HOUSE compare VAR_0x40B5, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_269AF3 + goto_if_eq Route110_TrickHouseEntrance_EventScript_269AF3 compare VAR_0x40C1, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_269AD7 + goto_if_eq Route110_TrickHouseEntrance_EventScript_269AD7 compare VAR_0x40A6, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_269BB3 + goto_if_eq Route110_TrickHouseEntrance_EventScript_269BB3 compare VAR_0x40A7, 5 - call_if 1, Route110_TrickHouseEntrance_EventScript_269B03 + call_if_eq Route110_TrickHouseEntrance_EventScript_269B03 compare VAR_0x40A7, 3 - call_if 1, Route110_TrickHouseEntrance_EventScript_269B03 + call_if_eq Route110_TrickHouseEntrance_EventScript_269B03 compare VAR_0x40A7, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_269B03 + call_if_eq Route110_TrickHouseEntrance_EventScript_269B03 switch VAR_0x40A7 case 0, Route110_TrickHouseEntrance_EventScript_269BBB case 1, Route110_TrickHouseEntrance_EventScript_269BC1 @@ -28,7 +28,7 @@ Route110_TrickHouseEntrance_MapScript1_269A60: @ 8269A60 Route110_TrickHouseEntrance_EventScript_269AD7:: @ 8269AD7 setvar VAR_0x40A5, 1 compare VAR_0x4044, 8 - goto_eq Route110_TrickHouseEntrance_EventScript_269AED + goto_if_eq Route110_TrickHouseEntrance_EventScript_269AED setvar VAR_0x40A7, 2 end @@ -45,56 +45,49 @@ Route110_TrickHouseEntrance_EventScript_269AF3:: @ 8269AF3 Route110_TrickHouseEntrance_EventScript_269B03:: @ 8269B03 setvar VAR_0x40A7, 0 compare VAR_0x4044, 1 - call_if 1, Route110_TrickHouseEntrance_EventScript_269B61 + call_if_eq Route110_TrickHouseEntrance_EventScript_269B61 compare VAR_0x4044, 2 - call_if 1, Route110_TrickHouseEntrance_EventScript_269B6B + call_if_eq Route110_TrickHouseEntrance_EventScript_269B6B compare VAR_0x4044, 3 - call_if 1, Route110_TrickHouseEntrance_EventScript_269B75 + call_if_eq Route110_TrickHouseEntrance_EventScript_269B75 compare VAR_0x4044, 4 - call_if 1, Route110_TrickHouseEntrance_EventScript_269B7F + call_if_eq Route110_TrickHouseEntrance_EventScript_269B7F compare VAR_0x4044, 5 - call_if 1, Route110_TrickHouseEntrance_EventScript_269B89 + call_if_eq Route110_TrickHouseEntrance_EventScript_269B89 compare VAR_0x4044, 6 - call_if 1, Route110_TrickHouseEntrance_EventScript_269B93 + call_if_eq Route110_TrickHouseEntrance_EventScript_269B93 compare VAR_0x4044, 7 - call_if 1, Route110_TrickHouseEntrance_EventScript_269B9D + call_if_eq Route110_TrickHouseEntrance_EventScript_269B9D compare VAR_0x4044, 8 - call_if 1, Route110_TrickHouseEntrance_EventScript_269BA7 + call_if_eq Route110_TrickHouseEntrance_EventScript_269BA7 return Route110_TrickHouseEntrance_EventScript_269B61:: @ 8269B61 - checkflag FLAG_BADGE03_GET - call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + call_if_unset FLAG_BADGE03_GET, Route110_TrickHouseEntrance_EventScript_269BAD return Route110_TrickHouseEntrance_EventScript_269B6B:: @ 8269B6B - checkflag FLAG_BADGE04_GET - call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + call_if_unset FLAG_BADGE04_GET, Route110_TrickHouseEntrance_EventScript_269BAD return Route110_TrickHouseEntrance_EventScript_269B75:: @ 8269B75 - checkflag FLAG_BADGE05_GET - call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + call_if_unset FLAG_BADGE05_GET, Route110_TrickHouseEntrance_EventScript_269BAD return Route110_TrickHouseEntrance_EventScript_269B7F:: @ 8269B7F - checkflag FLAG_BADGE06_GET - call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + call_if_unset FLAG_BADGE06_GET, Route110_TrickHouseEntrance_EventScript_269BAD return Route110_TrickHouseEntrance_EventScript_269B89:: @ 8269B89 - checkflag FLAG_BADGE07_GET - call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + call_if_unset FLAG_BADGE07_GET, Route110_TrickHouseEntrance_EventScript_269BAD return Route110_TrickHouseEntrance_EventScript_269B93:: @ 8269B93 - checkflag FLAG_BADGE08_GET - call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + call_if_unset FLAG_BADGE08_GET, Route110_TrickHouseEntrance_EventScript_269BAD return Route110_TrickHouseEntrance_EventScript_269B9D:: @ 8269B9D - checkflag FLAG_SYS_GAME_CLEAR - call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + call_if_unset FLAG_SYS_GAME_CLEAR, Route110_TrickHouseEntrance_EventScript_269BAD return Route110_TrickHouseEntrance_EventScript_269BA7:: @ 8269BA7 @@ -140,7 +133,7 @@ Route110_TrickHouseEntrance_EventScript_269C15:: @ 8269C15 addobject 1 showobjectat 1, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE turnobject 1, 4 - turnobject 255, 3 + turnobject EVENT_OBJ_ID_PLAYER, 3 end Route110_TrickHouseEntrance_EventScript_269C26:: @ 8269C26 @@ -213,7 +206,7 @@ Route110_TrickHouseEntrance_EventScript_269CF8:: @ 8269CF8 lockall delay 20 compare VAR_0x4044, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_269E48 + call_if_eq Route110_TrickHouseEntrance_EventScript_269E48 msgbox Route110_TrickHouseEntrance_Text_26A78C, MSGBOX_DEFAULT closemessage delay 20 @@ -243,26 +236,26 @@ Route110_TrickHouseEntrance_EventScript_269D3B:: @ 8269D3B Route110_TrickHouseEntrance_EventScript_269D6E:: @ 8269D6E playse SE_PIN - applymovement 255, Route110_TrickHouseEntrance_Movement_272598 + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_272598 waitmovement 0 - applymovement 255, Route110_TrickHouseEntrance_Movement_27259A + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_27259A waitmovement 0 compare VAR_0x4044, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_269DEE + call_if_eq Route110_TrickHouseEntrance_EventScript_269DEE compare VAR_0x4044, 1 - call_if 1, Route110_TrickHouseEntrance_EventScript_269DF7 + call_if_eq Route110_TrickHouseEntrance_EventScript_269DF7 compare VAR_0x4044, 2 - call_if 1, Route110_TrickHouseEntrance_EventScript_269E00 + call_if_eq Route110_TrickHouseEntrance_EventScript_269E00 compare VAR_0x4044, 3 - call_if 1, Route110_TrickHouseEntrance_EventScript_269E09 + call_if_eq Route110_TrickHouseEntrance_EventScript_269E09 compare VAR_0x4044, 4 - call_if 1, Route110_TrickHouseEntrance_EventScript_269E12 + call_if_eq Route110_TrickHouseEntrance_EventScript_269E12 compare VAR_0x4044, 5 - call_if 1, Route110_TrickHouseEntrance_EventScript_269E1B + call_if_eq Route110_TrickHouseEntrance_EventScript_269E1B compare VAR_0x4044, 6 - call_if 1, Route110_TrickHouseEntrance_EventScript_269E24 + call_if_eq Route110_TrickHouseEntrance_EventScript_269E24 compare VAR_0x4044, 7 - call_if 1, Route110_TrickHouseEntrance_EventScript_269E2D + call_if_eq Route110_TrickHouseEntrance_EventScript_269E2D closemessage setvar VAR_0x40A6, 1 warpsilent MAP_ROUTE110_TRICK_HOUSE_ENTRANCE, 255, 6, 2 @@ -351,27 +344,27 @@ Route110_TrickHouseEntrance_EventScript_269E8F:: @ 8269E8F waitmovement 0 msgbox Route110_TrickHouseEntrance_Text_26AA82, MSGBOX_DEFAULT compare VAR_0x4044, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_269EEF + goto_if_eq Route110_TrickHouseEntrance_EventScript_269EEF compare VAR_0x4044, 2 - goto_eq Route110_TrickHouseEntrance_EventScript_269F1B + goto_if_eq Route110_TrickHouseEntrance_EventScript_269F1B compare VAR_0x4044, 3 - goto_eq Route110_TrickHouseEntrance_EventScript_269F47 + goto_if_eq Route110_TrickHouseEntrance_EventScript_269F47 compare VAR_0x4044, 4 - goto_eq Route110_TrickHouseEntrance_EventScript_269F73 + goto_if_eq Route110_TrickHouseEntrance_EventScript_269F73 compare VAR_0x4044, 5 - goto_eq Route110_TrickHouseEntrance_EventScript_269F9F + goto_if_eq Route110_TrickHouseEntrance_EventScript_269F9F compare VAR_0x4044, 6 - goto_eq Route110_TrickHouseEntrance_EventScript_269FCB + goto_if_eq Route110_TrickHouseEntrance_EventScript_269FCB compare VAR_0x4044, 7 - goto_eq Route110_TrickHouseEntrance_EventScript_269FF7 + goto_if_eq Route110_TrickHouseEntrance_EventScript_269FF7 end Route110_TrickHouseEntrance_EventScript_269EEF:: @ 8269EEF giveitem_std ITEM_RARE_CANDY compare VAR_RESULT, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + call_if_eq Route110_TrickHouseEntrance_EventScript_27205E msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT releaseall end @@ -379,9 +372,9 @@ Route110_TrickHouseEntrance_EventScript_269EEF:: @ 8269EEF Route110_TrickHouseEntrance_EventScript_269F1B:: @ 8269F1B giveitem_std ITEM_TIMER_BALL compare VAR_RESULT, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + call_if_eq Route110_TrickHouseEntrance_EventScript_27205E msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT releaseall end @@ -389,9 +382,9 @@ Route110_TrickHouseEntrance_EventScript_269F1B:: @ 8269F1B Route110_TrickHouseEntrance_EventScript_269F47:: @ 8269F47 giveitem_std ITEM_HARD_STONE compare VAR_RESULT, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + call_if_eq Route110_TrickHouseEntrance_EventScript_27205E msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT releaseall end @@ -399,9 +392,9 @@ Route110_TrickHouseEntrance_EventScript_269F47:: @ 8269F47 Route110_TrickHouseEntrance_EventScript_269F73:: @ 8269F73 giveitem_std ITEM_SMOKE_BALL compare VAR_RESULT, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + call_if_eq Route110_TrickHouseEntrance_EventScript_27205E msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT releaseall end @@ -409,9 +402,9 @@ Route110_TrickHouseEntrance_EventScript_269F73:: @ 8269F73 Route110_TrickHouseEntrance_EventScript_269F9F:: @ 8269F9F giveitem_std ITEM_TM12 compare VAR_RESULT, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + call_if_eq Route110_TrickHouseEntrance_EventScript_27205E msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT releaseall end @@ -419,9 +412,9 @@ Route110_TrickHouseEntrance_EventScript_269F9F:: @ 8269F9F Route110_TrickHouseEntrance_EventScript_269FCB:: @ 8269FCB giveitem_std ITEM_MAGNET compare VAR_RESULT, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + call_if_eq Route110_TrickHouseEntrance_EventScript_27205E msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT releaseall end @@ -429,9 +422,9 @@ Route110_TrickHouseEntrance_EventScript_269FCB:: @ 8269FCB Route110_TrickHouseEntrance_EventScript_269FF7:: @ 8269FF7 giveitem_std ITEM_PP_MAX compare VAR_RESULT, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + call_if_eq Route110_TrickHouseEntrance_EventScript_27205E msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT releaseall end @@ -450,9 +443,9 @@ Route110_TrickHouseEntrance_EventScript_26A039:: @ 826A039 msgbox Route110_TrickHouseEntrance_Text_26AB2C, MSGBOX_DEFAULT call Route110_TrickHouseEntrance_EventScript_26A070 compare VAR_RESULT, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_26A09A + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A09A compare VAR_RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_272071 + call_if_eq Route110_TrickHouseEntrance_EventScript_272071 msgbox Route110_TrickHouseEntrance_Text_26ABBD, MSGBOX_DEFAULT releaseall end @@ -505,7 +498,7 @@ Route110_TrickHouseEntrance_EventScript_26A110:: @ 826A110 msgbox Route110_TrickHouseEntrance_Text_26A887, MSGBOX_YESNO closemessage compare VAR_RESULT, 1 - goto_eq Route110_TrickHouseEntrance_EventScript_26A126 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A126 releaseall end @@ -513,9 +506,9 @@ Route110_TrickHouseEntrance_EventScript_26A126:: @ 826A126 setmetatile 5, 1, 537, 0 special DrawWholeMapView delay 20 - applymovement 255, Route110_TrickHouseEntrance_Movement_2725C9 + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_2725C9 waitmovement 0 - applymovement 255, Route110_TrickHouseEntrance_Movement_26A1A7 + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_26A1A7 waitmovement 0 switch VAR_0x4044 case 0, Route110_TrickHouseEntrance_EventScript_26A1A9 @@ -587,7 +580,7 @@ Route110_TrickHouseEntrance_EventScript_26A201:: @ 826A201 Route110_TrickHouseEntrance_EventScript_26A20B:: @ 826A20B compare VAR_0x4044, 8 - goto_eq Route110_TrickHouseEntrance_EventScript_26A220 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A220 msgbox Route110_TrickHouseEntrance_Text_26A878, MSGBOX_DEFAULT releaseall end @@ -612,7 +605,7 @@ Route110_TrickHouseEntrance_EventScript_26A22A:: @ 826A22A Route110_TrickHouseEntrance_EventScript_26A289:: @ 826A289 compare VAR_0x40AB, 0 - goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 msgbox Route110_TrickHousePuzzle1_Text_26B98D, MSGBOX_DEFAULT playse SE_PIN setvar VAR_0x40AB, 2 @@ -623,7 +616,7 @@ Route110_TrickHouseEntrance_EventScript_26A289:: @ 826A289 Route110_TrickHouseEntrance_EventScript_26A2B2:: @ 826A2B2 compare VAR_0x40AC, 0 - goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 msgbox Route110_TrickHousePuzzle2_Text_26BCBA, MSGBOX_DEFAULT playse SE_PIN setvar VAR_0x40AC, 2 @@ -634,7 +627,7 @@ Route110_TrickHouseEntrance_EventScript_26A2B2:: @ 826A2B2 Route110_TrickHouseEntrance_EventScript_26A2DB:: @ 826A2DB compare VAR_0x40AD, 0 - goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 msgbox Route110_TrickHousePuzzle3_Text_26C609, MSGBOX_DEFAULT playse SE_PIN setvar VAR_0x40AD, 2 @@ -645,7 +638,7 @@ Route110_TrickHouseEntrance_EventScript_26A2DB:: @ 826A2DB Route110_TrickHouseEntrance_EventScript_26A304:: @ 826A304 compare VAR_0x40AE, 0 - goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 msgbox Route110_TrickHousePuzzle4_Text_26C8C3, MSGBOX_DEFAULT playse SE_PIN setvar VAR_0x40AE, 2 @@ -656,7 +649,7 @@ Route110_TrickHouseEntrance_EventScript_26A304:: @ 826A304 Route110_TrickHouseEntrance_EventScript_26A32D:: @ 826A32D compare VAR_0x40AF, 0 - goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 msgbox Route110_TrickHousePuzzle5_Text_26D660, MSGBOX_DEFAULT playse SE_PIN setvar VAR_0x40AF, 2 @@ -667,7 +660,7 @@ Route110_TrickHouseEntrance_EventScript_26A32D:: @ 826A32D Route110_TrickHouseEntrance_EventScript_26A356:: @ 826A356 compare VAR_0x40B0, 0 - goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 msgbox Route110_TrickHousePuzzle6_Text_26DE26, MSGBOX_DEFAULT playse SE_PIN setvar VAR_0x40B0, 2 @@ -678,7 +671,7 @@ Route110_TrickHouseEntrance_EventScript_26A356:: @ 826A356 Route110_TrickHouseEntrance_EventScript_26A37F:: @ 826A37F compare VAR_0x40B1, 0 - goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 msgbox Route110_TrickHousePuzzle7_EventScript_26E413, MSGBOX_DEFAULT playse SE_PIN setvar VAR_0x40B1, 2 @@ -689,7 +682,7 @@ Route110_TrickHouseEntrance_EventScript_26A37F:: @ 826A37F Route110_TrickHouseEntrance_EventScript_26A3A8:: @ 826A3A8 compare VAR_0x40B2, 0 - goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 msgbox Route110_TrickHousePuzzle8_EventScript_26E864, MSGBOX_DEFAULT playse SE_PIN setvar VAR_0x40B2, 2 @@ -735,11 +728,11 @@ Route110_TrickHouseEntrance_EventScript_26A3F8:: @ 826A3F8 msgbox Route110_TrickHouseEntrance_Text_26A474, MSGBOX_DEFAULT releaseall compare VAR_0x4044, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_26A429 + call_if_eq Route110_TrickHouseEntrance_EventScript_26A429 compare VAR_0x4044, 1 - call_if 1, Route110_TrickHouseEntrance_EventScript_26A439 + call_if_eq Route110_TrickHouseEntrance_EventScript_26A439 compare VAR_0x4044, 2 - call_if 1, Route110_TrickHouseEntrance_EventScript_26A449 + call_if_eq Route110_TrickHouseEntrance_EventScript_26A449 setvar VAR_0x40A5, 1 end diff --git a/data/maps/Route110_TrickHousePuzzle1/scripts.inc b/data/maps/Route110_TrickHousePuzzle1/scripts.inc index 036521ee4..b34a9d555 100644 --- a/data/maps/Route110_TrickHousePuzzle1/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle1/scripts.inc @@ -4,7 +4,7 @@ Route110_TrickHousePuzzle1_MapScripts:: @ 826B90F Route110_TrickHousePuzzle1_MapScript1_26B915: @ 826B915 compare VAR_0x40AB, 2 - goto_eq Route110_TrickHousePuzzle1_EventScript_26B921 + goto_if_eq Route110_TrickHousePuzzle1_EventScript_26B921 end Route110_TrickHousePuzzle1_EventScript_26B921:: @ 826B921 @@ -14,7 +14,7 @@ Route110_TrickHousePuzzle1_EventScript_26B921:: @ 826B921 Route110_TrickHousePuzzle1_EventScript_26B92B:: @ 826B92B lockall compare VAR_0x40AB, 0 - goto_eq Route110_TrickHousePuzzle1_EventScript_26B93D + goto_if_eq Route110_TrickHousePuzzle1_EventScript_26B93D goto Route110_TrickHousePuzzle1_EventScript_26A3DB end diff --git a/data/maps/Route110_TrickHousePuzzle2/scripts.inc b/data/maps/Route110_TrickHousePuzzle2/scripts.inc index 60c7cdbce..560d10060 100644 --- a/data/maps/Route110_TrickHousePuzzle2/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle2/scripts.inc @@ -5,13 +5,13 @@ Route110_TrickHousePuzzle2_MapScripts:: @ 826BB73 Route110_TrickHousePuzzle2_MapScript1_26BB7E: @ 826BB7E compare VAR_TEMP_1, 1 - call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC29 + call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC29 compare VAR_TEMP_2, 1 - call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC3C + call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC3C compare VAR_TEMP_3, 1 - call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC4F + call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC4F compare VAR_TEMP_4, 1 - call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC62 + call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC62 end Route110_TrickHousePuzzle2_MapScript1_26BBAB: @ 826BBAB @@ -24,7 +24,7 @@ Route110_TrickHousePuzzle2_MapScript1_26BBAB: @ 826BBAB Route110_TrickHousePuzzle2_EventScript_26BBC0:: @ 826BBC0 lockall compare VAR_0x40AC, 0 - goto_eq Route110_TrickHousePuzzle2_EventScript_26BBD2 + goto_if_eq Route110_TrickHousePuzzle2_EventScript_26BBD2 goto Route110_TrickHousePuzzle2_EventScript_26A3DB end diff --git a/data/maps/Route110_TrickHousePuzzle3/scripts.inc b/data/maps/Route110_TrickHousePuzzle3/scripts.inc index cadb6315a..b26c5473d 100644 --- a/data/maps/Route110_TrickHousePuzzle3/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle3/scripts.inc @@ -6,9 +6,9 @@ Route110_TrickHousePuzzle3_MapScripts:: @ 826BED8 Route110_TrickHousePuzzle3_MapScript1_26BEE3: @ 826BEE3 call Route110_TrickHousePuzzle3_EventScript_26BF1E compare VAR_TEMP_9, 0 - call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF97 + call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF97 compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle3_EventScript_26C232 + call_if_eq Route110_TrickHousePuzzle3_EventScript_26C232 end Route110_TrickHousePuzzle3_MapScript1_26BEFF: @ 826BEFF @@ -26,13 +26,13 @@ Route110_TrickHousePuzzle3_EventScript_26BF1E:: @ 826BF1E setmetatile 12, 5, 600, 0 setmetatile 8, 2, 600, 0 compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF6F + call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF6F compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF79 + call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF79 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF83 + call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF83 compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF8D + call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF8D return Route110_TrickHousePuzzle3_EventScript_26BF6F:: @ 826BF6F @@ -242,13 +242,13 @@ Route110_TrickHousePuzzle3_EventScript_26C510:: @ 826C510 setvar VAR_TEMP_3, 0 setvar VAR_TEMP_4, 0 compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle3_EventScript_26C551 + call_if_eq Route110_TrickHousePuzzle3_EventScript_26C551 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle3_EventScript_26C557 + call_if_eq Route110_TrickHousePuzzle3_EventScript_26C557 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle3_EventScript_26C55D + call_if_eq Route110_TrickHousePuzzle3_EventScript_26C55D compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle3_EventScript_26C563 + call_if_eq Route110_TrickHousePuzzle3_EventScript_26C563 return Route110_TrickHousePuzzle3_EventScript_26C551:: @ 826C551 @@ -269,14 +269,14 @@ Route110_TrickHousePuzzle3_EventScript_26C563:: @ 826C563 Route110_TrickHousePuzzle3_EventScript_26C569:: @ 826C569 compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF97 + call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF97 compare VAR_TEMP_9, 0 - call_if 1, Route110_TrickHousePuzzle3_EventScript_26C232 + call_if_eq Route110_TrickHousePuzzle3_EventScript_26C232 special DrawWholeMapView compare VAR_TEMP_9, 1 - goto_eq Route110_TrickHousePuzzle3_EventScript_26C599 + goto_if_eq Route110_TrickHousePuzzle3_EventScript_26C599 compare VAR_TEMP_9, 0 - goto_eq Route110_TrickHousePuzzle3_EventScript_26C5A0 + goto_if_eq Route110_TrickHousePuzzle3_EventScript_26C5A0 end Route110_TrickHousePuzzle3_EventScript_26C599:: @ 826C599 @@ -292,7 +292,7 @@ Route110_TrickHousePuzzle3_EventScript_26C5A0:: @ 826C5A0 Route110_TrickHousePuzzle3_EventScript_26C5A7:: @ 826C5A7 lockall compare VAR_0x40AD, 0 - goto_eq Route110_TrickHousePuzzle3_EventScript_26C5B9 + goto_if_eq Route110_TrickHousePuzzle3_EventScript_26C5B9 goto Route110_TrickHousePuzzle3_EventScript_26A3DB end diff --git a/data/maps/Route110_TrickHousePuzzle4/scripts.inc b/data/maps/Route110_TrickHousePuzzle4/scripts.inc index 3d1004b1c..71bb32db8 100644 --- a/data/maps/Route110_TrickHousePuzzle4/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle4/scripts.inc @@ -4,7 +4,7 @@ Route110_TrickHousePuzzle4_MapScripts:: @ 826C860 Route110_TrickHousePuzzle4_EventScript_26C861:: @ 826C861 lockall compare VAR_0x40AE, 0 - goto_eq Route110_TrickHousePuzzle4_EventScript_26C873 + goto_if_eq Route110_TrickHousePuzzle4_EventScript_26C873 goto Route110_TrickHousePuzzle4_EventScript_26A3DB end diff --git a/data/maps/Route110_TrickHousePuzzle5/scripts.inc b/data/maps/Route110_TrickHousePuzzle5/scripts.inc index 330b4fcd7..4c199a993 100644 --- a/data/maps/Route110_TrickHousePuzzle5/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle5/scripts.inc @@ -14,7 +14,7 @@ Route110_TrickHousePuzzle5_MapScript1_26CAF6: @ 826CAF6 Route110_TrickHousePuzzle5_EventScript_26CB15:: @ 826CB15 lockall compare VAR_0x40AF, 0 - goto_eq Route110_TrickHousePuzzle5_EventScript_26CB27 + goto_if_eq Route110_TrickHousePuzzle5_EventScript_26CB27 goto Route110_TrickHousePuzzle5_EventScript_26A3DB end @@ -28,7 +28,7 @@ Route110_TrickHousePuzzle5_EventScript_26CB32:: @ 826CB32 applymovement 1, Route110_TrickHousePuzzle5_Movement_27259E waitmovement 0 compare VAR_TEMP_1, 1 - goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CCEB end @@ -38,7 +38,7 @@ Route110_TrickHousePuzzle5_EventScript_26CB53:: @ 826CB53 applymovement 2, Route110_TrickHousePuzzle5_Movement_27259E waitmovement 0 compare VAR_TEMP_2, 1 - goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CD6A end @@ -48,7 +48,7 @@ Route110_TrickHousePuzzle5_EventScript_26CB74:: @ 826CB74 applymovement 3, Route110_TrickHousePuzzle5_Movement_27259E waitmovement 0 compare VAR_TEMP_3, 1 - goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CDF4 end @@ -58,7 +58,7 @@ Route110_TrickHousePuzzle5_EventScript_26CB95:: @ 826CB95 applymovement 4, Route110_TrickHousePuzzle5_Movement_27259E waitmovement 0 compare VAR_TEMP_4, 1 - goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CE73 end @@ -68,7 +68,7 @@ Route110_TrickHousePuzzle5_EventScript_26CBB6:: @ 826CBB6 applymovement 5, Route110_TrickHousePuzzle5_Movement_27259E waitmovement 0 compare VAR_TEMP_5, 1 - goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CEF2 end @@ -220,13 +220,13 @@ Route110_TrickHousePuzzle5_EventScript_26CCEB:: @ 826CCEB applymovement 1, Route110_TrickHousePuzzle5_Movement_27259A waitmovement 0 compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1B4 compare VAR_TEMP_9, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1EC compare VAR_TEMP_9, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D224 compare VAR_TEMP_9, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D25C msgbox Route110_TrickHousePuzzle5_Text_26D6CE, MSGBOX_DEFAULT random 3 switch VAR_RESULT @@ -244,15 +244,15 @@ Route110_TrickHousePuzzle5_EventScript_26CD6A:: @ 826CD6A applymovement 2, Route110_TrickHousePuzzle5_Movement_27259A waitmovement 0 compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D2CC + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D2CC compare VAR_TEMP_9, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D304 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D304 compare VAR_TEMP_9, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D33C + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D33C compare VAR_TEMP_9, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D374 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D374 compare VAR_TEMP_9, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3AC + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3AC msgbox Route110_TrickHousePuzzle5_Text_26D8EA, MSGBOX_DEFAULT random 3 switch VAR_RESULT @@ -270,13 +270,13 @@ Route110_TrickHousePuzzle5_EventScript_26CDF4:: @ 826CDF4 applymovement 3, Route110_TrickHousePuzzle5_Movement_27259A waitmovement 0 compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1B4 compare VAR_TEMP_9, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1EC compare VAR_TEMP_9, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D224 compare VAR_TEMP_9, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D25C msgbox Route110_TrickHousePuzzle5_Text_26DA1E, MSGBOX_DEFAULT random 3 switch VAR_RESULT @@ -294,13 +294,13 @@ Route110_TrickHousePuzzle5_EventScript_26CE73:: @ 826CE73 applymovement 4, Route110_TrickHousePuzzle5_Movement_27259A waitmovement 0 compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1B4 compare VAR_TEMP_9, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1EC compare VAR_TEMP_9, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D224 compare VAR_TEMP_9, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D25C msgbox Route110_TrickHousePuzzle5_Text_26DB4C, MSGBOX_DEFAULT random 3 switch VAR_RESULT @@ -476,132 +476,132 @@ Route110_TrickHousePuzzle5_EventScript_26D1AA:: @ 826D1AA Route110_TrickHousePuzzle5_EventScript_26D1B4:: @ 826D1B4 compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3E4 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3E4 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3EF + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3EF compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3FA + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3FA compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D405 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D405 compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D410 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D410 return Route110_TrickHousePuzzle5_EventScript_26D1EC:: @ 826D1EC compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D41B + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D41B compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D426 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D426 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D431 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D431 compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D43C + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D43C compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D447 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D447 return Route110_TrickHousePuzzle5_EventScript_26D224:: @ 826D224 compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D452 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D452 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D45D + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D45D compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D468 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D468 compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D473 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D473 compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D47E + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D47E return Route110_TrickHousePuzzle5_EventScript_26D25C:: @ 826D25C compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D489 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D489 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D494 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D494 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D49F + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D49F compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4AA + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4AA compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4B5 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4B5 return Route110_TrickHousePuzzle5_EventScript_26D294:: @ 826D294 compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4C0 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4C0 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4CB + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4CB compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4D6 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4D6 compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4E1 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4E1 compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4EC + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4EC return Route110_TrickHousePuzzle5_EventScript_26D2CC:: @ 826D2CC compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4F7 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4F7 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D502 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D502 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D50D + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D50D compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D518 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D518 compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D523 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D523 return Route110_TrickHousePuzzle5_EventScript_26D304:: @ 826D304 compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D52E + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D52E compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D539 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D539 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D544 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D544 compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D54F + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D54F compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D55A + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D55A return Route110_TrickHousePuzzle5_EventScript_26D33C:: @ 826D33C compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D565 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D565 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D570 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D570 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D57B + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D57B compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D586 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D586 compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D591 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D591 return Route110_TrickHousePuzzle5_EventScript_26D374:: @ 826D374 compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D59C + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D59C compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5A7 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5A7 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5B2 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5B2 compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5BD + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5BD compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5C8 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5C8 return Route110_TrickHousePuzzle5_EventScript_26D3AC:: @ 826D3AC compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5D3 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5D3 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5DE + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5DE compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5E9 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5E9 compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5F4 + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5F4 compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5FF + call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5FF return Route110_TrickHousePuzzle5_EventScript_26D3E4:: @ 826D3E4 diff --git a/data/maps/Route110_TrickHousePuzzle6/scripts.inc b/data/maps/Route110_TrickHousePuzzle6/scripts.inc index 53c548c20..2cb784b50 100644 --- a/data/maps/Route110_TrickHousePuzzle6/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle6/scripts.inc @@ -18,7 +18,7 @@ Route110_TrickHousePuzzle6_EventScript_26DDC0:: @ 826DDC0 Route110_TrickHousePuzzle6_EventScript_26DDC4:: @ 826DDC4 lockall compare VAR_0x40B0, 0 - goto_eq Route110_TrickHousePuzzle6_EventScript_26DDD6 + goto_if_eq Route110_TrickHousePuzzle6_EventScript_26DDD6 goto Route110_TrickHousePuzzle6_EventScript_26A3DB end diff --git a/data/maps/Route110_TrickHousePuzzle7/scripts.inc b/data/maps/Route110_TrickHousePuzzle7/scripts.inc index 4004c2e2c..76e8ac769 100644 --- a/data/maps/Route110_TrickHousePuzzle7/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle7/scripts.inc @@ -10,16 +10,11 @@ Route110_TrickHousePuzzle7_MapScript1_26E0A6: @ 826E0A6 end Route110_TrickHousePuzzle7_EventScript_26E0AC:: @ 826E0AC - checkflag FLAG_0x0C2 - call_if 1, Route110_TrickHousePuzzle7_EventScript_26E0DA - checkflag FLAG_0x0C3 - call_if 1, Route110_TrickHousePuzzle7_EventScript_26E0ED - checkflag FLAG_0x0C4 - call_if 1, Route110_TrickHousePuzzle7_EventScript_26E100 - checkflag FLAG_0x0C5 - call_if 1, Route110_TrickHousePuzzle7_EventScript_26E113 - checkflag FLAG_0x0C6 - call_if 1, Route110_TrickHousePuzzle7_EventScript_26E126 + call_if_set FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E0DA + call_if_set FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E0ED + call_if_set FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E100 + call_if_set FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E113 + call_if_set FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E126 return Route110_TrickHousePuzzle7_EventScript_26E0DA:: @ 826E0DA @@ -74,7 +69,7 @@ Route110_TrickHousePuzzle7_EventScript_26E185:: @ 826E185 Route110_TrickHousePuzzle7_MapScript1_26E198: @ 826E198 compare VAR_0x40B6, 1 - goto_eq Route110_TrickHousePuzzle7_EventScript_26E1B3 + goto_if_eq Route110_TrickHousePuzzle7_EventScript_26E1B3 clearflag FLAG_0x0C2 clearflag FLAG_0x0C3 clearflag FLAG_0x0C4 @@ -87,7 +82,7 @@ Route110_TrickHousePuzzle7_EventScript_26E1B3:: @ 826E1B3 Route110_TrickHousePuzzle7_MapScript1_26E1B4: @ 826E1B4 compare VAR_0x40B6, 1 - call_if 1, Route110_TrickHousePuzzle7_EventScript_26E0AC + call_if_eq Route110_TrickHousePuzzle7_EventScript_26E0AC end Route110_TrickHousePuzzle7_MapScript2_26E1C0: @ 826E1C0 @@ -101,7 +96,7 @@ Route110_TrickHousePuzzle7_EventScript_26E1CA:: @ 826E1CA Route110_TrickHousePuzzle7_EventScript_26E1D0:: @ 826E1D0 lockall compare VAR_0x40B1, 0 - goto_eq Route110_TrickHousePuzzle7_EventScript_26E1E2 + goto_if_eq Route110_TrickHousePuzzle7_EventScript_26E1E2 goto Route110_TrickHousePuzzle7_EventScript_26A3DB end @@ -121,76 +116,56 @@ Route110_TrickHousePuzzle7_EventScript_26E1ED:: @ 826E1ED Route110_TrickHousePuzzle7_EventScript_26E1FE:: @ 826E1FE lockall delay 32 - checkflag FLAG_0x0C2 - call_if 0, Route110_TrickHousePuzzle7_EventScript_26E0DA - checkflag FLAG_0x0C2 - call_if 1, Route110_TrickHousePuzzle7_EventScript_26E139 + call_if_unset FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E0DA + call_if_set FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E139 special DrawWholeMapView playse SE_TK_KASYA - checkflag FLAG_0x0C2 - goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E2E9 - checkflag FLAG_0x0C2 - goto_eq Route110_TrickHousePuzzle7_EventScript_26E2EE + goto_if_unset FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E2E9 + goto_if_set FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E2EE end Route110_TrickHousePuzzle7_EventScript_26E22D:: @ 826E22D lockall delay 32 - checkflag FLAG_0x0C3 - call_if 0, Route110_TrickHousePuzzle7_EventScript_26E0ED - checkflag FLAG_0x0C3 - call_if 1, Route110_TrickHousePuzzle7_EventScript_26E14C + call_if_unset FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E0ED + call_if_set FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E14C special DrawWholeMapView playse SE_TK_KASYA - checkflag FLAG_0x0C3 - goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E2F3 - checkflag FLAG_0x0C3 - goto_eq Route110_TrickHousePuzzle7_EventScript_26E2F8 + goto_if_unset FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E2F3 + goto_if_set FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E2F8 end Route110_TrickHousePuzzle7_EventScript_26E25C:: @ 826E25C lockall delay 32 - checkflag FLAG_0x0C4 - call_if 0, Route110_TrickHousePuzzle7_EventScript_26E100 - checkflag FLAG_0x0C4 - call_if 1, Route110_TrickHousePuzzle7_EventScript_26E15F + call_if_unset FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E100 + call_if_set FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E15F special DrawWholeMapView playse SE_TK_KASYA - checkflag FLAG_0x0C4 - goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E2FD - checkflag FLAG_0x0C4 - goto_eq Route110_TrickHousePuzzle7_EventScript_26E302 + goto_if_unset FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E2FD + goto_if_set FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E302 end Route110_TrickHousePuzzle7_EventScript_26E28B:: @ 826E28B lockall delay 32 - checkflag FLAG_0x0C5 - call_if 0, Route110_TrickHousePuzzle7_EventScript_26E113 - checkflag FLAG_0x0C5 - call_if 1, Route110_TrickHousePuzzle7_EventScript_26E172 + call_if_unset FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E113 + call_if_set FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E172 special DrawWholeMapView playse SE_TK_KASYA - checkflag FLAG_0x0C5 - goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E307 - checkflag FLAG_0x0C5 - goto_eq Route110_TrickHousePuzzle7_EventScript_26E30C + goto_if_unset FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E307 + goto_if_set FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E30C end Route110_TrickHousePuzzle7_EventScript_26E2BA:: @ 826E2BA lockall delay 32 - checkflag FLAG_0x0C6 - call_if 0, Route110_TrickHousePuzzle7_EventScript_26E126 - checkflag FLAG_0x0C6 - call_if 1, Route110_TrickHousePuzzle7_EventScript_26E185 + call_if_unset FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E126 + call_if_set FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E185 special DrawWholeMapView playse SE_TK_KASYA - checkflag FLAG_0x0C6 - goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E311 - checkflag FLAG_0x0C6 - goto_eq Route110_TrickHousePuzzle7_EventScript_26E316 + goto_if_unset FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E311 + goto_if_set FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E316 end Route110_TrickHousePuzzle7_EventScript_26E2E9:: @ 826E2E9 diff --git a/data/maps/Route110_TrickHousePuzzle8/scripts.inc b/data/maps/Route110_TrickHousePuzzle8/scripts.inc index 31aeb9e3a..7efb9f67b 100644 --- a/data/maps/Route110_TrickHousePuzzle8/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle8/scripts.inc @@ -4,7 +4,7 @@ Route110_TrickHousePuzzle8_MapScripts:: @ 826E801 Route110_TrickHousePuzzle8_EventScript_26E802:: @ 826E802 lockall compare VAR_0x40B2, 0 - goto_eq Route110_TrickHousePuzzle8_EventScript_26E814 + goto_if_eq Route110_TrickHousePuzzle8_EventScript_26E814 goto Route110_TrickHousePuzzle8_EventScript_26A3DB end diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc index 2be579ab6..98132b37f 100644 --- a/data/maps/Route111/scripts.inc +++ b/data/maps/Route111/scripts.inc @@ -6,10 +6,9 @@ Route111_MapScripts:: @ 81F0CA7 .byte 0 Route111_MapScript1_1F0CBC: @ 81F0CBC - checkflag FLAG_0x0E4 - call_if 0, Route111_EventScript_1F0CD1 + call_if_unset FLAG_0x0E4, Route111_EventScript_1F0CD1 compare VAR_0x40CB, 1 - call_if 1, Route111_EventScript_1F0CE4 + call_if_eq Route111_EventScript_1F0CE4 end Route111_EventScript_1F0CD1:: @ 81F0CD1 @@ -41,24 +40,23 @@ Route111_EventScript_1F0CE4:: @ 81F0CE4 Route111_MapScript1_1F0D87: @ 81F0D87 setvar VAR_0x40D6, 0 special sub_81BE79C - checkflag FLAG_0x14E - call_if 0, Route111_EventScript_1F0E3C + call_if_unset FLAG_0x14E, Route111_EventScript_1F0E3C compare VAR_0x40CB, 1 - call_if 1, Route111_EventScript_1F0DC2 + call_if_eq Route111_EventScript_1F0DC2 compare VAR_0x40CB, 2 - call_if 1, Route111_EventScript_1F0E40 + call_if_eq Route111_EventScript_1F0E40 call Route111_EventScript_1F0DE6 call Route111_EventScript_28CCC7 checktrainerflag TRAINER_VICKY - goto_if 0, Route111_EventScript_1F0E26 + goto_if_lt Route111_EventScript_1F0E26 end Route111_EventScript_1F0DC2:: @ 81F0DC2 checkplayergender compare VAR_RESULT, 0 - goto_eq Route111_EventScript_1F0DDA + goto_if_eq Route111_EventScript_1F0DDA compare VAR_RESULT, 1 - goto_eq Route111_EventScript_1F0DE0 + goto_if_eq Route111_EventScript_1F0DE0 return Route111_EventScript_1F0DDA:: @ 81F0DDA @@ -72,18 +70,18 @@ Route111_EventScript_1F0DE0:: @ 81F0DE0 Route111_EventScript_1F0DE6:: @ 81F0DE6 getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_1, 34 - goto_if 0, Route111_EventScript_1F0E25 + goto_if_lt Route111_EventScript_1F0E25 compare VAR_TEMP_1, 107 - goto_if 2, Route111_EventScript_1F0E25 + goto_if_gt Route111_EventScript_1F0E25 compare VAR_TEMP_1, 72 - goto_if 2, Route111_EventScript_1F0E22 + goto_if_gt Route111_EventScript_1F0E22 compare VAR_TEMP_0, 2000 - goto_if 2, Route111_EventScript_1F0E25 + goto_if_gt Route111_EventScript_1F0E25 compare VAR_TEMP_0, 8 - goto_if 0, Route111_EventScript_1F0E25 + goto_if_lt Route111_EventScript_1F0E25 Route111_EventScript_1F0E22:: @ 81F0E22 - setweather 8 + setweather WEATHER_SANDSTORM Route111_EventScript_1F0E25:: @ 81F0E25 return @@ -111,7 +109,7 @@ Route111_MapScript2_1F0E46: @ 81F0E46 .2byte 0 Route111_EventScript_1F0E50:: @ 81F0E50 - hideobjectat 255, MAP_LITTLEROOT_TOWN + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN end Route111_MapScript2_1F0E56: @ 81F0E56 @@ -127,10 +125,10 @@ Route111_EventScript_1F0E60:: @ 81F0E60 addobject 45 special sub_81BE7F4 waitstate - showobjectat 255, MAP_LITTLEROOT_TOWN + showobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN removeobject 45 delay 16 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 delay 16 special sub_81BEB54 waitstate @@ -138,8 +136,7 @@ Route111_EventScript_1F0E60:: @ 81F0E60 waitstate setvar VAR_0x40CB, 2 clearflag FLAG_HIDE_DESERT_UNDERPASS_FOSSIL - checkflag FLAG_0x150 - goto_eq Route111_EventScript_1F0EA7 + goto_if_set FLAG_0x150, Route111_EventScript_1F0EA7 msgbox Route111_Text_1F1C74, MSGBOX_DEFAULT releaseall end @@ -163,12 +160,11 @@ Route111_EventScript_1F0EB9:: @ 81F0EB9 lock faceplayer dodailyevents - checkflag FLAG_0x92C - goto_eq Route111_EventScript_1F0EF4 + goto_if_set FLAG_0x92C, Route111_EventScript_1F0EF4 msgbox Route111_Text_2A6EBD, MSGBOX_DEFAULT giveitem_std ITEM_RAZZ_BERRY compare VAR_RESULT, 0 - goto_eq Route111_EventScript_272054 + goto_if_eq Route111_EventScript_272054 setflag FLAG_0x92C special GetPlayerBigGuyGirlString msgbox Route111_Text_2A6F3D, MSGBOX_DEFAULT @@ -207,7 +203,7 @@ Route111_EventScript_1F0F22:: @ 81F0F22 Route111_EventScript_1F0F2E:: @ 81F0F2E checkitem ITEM_GO_GOGGLES, 1 compare VAR_RESULT, 0 - goto_eq Route111_EventScript_1F0F45 + goto_if_eq Route111_EventScript_1F0F45 setvar VAR_TEMP_3, 1 releaseall end @@ -216,33 +212,33 @@ Route111_EventScript_1F0F45:: @ 81F0F45 msgbox gUnknown_08272C5F, MSGBOX_DEFAULT closemessage compare VAR_0x8004, 0 - call_if 1, Route111_EventScript_1F0F7C + call_if_eq Route111_EventScript_1F0F7C compare VAR_0x8004, 1 - call_if 1, Route111_EventScript_1F0F87 + call_if_eq Route111_EventScript_1F0F87 compare VAR_0x8004, 2 - call_if 1, Route111_EventScript_1F0F92 + call_if_eq Route111_EventScript_1F0F92 compare VAR_0x8004, 3 - call_if 1, Route111_EventScript_1F0F9D + call_if_eq Route111_EventScript_1F0F9D releaseall end Route111_EventScript_1F0F7C:: @ 81F0F7C - applymovement 255, Route111_Movement_1F0FA8 + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FA8 waitmovement 0 return Route111_EventScript_1F0F87:: @ 81F0F87 - applymovement 255, Route111_Movement_1F0FAA + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAA waitmovement 0 return Route111_EventScript_1F0F92:: @ 81F0F92 - applymovement 255, Route111_Movement_1F0FAC + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAC waitmovement 0 return Route111_EventScript_1F0F9D:: @ 81F0F9D - applymovement 255, Route111_Movement_1F0FAE + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAE waitmovement 0 return @@ -263,14 +259,14 @@ Route111_Movement_1F0FAE: @ 81F0FAE step_end Route111_EventScript_1F0FB0:: @ 81F0FB0 - setweather 2 + setweather WEATHER_SUNNY fadenewbgm MUS_DOORO_X1 doweather setvar VAR_TEMP_3, 0 end Route111_EventScript_1F0FBD:: @ 81F0FBD - setweather 8 + setweather WEATHER_SANDSTORM fadenewbgm MUS_ASHROAD doweather end @@ -281,7 +277,7 @@ Route111_EventScript_1F0FC5:: @ 81F0FC5 setflag FLAG_LANDMARK_WINSTRATE_FAMILY msgbox Route111_Text_1F1475, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route111_EventScript_1F0FE7 + goto_if_eq Route111_EventScript_1F0FE7 msgbox Route111_Text_1F14F5, MSGBOX_DEFAULT release end @@ -298,7 +294,7 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7 waitmovement 0 removeobject 1 call Route111_EventScript_1F1143 - applymovement 255, Route111_Movement_1F114F + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F waitmovement 0 call Route111_EventScript_1F113C addobject 2 @@ -316,7 +312,7 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7 waitmovement 0 removeobject 2 call Route111_EventScript_1F1143 - applymovement 255, Route111_Movement_1F114F + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F waitmovement 0 call Route111_EventScript_1F113C addobject 3 @@ -334,7 +330,7 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7 waitmovement 0 removeobject 3 call Route111_EventScript_1F1143 - applymovement 255, Route111_Movement_1F114F + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F waitmovement 0 call Route111_EventScript_1F113C addobject 4 @@ -416,11 +412,10 @@ Route111_EventScript_1F119B:: @ 81F119B lock faceplayer compare VAR_0x40CB, 3 - goto_eq Route111_EventScript_1F11C6 + goto_if_eq Route111_EventScript_1F11C6 compare VAR_0x40CB, 2 - goto_eq Route111_EventScript_1F11D0 - checkflag FLAG_0x14E - goto_eq Route111_EventScript_1F11DA + goto_if_eq Route111_EventScript_1F11D0 + goto_if_set FLAG_0x14E, Route111_EventScript_1F11DA msgbox Route111_Text_1F1A22, MSGBOX_DEFAULT release end @@ -475,7 +470,7 @@ Route111_EventScript_1F1260:: @ 81F1260 trainerbattle_single TRAINER_DUSTY_1, Route111_Text_298B08, Route111_Text_298B53, Route111_EventScript_1F128C specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route111_EventScript_1F12AB + goto_if_eq Route111_EventScript_1F12AB msgbox Route111_Text_298B9A, MSGBOX_DEFAULT release end @@ -512,7 +507,7 @@ Route111_EventScript_1F1307:: @ 81F1307 trainerbattle_single TRAINER_WILTON_1, Route111_Text_298F79, Route111_Text_298FA9, Route111_EventScript_1F1333 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route111_EventScript_1F1352 + goto_if_eq Route111_EventScript_1F1352 msgbox Route111_Text_298FD4, MSGBOX_DEFAULT release end @@ -534,7 +529,7 @@ Route111_EventScript_1F1369:: @ 81F1369 trainerbattle_single TRAINER_BROOKE_1, Route111_Text_299143, Route111_Text_299193, Route111_EventScript_1F1395 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route111_EventScript_1F13B4 + goto_if_eq Route111_EventScript_1F13B4 msgbox Route111_Text_2991C2, MSGBOX_DEFAULT release end diff --git a/data/maps/Route111_OldLadysRestStop/scripts.inc b/data/maps/Route111_OldLadysRestStop/scripts.inc index f98e994b3..5a89f40ed 100644 --- a/data/maps/Route111_OldLadysRestStop/scripts.inc +++ b/data/maps/Route111_OldLadysRestStop/scripts.inc @@ -11,9 +11,9 @@ Route111_OldLadysRestStop_EventScript_22A920:: @ 822A920 faceplayer msgbox Route111_OldLadysRestStop_Text_22A978, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route111_OldLadysRestStop_EventScript_22A941 + goto_if_eq Route111_OldLadysRestStop_EventScript_22A941 compare VAR_RESULT, 0 - goto_eq Route111_OldLadysRestStop_EventScript_22A96E + goto_if_eq Route111_OldLadysRestStop_EventScript_22A96E end Route111_OldLadysRestStop_EventScript_22A941:: @ 822A941 @@ -22,9 +22,9 @@ Route111_OldLadysRestStop_EventScript_22A941:: @ 822A941 call Route111_OldLadysRestStop_EventScript_272083 msgbox Route111_OldLadysRestStop_Text_22AA16, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route111_OldLadysRestStop_EventScript_22A941 + goto_if_eq Route111_OldLadysRestStop_EventScript_22A941 compare VAR_RESULT, 0 - goto_eq Route111_OldLadysRestStop_EventScript_22A96E + goto_if_eq Route111_OldLadysRestStop_EventScript_22A96E end Route111_OldLadysRestStop_EventScript_22A96E:: @ 822A96E diff --git a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc index 8160d7623..cd862b7e3 100644 --- a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc +++ b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc @@ -13,12 +13,11 @@ Route111_WinstrateFamilysHouse_EventScript_22A4A2:: @ 822A4A2 lock faceplayer setvar VAR_0x8008, 3 - checkflag FLAG_0x115 - goto_eq Route111_WinstrateFamilysHouse_EventScript_22A4DA + goto_if_set FLAG_0x115, Route111_WinstrateFamilysHouse_EventScript_22A4DA msgbox Route111_WinstrateFamilysHouse_Text_22A5F4, MSGBOX_DEFAULT giveitem_std ITEM_MACHO_BRACE compare VAR_RESULT, 0 - goto_eq Route111_WinstrateFamilysHouse_EventScript_272054 + goto_if_eq Route111_WinstrateFamilysHouse_EventScript_272054 setflag FLAG_0x115 goto Route111_WinstrateFamilysHouse_EventScript_22A52C end @@ -40,8 +39,7 @@ Route111_WinstrateFamilysHouse_EventScript_22A4FD:: @ 822A4FD lock faceplayer setvar VAR_0x8008, 4 - checkflag FLAG_TEMP_4 - goto_eq Route111_WinstrateFamilysHouse_EventScript_22A51E + goto_if_set FLAG_TEMP_4, Route111_WinstrateFamilysHouse_EventScript_22A51E msgbox Route111_WinstrateFamilysHouse_Text_22A780, MSGBOX_DEFAULT setflag FLAG_TEMP_4 goto Route111_WinstrateFamilysHouse_EventScript_22A52C diff --git a/data/maps/Route112/scripts.inc b/data/maps/Route112/scripts.inc index 1abcdb6b4..816e0aab0 100644 --- a/data/maps/Route112/scripts.inc +++ b/data/maps/Route112/scripts.inc @@ -69,7 +69,7 @@ Route112_EventScript_1F1E81:: @ 81F1E81 trainerbattle_single TRAINER_TRENT_1, Route112_Text_299815, Route112_Text_29987C, Route112_EventScript_1F1EAD specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route112_EventScript_1F1ECC + goto_if_eq Route112_EventScript_1F1ECC msgbox Route112_Text_299896, MSGBOX_DEFAULT release end diff --git a/data/maps/Route112_CableCarStation/scripts.inc b/data/maps/Route112_CableCarStation/scripts.inc index a7d3e8c7a..037d7ca05 100644 --- a/data/maps/Route112_CableCarStation/scripts.inc +++ b/data/maps/Route112_CableCarStation/scripts.inc @@ -6,7 +6,7 @@ Route112_CableCarStation_MapScripts:: @ 822AABE Route112_CableCarStation_MapScript1_22AAC9: @ 822AAC9 setescapewarp MAP_ROUTE112, 255, 28, 28 compare VAR_0x40A3, 2 - call_if 1, Route112_CableCarStation_EventScript_22AADD + call_if_eq Route112_CableCarStation_EventScript_22AADD end Route112_CableCarStation_EventScript_22AADD:: @ 822AADD @@ -20,7 +20,7 @@ Route112_CableCarStation_MapScript2_22AAE9: @ 822AAE9 Route112_CableCarStation_EventScript_22AAF3:: @ 822AAF3 lockall - applymovement 255, Route112_CableCarStation_Movement_22AB80 + applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_22AB80 applymovement 1, Route112_CableCarStation_Movement_22AB76 waitmovement 0 setvar VAR_0x40A3, 0 @@ -34,16 +34,16 @@ Route112_CableCarStation_EventScript_22AB17:: @ 822AB17 faceplayer msgbox Route112_CableCarStation_Text_22AB85, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route112_CableCarStation_EventScript_22AB38 + goto_if_eq Route112_CableCarStation_EventScript_22AB38 compare VAR_RESULT, 0 - goto_eq Route112_CableCarStation_EventScript_22AB67 + goto_if_eq Route112_CableCarStation_EventScript_22AB67 end Route112_CableCarStation_EventScript_22AB38:: @ 822AB38 msgbox Route112_CableCarStation_Text_22ABC2, MSGBOX_DEFAULT closemessage applymovement 1, Route112_CableCarStation_Movement_22AB71 - applymovement 255, Route112_CableCarStation_Movement_22AB7B + applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_22AB7B waitmovement 0 setvar VAR_0x8004, 0 setvar VAR_0x40A3, 1 diff --git a/data/maps/Route113/scripts.inc b/data/maps/Route113/scripts.inc index b9ece3b21..7668432ab 100644 --- a/data/maps/Route113/scripts.inc +++ b/data/maps/Route113/scripts.inc @@ -15,10 +15,10 @@ Route113_MapScript1_1F2161: @ 81F2161 Route113_EventScript_1F216A:: @ 81F216A getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_0, 19 - goto_if 0, Route113_EventScript_1F2189 + goto_if_lt Route113_EventScript_1F2189 compare VAR_TEMP_0, 84 - goto_if 2, Route113_EventScript_1F2189 - setweather 7 + goto_if_gt Route113_EventScript_1F2189 + setweather WEATHER_ASH return Route113_EventScript_1F2189:: @ 81F2189 @@ -62,7 +62,7 @@ Route113_EventScript_1F21EE:: @ 81F21EE trainerbattle_single TRAINER_MADELINE_1, Route113_Text_299EA6, Route113_Text_299EF9, Route113_EventScript_1F221A specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route113_EventScript_1F2239 + goto_if_eq Route113_EventScript_1F2239 msgbox Route113_Text_299F15, MSGBOX_DEFAULT release end @@ -84,7 +84,7 @@ Route113_EventScript_1F2250:: @ 81F2250 trainerbattle_single TRAINER_LAO_1, Route113_Text_29A015, Route113_Text_29A04C, Route113_EventScript_1F227C specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route113_EventScript_1F229B + goto_if_eq Route113_EventScript_1F229B msgbox Route113_Text_29A067, MSGBOX_DEFAULT release end diff --git a/data/maps/Route113_GlassWorkshop/scripts.inc b/data/maps/Route113_GlassWorkshop/scripts.inc index c211b6a1c..959c27799 100644 --- a/data/maps/Route113_GlassWorkshop/scripts.inc +++ b/data/maps/Route113_GlassWorkshop/scripts.inc @@ -5,7 +5,7 @@ Route113_GlassWorkshop_MapScripts:: @ 826ED03 Route113_GlassWorkshop_MapScript1_26ED09: @ 826ED09 setflag FLAG_LANDMARK_GLASS_WORKSHOP compare VAR_0x40BE, 1 - call_if 1, Route113_GlassWorkshop_EventScript_26ED18 + call_if_eq Route113_GlassWorkshop_EventScript_26ED18 end Route113_GlassWorkshop_EventScript_26ED18:: @ 826ED18 @@ -16,11 +16,11 @@ Route113_GlassWorkshop_EventScript_26ED1E:: @ 826ED1E lock faceplayer compare VAR_0x40BE, 10 - goto_if 4, Route113_GlassWorkshop_EventScript_26F090 + goto_if_ge Route113_GlassWorkshop_EventScript_26F090 compare VAR_0x40BE, 2 - goto_eq Route113_GlassWorkshop_EventScript_26ED6E + goto_if_eq Route113_GlassWorkshop_EventScript_26ED6E compare VAR_0x40BE, 1 - goto_eq Route113_GlassWorkshop_EventScript_26ED64 + goto_if_eq Route113_GlassWorkshop_EventScript_26ED64 msgbox Route113_GlassWorkshop_Text_26F19D, MSGBOX_DEFAULT giveitem_std ITEM_SOOT_SACK setvar VAR_0x40BE, 1 @@ -36,10 +36,10 @@ Route113_GlassWorkshop_EventScript_26ED64:: @ 826ED64 Route113_GlassWorkshop_EventScript_26ED6E:: @ 826ED6E checkitem ITEM_SOOT_SACK, 1 compare VAR_RESULT, 0 - goto_eq Route113_GlassWorkshop_EventScript_26ED9D + goto_if_eq Route113_GlassWorkshop_EventScript_26ED9D msgbox Route113_GlassWorkshop_Text_26F312, MSGBOX_DEFAULT compare VAR_ASH_GATHER_COUNT, 250 - goto_if 0, Route113_GlassWorkshop_EventScript_26EFD6 + goto_if_lt Route113_GlassWorkshop_EventScript_26EFD6 message Route113_GlassWorkshop_Text_26F40A waitmessage goto Route113_GlassWorkshop_EventScript_26EDA7 @@ -72,10 +72,10 @@ Route113_GlassWorkshop_EventScript_26EE1E:: @ 826EE1E bufferitemname 0, VAR_0x8008 setvar VAR_0x800A, 250 compare VAR_ASH_GATHER_COUNT, 250 - goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route113_GlassWorkshop_EventScript_26F003 + goto_if_eq Route113_GlassWorkshop_EventScript_26F003 setvar VAR_0x40BE, 10 subvar VAR_ASH_GATHER_COUNT, 250 goto Route113_GlassWorkshop_EventScript_26F00F @@ -86,10 +86,10 @@ Route113_GlassWorkshop_EventScript_26EE5A:: @ 826EE5A bufferitemname 0, VAR_0x8008 setvar VAR_0x800A, 500 compare VAR_ASH_GATHER_COUNT, 500 - goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route113_GlassWorkshop_EventScript_26F003 + goto_if_eq Route113_GlassWorkshop_EventScript_26F003 setvar VAR_0x40BE, 11 subvar VAR_ASH_GATHER_COUNT, 500 goto Route113_GlassWorkshop_EventScript_26F00F @@ -100,10 +100,10 @@ Route113_GlassWorkshop_EventScript_26EE96:: @ 826EE96 bufferitemname 0, VAR_0x8008 setvar VAR_0x800A, 500 compare VAR_ASH_GATHER_COUNT, 500 - goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route113_GlassWorkshop_EventScript_26F003 + goto_if_eq Route113_GlassWorkshop_EventScript_26F003 setvar VAR_0x40BE, 12 subvar VAR_ASH_GATHER_COUNT, 500 goto Route113_GlassWorkshop_EventScript_26F00F @@ -114,10 +114,10 @@ Route113_GlassWorkshop_EventScript_26EED2:: @ 826EED2 bufferitemname 0, VAR_0x8008 setvar VAR_0x800A, 1000 compare VAR_ASH_GATHER_COUNT, 1000 - goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route113_GlassWorkshop_EventScript_26F003 + goto_if_eq Route113_GlassWorkshop_EventScript_26F003 setvar VAR_0x40BE, 13 subvar VAR_ASH_GATHER_COUNT, 1000 goto Route113_GlassWorkshop_EventScript_26F00F @@ -128,10 +128,10 @@ Route113_GlassWorkshop_EventScript_26EF0E:: @ 826EF0E bufferitemname 0, VAR_0x8008 setvar VAR_0x800A, 1000 compare VAR_ASH_GATHER_COUNT, 1000 - goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route113_GlassWorkshop_EventScript_26F003 + goto_if_eq Route113_GlassWorkshop_EventScript_26F003 setvar VAR_0x40BE, 14 subvar VAR_ASH_GATHER_COUNT, 1000 goto Route113_GlassWorkshop_EventScript_26F00F @@ -143,10 +143,10 @@ Route113_GlassWorkshop_EventScript_26EF4A:: @ 826EF4A bufferdecorationname 0, VAR_0x8008 setvar VAR_0x800A, 6000 compare VAR_ASH_GATHER_COUNT, 6000 - goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route113_GlassWorkshop_EventScript_26F003 + goto_if_eq Route113_GlassWorkshop_EventScript_26F003 setvar VAR_0x40BE, 15 subvar VAR_ASH_GATHER_COUNT, 6000 goto Route113_GlassWorkshop_EventScript_26F00F @@ -158,10 +158,10 @@ Route113_GlassWorkshop_EventScript_26EF8B:: @ 826EF8B bufferdecorationname 0, VAR_0x8008 setvar VAR_0x800A, 8000 compare VAR_ASH_GATHER_COUNT, 8000 - goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route113_GlassWorkshop_EventScript_26F003 + goto_if_eq Route113_GlassWorkshop_EventScript_26F003 setvar VAR_0x40BE, 16 subvar VAR_ASH_GATHER_COUNT, 8000 goto Route113_GlassWorkshop_EventScript_26F00F @@ -203,9 +203,9 @@ Route113_GlassWorkshop_EventScript_26F00F:: @ 826F00F fadescreen 0 msgbox Route113_GlassWorkshop_Text_26F688, MSGBOX_DEFAULT compare VAR_0x8009, 0 - call_if 1, Route113_GlassWorkshop_EventScript_26F047 + call_if_eq Route113_GlassWorkshop_EventScript_26F047 compare VAR_0x8009, 1 - call_if 1, Route113_GlassWorkshop_EventScript_26F05F + call_if_eq Route113_GlassWorkshop_EventScript_26F05F setvar VAR_0x40BE, 2 release end @@ -213,13 +213,13 @@ Route113_GlassWorkshop_EventScript_26F00F:: @ 826F00F Route113_GlassWorkshop_EventScript_26F047:: @ 826F047 giveitem_std VAR_0x8008 compare VAR_RESULT, 0 - goto_eq Route113_GlassWorkshop_EventScript_26F072 + goto_if_eq Route113_GlassWorkshop_EventScript_26F072 return Route113_GlassWorkshop_EventScript_26F05F:: @ 826F05F givedecoration_std VAR_0x8008 compare VAR_RESULT, 0 - goto_eq Route113_GlassWorkshop_EventScript_26F081 + goto_if_eq Route113_GlassWorkshop_EventScript_26F081 return Route113_GlassWorkshop_EventScript_26F072:: @ 826F072 @@ -297,9 +297,9 @@ Route113_GlassWorkshop_EventScript_26F15B:: @ 826F15B Route113_GlassWorkshop_EventScript_26F16F:: @ 826F16F msgbox Route113_GlassWorkshop_Text_26F688, MSGBOX_DEFAULT compare VAR_0x8009, 0 - call_if 1, Route113_GlassWorkshop_EventScript_26F047 + call_if_eq Route113_GlassWorkshop_EventScript_26F047 compare VAR_0x8009, 1 - call_if 1, Route113_GlassWorkshop_EventScript_26F05F + call_if_eq Route113_GlassWorkshop_EventScript_26F05F setvar VAR_0x40BE, 2 release end diff --git a/data/maps/Route114/scripts.inc b/data/maps/Route114/scripts.inc index 6adf20870..b66b54910 100644 --- a/data/maps/Route114/scripts.inc +++ b/data/maps/Route114/scripts.inc @@ -6,18 +6,18 @@ Route114_MapScripts:: @ 81F252F Route114_MapScript1_1F253F: @ 81F253F compare VAR_0x4039, 1 - call_if 1, Route114_EventScript_273D13 + call_if_eq Route114_EventScript_273D13 compare VAR_0x4037, 1 - call_if 1, Route114_EventScript_273D1B + call_if_eq Route114_EventScript_273D1B compare VAR_0x4037, 2 - call_if 1, Route114_EventScript_273D1B + call_if_eq Route114_EventScript_273D1B end Route114_MapScript1_1F2561: @ 81F2561 compare VAR_0x4037, 1 - call_if 1, Route114_EventScript_273913 + call_if_eq Route114_EventScript_273913 compare VAR_0x4037, 2 - call_if 1, Route114_EventScript_273926 + call_if_eq Route114_EventScript_273926 end Route114_MapScript2_1F2578: @ 81F2578 @@ -28,15 +28,14 @@ Route114_EventScript_1F2582:: @ 81F2582 lock faceplayer dodailyevents - checkflag FLAG_0x92B - goto_eq Route114_EventScript_1F25C7 + goto_if_set FLAG_0x92B, Route114_EventScript_1F25C7 msgbox Route114_Text_2A6FCB, MSGBOX_DEFAULT random 5 addvar VAR_RESULT, 15 addvar VAR_RESULT, 133 giveitem_std VAR_RESULT compare VAR_RESULT, 0 - goto_eq Route114_EventScript_272054 + goto_if_eq Route114_EventScript_272054 setflag FLAG_0x92B msgbox Route114_Text_2A7034, MSGBOX_DEFAULT release @@ -50,12 +49,11 @@ Route114_EventScript_1F25C7:: @ 81F25C7 Route114_EventScript_1F25D1:: @ 81F25D1 lock faceplayer - checkflag FLAG_0x0E7 - goto_eq Route114_EventScript_1F2608 + goto_if_set FLAG_0x0E7, Route114_EventScript_1F2608 msgbox Route114_Text_1F2809, MSGBOX_DEFAULT giveitem_std ITEM_TM05 compare VAR_RESULT, 0 - goto_eq Route114_EventScript_272054 + goto_if_eq Route114_EventScript_272054 setflag FLAG_0x0E7 msgbox Route114_Text_1F2872, MSGBOX_DEFAULT release @@ -112,7 +110,7 @@ Route114_EventScript_1F269C:: @ 81F269C trainerbattle_single TRAINER_STEVE_1, Route114_Text_29A943, Route114_Text_29A973, Route114_EventScript_1F26C8 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route114_EventScript_1F26E7 + goto_if_eq Route114_EventScript_1F26E7 msgbox Route114_Text_29A981, MSGBOX_DEFAULT release end @@ -134,7 +132,7 @@ Route114_EventScript_1F26FE:: @ 81F26FE trainerbattle_single TRAINER_BERNIE_1, Route114_Text_29AADB, Route114_Text_29AB1A, Route114_EventScript_1F272A specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route114_EventScript_1F2749 + goto_if_eq Route114_EventScript_1F2749 msgbox Route114_Text_29AB36, MSGBOX_DEFAULT release end diff --git a/data/maps/Route114_FossilManiacsHouse/scripts.inc b/data/maps/Route114_FossilManiacsHouse/scripts.inc index f2e62b451..4985089c2 100644 --- a/data/maps/Route114_FossilManiacsHouse/scripts.inc +++ b/data/maps/Route114_FossilManiacsHouse/scripts.inc @@ -9,12 +9,11 @@ Route114_FossilManiacsHouse_MapScript1_22AD36: @ 822AD36 Route114_FossilManiacsHouse_EventScript_22AD3A:: @ 822AD3A lock faceplayer - checkflag FLAG_0x105 - goto_eq Route114_FossilManiacsHouse_EventScript_22AD69 + goto_if_set FLAG_0x105, Route114_FossilManiacsHouse_EventScript_22AD69 msgbox Route114_FossilManiacsHouse_Text_22AD85, MSGBOX_DEFAULT giveitem_std ITEM_TM28 compare VAR_RESULT, 0 - goto_eq Route114_FossilManiacsHouse_EventScript_272054 + goto_if_eq Route114_FossilManiacsHouse_EventScript_272054 setflag FLAG_0x105 release end diff --git a/data/maps/Route114_FossilManiacsTunnel/scripts.inc b/data/maps/Route114_FossilManiacsTunnel/scripts.inc index 7b2a91810..850e970e3 100644 --- a/data/maps/Route114_FossilManiacsTunnel/scripts.inc +++ b/data/maps/Route114_FossilManiacsTunnel/scripts.inc @@ -4,8 +4,7 @@ Route114_FossilManiacsTunnel_MapScripts:: @ 822AF28 .byte 0 Route114_FossilManiacsTunnel_MapScript1_22AF33: @ 822AF33 - checkflag FLAG_SYS_GAME_CLEAR - call_if 1, Route114_FossilManiacsTunnel_EventScript_22AF3D + call_if_set FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_22AF3D end Route114_FossilManiacsTunnel_EventScript_22AF3D:: @ 822AF3D @@ -14,8 +13,7 @@ Route114_FossilManiacsTunnel_EventScript_22AF3D:: @ 822AF3D return Route114_FossilManiacsTunnel_MapScript1_22AF49: @ 822AF49 - checkflag FLAG_SYS_GAME_CLEAR - call_if 0, Route114_FossilManiacsTunnel_EventScript_22AF53 + call_if_unset FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_22AF53 end Route114_FossilManiacsTunnel_EventScript_22AF53:: @ 822AF53 @@ -26,7 +24,7 @@ Route114_FossilManiacsTunnel_EventScript_22AF53:: @ 822AF53 Route114_FossilManiacsTunnel_EventScript_22AF66:: @ 822AF66 lockall applymovement 1, Route114_FossilManiacsTunnel_Movement_2725A6 - applymovement 255, Route114_FossilManiacsTunnel_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, Route114_FossilManiacsTunnel_Movement_2725AA waitmovement 0 msgbox Route114_FossilManiacsTunnel_Text_22B1F7, MSGBOX_DEFAULT setvar VAR_0x40CC, 2 @@ -36,14 +34,13 @@ Route114_FossilManiacsTunnel_EventScript_22AF66:: @ 822AF66 Route114_FossilManiacsTunnel_EventScript_22AF87:: @ 822AF87 lock faceplayer - checkflag FLAG_0x10B - goto_eq Route114_FossilManiacsTunnel_EventScript_22AFC6 + goto_if_set FLAG_0x10B, Route114_FossilManiacsTunnel_EventScript_22AFC6 checkitem ITEM_ROOT_FOSSIL, 1 compare VAR_RESULT, 1 - goto_eq Route114_FossilManiacsTunnel_EventScript_22AFBC + goto_if_eq Route114_FossilManiacsTunnel_EventScript_22AFBC checkitem ITEM_CLAW_FOSSIL, 1 compare VAR_RESULT, 1 - goto_eq Route114_FossilManiacsTunnel_EventScript_22AFBC + goto_if_eq Route114_FossilManiacsTunnel_EventScript_22AFBC msgbox Route114_FossilManiacsTunnel_Text_22AFD0, MSGBOX_DEFAULT release end diff --git a/data/maps/Route114_LanettesHouse/scripts.inc b/data/maps/Route114_LanettesHouse/scripts.inc index 0145ee945..984bca574 100644 --- a/data/maps/Route114_LanettesHouse/scripts.inc +++ b/data/maps/Route114_LanettesHouse/scripts.inc @@ -9,13 +9,12 @@ Route114_LanettesHouse_MapScript1_22B2CE: @ 822B2CE Route114_LanettesHouse_EventScript_22B2D2:: @ 822B2D2 lock faceplayer - checkflag FLAG_0x083 - goto_eq Route114_LanettesHouse_EventScript_22B2FF + goto_if_set FLAG_0x083, Route114_LanettesHouse_EventScript_22B2FF setflag FLAG_SYS_PC_LANETTE msgbox Route114_LanettesHouse_Text_22B34E, MSGBOX_DEFAULT givedecoration_std 99 compare VAR_RESULT, 0 - goto_eq Route114_LanettesHouse_EventScript_272067 + goto_if_eq Route114_LanettesHouse_EventScript_272067 setflag FLAG_0x083 release end @@ -29,7 +28,7 @@ Route114_LanettesHouse_EventScript_22B309:: @ 822B309 lockall msgbox Route114_LanettesHouse_Text_22B485, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route114_LanettesHouse_EventScript_22B327 + goto_if_eq Route114_LanettesHouse_EventScript_22B327 msgbox Route114_LanettesHouse_Text_22B6E4, MSGBOX_DEFAULT releaseall end @@ -37,7 +36,7 @@ Route114_LanettesHouse_EventScript_22B309:: @ 822B309 Route114_LanettesHouse_EventScript_22B327:: @ 822B327 msgbox Route114_LanettesHouse_Text_22B53C, MSGBOX_YESNO compare VAR_RESULT, 1 - call_if 1, Route114_LanettesHouse_EventScript_22B33C + call_if_eq Route114_LanettesHouse_EventScript_22B33C releaseall end diff --git a/data/maps/Route115/scripts.inc b/data/maps/Route115/scripts.inc index 6c74a0d5a..560c360af 100644 --- a/data/maps/Route115/scripts.inc +++ b/data/maps/Route115/scripts.inc @@ -6,18 +6,18 @@ Route115_MapScripts:: @ 81F2920 Route115_MapScript1_1F2930: @ 81F2930 compare VAR_0x4037, 3 - call_if 1, Route115_EventScript_273939 + call_if_eq Route115_EventScript_273939 compare VAR_0x4037, 4 - call_if 1, Route115_EventScript_27394C + call_if_eq Route115_EventScript_27394C end Route115_MapScript1_1F2947: @ 81F2947 compare VAR_0x4039, 1 - call_if 1, Route115_EventScript_273D13 + call_if_eq Route115_EventScript_273D13 compare VAR_0x4037, 3 - call_if 1, Route115_EventScript_273D1B + call_if_eq Route115_EventScript_273D1B compare VAR_0x4037, 4 - call_if 1, Route115_EventScript_273D1B + call_if_eq Route115_EventScript_273D1B end Route115_MapScript2_1F2969: @ 81F2969 @@ -40,7 +40,7 @@ Route115_EventScript_1F298E:: @ 81F298E trainerbattle_single TRAINER_TIMOTHY_1, Route115_Text_29B1FA, Route115_Text_29B230, Route115_EventScript_1F29BA specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route115_EventScript_1F29D9 + goto_if_eq Route115_EventScript_1F29D9 msgbox Route115_Text_29B258, MSGBOX_DEFAULT release end @@ -67,7 +67,7 @@ Route115_EventScript_1F2A07:: @ 81F2A07 trainerbattle_single TRAINER_NOB_1, Route115_Text_29B449, Route115_Text_29B480, Route115_EventScript_1F2A33 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route115_EventScript_1F2A52 + goto_if_eq Route115_EventScript_1F2A52 msgbox Route115_Text_29B49D, MSGBOX_DEFAULT release end @@ -89,7 +89,7 @@ Route115_EventScript_1F2A69:: @ 81F2A69 trainerbattle_single TRAINER_CYNDY_1, Route115_Text_29B5EF, Route115_Text_29B62D, Route115_EventScript_1F2A95 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route115_EventScript_1F2AB4 + goto_if_eq Route115_EventScript_1F2AB4 msgbox Route115_Text_29B647, MSGBOX_DEFAULT release end diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc index 2ad7ea58b..519bc0447 100644 --- a/data/maps/Route116/scripts.inc +++ b/data/maps/Route116/scripts.inc @@ -5,14 +5,13 @@ Route116_MapScripts:: @ 81F2C0C .byte 0 Route116_MapScript1_1F2C1C: @ 81F2C1C - checkflag FLAG_0x08F - call_if 1, Route116_EventScript_1F2C47 + call_if_set FLAG_0x08F, Route116_EventScript_1F2C47 compare VAR_0x4039, 1 - call_if 1, Route116_EventScript_273D13 + call_if_eq Route116_EventScript_273D13 compare VAR_0x4037, 5 - call_if 1, Route116_EventScript_273D1B + call_if_eq Route116_EventScript_273D1B compare VAR_0x4037, 6 - call_if 1, Route116_EventScript_273D1B + call_if_eq Route116_EventScript_273D1B end Route116_EventScript_1F2C47:: @ 81F2C47 @@ -21,9 +20,9 @@ Route116_EventScript_1F2C47:: @ 81F2C47 Route116_MapScript1_1F2C4F: @ 81F2C4F compare VAR_0x4037, 5 - call_if 1, Route116_EventScript_27395F + call_if_eq Route116_EventScript_27395F compare VAR_0x4037, 6 - call_if 1, Route116_EventScript_273972 + call_if_eq Route116_EventScript_273972 end Route116_MapScript2_1F2C66: @ 81F2C66 @@ -33,10 +32,8 @@ Route116_MapScript2_1F2C66: @ 81F2C66 Route116_EventScript_1F2C70:: @ 81F2C70 lock faceplayer - checkflag FLAG_0x08F - goto_eq Route116_EventScript_1F2C8E - checkflag FLAG_0x08E - goto_eq Route116_EventScript_1F2C98 + goto_if_set FLAG_0x08F, Route116_EventScript_1F2C8E + goto_if_set FLAG_0x08E, Route116_EventScript_1F2C98 msgbox Route116_Text_1F3140, MSGBOX_DEFAULT release end @@ -54,8 +51,7 @@ Route116_EventScript_1F2C98:: @ 81F2C98 Route116_EventScript_1F2CA2:: @ 81F2CA2 lock faceplayer - checkflag FLAG_0x11F - goto_eq Route116_EventScript_1F2D2B + goto_if_set FLAG_0x11F, Route116_EventScript_1F2D2B msgbox Route116_Text_1F3317, MSGBOX_DEFAULT goto Route116_EventScript_1F2CBB end @@ -64,17 +60,17 @@ Route116_EventScript_1F2CBB:: @ 81F2CBB setflag FLAG_0x11F giveitem_std ITEM_REPEAT_BALL compare VAR_RESULT, 0 - goto_eq Route116_EventScript_1F2D39 + goto_if_eq Route116_EventScript_1F2D39 msgbox Route116_Text_1F3521, MSGBOX_DEFAULT closemessage compare VAR_FACING, 2 - call_if 1, Route116_EventScript_1F2D15 + call_if_eq Route116_EventScript_1F2D15 compare VAR_FACING, 1 - call_if 1, Route116_EventScript_1F2D15 + call_if_eq Route116_EventScript_1F2D15 compare VAR_FACING, 3 - call_if 1, Route116_EventScript_1F2D15 + call_if_eq Route116_EventScript_1F2D15 compare VAR_FACING, 4 - call_if 1, Route116_EventScript_1F2D20 + call_if_eq Route116_EventScript_1F2D20 removeobject VAR_LAST_TALKED clearflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE setflag FLAG_0x100 @@ -156,7 +152,7 @@ Route116_EventScript_1F2D84:: @ 81F2D84 Route116_EventScript_1F2D95:: @ 81F2D95 lockall applymovement 11, Route116_Movement_2725A8 - applymovement 255, Route116_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, Route116_Movement_2725A4 waitmovement 0 msgbox Route116_Text_1F309D, MSGBOX_DEFAULT setvar VAR_0x406F, 2 @@ -168,10 +164,10 @@ Route116_EventScript_1F2DB6:: @ 81F2DB6 faceplayer checkitem ITEM_BLACK_GLASSES, 1 compare VAR_RESULT, 1 - goto_eq Route116_EventScript_1F2DF1 + goto_if_eq Route116_EventScript_1F2DF1 specialvar VAR_RESULT, FoundBlackGlasses compare VAR_RESULT, 1 - goto_eq Route116_EventScript_1F2DE2 + goto_if_eq Route116_EventScript_1F2DE2 msgbox Route116_Text_1F3657, MSGBOX_DEFAULT release end @@ -187,7 +183,7 @@ Route116_EventScript_1F2DF1:: @ 81F2DF1 msgbox Route116_Text_1F3688, MSGBOX_DEFAULT specialvar VAR_RESULT, FoundBlackGlasses compare VAR_RESULT, 1 - goto_eq Route116_EventScript_1F2E1B + goto_if_eq Route116_EventScript_1F2E1B msgbox Route116_Text_1F375E, MSGBOX_DEFAULT release end @@ -201,13 +197,13 @@ Route116_EventScript_1F2E1B:: @ 81F2E1B Route116_EventScript_1F2E2A:: @ 81F2E2A delay 20 compare VAR_FACING, 2 - call_if 1, Route116_EventScript_1F2E5E + call_if_eq Route116_EventScript_1F2E5E compare VAR_FACING, 1 - call_if 1, Route116_EventScript_1F2E5E + call_if_eq Route116_EventScript_1F2E5E compare VAR_FACING, 3 - call_if 1, Route116_EventScript_1F2E5E + call_if_eq Route116_EventScript_1F2E5E compare VAR_FACING, 4 - call_if 1, Route116_EventScript_1F2E69 + call_if_eq Route116_EventScript_1F2E69 removeobject VAR_LAST_TALKED release end @@ -261,18 +257,17 @@ Route116_EventScript_1F2EB7:: @ 81F2EB7 trainerbattle_single TRAINER_JERRY_1, Route116_Text_29BD0C, Route116_Text_29BD66, Route116_EventScript_1F2EF8 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route116_EventScript_1F2F4E + goto_if_eq Route116_EventScript_1F2F4E setvar VAR_0x8004, 273 specialvar VAR_RESULT, sub_813B4E0 compare VAR_RESULT, 0 - goto_eq Route116_EventScript_1F2F22 + goto_if_eq Route116_EventScript_1F2F22 msgbox Route116_Text_29BD92, MSGBOX_DEFAULT release end Route116_EventScript_1F2EF8:: @ 81F2EF8 - checkflag FLAG_HAS_MATCH_CALL - goto_eq Route116_EventScript_1F2F03 + goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F2F03 release end @@ -285,8 +280,7 @@ Route116_EventScript_1F2F03:: @ 81F2F03 end Route116_EventScript_1F2F22:: @ 81F2F22 - checkflag FLAG_HAS_MATCH_CALL - goto_eq Route116_EventScript_1F2F35 + goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F2F35 msgbox Route116_Text_29BD92, MSGBOX_DEFAULT release end @@ -316,18 +310,17 @@ Route116_EventScript_1F2F93:: @ 81F2F93 trainerbattle_single TRAINER_KAREN_1, Route116_Text_29BFC5, Route116_Text_29BFFA, Route116_EventScript_1F2FD4 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route116_EventScript_1F302A + goto_if_eq Route116_EventScript_1F302A setvar VAR_0x8004, 280 specialvar VAR_RESULT, sub_813B4E0 compare VAR_RESULT, 0 - goto_eq Route116_EventScript_1F2FFE + goto_if_eq Route116_EventScript_1F2FFE msgbox Route116_Text_29C010, MSGBOX_DEFAULT release end Route116_EventScript_1F2FD4:: @ 81F2FD4 - checkflag FLAG_HAS_MATCH_CALL - goto_eq Route116_EventScript_1F2FDF + goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F2FDF release end @@ -340,8 +333,7 @@ Route116_EventScript_1F2FDF:: @ 81F2FDF end Route116_EventScript_1F2FFE:: @ 81F2FFE - checkflag FLAG_HAS_MATCH_CALL - goto_eq Route116_EventScript_1F3011 + goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F3011 msgbox Route116_Text_29C010, MSGBOX_DEFAULT release end diff --git a/data/maps/Route116_TunnelersRestHouse/scripts.inc b/data/maps/Route116_TunnelersRestHouse/scripts.inc index af5a96675..89ccdce8d 100644 --- a/data/maps/Route116_TunnelersRestHouse/scripts.inc +++ b/data/maps/Route116_TunnelersRestHouse/scripts.inc @@ -17,8 +17,7 @@ Route116_TunnelersRestHouse_EventScript_22B863:: @ 822B863 Route116_TunnelersRestHouse_EventScript_22B86C:: @ 822B86C lock faceplayer - checkflag FLAG_RUSTURF_TUNNEL_OPENED - goto_eq Route116_TunnelersRestHouse_EventScript_22B881 + goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, Route116_TunnelersRestHouse_EventScript_22B881 msgbox Route116_TunnelersRestHouse_Text_22BAAF, MSGBOX_DEFAULT release end diff --git a/data/maps/Route117/scripts.inc b/data/maps/Route117/scripts.inc index 1dbc7167e..4a51c17d8 100644 --- a/data/maps/Route117/scripts.inc +++ b/data/maps/Route117/scripts.inc @@ -7,8 +7,7 @@ Route117_MapScript1_1F3983: @ 81F3983 end Route117_EventScript_1F3989:: @ 81F3989 - checkflag FLAG_PENDING_DAYCARE_EGG - goto_if 0, Route117_EventScript_1F3999 + goto_if_unset FLAG_PENDING_DAYCARE_EGG, Route117_EventScript_1F3999 setobjectxyperm 3, 47, 6 Route117_EventScript_1F3999:: @ 81F3999 @@ -42,7 +41,7 @@ Route117_EventScript_1F39D0:: @ 81F39D0 trainerbattle_single TRAINER_ISAAC_1, Route117_Text_29C43F, Route117_Text_29C47A, Route117_EventScript_1F39FC specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route117_EventScript_1F3A1B + goto_if_eq Route117_EventScript_1F3A1B msgbox Route117_Text_29C498, MSGBOX_DEFAULT release end @@ -64,7 +63,7 @@ Route117_EventScript_1F3A32:: @ 81F3A32 trainerbattle_single TRAINER_LYDIA_1, Route117_Text_29C612, Route117_Text_29C659, Route117_EventScript_1F3A5E specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route117_EventScript_1F3A7D + goto_if_eq Route117_EventScript_1F3A7D msgbox Route117_Text_29C679, MSGBOX_DEFAULT release end @@ -86,7 +85,7 @@ Route117_EventScript_1F3A94:: @ 81F3A94 trainerbattle_single TRAINER_DYLAN_1, Route117_Text_29C7A5, Route117_Text_29C7EB, Route117_EventScript_1F3AC0 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route117_EventScript_1F3ADF + goto_if_eq Route117_EventScript_1F3ADF msgbox Route117_Text_29C800, MSGBOX_DEFAULT release end @@ -108,7 +107,7 @@ Route117_EventScript_1F3AF6:: @ 81F3AF6 trainerbattle_single TRAINER_MARIA_1, Route117_Text_29C955, Route117_Text_29C9A6, Route117_EventScript_1F3B22 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route117_EventScript_1F3B41 + goto_if_eq Route117_EventScript_1F3B41 msgbox Route117_Text_29C9D0, MSGBOX_DEFAULT release end @@ -135,7 +134,7 @@ Route117_EventScript_1F3B6F:: @ 81F3B6F trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CC4A, Route117_Text_29CC8E, Route117_Text_29CD61, Route117_EventScript_1F3B9F specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route117_EventScript_1F3BB8 + goto_if_eq Route117_EventScript_1F3BB8 msgbox Route117_Text_29CCCB, MSGBOX_DEFAULT release end @@ -155,7 +154,7 @@ Route117_EventScript_1F3BD3:: @ 81F3BD3 trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CD9D, Route117_Text_29CDE9, Route117_Text_29CE52, Route117_EventScript_1F3C03 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route117_EventScript_1F3C1C + goto_if_eq Route117_EventScript_1F3C1C msgbox Route117_Text_29CE17, MSGBOX_DEFAULT release end diff --git a/data/maps/Route118/scripts.inc b/data/maps/Route118/scripts.inc index 8d1cf48e4..91067e786 100644 --- a/data/maps/Route118/scripts.inc +++ b/data/maps/Route118/scripts.inc @@ -7,18 +7,18 @@ Route118_MapScripts:: @ 81F3DBC Route118_MapScript1_1F3DCC: @ 81F3DCC call Route118_EventScript_28CCC7 compare VAR_0x4039, 1 - call_if 1, Route118_EventScript_273D13 + call_if_eq Route118_EventScript_273D13 compare VAR_0x4037, 7 - call_if 1, Route118_EventScript_273D1B + call_if_eq Route118_EventScript_273D1B compare VAR_0x4037, 8 - call_if 1, Route118_EventScript_273D1B + call_if_eq Route118_EventScript_273D1B end Route118_MapScript1_1F3DF3: @ 81F3DF3 compare VAR_0x4037, 7 - call_if 1, Route118_EventScript_273985 + call_if_eq Route118_EventScript_273985 compare VAR_0x4037, 8 - call_if 1, Route118_EventScript_273998 + call_if_eq Route118_EventScript_273998 end Route118_MapScript2_1F3E0A: @ 81F3E0A @@ -28,13 +28,12 @@ Route118_MapScript2_1F3E0A: @ 81F3E0A Route118_EventScript_1F3E14:: @ 81F3E14 lock faceplayer - checkflag FLAG_0x0E3 - goto_eq Route118_EventScript_1F3E69 + goto_if_set FLAG_0x0E3, Route118_EventScript_1F3E69 msgbox Route118_Text_1F427B, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route118_EventScript_1F3E3E + goto_if_eq Route118_EventScript_1F3E3E compare VAR_RESULT, 0 - goto_eq Route118_EventScript_1F3E5F + goto_if_eq Route118_EventScript_1F3E5F end Route118_EventScript_1F3E3E:: @ 81F3E3E @@ -70,7 +69,7 @@ Route118_EventScript_1F3E85:: @ 81F3E85 Route118_EventScript_1F3E8E:: @ 81F3E8E lockall setvar VAR_0x8008, 0 - applymovement 255, Route118_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_2725B2 waitmovement 0 applymovement 19, Route118_Movement_1F3F61 waitmovement 0 @@ -80,7 +79,7 @@ Route118_EventScript_1F3E8E:: @ 81F3E8E Route118_EventScript_1F3EAE:: @ 81F3EAE lockall setvar VAR_0x8008, 1 - applymovement 255, Route118_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_2725B2 waitmovement 0 goto Route118_EventScript_1F3EE4 end @@ -88,7 +87,7 @@ Route118_EventScript_1F3EAE:: @ 81F3EAE Route118_EventScript_1F3EC4:: @ 81F3EC4 lockall setvar VAR_0x8008, 2 - applymovement 255, Route118_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_2725B2 waitmovement 0 applymovement 19, Route118_Movement_1F3F63 waitmovement 0 @@ -103,30 +102,30 @@ Route118_EventScript_1F3EE4:: @ 81F3EE4 msgbox Route118_Text_1F40BE, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if 1, Route118_EventScript_1F3F28 + call_if_eq Route118_EventScript_1F3F28 compare VAR_0x8008, 1 - call_if 1, Route118_EventScript_1F3F3A + call_if_eq Route118_EventScript_1F3F3A compare VAR_0x8008, 2 - call_if 1, Route118_EventScript_1F3F4C + call_if_eq Route118_EventScript_1F3F4C setvar VAR_0x4071, 1 removeobject 19 releaseall end Route118_EventScript_1F3F28:: @ 81F3F28 - applymovement 255, Route118_Movement_1F3F5E + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E applymovement 19, Route118_Movement_1F3F69 waitmovement 0 return Route118_EventScript_1F3F3A:: @ 81F3F3A - applymovement 255, Route118_Movement_1F3F5E + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E applymovement 19, Route118_Movement_1F3F74 waitmovement 0 return Route118_EventScript_1F3F4C:: @ 81F3F4C - applymovement 255, Route118_Movement_1F3F5E + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E applymovement 19, Route118_Movement_1F3F7E waitmovement 0 return @@ -190,7 +189,7 @@ Route118_EventScript_1F3F87:: @ 81F3F87 trainerbattle_single TRAINER_ROSE_1, Route118_Text_29D290, Route118_Text_29D2D8, Route118_EventScript_1F3FB3 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route118_EventScript_1F3FD2 + goto_if_eq Route118_EventScript_1F3FD2 msgbox Route118_Text_29D2FA, MSGBOX_DEFAULT release end @@ -222,7 +221,7 @@ Route118_EventScript_1F4017:: @ 81F4017 trainerbattle_single TRAINER_DALTON_1, Route118_Text_29D6AF, Route118_Text_29D6CD, Route118_EventScript_1F4043 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route118_EventScript_1F4062 + goto_if_eq Route118_EventScript_1F4062 msgbox Route118_Text_29D6D8, MSGBOX_DEFAULT release end diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc index fd1d127d1..229db6da5 100644 --- a/data/maps/Route119/scripts.inc +++ b/data/maps/Route119/scripts.inc @@ -4,14 +4,13 @@ Route119_MapScripts:: @ 81F4424 .byte 0 Route119_MapScript1_1F442F: @ 81F442F - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, Route119_EventScript_1F4439 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route119_EventScript_1F4439 end Route119_EventScript_1F4439:: @ 81F4439 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, Route119_EventScript_27374E + goto_if_ne Route119_EventScript_27374E removeobject VAR_LAST_TALKED return @@ -19,7 +18,7 @@ Route119_MapScript1_1F444D: @ 81F444D call Route119_EventScript_271ED7 call Route119_EventScript_271EFB compare VAR_WEATHER_INSTITUTE_STATE, 1 - call_if 1, Route119_EventScript_1F4466 + call_if_eq Route119_EventScript_1F4466 special SetRoute119Weather end @@ -44,29 +43,29 @@ Route119_EventScript_1F4488:: @ 81F4488 addobject 25 checkplayergender compare VAR_RESULT, 0 - call_if 1, Route119_EventScript_1F4501 + call_if_eq Route119_EventScript_1F4501 compare VAR_RESULT, 1 - call_if 1, Route119_EventScript_1F4506 + call_if_eq Route119_EventScript_1F4506 delay 65 compare VAR_TEMP_1, 1 - call_if 1, Route119_EventScript_1F46C6 + call_if_eq Route119_EventScript_1F46C6 compare VAR_TEMP_1, 2 - call_if 1, Route119_EventScript_1F46D1 - applymovement 255, Route119_Movement_2725AA + call_if_eq Route119_EventScript_1F46D1 + applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_2725AA waitmovement 0 delay 30 compare VAR_TEMP_1, 1 - call_if 1, Route119_EventScript_1F4700 + call_if_eq Route119_EventScript_1F4700 compare VAR_TEMP_1, 2 - call_if 1, Route119_EventScript_1F470F + call_if_eq Route119_EventScript_1F470F removeobject 25 addobject 16 delay 30 checkplayergender compare VAR_RESULT, 0 - goto_eq Route119_EventScript_1F450B + goto_if_eq Route119_EventScript_1F450B compare VAR_RESULT, 1 - goto_eq Route119_EventScript_1F4585 + goto_if_eq Route119_EventScript_1F4585 releaseall end @@ -146,25 +145,25 @@ Route119_EventScript_1F45FF:: @ 81F45FF Route119_EventScript_1F460F:: @ 81F460F closemessage compare VAR_TEMP_1, 1 - call_if 1, Route119_EventScript_1F4700 + call_if_eq Route119_EventScript_1F4700 compare VAR_TEMP_1, 2 - call_if 1, Route119_EventScript_1F470F + call_if_eq Route119_EventScript_1F470F removeobject 16 addobject 25 delay 30 compare VAR_TEMP_1, 1 - call_if 1, Route119_EventScript_1F46DC + call_if_eq Route119_EventScript_1F46DC compare VAR_TEMP_1, 2 - call_if 1, Route119_EventScript_1F46EE + call_if_eq Route119_EventScript_1F46EE removeobject 25 setvar VAR_0x4072, 1 savebgm MUS_DUMMY fadedefaultbgm delay 60 compare VAR_TEMP_1, 1 - call_if 1, Route119_EventScript_1F46A0 + call_if_eq Route119_EventScript_1F46A0 compare VAR_TEMP_1, 2 - call_if 1, Route119_EventScript_1F46A8 + call_if_eq Route119_EventScript_1F46A8 addobject 43 applymovement 43, Route119_Movement_1F4752 waitmovement 0 @@ -172,9 +171,9 @@ Route119_EventScript_1F460F:: @ 81F460F msgbox Route119_Text_1F4E60, MSGBOX_DEFAULT closemessage compare VAR_TEMP_1, 1 - call_if 1, Route119_EventScript_1F46B0 + call_if_eq Route119_EventScript_1F46B0 compare VAR_TEMP_1, 2 - call_if 1, Route119_EventScript_1F46BB + call_if_eq Route119_EventScript_1F46BB removeobject 43 releaseall end @@ -208,13 +207,13 @@ Route119_EventScript_1F46D1:: @ 81F46D1 return Route119_EventScript_1F46DC:: @ 81F46DC - applymovement 255, Route119_Movement_1F471E + applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_1F471E applymovement 25, Route119_Movement_1F473D waitmovement 0 return Route119_EventScript_1F46EE:: @ 81F46EE - applymovement 255, Route119_Movement_1F4723 + applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_1F4723 applymovement 25, Route119_Movement_1F4747 waitmovement 0 return @@ -370,7 +369,7 @@ Route119_EventScript_1F4810:: @ 81F4810 trainerbattle_single TRAINER_JACKSON_1, Route119_Text_29DC4C, Route119_Text_29DC9F, Route119_EventScript_1F483C specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route119_EventScript_1F485B + goto_if_eq Route119_EventScript_1F485B msgbox Route119_Text_29DCC6, MSGBOX_DEFAULT release end @@ -392,7 +391,7 @@ Route119_EventScript_1F4872:: @ 81F4872 trainerbattle_single TRAINER_CATHERINE_1, Route119_Text_29DE0F, Route119_Text_29DE5D, Route119_EventScript_1F489E specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route119_EventScript_1F48BD + goto_if_eq Route119_EventScript_1F48BD msgbox Route119_Text_29DE88, MSGBOX_DEFAULT release end diff --git a/data/maps/Route119_WeatherInstitute_1F/scripts.inc b/data/maps/Route119_WeatherInstitute_1F/scripts.inc index 3b36baf91..b0426ea2e 100644 --- a/data/maps/Route119_WeatherInstitute_1F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_1F/scripts.inc @@ -4,7 +4,7 @@ Route119_WeatherInstitute_1F_MapScripts:: @ 826FA86 Route119_WeatherInstitute_1F_MapScript1_26FA8C: @ 826FA8C compare VAR_WEATHER_INSTITUTE_STATE, 0 - call_if 1, Route119_WeatherInstitute_1F_EventScript_26FA98 + call_if_eq Route119_WeatherInstitute_1F_EventScript_26FA98 end Route119_WeatherInstitute_1F_EventScript_26FA98:: @ 826FA98 @@ -17,7 +17,7 @@ Route119_WeatherInstitute_1F_EventScript_26FAA4:: @ 826FAA4 faceplayer special GetPlayerBigGuyGirlString compare VAR_WEATHER_INSTITUTE_STATE, 0 - goto_eq Route119_WeatherInstitute_1F_EventScript_26FABE + goto_if_eq Route119_WeatherInstitute_1F_EventScript_26FABE msgbox Route119_WeatherInstitute_1F_Text_26FCE5, MSGBOX_DEFAULT release end @@ -30,15 +30,12 @@ Route119_WeatherInstitute_1F_EventScript_26FABE:: @ 826FABE Route119_WeatherInstitute_1F_EventScript_26FAC8:: @ 826FAC8 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, Route119_WeatherInstitute_1F_EventScript_26FB05 + goto_if_unset FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_1F_EventScript_26FB05 setvar VAR_0x8004, 0 - checkflag FLAG_0x1BE - call_if 1, Route119_WeatherInstitute_1F_EventScript_26FAFF - checkflag FLAG_0x1BF - call_if 1, Route119_WeatherInstitute_1F_EventScript_26FAFF + call_if_set FLAG_0x1BE, Route119_WeatherInstitute_1F_EventScript_26FAFF + call_if_set FLAG_0x1BF, Route119_WeatherInstitute_1F_EventScript_26FAFF compare VAR_0x8004, 2 - goto_eq Route119_WeatherInstitute_1F_EventScript_26FB05 + goto_if_eq Route119_WeatherInstitute_1F_EventScript_26FB05 msgbox Route119_WeatherInstitute_1F_Text_26FDE8, MSGBOX_DEFAULT release end diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc index 35dd538df..6d54e62ad 100644 --- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc @@ -4,11 +4,10 @@ Route119_WeatherInstitute_2F_MapScripts:: @ 826FF1E Route119_WeatherInstitute_2F_MapScript1_26FF24: @ 826FF24 compare VAR_WEATHER_INSTITUTE_STATE, 0 - call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF44 + call_if_eq Route119_WeatherInstitute_2F_EventScript_26FF44 compare VAR_WEATHER_INSTITUTE_STATE, 1 - call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF50 - checkflag FLAG_SYS_GAME_CLEAR - call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF5C + call_if_eq Route119_WeatherInstitute_2F_EventScript_26FF50 + call_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_26FF5C end Route119_WeatherInstitute_2F_EventScript_26FF44:: @ 826FF44 @@ -51,7 +50,7 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8 closemessage addobject 7 applymovement 7, Route119_WeatherInstitute_2F_Movement_270170 - applymovement 255, Route119_WeatherInstitute_2F_Movement_27017C + applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_27017C waitmovement 0 msgbox Route119_WeatherInstitute_2F_Text_270568, MSGBOX_DEFAULT closemessage @@ -73,7 +72,7 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8 removeobject 3 removeobject 8 removeobject 7 - applymovement 255, Route119_WeatherInstitute_2F_Movement_270184 + applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_270184 waitmovement 0 fadescreen 0 applymovement 5, Route119_WeatherInstitute_2F_Movement_270187 @@ -87,9 +86,9 @@ Route119_WeatherInstitute_2F_EventScript_27004D:: @ 827004D setvar VAR_TEMP_1, 385 givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER, 0x0, 0x0, 0 compare VAR_RESULT, 0 - goto_eq Route119_WeatherInstitute_2F_EventScript_270085 + goto_if_eq Route119_WeatherInstitute_2F_EventScript_270085 compare VAR_RESULT, 1 - goto_eq Route119_WeatherInstitute_2F_EventScript_2700AD + goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700AD goto Route119_WeatherInstitute_2F_EventScript_273811 end @@ -97,7 +96,7 @@ Route119_WeatherInstitute_2F_EventScript_270085:: @ 8270085 call Route119_WeatherInstitute_2F_EventScript_2700DB msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route119_WeatherInstitute_2F_EventScript_2700EA + goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700EA call Route119_WeatherInstitute_2F_EventScript_27378B call Route119_WeatherInstitute_2F_EventScript_2723DD goto Route119_WeatherInstitute_2F_EventScript_2700EA @@ -107,7 +106,7 @@ Route119_WeatherInstitute_2F_EventScript_2700AD:: @ 82700AD call Route119_WeatherInstitute_2F_EventScript_2700DB msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route119_WeatherInstitute_2F_EventScript_2700D0 + goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700D0 call Route119_WeatherInstitute_2F_EventScript_273797 goto Route119_WeatherInstitute_2F_EventScript_2700D0 end @@ -132,25 +131,21 @@ Route119_WeatherInstitute_2F_EventScript_2700EA:: @ 82700EA end Route119_WeatherInstitute_2F_EventScript_2700F7:: @ 82700F7 - checkflag FLAG_SYS_GAME_CLEAR - goto_eq Route119_WeatherInstitute_2F_EventScript_27010A + goto_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_27010A msgbox Route119_WeatherInstitute_2F_Text_27077E, MSGBOX_DEFAULT release end Route119_WeatherInstitute_2F_EventScript_27010A:: @ 827010A setvar VAR_0x8004, 0 - checkflag FLAG_0x1BE - call_if 1, Route119_WeatherInstitute_2F_EventScript_270160 - checkflag FLAG_0x1BF - call_if 1, Route119_WeatherInstitute_2F_EventScript_270160 + call_if_set FLAG_0x1BE, Route119_WeatherInstitute_2F_EventScript_270160 + call_if_set FLAG_0x1BF, Route119_WeatherInstitute_2F_EventScript_270160 compare VAR_0x8004, 2 - goto_eq Route119_WeatherInstitute_2F_EventScript_270166 - checkflag FLAG_TEMP_2 - call_if 0, Route119_WeatherInstitute_2F_EventScript_270159 + goto_if_eq Route119_WeatherInstitute_2F_EventScript_270166 + call_if_unset FLAG_TEMP_2, Route119_WeatherInstitute_2F_EventScript_270159 specialvar VAR_RESULT, sub_813B374 compare VAR_RESULT, 1 - goto_eq Route119_WeatherInstitute_2F_EventScript_27014F + goto_if_eq Route119_WeatherInstitute_2F_EventScript_27014F msgbox Route119_WeatherInstitute_2F_Text_2707F1, MSGBOX_DEFAULT release end @@ -212,8 +207,7 @@ Route119_WeatherInstitute_2F_Movement_270187: @ 8270187 Route119_WeatherInstitute_2F_EventScript_27018B:: @ 827018B lock faceplayer - checkflag FLAG_0x097 - goto_eq Route119_WeatherInstitute_2F_EventScript_2700F7 + goto_if_set FLAG_0x097, Route119_WeatherInstitute_2F_EventScript_2700F7 goto Route119_WeatherInstitute_2F_EventScript_27004D end diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc index ba16b1a2f..cde0fbbd3 100644 --- a/data/maps/Route120/scripts.inc +++ b/data/maps/Route120/scripts.inc @@ -5,29 +5,28 @@ Route120_MapScripts:: @ 81F53EC .byte 0 Route120_MapScript1_1F53FC: @ 81F53FC - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, Route120_EventScript_1F5406 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route120_EventScript_1F5406 end Route120_EventScript_1F5406:: @ 81F5406 compare VAR_0x8009, 0 - call_if 1, Route120_EventScript_1F5449 + call_if_eq Route120_EventScript_1F5449 compare VAR_0x8009, 1 - call_if 1, Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_1F5460 compare VAR_0x8009, 2 - call_if 1, Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_1F5460 compare VAR_0x8009, 3 - call_if 1, Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_1F5460 compare VAR_0x8009, 4 - call_if 1, Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_1F5460 compare VAR_0x8009, 5 - call_if 1, Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_1F5460 return Route120_EventScript_1F5449:: @ 81F5449 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, Route120_EventScript_27374E + goto_if_ne Route120_EventScript_27374E removeobject 30 removeobject 36 return @@ -35,17 +34,14 @@ Route120_EventScript_1F5449:: @ 81F5449 Route120_EventScript_1F5460:: @ 81F5460 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, Route120_EventScript_27374E + goto_if_ne Route120_EventScript_27374E removeobject VAR_LAST_TALKED return Route120_MapScript1_1F5474: @ 81F5474 - checkflag FLAG_0x0E4 - call_if 0, Route120_EventScript_1F5490 - checkflag FLAG_0x11D - call_if 1, Route120_EventScript_1F54A3 - checkflag FLAG_0x11D - call_if 0, Route120_EventScript_1F54C8 + call_if_unset FLAG_0x0E4, Route120_EventScript_1F5490 + call_if_set FLAG_0x11D, Route120_EventScript_1F54A3 + call_if_unset FLAG_0x11D, Route120_EventScript_1F54C8 end Route120_EventScript_1F5490:: @ 81F5490 @@ -72,44 +68,43 @@ Route120_MapScript1_1F54CD: @ 81F54CD Route120_EventScript_1F54D8:: @ 81F54D8 getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_1, 14 - goto_if 3, Route120_EventScript_1F5503 + goto_if_le Route120_EventScript_1F5503 compare VAR_TEMP_1, 60 - goto_if 3, Route120_EventScript_1F5507 + goto_if_le Route120_EventScript_1F5507 compare VAR_TEMP_1, 61 - goto_if 4, Route120_EventScript_1F54FF + goto_if_ge Route120_EventScript_1F54FF return Route120_EventScript_1F54FF:: @ 81F54FF - setweather 1 + setweather WEATHER_CLOUDS return Route120_EventScript_1F5503:: @ 81F5503 - setweather 2 + setweather WEATHER_SUNNY return Route120_EventScript_1F5507:: @ 81F5507 compare VAR_TEMP_0, 7 - goto_if 3, Route120_EventScript_1F5523 + goto_if_le Route120_EventScript_1F5523 compare VAR_TEMP_0, 19 - goto_if 3, Route120_EventScript_1F5503 + goto_if_le Route120_EventScript_1F5503 goto Route120_EventScript_1F5523 end Route120_EventScript_1F5523:: @ 81F5523 - setweather 3 + setweather WEATHER_RAIN_LIGHT return Route120_EventScript_1F5527:: @ 81F5527 lock faceplayer dodailyevents - checkflag FLAG_0x92E - goto_eq Route120_EventScript_1F5625 + goto_if_set FLAG_0x92E, Route120_EventScript_1F5625 msgbox Route120_Text_2A70C7, MSGBOX_YESNO compare VAR_RESULT, 1 - call_if 1, Route120_EventScript_1F562F + call_if_eq Route120_EventScript_1F562F compare VAR_RESULT, 0 - call_if 1, Route120_EventScript_1F5638 + call_if_eq Route120_EventScript_1F5638 specialvar VAR_RESULT, GetPlayerTrainerIdOnesDigit switch VAR_RESULT case 0, Route120_EventScript_1F55CA @@ -152,7 +147,7 @@ Route120_EventScript_1F55F6:: @ 81F55F6 Route120_EventScript_1F5601:: @ 81F5601 giveitem_std VAR_0x8004 compare VAR_RESULT, 0 - goto_eq Route120_EventScript_272054 + goto_if_eq Route120_EventScript_272054 setflag FLAG_0x92E msgbox Route120_Text_2A71D5, MSGBOX_DEFAULT release @@ -174,11 +169,10 @@ Route120_EventScript_1F5638:: @ 81F5638 Route120_EventScript_1F5641:: @ 81F5641 lock faceplayer - checkflag FLAG_0x122 - goto_eq Route120_EventScript_1F5672 + goto_if_set FLAG_0x122, Route120_EventScript_1F5672 msgbox Route120_Text_1F5998, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route120_EventScript_1F5665 + goto_if_eq Route120_EventScript_1F5665 goto Route120_EventScript_1F568B end @@ -191,7 +185,7 @@ Route120_EventScript_1F5665:: @ 81F5665 Route120_EventScript_1F5672:: @ 81F5672 msgbox Route120_Text_1F5ADE, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route120_EventScript_1F5665 + goto_if_eq Route120_EventScript_1F5665 goto Route120_EventScript_1F568B end @@ -199,9 +193,9 @@ Route120_EventScript_1F568B:: @ 81F568B msgbox Route120_Text_1F5B0F, MSGBOX_DEFAULT closemessage compare VAR_FACING, 2 - call_if 1, Route120_EventScript_1F57A3 + call_if_eq Route120_EventScript_1F57A3 compare VAR_FACING, 3 - call_if 1, Route120_EventScript_1F57AE + call_if_eq Route120_EventScript_1F57AE applymovement 31, Route120_Movement_2725A4 waitmovement 0 delay 20 @@ -222,11 +216,11 @@ Route120_EventScript_1F568B:: @ 81F568B clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq Route120_EventScript_1F571C + goto_if_eq Route120_EventScript_1F571C compare VAR_RESULT, 4 - goto_eq Route120_EventScript_1F571C + goto_if_eq Route120_EventScript_1F571C compare VAR_RESULT, 5 - goto_eq Route120_EventScript_1F571C + goto_if_eq Route120_EventScript_1F571C goto Route120_EventScript_1F572C end @@ -240,7 +234,7 @@ Route120_EventScript_1F571C:: @ 81F571C Route120_EventScript_1F572C:: @ 81F572C applymovement 31, Route120_Movement_2725AA - applymovement 255, Route120_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_2725A6 waitmovement 0 msgbox Route120_Text_1F5BAF, MSGBOX_DEFAULT giveitem_std ITEM_DEVON_SCOPE @@ -264,12 +258,12 @@ Route120_EventScript_1F572C:: @ 81F572C end Route120_EventScript_1F57A3:: @ 81F57A3 - applymovement 255, Route120_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_2725A4 waitmovement 0 return Route120_EventScript_1F57AE:: @ 81F57AE - applymovement 255, Route120_Movement_1F57B9 + applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_1F57B9 waitmovement 0 return @@ -299,7 +293,7 @@ Route120_EventScript_1F57EE:: @ 81F57EE trainerbattle_single TRAINER_ROBERT_1, Route120_Text_29E6E3, Route120_Text_29E70A, Route120_EventScript_1F581A specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route120_EventScript_1F5839 + goto_if_eq Route120_EventScript_1F5839 msgbox Route120_Text_29E726, MSGBOX_DEFAULT release end @@ -331,7 +325,7 @@ Route120_EventScript_1F587E:: @ 81F587E trainerbattle_single TRAINER_JEFFREY_1, Route120_Text_29E9D7, Route120_Text_29E9FF, Route120_EventScript_1F58AA specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route120_EventScript_1F58C9 + goto_if_eq Route120_EventScript_1F58C9 msgbox Route120_Text_29EA08, MSGBOX_DEFAULT release end diff --git a/data/maps/Route121/scripts.inc b/data/maps/Route121/scripts.inc index 2d65779e7..ee361d30c 100644 --- a/data/maps/Route121/scripts.inc +++ b/data/maps/Route121/scripts.inc @@ -74,7 +74,7 @@ Route121_EventScript_1F5E8B:: @ 81F5E8B trainerbattle_single TRAINER_WALTER_1, Route121_Text_29F199, Route121_Text_29F20D, Route121_EventScript_1F5EB7 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route121_EventScript_1F5ED6 + goto_if_eq Route121_EventScript_1F5ED6 msgbox Route121_Text_29F21E, MSGBOX_DEFAULT release end @@ -111,7 +111,7 @@ Route121_EventScript_1F5F3A:: @ 81F5F3A trainerbattle_single TRAINER_JESSICA_1, Route121_Text_29F612, Route121_Text_29F641, Route121_EventScript_1F5F66 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route121_EventScript_1F5F85 + goto_if_eq Route121_EventScript_1F5F85 msgbox Route121_Text_29F66F, MSGBOX_DEFAULT release end @@ -153,7 +153,7 @@ Route121_EventScript_1F5FF8:: @ 81F5FF8 trainerbattle_single TRAINER_CRISTIN_1, Route121_Text_29F770, Route121_Text_29F7C1, Route121_EventScript_1F6024 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route121_EventScript_1F6043 + goto_if_eq Route121_EventScript_1F6043 msgbox Route121_Text_29F7D4, MSGBOX_DEFAULT release end diff --git a/data/maps/Route121_SafariZoneEntrance/scripts.inc b/data/maps/Route121_SafariZoneEntrance/scripts.inc index 12fa8112e..4a26d8075 100644 --- a/data/maps/Route121_SafariZoneEntrance/scripts.inc +++ b/data/maps/Route121_SafariZoneEntrance/scripts.inc @@ -8,7 +8,7 @@ Route121_SafariZoneEntrance_MapScript2_22BBC1: @ 822BBC1 Route121_SafariZoneEntrance_EventScript_22BBCB:: @ 822BBCB lockall - applymovement 255, Route121_SafariZoneEntrance_Movement_22BBDD + applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BBDD waitmovement 0 setvar VAR_0x40A4, 0 releaseall @@ -34,7 +34,7 @@ Route121_SafariZoneEntrance_EventScript_22BBEF:: @ 822BBEF faceplayer msgbox Route121_SafariZoneEntrance_Text_2A4E46, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route121_SafariZoneEntrance_EventScript_22BC0E + goto_if_eq Route121_SafariZoneEntrance_EventScript_22BC0E msgbox Route121_SafariZoneEntrance_Text_2A4E7E, MSGBOX_DEFAULT release end @@ -46,12 +46,12 @@ Route121_SafariZoneEntrance_EventScript_22BC0E:: @ 822BC0E Route121_SafariZoneEntrance_EventScript_22BC18:: @ 822BC18 lockall - applymovement 255, Route121_SafariZoneEntrance_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_2725A6 waitmovement 0 showmoneybox 0, 0, 0 msgbox Route121_SafariZoneEntrance_Text_2A4F74, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route121_SafariZoneEntrance_EventScript_22BC48 + goto_if_eq Route121_SafariZoneEntrance_EventScript_22BC48 msgbox Route121_SafariZoneEntrance_Text_2A4FD7, MSGBOX_DEFAULT goto Route121_SafariZoneEntrance_EventScript_22BD06 end @@ -59,11 +59,11 @@ Route121_SafariZoneEntrance_EventScript_22BC18:: @ 822BC18 Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48 checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 - goto_eq Route121_SafariZoneEntrance_EventScript_22BCEA + goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCEA call Route121_SafariZoneEntrance_EventScript_22BCBF checkmoney 0x1f4, 0 compare VAR_RESULT, 0 - goto_eq Route121_SafariZoneEntrance_EventScript_22BCF8 + goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCF8 playse SE_REGI msgbox Route121_SafariZoneEntrance_Text_2A501B, MSGBOX_DEFAULT takemoney 0x1f4, 0 @@ -78,7 +78,7 @@ Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48 hidemoneybox nop nop - applymovement 255, Route121_SafariZoneEntrance_Movement_22BD18 + applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BD18 waitmovement 0 special EnterSafariMode setvar VAR_0x40A4, 2 @@ -90,10 +90,10 @@ Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48 Route121_SafariZoneEntrance_EventScript_22BCBF:: @ 822BCBF getpartysize compare VAR_RESULT, 6 - goto_if 5, Route121_SafariZoneEntrance_EventScript_22BCE9 + goto_if_ne Route121_SafariZoneEntrance_EventScript_22BCE9 specialvar VAR_RESULT, ScriptCheckFreePokemonStorageSpace compare VAR_RESULT, 1 - goto_eq Route121_SafariZoneEntrance_EventScript_22BCE9 + goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCE9 msgbox Route121_SafariZoneEntrance_Text_2A50E5, MSGBOX_DEFAULT goto Route121_SafariZoneEntrance_EventScript_22BD06 end @@ -116,7 +116,7 @@ Route121_SafariZoneEntrance_EventScript_22BD06:: @ 822BD06 hidemoneybox nop nop - applymovement 255, Route121_SafariZoneEntrance_Movement_22BD16 + applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BD16 waitmovement 0 releaseall end diff --git a/data/maps/Route123/scripts.inc b/data/maps/Route123/scripts.inc index f2484af83..d56a543da 100644 --- a/data/maps/Route123/scripts.inc +++ b/data/maps/Route123/scripts.inc @@ -9,16 +9,15 @@ Route123_MapScript1_1F614D: @ 81F614D Route123_EventScript_1F6151:: @ 81F6151 lock faceplayer - checkflag FLAG_0x0E8 - goto_eq Route123_EventScript_1F61A0 + goto_if_set FLAG_0x0E8, Route123_EventScript_1F61A0 msgbox Route123_Text_1F641E, MSGBOX_DEFAULT special IsGrassTypeInParty compare VAR_RESULT, 0 - goto_eq Route123_EventScript_1F619E + goto_if_eq Route123_EventScript_1F619E msgbox Route123_Text_1F645D, MSGBOX_DEFAULT giveitem_std ITEM_TM19 compare VAR_RESULT, 0 - goto_eq Route123_EventScript_272054 + goto_if_eq Route123_EventScript_272054 setflag FLAG_0x0E8 msgbox Route123_Text_1F64CF, MSGBOX_DEFAULT release @@ -64,7 +63,7 @@ Route123_EventScript_1F620A:: @ 81F620A trainerbattle_single TRAINER_CAMERON_1, Route123_Text_29FDBA, Route123_Text_29FE1E, Route123_EventScript_1F6236 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route123_EventScript_1F6255 + goto_if_eq Route123_EventScript_1F6255 msgbox Route123_Text_29FE2A, MSGBOX_DEFAULT release end @@ -86,7 +85,7 @@ Route123_EventScript_1F626C:: @ 81F626C trainerbattle_single TRAINER_JACKI_1, Route123_Text_29FF61, Route123_Text_29FFD8, Route123_EventScript_1F6298 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route123_EventScript_1F62B7 + goto_if_eq Route123_EventScript_1F62B7 msgbox Route123_Text_29FFE5, MSGBOX_DEFAULT release end @@ -158,7 +157,7 @@ Route123_EventScript_1F63BC:: @ 81F63BC trainerbattle_single TRAINER_FERNANDO_1, Route123_Text_2A0323, Route123_Text_2A035C, Route123_EventScript_1F63E8 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route123_EventScript_1F6407 + goto_if_eq Route123_EventScript_1F6407 msgbox Route123_Text_2A0389, MSGBOX_DEFAULT release end diff --git a/data/maps/Route123_BerryMastersHouse/scripts.inc b/data/maps/Route123_BerryMastersHouse/scripts.inc index 3ab35b195..a10bf7664 100644 --- a/data/maps/Route123_BerryMastersHouse/scripts.inc +++ b/data/maps/Route123_BerryMastersHouse/scripts.inc @@ -10,15 +10,14 @@ Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845 lock faceplayer dodailyevents - checkflag FLAG_0x92D - goto_eq Route123_BerryMastersHouse_EventScript_26F8B6 + goto_if_set FLAG_0x92D, Route123_BerryMastersHouse_EventScript_26F8B6 msgbox Route123_BerryMastersHouse_Text_2A7386, MSGBOX_DEFAULT random 10 addvar VAR_RESULT, 20 addvar VAR_RESULT, 133 giveitem_std VAR_RESULT compare VAR_RESULT, 0 - goto_eq Route123_BerryMastersHouse_EventScript_272054 + goto_if_eq Route123_BerryMastersHouse_EventScript_272054 setflag FLAG_0x92D msgbox Route123_BerryMastersHouse_Text_2A7428, MSGBOX_DEFAULT random 10 @@ -26,7 +25,7 @@ Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845 addvar VAR_RESULT, 133 giveitem_std VAR_RESULT compare VAR_RESULT, 0 - goto_eq Route123_BerryMastersHouse_EventScript_272054 + goto_if_eq Route123_BerryMastersHouse_EventScript_272054 msgbox Route123_BerryMastersHouse_Text_2A7445, MSGBOX_DEFAULT release end @@ -40,17 +39,16 @@ Route123_BerryMastersHouse_EventScript_26F8C0:: @ 826F8C0 lock faceplayer dodailyevents - checkflag FLAG_0x931 - goto_eq Route123_BerryMastersHouse_EventScript_26FA6F + goto_if_set FLAG_0x931, Route123_BerryMastersHouse_EventScript_26FA6F msgbox Route123_BerryMastersHouse_Text_2A74E6, MSGBOX_DEFAULT setvar VAR_0x8004, 13 call Route123_BerryMastersHouse_EventScript_271E7C lock faceplayer compare VAR_RESULT, 1 - goto_eq Route123_BerryMastersHouse_EventScript_26F909 + goto_if_eq Route123_BerryMastersHouse_EventScript_26F909 compare VAR_RESULT, 0 - goto_eq Route123_BerryMastersHouse_EventScript_26F8F7 + goto_if_eq Route123_BerryMastersHouse_EventScript_26F8F7 end Route123_BerryMastersHouse_EventScript_26F8F7:: @ 826F8F7 @@ -61,17 +59,17 @@ Route123_BerryMastersHouse_EventScript_26F8F7:: @ 826F8F7 Route123_BerryMastersHouse_EventScript_26F909:: @ 826F909 compare VAR_0x8004, 0 - goto_eq Route123_BerryMastersHouse_EventScript_26F94C + goto_if_eq Route123_BerryMastersHouse_EventScript_26F94C compare VAR_0x8004, 1 - goto_eq Route123_BerryMastersHouse_EventScript_26F97A + goto_if_eq Route123_BerryMastersHouse_EventScript_26F97A compare VAR_0x8004, 2 - goto_eq Route123_BerryMastersHouse_EventScript_26F9AB + goto_if_eq Route123_BerryMastersHouse_EventScript_26F9AB compare VAR_0x8004, 3 - goto_eq Route123_BerryMastersHouse_EventScript_26F9DC + goto_if_eq Route123_BerryMastersHouse_EventScript_26F9DC compare VAR_0x8004, 4 - goto_eq Route123_BerryMastersHouse_EventScript_26FA0D + goto_if_eq Route123_BerryMastersHouse_EventScript_26FA0D compare VAR_0x8004, 5 - goto_eq Route123_BerryMastersHouse_EventScript_26FA3E + goto_if_eq Route123_BerryMastersHouse_EventScript_26FA3E end Route123_BerryMastersHouse_EventScript_26F94C:: @ 826F94C @@ -80,62 +78,57 @@ Route123_BerryMastersHouse_EventScript_26F94C:: @ 826F94C addvar VAR_RESULT, 133 giveitem_std VAR_RESULT compare VAR_RESULT, 0 - goto_eq Route123_BerryMastersHouse_EventScript_272054 + goto_if_eq Route123_BerryMastersHouse_EventScript_272054 goto Route123_BerryMastersHouse_EventScript_26FA79 release end Route123_BerryMastersHouse_EventScript_26F97A:: @ 826F97A - checkflag FLAG_0x0F8 - goto_eq Route123_BerryMastersHouse_EventScript_26F94C + goto_if_set FLAG_0x0F8, Route123_BerryMastersHouse_EventScript_26F94C msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT giveitem_std ITEM_SPELON_BERRY compare VAR_RESULT, 0 - goto_eq Route123_BerryMastersHouse_EventScript_272054 + goto_if_eq Route123_BerryMastersHouse_EventScript_272054 setflag FLAG_0x0F8 goto Route123_BerryMastersHouse_EventScript_26FA79 end Route123_BerryMastersHouse_EventScript_26F9AB:: @ 826F9AB - checkflag FLAG_0x0F9 - goto_eq Route123_BerryMastersHouse_EventScript_26F94C + goto_if_set FLAG_0x0F9, Route123_BerryMastersHouse_EventScript_26F94C msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT giveitem_std ITEM_PAMTRE_BERRY compare VAR_RESULT, 0 - goto_eq Route123_BerryMastersHouse_EventScript_272054 + goto_if_eq Route123_BerryMastersHouse_EventScript_272054 setflag FLAG_0x0F9 goto Route123_BerryMastersHouse_EventScript_26FA79 end Route123_BerryMastersHouse_EventScript_26F9DC:: @ 826F9DC - checkflag FLAG_0x0FA - goto_eq Route123_BerryMastersHouse_EventScript_26F94C + goto_if_set FLAG_0x0FA, Route123_BerryMastersHouse_EventScript_26F94C msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT giveitem_std ITEM_WATMEL_BERRY compare VAR_RESULT, 0 - goto_eq Route123_BerryMastersHouse_EventScript_272054 + goto_if_eq Route123_BerryMastersHouse_EventScript_272054 setflag FLAG_0x0FA goto Route123_BerryMastersHouse_EventScript_26FA79 end Route123_BerryMastersHouse_EventScript_26FA0D:: @ 826FA0D - checkflag FLAG_0x0FB - goto_eq Route123_BerryMastersHouse_EventScript_26F94C + goto_if_set FLAG_0x0FB, Route123_BerryMastersHouse_EventScript_26F94C msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT giveitem_std ITEM_DURIN_BERRY compare VAR_RESULT, 0 - goto_eq Route123_BerryMastersHouse_EventScript_272054 + goto_if_eq Route123_BerryMastersHouse_EventScript_272054 setflag FLAG_0x0FB goto Route123_BerryMastersHouse_EventScript_26FA79 end Route123_BerryMastersHouse_EventScript_26FA3E:: @ 826FA3E - checkflag FLAG_0x0FC - goto_eq Route123_BerryMastersHouse_EventScript_26F94C + goto_if_set FLAG_0x0FC, Route123_BerryMastersHouse_EventScript_26F94C msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT giveitem_std ITEM_BELUE_BERRY compare VAR_RESULT, 0 - goto_eq Route123_BerryMastersHouse_EventScript_272054 + goto_if_eq Route123_BerryMastersHouse_EventScript_272054 setflag FLAG_0x0FC goto Route123_BerryMastersHouse_EventScript_26FA79 end diff --git a/data/maps/Route124/scripts.inc b/data/maps/Route124/scripts.inc index b7c40b034..97aa6f4be 100644 --- a/data/maps/Route124/scripts.inc +++ b/data/maps/Route124/scripts.inc @@ -3,8 +3,7 @@ Route124_MapScripts:: @ 81F656C .byte 0 Route124_MapScript1_1F6572: @ 81F6572 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route124_EventScript_27207A + call_if_set FLAG_SYS_WEATHER_CTRL, Route124_EventScript_27207A end Route124_EventScript_1F657C:: @ 81F657C @@ -25,7 +24,7 @@ Route124_EventScript_1F65B3:: @ 81F65B3 trainerbattle_single TRAINER_JENNY_1, Route124_Text_2A0B37, Route124_Text_2A0B7C, Route124_EventScript_1F65DF specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route124_EventScript_1F65FE + goto_if_eq Route124_EventScript_1F65FE msgbox Route124_Text_2A0B9A, MSGBOX_DEFAULT release end @@ -57,7 +56,7 @@ Route124_EventScript_1F6643:: @ 81F6643 trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A0E87, Route124_Text_2A0EFE, Route124_Text_2A0F8C, Route124_EventScript_1F6673 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route124_EventScript_1F668C + goto_if_eq Route124_EventScript_1F668C msgbox Route124_Text_2A0F3A, MSGBOX_DEFAULT release end @@ -77,7 +76,7 @@ Route124_EventScript_1F66A7:: @ 81F66A7 trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A0FD1, Route124_Text_2A1012, Route124_Text_2A10E5, Route124_EventScript_1F66D7 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route124_EventScript_1F66F0 + goto_if_eq Route124_EventScript_1F66F0 msgbox Route124_Text_2A103E, MSGBOX_DEFAULT release end diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc index 8ac5ccf43..4fa64e6b9 100644 --- a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc +++ b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc @@ -9,8 +9,7 @@ Route124_DivingTreasureHuntersHouse_MapScript1_270A2E: @ 8270A2E Route124_DivingTreasureHuntersHouse_EventScript_270A32:: @ 8270A32 lock faceplayer - checkflag FLAG_0x0D9 - goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270A4E + goto_if_set FLAG_0x0D9, Route124_DivingTreasureHuntersHouse_EventScript_270A4E msgbox Route124_DivingTreasureHuntersHouse_Text_270F6C, MSGBOX_DEFAULT setflag FLAG_0x0D9 goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C @@ -24,7 +23,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_270A4E:: @ 8270A4E Route124_DivingTreasureHuntersHouse_EventScript_270A5C:: @ 8270A5C call Route124_DivingTreasureHuntersHouse_EventScript_270A72 compare VAR_TEMP_1, 0 - goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F57 + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F57 goto Route124_DivingTreasureHuntersHouse_EventScript_270AD0 end @@ -32,16 +31,16 @@ Route124_DivingTreasureHuntersHouse_EventScript_270A72:: @ 8270A72 setvar VAR_TEMP_1, 0 checkitem ITEM_RED_SHARD, 1 compare VAR_RESULT, 1 - call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270AB8 + call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270AB8 checkitem ITEM_YELLOW_SHARD, 1 compare VAR_RESULT, 1 - call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270ABE + call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270ABE checkitem ITEM_BLUE_SHARD, 1 compare VAR_RESULT, 1 - call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270AC4 + call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270AC4 checkitem ITEM_GREEN_SHARD, 1 compare VAR_RESULT, 1 - call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270ACA + call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270ACA return Route124_DivingTreasureHuntersHouse_EventScript_270AB8:: @ 8270AB8 @@ -248,13 +247,13 @@ Route124_DivingTreasureHuntersHouse_EventScript_270EC0:: @ 8270EC0 bufferitemname 1, VAR_0x8009 msgbox Route124_DivingTreasureHuntersHouse_Text_271132, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F4D checkitemspace VAR_0x8009, 1 compare VAR_RESULT, 1 - goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01 + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01 checkitem VAR_0x8008, 2 compare VAR_RESULT, 0 - goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01 + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01 goto Route124_DivingTreasureHuntersHouse_EventScript_270F43 end @@ -264,10 +263,10 @@ Route124_DivingTreasureHuntersHouse_EventScript_270F01:: @ 8270F01 msgbox Route124_DivingTreasureHuntersHouse_Text_271158, MSGBOX_DEFAULT call Route124_DivingTreasureHuntersHouse_EventScript_270A72 compare VAR_TEMP_1, 0 - goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F61 + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F61 msgbox Route124_DivingTreasureHuntersHouse_Text_27117B, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270ADE + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270ADE goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D end diff --git a/data/maps/Route125/scripts.inc b/data/maps/Route125/scripts.inc index 528eda704..e5ad32697 100644 --- a/data/maps/Route125/scripts.inc +++ b/data/maps/Route125/scripts.inc @@ -5,21 +5,20 @@ Route125_MapScripts:: @ 81F6748 .byte 0 Route125_MapScript1_1F6758: @ 81F6758 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route125_EventScript_27207A + call_if_set FLAG_SYS_WEATHER_CTRL, Route125_EventScript_27207A compare VAR_0x4039, 1 - call_if 1, Route125_EventScript_273D13 + call_if_eq Route125_EventScript_273D13 compare VAR_0x4037, 11 - call_if 1, Route125_EventScript_273D17 + call_if_eq Route125_EventScript_273D17 compare VAR_0x4037, 12 - call_if 1, Route125_EventScript_273D17 + call_if_eq Route125_EventScript_273D17 end Route125_MapScript1_1F6783: @ 81F6783 compare VAR_0x4037, 11 - call_if 1, Route125_EventScript_273A85 + call_if_eq Route125_EventScript_273A85 compare VAR_0x4037, 12 - call_if 1, Route125_EventScript_273AF2 + call_if_eq Route125_EventScript_273AF2 end Route125_MapScript2_1F679A: @ 81F679A @@ -50,7 +49,7 @@ Route125_EventScript_1F6800:: @ 81F6800 trainerbattle_single TRAINER_ERNEST_1, Route125_Text_2A16FC, Route125_Text_2A173A, Route125_EventScript_1F682C specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route125_EventScript_1F684B + goto_if_eq Route125_EventScript_1F684B msgbox Route125_Text_2A1755, MSGBOX_DEFAULT release end diff --git a/data/maps/Route126/scripts.inc b/data/maps/Route126/scripts.inc index 0be11144a..4fa47e0bb 100644 --- a/data/maps/Route126/scripts.inc +++ b/data/maps/Route126/scripts.inc @@ -3,8 +3,7 @@ Route126_MapScripts:: @ 81F68C6 .byte 0 Route126_MapScript1_1F68CC: @ 81F68CC - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route126_EventScript_27207A + call_if_set FLAG_SYS_WEATHER_CTRL, Route126_EventScript_27207A end Route126_EventScript_1F68D6:: @ 81F68D6 @@ -46,7 +45,7 @@ Route126_EventScript_1F6977:: @ 81F6977 trainerbattle_single TRAINER_PABLO_1, Route126_Text_2A1EA5, Route126_Text_2A1EE3, Route126_EventScript_1F69A3 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route126_EventScript_1F69C2 + goto_if_eq Route126_EventScript_1F69C2 msgbox Route126_Text_2A1F10, MSGBOX_DEFAULT release end diff --git a/data/maps/Route127/scripts.inc b/data/maps/Route127/scripts.inc index f9c3290b9..28f20bfb3 100644 --- a/data/maps/Route127/scripts.inc +++ b/data/maps/Route127/scripts.inc @@ -5,21 +5,20 @@ Route127_MapScripts:: @ 81F69D9 .byte 0 Route127_MapScript1_1F69E9: @ 81F69E9 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route127_EventScript_27207A + call_if_set FLAG_SYS_WEATHER_CTRL, Route127_EventScript_27207A compare VAR_0x4039, 1 - call_if 1, Route127_EventScript_273D13 + call_if_eq Route127_EventScript_273D13 compare VAR_0x4037, 13 - call_if 1, Route127_EventScript_273D17 + call_if_eq Route127_EventScript_273D17 compare VAR_0x4037, 14 - call_if 1, Route127_EventScript_273D17 + call_if_eq Route127_EventScript_273D17 end Route127_MapScript1_1F6A14: @ 81F6A14 compare VAR_0x4037, 13 - call_if 1, Route127_EventScript_273B5F + call_if_eq Route127_EventScript_273B5F compare VAR_0x4037, 14 - call_if 1, Route127_EventScript_273BCC + call_if_eq Route127_EventScript_273BCC end Route127_MapScript2_1F6A2B: @ 81F6A2B @@ -65,7 +64,7 @@ Route127_EventScript_1F6AD6:: @ 81F6AD6 trainerbattle_single TRAINER_KOJI_1, Route127_Text_2A264D, Route127_Text_2A2685, Route127_EventScript_1F6B02 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route127_EventScript_1F6B21 + goto_if_eq Route127_EventScript_1F6B21 msgbox Route127_Text_2A26AC, MSGBOX_DEFAULT release end diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc index 2443051f5..bb4f8d150 100644 --- a/data/maps/Route128/scripts.inc +++ b/data/maps/Route128/scripts.inc @@ -4,8 +4,7 @@ Route128_MapScripts:: @ 81F6B38 .byte 0 Route128_MapScript1_1F6B43: @ 81F6B43 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route128_EventScript_27207A + call_if_set FLAG_SYS_WEATHER_CTRL, Route128_EventScript_27207A end Route128_MapScript2_1F6B4D: @ 81F6B4D @@ -31,12 +30,12 @@ Route128_EventScript_1F6B57:: @ 81F6B57 closemessage applymovement 5, Route128_Movement_1F6CBB waitmovement 0 - applymovement 255, Route128_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, Route128_Movement_2725A6 waitmovement 0 msgbox Route128_Text_1F6F1E, MSGBOX_DEFAULT closemessage applymovement 4, Route128_Movement_1F6C96 - applymovement 255, Route128_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, Route128_Movement_2725A4 applymovement 5, Route128_Movement_1F6CA8 waitmovement 0 msgbox Route128_Text_1F704F, MSGBOX_DEFAULT @@ -54,12 +53,12 @@ Route128_EventScript_1F6B57:: @ 81F6B57 addobject 3 applymovement 3, Route128_Movement_1F6C87 waitmovement 0 - applymovement 255, Route128_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, Route128_Movement_2725A8 waitmovement 0 msgbox Route128_Text_1F70C9, MSGBOX_DEFAULT closemessage applymovement 3, Route128_Movement_1F6C85 - applymovement 255, Route128_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, Route128_Movement_2725A6 waitmovement 0 msgbox Route128_Text_1F70EA, MSGBOX_DEFAULT applymovement 3, Route128_Movement_2725AA @@ -179,7 +178,7 @@ Route128_EventScript_1F6CBE:: @ 81F6CBE trainerbattle_single TRAINER_ISAIAH_1, Route128_Text_2A287F, Route128_Text_2A28AB, Route128_EventScript_1F6CEA specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route128_EventScript_1F6D09 + goto_if_eq Route128_EventScript_1F6D09 msgbox Route128_Text_2A28D7, MSGBOX_DEFAULT release end @@ -201,7 +200,7 @@ Route128_EventScript_1F6D20:: @ 81F6D20 trainerbattle_single TRAINER_KATELYN_1, Route128_Text_2A2A1F, Route128_Text_2A2A94, Route128_EventScript_1F6D4C specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq Route128_EventScript_1F6D6B + goto_if_eq Route128_EventScript_1F6D6B msgbox Route128_Text_2A2AB7, MSGBOX_DEFAULT release end diff --git a/data/maps/Route129/scripts.inc b/data/maps/Route129/scripts.inc index b58e9ddd4..177dc626a 100644 --- a/data/maps/Route129/scripts.inc +++ b/data/maps/Route129/scripts.inc @@ -6,25 +6,24 @@ Route129_MapScripts:: @ 81F7284 Route129_MapScript1_1F7294: @ 81F7294 compare VAR_0x4037, 15 - call_if 1, Route129_EventScript_273C39 + call_if_eq Route129_EventScript_273C39 compare VAR_0x4037, 16 - call_if 1, Route129_EventScript_273CA6 + call_if_eq Route129_EventScript_273CA6 end Route129_MapScript1_1F72AB: @ 81F72AB compare VAR_0x4039, 1 - call_if 1, Route129_EventScript_273D13 + call_if_eq Route129_EventScript_273D13 compare VAR_0x405E, 4 - call_if 4, Route129_EventScript_1F72D8 + call_if_ge Route129_EventScript_1F72D8 compare VAR_0x4037, 15 - call_if 1, Route129_EventScript_273D17 + call_if_eq Route129_EventScript_273D17 compare VAR_0x4037, 16 - call_if 1, Route129_EventScript_273D17 + call_if_eq Route129_EventScript_273D17 end Route129_EventScript_1F72D8:: @ 81F72D8 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route129_EventScript_27207A + call_if_set FLAG_SYS_WEATHER_CTRL, Route129_EventScript_27207A return Route129_MapScript2_1F72E2: @ 81F72E2 diff --git a/data/maps/Route130/scripts.inc b/data/maps/Route130/scripts.inc index 6698837d2..5c7696eb7 100644 --- a/data/maps/Route130/scripts.inc +++ b/data/maps/Route130/scripts.inc @@ -4,10 +4,10 @@ Route130_MapScripts:: @ 81F735F Route130_MapScript1_1F7365: @ 81F7365 compare VAR_0x405E, 4 - call_if 4, Route130_EventScript_1F73B5 + call_if_ge Route130_EventScript_1F73B5 specialvar VAR_RESULT, IsMirageIslandPresent compare VAR_RESULT, 1 - goto_eq Route130_EventScript_1F73B1 + goto_if_eq Route130_EventScript_1F73B1 setflag FLAG_TEMP_11 setflag FLAG_TEMP_12 setflag FLAG_TEMP_13 @@ -31,8 +31,7 @@ Route130_EventScript_1F73B1:: @ 81F73B1 end Route130_EventScript_1F73B5:: @ 81F73B5 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route130_EventScript_27207A + call_if_set FLAG_SYS_WEATHER_CTRL, Route130_EventScript_27207A return Route130_EventScript_1F73BF:: @ 81F73BF diff --git a/data/maps/Route131/scripts.inc b/data/maps/Route131/scripts.inc index 618d17fdb..da36f4001 100644 --- a/data/maps/Route131/scripts.inc +++ b/data/maps/Route131/scripts.inc @@ -4,7 +4,7 @@ Route131_MapScripts:: @ 81F7404 Route131_MapScript1_1F740A: @ 81F740A compare VAR_0x405E, 4 - call_if 4, Route131_EventScript_1F741F + call_if_ge Route131_EventScript_1F741F call Route131_EventScript_1F741B end @@ -13,8 +13,7 @@ Route131_EventScript_1F741B:: @ 81F741B return Route131_EventScript_1F741F:: @ 81F741F - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route131_EventScript_27207A + call_if_set FLAG_SYS_WEATHER_CTRL, Route131_EventScript_27207A return Route131_EventScript_1F7429:: @ 81F7429 diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc index 147c51177..941f73161 100644 --- a/data/maps/RustboroCity/scripts.inc +++ b/data/maps/RustboroCity/scripts.inc @@ -7,15 +7,15 @@ RustboroCity_MapScript1_1E06C8: @ 81E06C8 setflag FLAG_VISITED_RUSTBORO_CITY call RustboroCity_EventScript_271ED7 compare VAR_0x405A, 6 - call_if 1, RustboroCity_EventScript_1E0707 + call_if_eq RustboroCity_EventScript_1E0707 getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_0x405A, 6 - goto_eq RustboroCity_EventScript_1E06EC + goto_if_eq RustboroCity_EventScript_1E06EC end RustboroCity_EventScript_1E06EC:: @ 81E06EC compare VAR_TEMP_0, 11 - goto_eq RustboroCity_EventScript_1E06FF + goto_if_eq RustboroCity_EventScript_1E06FF setobjectxyperm 15, 12, 15 end @@ -34,7 +34,7 @@ RustboroCity_MapScript2_1E070B: @ 81E070B RustboroCity_EventScript_1E0715:: @ 81E0715 lockall setvar VAR_0x4063, 1 - applymovement 255, RustboroCity_Movement_1E0850 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_1E0850 waitmovement 0 playse SE_KAIDAN delay 10 @@ -46,7 +46,7 @@ RustboroCity_EventScript_1E0715:: @ 81E0715 waitmovement 0 applymovement 15, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 applymovement 15, RustboroCity_Movement_1E084E waitmovement 0 @@ -134,8 +134,7 @@ RustboroCity_Movement_1E085D: @ 81E085D RustboroCity_EventScript_1E085F:: @ 81E085F lock faceplayer - checkflag FLAG_0x08E - goto_eq RustboroCity_EventScript_1E0874 + goto_if_set FLAG_0x08E, RustboroCity_EventScript_1E0874 msgbox RustboroCity_Text_1E123F, MSGBOX_DEFAULT release end @@ -159,8 +158,7 @@ RustboroCity_EventScript_1E088A:: @ 81E088A RustboroCity_EventScript_1E0893:: @ 81E0893 lock faceplayer - checkflag FLAG_BADGE01_GET - goto_eq RustboroCity_EventScript_1E08A8 + goto_if_set FLAG_BADGE01_GET, RustboroCity_EventScript_1E08A8 msgbox RustboroCity_Text_1E130D, MSGBOX_DEFAULT release end @@ -173,8 +171,7 @@ RustboroCity_EventScript_1E08A8:: @ 81E08A8 RustboroCity_EventScript_1E08B2:: @ 81E08B2 lock faceplayer - checkflag FLAG_0x0BC - goto_eq RustboroCity_EventScript_1E08C7 + goto_if_set FLAG_0x0BC, RustboroCity_EventScript_1E08C7 msgbox RustboroCity_Text_1E1520, MSGBOX_DEFAULT release end @@ -347,7 +344,7 @@ RustboroCity_EventScript_1E0A6E:: @ 81E0A6E RustboroCity_EventScript_1E0A79:: @ 81E0A79 applymovement 9, RustboroCity_Movement_1E0AD5 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 return @@ -451,8 +448,7 @@ RustboroCity_Movement_1E0AD5: @ 81E0AD5 RustboroCity_EventScript_1E0ADD:: @ 81E0ADD lock faceplayer - checkflag FLAG_0x08F - goto_eq RustboroCity_EventScript_1E0AF2 + goto_if_set FLAG_0x08F, RustboroCity_EventScript_1E0AF2 msgbox RustboroCity_Text_1E1904, MSGBOX_DEFAULT release end @@ -489,13 +485,13 @@ RustboroCity_EventScript_1E0B22:: @ 81E0B22 RustboroCity_EventScript_1E0B2E:: @ 81E0B2E compare VAR_TEMP_1, 0 - call_if 1, RustboroCity_EventScript_1E0B6F + call_if_eq RustboroCity_EventScript_1E0B6F compare VAR_TEMP_1, 1 - call_if 1, RustboroCity_EventScript_1E0B9B + call_if_eq RustboroCity_EventScript_1E0B9B compare VAR_TEMP_1, 2 - call_if 1, RustboroCity_EventScript_1E0BC7 + call_if_eq RustboroCity_EventScript_1E0BC7 compare VAR_TEMP_1, 3 - call_if 1, RustboroCity_EventScript_1E0BF3 + call_if_eq RustboroCity_EventScript_1E0BF3 setflag FLAG_0x09F setvar VAR_0x405A, 3 moveobjectoffscreen 9 @@ -511,7 +507,7 @@ RustboroCity_EventScript_1E0B6F:: @ 81E0B6F waitmovement 0 applymovement 9, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AA waitmovement 0 return @@ -523,7 +519,7 @@ RustboroCity_EventScript_1E0B9B:: @ 81E0B9B waitmovement 0 applymovement 9, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725AC + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AC waitmovement 0 return @@ -535,7 +531,7 @@ RustboroCity_EventScript_1E0BC7:: @ 81E0BC7 waitmovement 0 applymovement 9, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 return @@ -549,7 +545,7 @@ RustboroCity_EventScript_1E0BF3:: @ 81E0BF3 waitmovement 0 applymovement 9, RustboroCity_Movement_1E0C29 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 return @@ -583,19 +579,19 @@ RustboroCity_EventScript_1E0C4F:: @ 81E0C4F RustboroCity_EventScript_1E0C5B:: @ 81E0C5B compare VAR_TEMP_1, 0 - call_if 1, RustboroCity_EventScript_1E0CDC + call_if_eq RustboroCity_EventScript_1E0CDC compare VAR_TEMP_1, 1 - call_if 1, RustboroCity_EventScript_1E0D08 + call_if_eq RustboroCity_EventScript_1E0D08 compare VAR_TEMP_1, 2 - call_if 1, RustboroCity_EventScript_1E0D34 + call_if_eq RustboroCity_EventScript_1E0D34 compare VAR_TEMP_1, 3 - call_if 1, RustboroCity_EventScript_1E0D60 + call_if_eq RustboroCity_EventScript_1E0D60 compare VAR_TEMP_1, 4 - call_if 1, RustboroCity_EventScript_1E0D96 + call_if_eq RustboroCity_EventScript_1E0D96 msgbox RustboroCity_Text_1E194D, MSGBOX_DEFAULT giveitem_std ITEM_GREAT_BALL compare VAR_RESULT, 0 - call_if 1, RustboroCity_EventScript_1E0CD3 + call_if_eq RustboroCity_EventScript_1E0CD3 msgbox RustboroCity_Text_1E1A21, MSGBOX_DEFAULT closemessage setflag FLAG_0x090 @@ -619,7 +615,7 @@ RustboroCity_EventScript_1E0CDC:: @ 81E0CDC waitmovement 0 applymovement 9, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AA waitmovement 0 return @@ -631,7 +627,7 @@ RustboroCity_EventScript_1E0D08:: @ 81E0D08 waitmovement 0 applymovement 9, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725AE + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AE waitmovement 0 return @@ -643,7 +639,7 @@ RustboroCity_EventScript_1E0D34:: @ 81E0D34 waitmovement 0 applymovement 9, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 return @@ -657,7 +653,7 @@ RustboroCity_EventScript_1E0D60:: @ 81E0D60 waitmovement 0 applymovement 9, RustboroCity_Movement_1E0C29 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 return @@ -673,8 +669,7 @@ RustboroCity_EventScript_1E0D96:: @ 81E0D96 RustboroCity_EventScript_1E0DB8:: @ 81E0DB8 lockall - checkflag FLAG_0x120 - call_if 0, RustboroCity_EventScript_1E0DD1 + call_if_unset FLAG_0x120, RustboroCity_EventScript_1E0DD1 applymovement 14, RustboroCity_Movement_27259E waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -683,9 +678,9 @@ Route104_EventScript_1E0DD1:: @ 81E0DD1 RustboroCity_EventScript_1E0DD1:: @ 81E0DD1 checkplayergender compare VAR_RESULT, 0 - goto_eq RustboroCity_EventScript_1E0DE9 + goto_if_eq RustboroCity_EventScript_1E0DE9 compare VAR_RESULT, 1 - goto_eq RustboroCity_EventScript_1E0DEE + goto_if_eq RustboroCity_EventScript_1E0DEE return RustboroCity_EventScript_1E0DE9:: @ 81E0DE9 @@ -708,7 +703,7 @@ RustboroCity_EventScript_1E0DF3:: @ 81E0DF3 waitmovement 0 applymovement 14, RustboroCity_Movement_1E120E waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -724,7 +719,7 @@ RustboroCity_EventScript_1E0E33:: @ 81E0E33 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1215 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -740,7 +735,7 @@ RustboroCity_EventScript_1E0E73:: @ 81E0E73 waitmovement 0 applymovement 14, RustboroCity_Movement_1E121B waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -756,7 +751,7 @@ RustboroCity_EventScript_1E0EB3:: @ 81E0EB3 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1220 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -772,7 +767,7 @@ RustboroCity_EventScript_1E0EF3:: @ 81E0EF3 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1224 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -788,7 +783,7 @@ RustboroCity_EventScript_1E0F33:: @ 81E0F33 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1227 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -804,7 +799,7 @@ RustboroCity_EventScript_1E0F73:: @ 81E0F73 waitmovement 0 applymovement 14, RustboroCity_Movement_1E122B waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -820,23 +815,21 @@ RustboroCity_EventScript_1E0FB3:: @ 81E0FB3 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1230 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 RustboroCity_EventScript_1E0FF3:: @ 81E0FF3 checkplayergender compare VAR_RESULT, 0 - goto_eq RustboroCity_EventScript_1E100B + goto_if_eq RustboroCity_EventScript_1E100B compare VAR_RESULT, 1 - goto_eq RustboroCity_EventScript_1E1114 + goto_if_eq RustboroCity_EventScript_1E1114 end RustboroCity_EventScript_1E100B:: @ 81E100B - checkflag FLAG_0x0D3 - goto_eq RustboroCity_EventScript_1E10C1 - checkflag FLAG_0x120 - goto_eq RustboroCity_EventScript_1E1070 + goto_if_set FLAG_0x0D3, RustboroCity_EventScript_1E10C1 + goto_if_set FLAG_0x120, RustboroCity_EventScript_1E1070 setflag FLAG_0x120 msgbox RustboroCity_Text_1E1A49, MSGBOX_DEFAULT closemessage @@ -852,7 +845,7 @@ RustboroCity_EventScript_1E100B:: @ 81E100B setvar VAR_0x8008, 0 msgbox RustboroCity_Text_1E1AFA, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq RustboroCity_EventScript_1E1092 + goto_if_eq RustboroCity_EventScript_1E1092 msgbox RustboroCity_Text_1E1BD3, MSGBOX_DEFAULT call RustboroCity_EventScript_1E10D6 releaseall @@ -862,7 +855,7 @@ RustboroCity_EventScript_1E1070:: @ 81E1070 setvar VAR_0x8008, 1 msgbox RustboroCity_Text_1E1C48, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq RustboroCity_EventScript_1E1092 + goto_if_eq RustboroCity_EventScript_1E1092 msgbox RustboroCity_Text_1E1BD3, MSGBOX_DEFAULT releaseall end @@ -878,7 +871,7 @@ RustboroCity_EventScript_1E1092:: @ 81E1092 RustboroCity_EventScript_1E10C1:: @ 81E10C1 msgbox RustboroCity_Text_1E1CE7, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if 1, RustboroCity_EventScript_1E10D6 + call_if_eq RustboroCity_EventScript_1E10D6 releaseall end @@ -906,10 +899,8 @@ RustboroCity_EventScript_1E1101:: @ 81E1101 end RustboroCity_EventScript_1E1114:: @ 81E1114 - checkflag FLAG_0x0D3 - goto_eq RustboroCity_EventScript_1E11C0 - checkflag FLAG_0x120 - goto_eq RustboroCity_EventScript_1E1174 + goto_if_set FLAG_0x0D3, RustboroCity_EventScript_1E11C0 + goto_if_set FLAG_0x120, RustboroCity_EventScript_1E1174 setflag FLAG_0x120 msgbox RustboroCity_Text_1E1D7D, MSGBOX_DEFAULT closemessage @@ -924,7 +915,7 @@ RustboroCity_EventScript_1E1114:: @ 81E1114 setvar VAR_0x4063, 2 msgbox RustboroCity_Text_1E1E34, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq RustboroCity_EventScript_1E1191 + goto_if_eq RustboroCity_EventScript_1E1191 msgbox RustboroCity_Text_1E1F2F, MSGBOX_DEFAULT call RustboroCity_EventScript_1E10D6 releaseall @@ -933,7 +924,7 @@ RustboroCity_EventScript_1E1114:: @ 81E1114 RustboroCity_EventScript_1E1174:: @ 81E1174 msgbox RustboroCity_Text_1E1F76, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq RustboroCity_EventScript_1E1191 + goto_if_eq RustboroCity_EventScript_1E1191 msgbox RustboroCity_Text_1E1F2F, MSGBOX_DEFAULT releaseall end @@ -949,7 +940,7 @@ RustboroCity_EventScript_1E1191:: @ 81E1191 RustboroCity_EventScript_1E11C0:: @ 81E11C0 msgbox RustboroCity_Text_1E2002, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if 1, RustboroCity_EventScript_1E10D6 + call_if_eq RustboroCity_EventScript_1E10D6 releaseall end diff --git a/data/maps/RustboroCity_CuttersHouse/scripts.inc b/data/maps/RustboroCity_CuttersHouse/scripts.inc index 1ed908952..b73744094 100644 --- a/data/maps/RustboroCity_CuttersHouse/scripts.inc +++ b/data/maps/RustboroCity_CuttersHouse/scripts.inc @@ -4,8 +4,7 @@ RustboroCity_CuttersHouse_MapScripts:: @ 8215BD3 RustboroCity_CuttersHouse_EventScript_215BD4:: @ 8215BD4 lock faceplayer - checkflag FLAG_0x089 - goto_eq RustboroCity_CuttersHouse_EventScript_215C00 + goto_if_set FLAG_0x089, RustboroCity_CuttersHouse_EventScript_215C00 msgbox RustboroCity_CuttersHouse_Text_215C13, MSGBOX_DEFAULT giveitem_std ITEM_HM01 setflag FLAG_0x089 diff --git a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc index e8314ba04..bbfd1bd53 100644 --- a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc @@ -3,8 +3,7 @@ RustboroCity_DevonCorp_1F_MapScripts:: @ 8211245 .byte 0 RustboroCity_DevonCorp_1F_MapScript1_21124B: @ 821124B - checkflag FLAG_0x090 - call_if 0, RustboroCity_DevonCorp_1F_EventScript_211255 + call_if_unset FLAG_0x090, RustboroCity_DevonCorp_1F_EventScript_211255 end RustboroCity_DevonCorp_1F_EventScript_211255:: @ 8211255 @@ -15,10 +14,8 @@ RustboroCity_DevonCorp_1F_EventScript_211255:: @ 8211255 RustboroCity_DevonCorp_1F_EventScript_211261:: @ 8211261 lock faceplayer - checkflag FLAG_0x090 - goto_eq RustboroCity_DevonCorp_1F_EventScript_211289 - checkflag FLAG_0x08E - goto_eq RustboroCity_DevonCorp_1F_EventScript_21127F + goto_if_set FLAG_0x090, RustboroCity_DevonCorp_1F_EventScript_211289 + goto_if_set FLAG_0x08E, RustboroCity_DevonCorp_1F_EventScript_21127F msgbox RustboroCity_DevonCorp_1F_Text_2113D1, MSGBOX_DEFAULT release end @@ -36,12 +33,9 @@ RustboroCity_DevonCorp_1F_EventScript_211289:: @ 8211289 RustboroCity_DevonCorp_1F_EventScript_211293:: @ 8211293 lock faceplayer - checkflag FLAG_0x090 - goto_eq RustboroCity_DevonCorp_1F_EventScript_2112BA - checkflag FLAG_0x08F - goto_eq RustboroCity_DevonCorp_1F_EventScript_2112C4 - checkflag FLAG_0x08E - goto_eq RustboroCity_DevonCorp_1F_EventScript_2112C4 + goto_if_set FLAG_0x090, RustboroCity_DevonCorp_1F_EventScript_2112BA + goto_if_set FLAG_0x08F, RustboroCity_DevonCorp_1F_EventScript_2112C4 + goto_if_set FLAG_0x08E, RustboroCity_DevonCorp_1F_EventScript_2112C4 msgbox RustboroCity_DevonCorp_1F_Text_21151B, MSGBOX_DEFAULT release end @@ -59,12 +53,9 @@ RustboroCity_DevonCorp_1F_EventScript_2112C4:: @ 82112C4 RustboroCity_DevonCorp_1F_EventScript_2112CE:: @ 82112CE lock faceplayer - checkflag FLAG_0x090 - goto_eq RustboroCity_DevonCorp_1F_EventScript_2112F5 - checkflag FLAG_0x08F - goto_eq RustboroCity_DevonCorp_1F_EventScript_2112FF - checkflag FLAG_0x08E - goto_eq RustboroCity_DevonCorp_1F_EventScript_2112FF + goto_if_set FLAG_0x090, RustboroCity_DevonCorp_1F_EventScript_2112F5 + goto_if_set FLAG_0x08F, RustboroCity_DevonCorp_1F_EventScript_2112FF + goto_if_set FLAG_0x08E, RustboroCity_DevonCorp_1F_EventScript_2112FF msgbox RustboroCity_DevonCorp_1F_Text_21131B, MSGBOX_DEFAULT release end diff --git a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc index fc8dd5f79..8ce86352d 100644 --- a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc @@ -4,7 +4,7 @@ RustboroCity_DevonCorp_2F_MapScripts:: @ 8211857 RustboroCity_DevonCorp_2F_MapScript1_21185D: @ 821185D compare VAR_0x40C4, 1 - call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869 + call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 end RustboroCity_DevonCorp_2F_EventScript_211869:: @ 8211869 @@ -15,7 +15,7 @@ RustboroCity_DevonCorp_2F_EventScript_21186F:: @ 821186F lock faceplayer compare VAR_0x40C4, 1 - call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869 + call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 msgbox RustboroCity_DevonCorp_2F_Text_211BFB, MSGBOX_DEFAULT release end @@ -24,9 +24,8 @@ RustboroCity_DevonCorp_2F_EventScript_211886:: @ 8211886 lock faceplayer compare VAR_0x40C4, 1 - call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869 - checkflag FLAG_0x11F - goto_eq RustboroCity_DevonCorp_2F_EventScript_2118A6 + call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 + goto_if_set FLAG_0x11F, RustboroCity_DevonCorp_2F_EventScript_2118A6 msgbox RustboroCity_DevonCorp_2F_Text_211C50, MSGBOX_DEFAULT release end @@ -40,9 +39,8 @@ RustboroCity_DevonCorp_2F_EventScript_2118B0:: @ 82118B0 lock faceplayer compare VAR_0x40C4, 1 - call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869 - checkflag FLAG_0x0BC - goto_eq RustboroCity_DevonCorp_2F_EventScript_2118D0 + call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 + goto_if_set FLAG_0x0BC, RustboroCity_DevonCorp_2F_EventScript_2118D0 msgbox RustboroCity_DevonCorp_2F_Text_211D9F, MSGBOX_DEFAULT release end @@ -56,7 +54,7 @@ RustboroCity_DevonCorp_2F_EventScript_2118DA:: @ 82118DA lock faceplayer compare VAR_0x40C4, 1 - call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869 + call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 msgbox RustboroCity_DevonCorp_2F_Text_211EE0, MSGBOX_DEFAULT release end @@ -65,16 +63,16 @@ RustboroCity_DevonCorp_2F_EventScript_2118F1:: @ 82118F1 lock faceplayer compare VAR_0x40C4, 2 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211A03 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A03 compare VAR_0x40C4, 1 - goto_eq RustboroCity_DevonCorp_2F_EventScript_2119F9 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_2119F9 msgbox RustboroCity_DevonCorp_2F_Text_211F48, MSGBOX_DEFAULT checkitem ITEM_ROOT_FOSSIL, 1 compare VAR_RESULT, 1 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211933 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211933 checkitem ITEM_CLAW_FOSSIL, 1 compare VAR_RESULT, 1 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211991 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211991 release end @@ -87,10 +85,10 @@ RustboroCity_DevonCorp_2F_EventScript_211933:: @ 8211933 waitmovement 0 msgbox RustboroCity_DevonCorp_2F_Text_211FA6, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq RustboroCity_DevonCorp_2F_EventScript_2119EF + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_2119EF checkitem ITEM_CLAW_FOSSIL, 1 compare VAR_RESULT, 1 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211B84 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B84 goto RustboroCity_DevonCorp_2F_EventScript_211974 end @@ -112,10 +110,10 @@ RustboroCity_DevonCorp_2F_EventScript_211991:: @ 8211991 waitmovement 0 msgbox RustboroCity_DevonCorp_2F_Text_211FA6, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq RustboroCity_DevonCorp_2F_EventScript_2119EF + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_2119EF checkitem ITEM_ROOT_FOSSIL, 1 compare VAR_RESULT, 1 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211B84 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B84 goto RustboroCity_DevonCorp_2F_EventScript_2119D2 end @@ -140,9 +138,9 @@ RustboroCity_DevonCorp_2F_EventScript_2119F9:: @ 82119F9 RustboroCity_DevonCorp_2F_EventScript_211A03:: @ 8211A03 compare VAR_0x40C5, 1 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211A1A + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A1A compare VAR_0x40C5, 2 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211A2C + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A2C end RustboroCity_DevonCorp_2F_EventScript_211A1A:: @ 8211A1A @@ -161,9 +159,9 @@ RustboroCity_DevonCorp_2F_EventScript_211A3E:: @ 8211A3E setvar VAR_TEMP_1, 388 givemon SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0 compare VAR_RESULT, 0 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211A6E + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A6E compare VAR_RESULT, 1 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211A96 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A96 goto RustboroCity_DevonCorp_2F_EventScript_273811 end @@ -171,7 +169,7 @@ RustboroCity_DevonCorp_2F_EventScript_211A6E:: @ 8211A6E call RustboroCity_DevonCorp_2F_EventScript_211AC4 msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211AD7 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211AD7 call RustboroCity_DevonCorp_2F_EventScript_27378B call RustboroCity_DevonCorp_2F_EventScript_2723DD goto RustboroCity_DevonCorp_2F_EventScript_211AD7 @@ -181,7 +179,7 @@ RustboroCity_DevonCorp_2F_EventScript_211A96:: @ 8211A96 call RustboroCity_DevonCorp_2F_EventScript_211AC4 msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211AB9 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211AB9 call RustboroCity_DevonCorp_2F_EventScript_273797 goto RustboroCity_DevonCorp_2F_EventScript_211AB9 end @@ -210,9 +208,9 @@ RustboroCity_DevonCorp_2F_EventScript_211AE1:: @ 8211AE1 setvar VAR_TEMP_1, 390 givemon SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0 compare VAR_RESULT, 0 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211B11 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B11 compare VAR_RESULT, 1 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211B39 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B39 goto RustboroCity_DevonCorp_2F_EventScript_273811 end @@ -220,7 +218,7 @@ RustboroCity_DevonCorp_2F_EventScript_211B11:: @ 8211B11 call RustboroCity_DevonCorp_2F_EventScript_211B67 msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211B7A + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B7A call RustboroCity_DevonCorp_2F_EventScript_27378B call RustboroCity_DevonCorp_2F_EventScript_2723DD goto RustboroCity_DevonCorp_2F_EventScript_211B7A @@ -230,7 +228,7 @@ RustboroCity_DevonCorp_2F_EventScript_211B39:: @ 8211B39 call RustboroCity_DevonCorp_2F_EventScript_211B67 msgbox gUnknown_08273374, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq RustboroCity_DevonCorp_2F_EventScript_211B5C + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B5C call RustboroCity_DevonCorp_2F_EventScript_273797 goto RustboroCity_DevonCorp_2F_EventScript_211B5C end @@ -282,9 +280,9 @@ RustboroCity_DevonCorp_2F_EventScript_211BCF:: @ 8211BCF lock faceplayer compare VAR_0x40C4, 1 - call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869 + call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 compare VAR_0x405A, 6 - goto_if 4, RustboroCity_DevonCorp_2F_EventScript_211BF1 + goto_if_ge RustboroCity_DevonCorp_2F_EventScript_211BF1 msgbox RustboroCity_DevonCorp_2F_Text_212338, MSGBOX_DEFAULT release end diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc index dc170677a..0e21b4c38 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc @@ -6,7 +6,7 @@ RustboroCity_DevonCorp_3F_MapScripts:: @ 821242D RustboroCity_DevonCorp_3F_MapScript1_21243D: @ 821243D compare VAR_0x408F, 0 - call_if 1, RustboroCity_DevonCorp_3F_EventScript_212449 + call_if_eq RustboroCity_DevonCorp_3F_EventScript_212449 end RustboroCity_DevonCorp_3F_EventScript_212449:: @ 8212449 @@ -19,7 +19,7 @@ RustboroCity_DevonCorp_3F_MapScript2_212455: @ 8212455 .2byte 0 RustboroCity_DevonCorp_3F_EventScript_21245F:: @ 821245F - turnobject 255, 4 + turnobject EVENT_OBJ_ID_PLAYER, 4 end RustboroCity_DevonCorp_3F_MapScript2_212464: @ 8212464 @@ -39,13 +39,13 @@ RustboroCity_DevonCorp_3F_EventScript_21246E:: @ 821246E closemessage playbgm MUS_TSURETEK, 0 applymovement 2, RustboroCity_DevonCorp_3F_Movement_212534 - applymovement 255, RustboroCity_DevonCorp_3F_Movement_212558 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_212558 waitmovement 0 msgbox RustboroCity_DevonCorp_3F_Text_212E2F, MSGBOX_DEFAULT closemessage fadedefaultbgm applymovement 2, RustboroCity_DevonCorp_3F_Movement_212543 - applymovement 255, RustboroCity_DevonCorp_3F_Movement_212566 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_212566 waitmovement 0 msgbox RustboroCity_DevonCorp_3F_Text_212609, MSGBOX_DEFAULT giveitem_std ITEM_LETTER @@ -150,10 +150,8 @@ RustboroCity_DevonCorp_3F_Movement_212566: @ 8212566 RustboroCity_DevonCorp_3F_EventScript_21256C:: @ 821256C lock faceplayer - checkflag FLAG_0x110 - goto_eq RustboroCity_DevonCorp_3F_EventScript_2125CC - checkflag FLAG_0x0BD - goto_eq RustboroCity_DevonCorp_3F_EventScript_212595 + goto_if_set FLAG_0x110, RustboroCity_DevonCorp_3F_EventScript_2125CC + goto_if_set FLAG_0x0BD, RustboroCity_DevonCorp_3F_EventScript_212595 msgbox RustboroCity_DevonCorp_3F_Text_212A09, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2 @@ -165,7 +163,7 @@ RustboroCity_DevonCorp_3F_EventScript_212595:: @ 8212595 msgbox RustboroCity_DevonCorp_3F_Text_212A29, MSGBOX_DEFAULT giveitem_std ITEM_EXP_SHARE compare VAR_RESULT, 0 - goto_eq RustboroCity_DevonCorp_3F_EventScript_272054 + goto_if_eq RustboroCity_DevonCorp_3F_EventScript_272054 setflag FLAG_0x110 msgbox RustboroCity_DevonCorp_3F_Text_212A9E, MSGBOX_DEFAULT closemessage @@ -185,8 +183,7 @@ RustboroCity_DevonCorp_3F_EventScript_2125CC:: @ 82125CC RustboroCity_DevonCorp_3F_EventScript_2125E1:: @ 82125E1 lock faceplayer - checkflag FLAG_0x100 - goto_eq RustboroCity_DevonCorp_3F_EventScript_2125F6 + goto_if_set FLAG_0x100, RustboroCity_DevonCorp_3F_EventScript_2125F6 msgbox RustboroCity_DevonCorp_3F_Text_212E41, MSGBOX_DEFAULT release end diff --git a/data/maps/RustboroCity_Flat1_2F/scripts.inc b/data/maps/RustboroCity_Flat1_2F/scripts.inc index ae0bfcd8e..7798e72e6 100644 --- a/data/maps/RustboroCity_Flat1_2F/scripts.inc +++ b/data/maps/RustboroCity_Flat1_2F/scripts.inc @@ -6,35 +6,35 @@ RustboroCity_Flat1_2F_EventScript_21513A:: @ 821513A faceplayer specialvar VAR_RESULT, TryBufferWaldaPhrase compare VAR_RESULT, 0 - goto_eq RustboroCity_Flat1_2F_EventScript_21518D + goto_if_eq RustboroCity_Flat1_2F_EventScript_21518D compare VAR_RESULT, 1 - goto_eq RustboroCity_Flat1_2F_EventScript_2151AD + goto_if_eq RustboroCity_Flat1_2F_EventScript_2151AD RustboroCity_Flat1_2F_EventScript_215157:: @ 8215157 special DoWaldaNamingScreen waitstate compare VAR_0x8004, 1 - goto_eq RustboroCity_Flat1_2F_EventScript_2151D7 + goto_if_eq RustboroCity_Flat1_2F_EventScript_2151D7 compare VAR_0x8004, 2 - goto_eq RustboroCity_Flat1_2F_EventScript_2151E1 + goto_if_eq RustboroCity_Flat1_2F_EventScript_2151E1 specialvar VAR_RESULT, TryGetWallpaperWithWaldaPhrase compare VAR_RESULT, 1 - goto_eq RustboroCity_Flat1_2F_EventScript_2151F8 + goto_if_eq RustboroCity_Flat1_2F_EventScript_2151F8 compare VAR_RESULT, 0 - goto_eq RustboroCity_Flat1_2F_EventScript_215221 + goto_if_eq RustboroCity_Flat1_2F_EventScript_215221 end RustboroCity_Flat1_2F_EventScript_21518D:: @ 821518D msgbox RustboroCity_Flat1_2F_Text_2152FA, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq RustboroCity_Flat1_2F_EventScript_2151CD + goto_if_eq RustboroCity_Flat1_2F_EventScript_2151CD msgbox RustboroCity_Flat1_2F_Text_2154AD, MSGBOX_DEFAULT goto RustboroCity_Flat1_2F_EventScript_215157 RustboroCity_Flat1_2F_EventScript_2151AD:: @ 82151AD msgbox RustboroCity_Flat1_2F_Text_215448, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq RustboroCity_Flat1_2F_EventScript_2151CD + goto_if_eq RustboroCity_Flat1_2F_EventScript_2151CD msgbox RustboroCity_Flat1_2F_Text_2154AD, MSGBOX_DEFAULT goto RustboroCity_Flat1_2F_EventScript_215157 diff --git a/data/maps/RustboroCity_Flat2_2F/scripts.inc b/data/maps/RustboroCity_Flat2_2F/scripts.inc index d07babf0c..e08d599ac 100644 --- a/data/maps/RustboroCity_Flat2_2F/scripts.inc +++ b/data/maps/RustboroCity_Flat2_2F/scripts.inc @@ -8,12 +8,11 @@ RustboroCity_Flat2_2F_EventScript_215FD8:: @ 8215FD8 RustboroCity_Flat2_2F_EventScript_215FE1:: @ 8215FE1 lock faceplayer - checkflag FLAG_0x0D5 - goto_eq RustboroCity_Flat2_2F_EventScript_216010 + goto_if_set FLAG_0x0D5, RustboroCity_Flat2_2F_EventScript_216010 msgbox RustboroCity_Flat2_2F_Text_21605A, MSGBOX_DEFAULT giveitem_std ITEM_PREMIER_BALL compare VAR_RESULT, 0 - goto_eq RustboroCity_Flat2_2F_EventScript_272054 + goto_if_eq RustboroCity_Flat2_2F_EventScript_272054 setflag FLAG_0x0D5 release end diff --git a/data/maps/RustboroCity_Gym/scripts.inc b/data/maps/RustboroCity_Gym/scripts.inc index 6f161d048..170ae4324 100644 --- a/data/maps/RustboroCity_Gym/scripts.inc +++ b/data/maps/RustboroCity_Gym/scripts.inc @@ -5,9 +5,8 @@ RustboroCity_Gym_EventScript_212F31:: @ 8212F31 trainerbattle_single TRAINER_ROXANNE_1, RustboroCity_Gym_Text_21362A, RustboroCity_Gym_Text_21370B, RustboroCity_Gym_EventScript_212F66, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq RustboroCity_Gym_EventScript_212FC8 - checkflag FLAG_0x0A5 - goto_if 0, RustboroCity_Gym_EventScript_212FA4 + goto_if_eq RustboroCity_Gym_EventScript_212FC8 + goto_if_unset FLAG_0x0A5, RustboroCity_Gym_EventScript_212FA4 msgbox RustboroCity_Gym_Text_2139A7, MSGBOX_DEFAULT release end @@ -24,14 +23,14 @@ RustboroCity_Gym_EventScript_212F66:: @ 8212F66 setvar VAR_0x8008, 1 call RustboroCity_Gym_EventScript_271F43 compare VAR_0x4085, 6 - call_if 1, RustboroCity_Gym_EventScript_271E84 + call_if_eq RustboroCity_Gym_EventScript_271E84 goto RustboroCity_Gym_EventScript_212FA4 end RustboroCity_Gym_EventScript_212FA4:: @ 8212FA4 giveitem_std ITEM_TM39 compare VAR_RESULT, 0 - goto_eq RustboroCity_Gym_EventScript_272054 + goto_if_eq RustboroCity_Gym_EventScript_272054 setflag FLAG_0x0A5 msgbox RustboroCity_Gym_Text_2138B1, MSGBOX_DEFAULT release @@ -60,8 +59,7 @@ RustboroCity_Gym_EventScript_213011:: @ 8213011 RustboroCity_Gym_EventScript_213028:: @ 8213028 lock faceplayer - checkflag FLAG_0x4F0 - goto_eq RustboroCity_Gym_EventScript_21303D + goto_if_set FLAG_0x4F0, RustboroCity_Gym_EventScript_21303D msgbox RustboroCity_Gym_Text_21309D, MSGBOX_DEFAULT release end @@ -73,15 +71,13 @@ RustboroCity_Gym_EventScript_21303D:: @ 821303D RustboroCity_Gym_EventScript_213047:: @ 8213047 lockall - checkflag FLAG_BADGE01_GET - goto_eq RustboroCity_Gym_EventScript_213067 + goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_213067 goto RustboroCity_Gym_EventScript_213071 end RustboroCity_Gym_EventScript_213057:: @ 8213057 lockall - checkflag FLAG_BADGE01_GET - goto_eq RustboroCity_Gym_EventScript_213067 + goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_213067 goto RustboroCity_Gym_EventScript_213071 end diff --git a/data/maps/RustboroCity_House1/scripts.inc b/data/maps/RustboroCity_House1/scripts.inc index 8bc43c0c2..26a406675 100644 --- a/data/maps/RustboroCity_House1/scripts.inc +++ b/data/maps/RustboroCity_House1/scripts.inc @@ -4,25 +4,24 @@ RustboroCity_House1_MapScripts:: @ 821593E RustboroCity_House1_EventScript_21593F:: @ 821593F lock faceplayer - checkflag FLAG_0x099 - goto_eq RustboroCity_House1_EventScript_2159D5 + goto_if_set FLAG_0x099, RustboroCity_House1_EventScript_2159D5 setvar VAR_0x8008, 0 copyvar VAR_0x8004, VAR_0x8008 specialvar VAR_RESULT, sub_807E73C copyvar VAR_0x8009, VAR_RESULT msgbox RustboroCity_House1_Text_2159E8, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq RustboroCity_House1_EventScript_2159BD + goto_if_eq RustboroCity_House1_EventScript_2159BD special sub_81B94B0 waitstate copyvar VAR_0x800A, VAR_0x8004 compare VAR_0x8004, 255 - goto_eq RustboroCity_House1_EventScript_2159BD + goto_if_eq RustboroCity_House1_EventScript_2159BD copyvar VAR_0x8005, VAR_0x800A specialvar VAR_RESULT, sub_807E9D4 copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 - goto_if 5, RustboroCity_House1_EventScript_2159C7 + goto_if_ne RustboroCity_House1_EventScript_2159C7 copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A special sub_807EA10 diff --git a/data/maps/RustboroCity_Mart/scripts.inc b/data/maps/RustboroCity_Mart/scripts.inc index 17406b0ac..78492e962 100644 --- a/data/maps/RustboroCity_Mart/scripts.inc +++ b/data/maps/RustboroCity_Mart/scripts.inc @@ -6,10 +6,8 @@ RustboroCity_Mart_EventScript_214F06:: @ 8214F06 faceplayer message gUnknown_08272A21 waitmessage - checkflag FLAG_0x11F - goto_if 0, RustboroCity_Mart_EventScript_214F21 - checkflag FLAG_0x11F - goto_eq RustboroCity_Mart_EventScript_214F48 + goto_if_unset FLAG_0x11F, RustboroCity_Mart_EventScript_214F21 + goto_if_set FLAG_0x11F, RustboroCity_Mart_EventScript_214F48 end RustboroCity_Mart_EventScript_214F21:: @ 8214F21 diff --git a/data/maps/RustboroCity_PokemonSchool/scripts.inc b/data/maps/RustboroCity_PokemonSchool/scripts.inc index 330afd30c..2bba066b2 100644 --- a/data/maps/RustboroCity_PokemonSchool/scripts.inc +++ b/data/maps/RustboroCity_PokemonSchool/scripts.inc @@ -77,16 +77,15 @@ RustboroCity_PokemonSchool_EventScript_213F8C:: @ 8213F8C RustboroCity_PokemonSchool_EventScript_213F95:: @ 8213F95 lock faceplayer - checkflag FLAG_0x113 - goto_eq RustboroCity_PokemonSchool_EventScript_213FFB + goto_if_set FLAG_0x113, RustboroCity_PokemonSchool_EventScript_213FFB compare VAR_FACING, 4 - call_if 1, RustboroCity_PokemonSchool_EventScript_213FE5 + call_if_eq RustboroCity_PokemonSchool_EventScript_213FE5 compare VAR_FACING, 3 - call_if 1, RustboroCity_PokemonSchool_EventScript_213FF0 + call_if_eq RustboroCity_PokemonSchool_EventScript_213FF0 msgbox RustboroCity_PokemonSchool_Text_214433, MSGBOX_DEFAULT giveitem_std ITEM_QUICK_CLAW compare VAR_RESULT, 0 - goto_eq RustboroCity_PokemonSchool_EventScript_272054 + goto_if_eq RustboroCity_PokemonSchool_EventScript_272054 closemessage applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_2725AA waitmovement 0 @@ -167,12 +166,9 @@ RustboroCity_PokemonSchool_Movement_214027: @ 8214027 RustboroCity_PokemonSchool_EventScript_214040:: @ 8214040 lock faceplayer - checkflag FLAG_0x1CB - goto_eq RustboroCity_PokemonSchool_EventScript_2140A8 - checkflag FLAG_0x136 - goto_eq RustboroCity_PokemonSchool_EventScript_21406F - checkflag FLAG_BADGE01_GET - goto_eq RustboroCity_PokemonSchool_EventScript_214082 + goto_if_set FLAG_0x1CB, RustboroCity_PokemonSchool_EventScript_2140A8 + goto_if_set FLAG_0x136, RustboroCity_PokemonSchool_EventScript_21406F + goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_214082 msgbox RustboroCity_PokemonSchool_Text_2148C0, MSGBOX_DEFAULT addvar VAR_0x40D1, 1 setflag FLAG_0x136 @@ -180,8 +176,7 @@ RustboroCity_PokemonSchool_EventScript_214040:: @ 8214040 end RustboroCity_PokemonSchool_EventScript_21406F:: @ 821406F - checkflag FLAG_BADGE01_GET - goto_eq RustboroCity_PokemonSchool_EventScript_214090 + goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_214090 msgbox RustboroCity_PokemonSchool_Text_214A5F, MSGBOX_DEFAULT release end diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc index 1eaaba66c..8985f5b43 100644 --- a/data/maps/RusturfTunnel/scripts.inc +++ b/data/maps/RusturfTunnel/scripts.inc @@ -10,7 +10,7 @@ RusturfTunnel_MapScript2_22CE32: @ 822CE32 RusturfTunnel_MapScript1_22CE44: @ 822CE44 compare VAR_RUSTURF_TUNNEL_STATE, 2 - call_if 1, RusturfTunnel_EventScript_22CE50 + call_if_eq RusturfTunnel_EventScript_22CE50 end RusturfTunnel_EventScript_22CE50:: @ 822CE50 @@ -31,8 +31,7 @@ RusturfTunnel_EventScript_22CE5F:: @ 822CE5F RusturfTunnel_EventScript_22CE76:: @ 822CE76 lock faceplayer - checkflag FLAG_TEMP_1 - goto_eq RusturfTunnel_EventScript_22CE99 + goto_if_set FLAG_TEMP_1, RusturfTunnel_EventScript_22CE99 setflag FLAG_TEMP_1 msgbox RusturfTunnel_Text_22D510, MSGBOX_DEFAULT closemessage @@ -52,47 +51,47 @@ RusturfTunnel_EventScript_22CE99:: @ 822CE99 RusturfTunnel_EventScript_22CEAE:: @ 822CEAE lockall compare VAR_TEMP_1, 1 - call_if 1, RusturfTunnel_EventScript_22CFA7 + call_if_eq RusturfTunnel_EventScript_22CFA7 compare VAR_TEMP_1, 2 - call_if 1, RusturfTunnel_EventScript_22CFBC + call_if_eq RusturfTunnel_EventScript_22CFBC compare VAR_TEMP_1, 3 - call_if 1, RusturfTunnel_EventScript_22CFC7 + call_if_eq RusturfTunnel_EventScript_22CFC7 call RusturfTunnel_EventScript_22CFFF msgbox RusturfTunnel_Text_22D65C, MSGBOX_DEFAULT compare VAR_TEMP_1, 2 - call_if 1, RusturfTunnel_EventScript_22CFC8 + call_if_eq RusturfTunnel_EventScript_22CFC8 compare VAR_TEMP_1, 3 - call_if 1, RusturfTunnel_EventScript_22CFC8 + call_if_eq RusturfTunnel_EventScript_22CFC8 giveitem_std ITEM_HM04 setflag FLAG_0x06A msgbox RusturfTunnel_Text_22D6D2, MSGBOX_DEFAULT closemessage compare VAR_TEMP_1, 1 - call_if 1, RusturfTunnel_EventScript_22CF5D + call_if_eq RusturfTunnel_EventScript_22CF5D compare VAR_TEMP_1, 2 - call_if 1, RusturfTunnel_EventScript_22CF6F + call_if_eq RusturfTunnel_EventScript_22CF6F compare VAR_TEMP_1, 3 - call_if 1, RusturfTunnel_EventScript_22CF8B + call_if_eq RusturfTunnel_EventScript_22CF8B msgbox RusturfTunnel_Text_22D745, MSGBOX_DEFAULT closemessage compare VAR_TEMP_1, 1 - call_if 1, RusturfTunnel_EventScript_22CFD4 + call_if_eq RusturfTunnel_EventScript_22CFD4 compare VAR_TEMP_1, 2 - call_if 1, RusturfTunnel_EventScript_22CFE6 + call_if_eq RusturfTunnel_EventScript_22CFE6 compare VAR_TEMP_1, 3 - call_if 1, RusturfTunnel_EventScript_22CFE6 + call_if_eq RusturfTunnel_EventScript_22CFE6 call RusturfTunnel_EventScript_272216 releaseall end RusturfTunnel_EventScript_22CF5D:: @ 822CF5D - applymovement 255, RusturfTunnel_Movement_22D042 + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D042 applymovement 1, RusturfTunnel_Movement_22D067 waitmovement 0 return RusturfTunnel_EventScript_22CF6F:: @ 822CF6F - applymovement 255, RusturfTunnel_Movement_22D045 + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D045 applymovement 1, RusturfTunnel_Movement_22D06C waitmovement 0 applymovement 10, RusturfTunnel_Movement_2725AA @@ -100,7 +99,7 @@ RusturfTunnel_EventScript_22CF6F:: @ 822CF6F return RusturfTunnel_EventScript_22CF8B:: @ 822CF8B - applymovement 255, RusturfTunnel_Movement_22D045 + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D045 applymovement 1, RusturfTunnel_Movement_22D06C waitmovement 0 applymovement 10, RusturfTunnel_Movement_2725AA @@ -110,7 +109,7 @@ RusturfTunnel_EventScript_22CF8B:: @ 822CF8B RusturfTunnel_EventScript_22CFA7:: @ 822CFA7 applymovement 1, RusturfTunnel_Movement_2725A6 waitmovement 0 - applymovement 255, RusturfTunnel_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_2725AA waitmovement 0 return @@ -135,7 +134,7 @@ RusturfTunnel_EventScript_22CFD4:: @ 822CFD4 return RusturfTunnel_EventScript_22CFE6:: @ 822CFE6 - applymovement 255, RusturfTunnel_Movement_22D02F + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D02F applymovement 10, RusturfTunnel_Movement_22D023 applymovement 1, RusturfTunnel_Movement_22D058 waitmovement 0 @@ -317,7 +316,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2 msgbox RusturfTunnel_Text_22D2E1, MSGBOX_DEFAULT giveitem_std ITEM_DEVON_GOODS closemessage - applymovement 255, RusturfTunnel_Movement_22D178 + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D178 applymovement 6, RusturfTunnel_Movement_22D181 waitmovement 0 removeobject 6 @@ -325,7 +324,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2 addobject 5 applymovement 5, RusturfTunnel_Movement_22D18B waitmovement 0 - applymovement 255, RusturfTunnel_Movement_22D17E + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D17E applymovement 5, RusturfTunnel_Movement_22D1A4 waitmovement 0 msgbox RusturfTunnel_Text_22D395, MSGBOX_DEFAULT @@ -338,7 +337,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2 waitbuttonpress waitmoncry closemessage - applymovement 255, RusturfTunnel_Movement_22D19F + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D19F applymovement 5, RusturfTunnel_Movement_22D193 applymovement 7, RusturfTunnel_Movement_22D1A7 waitmovement 0 diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc index 15b0ba8e1..86d85fccc 100644 --- a/data/maps/SSTidalCorridor/scripts.inc +++ b/data/maps/SSTidalCorridor/scripts.inc @@ -43,9 +43,9 @@ SSTidalRooms_EventScript_23C03C:: @ 823C03C SSTidalCorridor_EventScript_23C050:: @ 823C050 compare VAR_PORTHOLE_STATE, 2 - goto_eq SSTidalCorridor_EventScript_23C067 + goto_if_eq SSTidalCorridor_EventScript_23C067 compare VAR_PORTHOLE_STATE, 7 - goto_eq SSTidalCorridor_EventScript_23C07D + goto_if_eq SSTidalCorridor_EventScript_23C07D end SSTidalCorridor_EventScript_23C067:: @ 823C067 @@ -115,9 +115,9 @@ SSTidalCorridor_EventScript_23C119:: @ 823C119 lock faceplayer compare VAR_PORTHOLE_STATE, 4 - goto_eq SSTidalCorridor_EventScript_23C13B + goto_if_eq SSTidalCorridor_EventScript_23C13B compare VAR_PORTHOLE_STATE, 8 - goto_eq SSTidalCorridor_EventScript_23C15A + goto_if_eq SSTidalCorridor_EventScript_23C15A msgbox SSTidalCorridor_Text_23C596, MSGBOX_DEFAULT release end @@ -125,8 +125,7 @@ SSTidalCorridor_EventScript_23C119:: @ 823C119 SSTidalCorridor_EventScript_23C13B:: @ 823C13B setrespawn HEAL_LOCATION_LILYCOVE_CITY msgbox SSTidalCorridor_Text_23C64F, MSGBOX_DEFAULT - checkflag FLAG_0x104 - call_if 1, SSTidalCorridor_EventScript_23C179 + call_if_set FLAG_0x104, SSTidalCorridor_EventScript_23C179 warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11 waitstate release @@ -135,8 +134,7 @@ SSTidalCorridor_EventScript_23C13B:: @ 823C13B SSTidalCorridor_EventScript_23C15A:: @ 823C15A setrespawn HEAL_LOCATION_SLATEPORT_CITY msgbox SSTidalCorridor_Text_23C64F, MSGBOX_DEFAULT - checkflag FLAG_0x104 - call_if 1, SSTidalCorridor_EventScript_23C179 + call_if_set FLAG_0x104, SSTidalCorridor_EventScript_23C179 warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11 waitstate release @@ -149,9 +147,9 @@ SSTidalCorridor_EventScript_23C179:: @ 823C179 SSTidalCorridor_EventScript_23C17D:: @ 823C17D lockall compare VAR_PORTHOLE_STATE, 2 - goto_eq SSTidalCorridor_EventScript_23C19E + goto_if_eq SSTidalCorridor_EventScript_23C19E compare VAR_PORTHOLE_STATE, 7 - goto_eq SSTidalCorridor_EventScript_23C19E + goto_if_eq SSTidalCorridor_EventScript_23C19E msgbox SSTidalCorridor_Text_23C6C3, MSGBOX_DEFAULT releaseall end @@ -164,8 +162,7 @@ SSTidalCorridor_EventScript_23C19E:: @ 823C19E SSTidalCorridor_EventScript_23C1A3:: @ 823C1A3 lock faceplayer - checkflag FLAG_0x0F7 - goto_eq SSTidalCorridor_EventScript_23C1BD + goto_if_set FLAG_0x0F7, SSTidalCorridor_EventScript_23C1BD call SSTidalCorridor_EventScript_23C1C7 msgbox SSTidalCorridor_Text_23C65E, MSGBOX_DEFAULT release @@ -178,21 +175,21 @@ SSTidalCorridor_EventScript_23C1BD:: @ 823C1BD SSTidalCorridor_EventScript_23C1C7:: @ 823C1C7 checktrainerflag TRAINER_PHILLIP - goto_if 0, SSTidalCorridor_EventScript_23C218 + goto_if_lt SSTidalCorridor_EventScript_23C218 checktrainerflag TRAINER_LEONARD - goto_if 0, SSTidalCorridor_EventScript_23C218 + goto_if_lt SSTidalCorridor_EventScript_23C218 checktrainerflag TRAINER_COLTON - goto_if 0, SSTidalCorridor_EventScript_23C218 + goto_if_lt SSTidalCorridor_EventScript_23C218 checktrainerflag TRAINER_MICAH - goto_if 0, SSTidalCorridor_EventScript_23C218 + goto_if_lt SSTidalCorridor_EventScript_23C218 checktrainerflag TRAINER_THOMAS - goto_if 0, SSTidalCorridor_EventScript_23C218 + goto_if_lt SSTidalCorridor_EventScript_23C218 checktrainerflag TRAINER_LEA_AND_JED - goto_if 0, SSTidalCorridor_EventScript_23C218 + goto_if_lt SSTidalCorridor_EventScript_23C218 checktrainerflag TRAINER_GARRET - goto_if 0, SSTidalCorridor_EventScript_23C218 + goto_if_lt SSTidalCorridor_EventScript_23C218 checktrainerflag TRAINER_NAOMI - goto_if 0, SSTidalCorridor_EventScript_23C218 + goto_if_lt SSTidalCorridor_EventScript_23C218 setflag FLAG_0x0F7 goto SSTidalCorridor_EventScript_23C1BD return @@ -204,11 +201,11 @@ SSTidalCorridor_EventScript_23C219:: @ 823C219 lockall applymovement 5, SSTidalCorridor_Movement_23C26D waitmovement 0 - applymovement 255, SSTidalCorridor_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, SSTidalCorridor_Movement_2725A8 waitmovement 0 msgbox SSTidalCorridor_Text_23C28F, MSGBOX_DEFAULT closemessage - applymovement 255, SSTidalCorridor_Movement_23C27D + applymovement EVENT_OBJ_ID_PLAYER, SSTidalCorridor_Movement_23C27D applymovement 1, SSTidalCorridor_Movement_23C284 applymovement 5, SSTidalCorridor_Movement_23C275 waitmovement 0 diff --git a/data/maps/SSTidalRooms/scripts.inc b/data/maps/SSTidalRooms/scripts.inc index 7d774e491..d4c088536 100644 --- a/data/maps/SSTidalRooms/scripts.inc +++ b/data/maps/SSTidalRooms/scripts.inc @@ -4,12 +4,11 @@ SSTidalRooms_MapScripts:: @ 823C9F1 SSTidalRooms_EventScript_23C9F2:: @ 823C9F2 lock faceplayer - checkflag FLAG_0x104 - goto_eq SSTidalRooms_EventScript_23CA29 + goto_if_set FLAG_0x104, SSTidalRooms_EventScript_23CA29 msgbox SSTidalRooms_Text_23D098, MSGBOX_DEFAULT giveitem_std ITEM_TM49 compare VAR_RESULT, 0 - goto_eq SSTidalRooms_EventScript_272054 + goto_if_eq SSTidalRooms_EventScript_272054 setflag FLAG_0x104 msgbox SSTidalRooms_Text_23D145, MSGBOX_DEFAULT release diff --git a/data/maps/SafariZone_South/scripts.inc b/data/maps/SafariZone_South/scripts.inc index 6579b6571..06b050f67 100644 --- a/data/maps/SafariZone_South/scripts.inc +++ b/data/maps/SafariZone_South/scripts.inc @@ -9,7 +9,7 @@ SafariZone_South_MapScript2_23D284: @ 823D284 SafariZone_South_EventScript_23D28E:: @ 823D28E lockall - applymovement 255, SafariZone_South_Movement_23D2C5 + applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D2C5 waitmovement 0 applymovement 1, SafariZone_South_Movement_23D2C7 waitmovement 0 @@ -20,7 +20,7 @@ SafariZone_South_EventScript_23D28E:: @ 823D28E SafariZone_South_MapScript1_23D2B1: @ 823D2B1 compare VAR_0x40A4, 2 - call_if 1, SafariZone_South_EventScript_23D2BD + call_if_eq SafariZone_South_EventScript_23D2BD end SafariZone_South_EventScript_23D2BD:: @ 823D2BD @@ -51,11 +51,10 @@ SafariZone_South_EventScript_23D2DC:: @ 823D2DC SafariZone_South_EventScript_23D2E5:: @ 823D2E5 lock faceplayer - checkflag FLAG_0x05D - goto_if 0, SafariZone_South_EventScript_23D30D + goto_if_unset FLAG_0x05D, SafariZone_South_EventScript_23D30D msgbox SafariZone_South_Text_2A51D4, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq SafariZone_South_EventScript_23D31A + goto_if_eq SafariZone_South_EventScript_23D31A msgbox SafariZone_South_Text_2A521A, MSGBOX_DEFAULT release end @@ -77,7 +76,7 @@ SafariZone_South_EventScript_23D31A:: @ 823D31A SafariZone_South_EventScript_23D33F:: @ 823D33F applymovement 1, SafariZone_South_Movement_23D38A waitmovement 0 - applymovement 255, SafariZone_South_Movement_23D385 + applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D385 waitmovement 0 goto SafariZone_South_EventScript_23D373 end @@ -85,7 +84,7 @@ SafariZone_South_EventScript_23D33F:: @ 823D33F SafariZone_South_EventScript_23D359:: @ 823D359 applymovement 1, SafariZone_South_Movement_23D38D waitmovement 0 - applymovement 255, SafariZone_South_Movement_23D387 + applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D387 waitmovement 0 goto SafariZone_South_EventScript_23D373 end diff --git a/data/maps/SeafloorCavern_Entrance/scripts.inc b/data/maps/SeafloorCavern_Entrance/scripts.inc index cb41b7ca6..9bbb9cbdc 100644 --- a/data/maps/SeafloorCavern_Entrance/scripts.inc +++ b/data/maps/SeafloorCavern_Entrance/scripts.inc @@ -10,7 +10,7 @@ SeafloorCavern_Entrance_MapScript1_234474: @ 8234474 SeafloorCavern_Entrance_EventScript_234485:: @ 8234485 lockall compare VAR_0x40D9, 1 - goto_eq SeafloorCavern_Entrance_EventScript_2344ED + goto_if_eq SeafloorCavern_Entrance_EventScript_2344ED waitse playse SE_PIN applymovement 1, SeafloorCavern_Entrance_Movement_272598 @@ -19,11 +19,11 @@ SeafloorCavern_Entrance_EventScript_234485:: @ 8234485 waitmovement 0 delay 20 compare VAR_FACING, 3 - call_if 1, SeafloorCavern_Entrance_EventScript_23452E + call_if_eq SeafloorCavern_Entrance_EventScript_23452E compare VAR_FACING, 4 - call_if 1, SeafloorCavern_Entrance_EventScript_234523 + call_if_eq SeafloorCavern_Entrance_EventScript_234523 compare VAR_FACING, 2 - call_if 1, SeafloorCavern_Entrance_EventScript_234539 + call_if_eq SeafloorCavern_Entrance_EventScript_234539 delay 30 setvar VAR_0x40D9, 1 moveobjectoffscreen 1 @@ -36,11 +36,11 @@ SeafloorCavern_Entrance_EventScript_234485:: @ 8234485 SeafloorCavern_Entrance_EventScript_2344ED:: @ 82344ED compare VAR_FACING, 3 - call_if 1, SeafloorCavern_Entrance_EventScript_23452E + call_if_eq SeafloorCavern_Entrance_EventScript_23452E compare VAR_FACING, 4 - call_if 1, SeafloorCavern_Entrance_EventScript_234523 + call_if_eq SeafloorCavern_Entrance_EventScript_234523 compare VAR_FACING, 2 - call_if 1, SeafloorCavern_Entrance_EventScript_234539 + call_if_eq SeafloorCavern_Entrance_EventScript_234539 msgbox SeafloorCavern_Entrance_Text_2346C8, MSGBOX_DEFAULT closemessage applymovement 1, SeafloorCavern_Entrance_Movement_2725A6 diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc index 9406fcb6c..212496eef 100644 --- a/data/maps/SeafloorCavern_Room9/scripts.inc +++ b/data/maps/SeafloorCavern_Room9/scripts.inc @@ -7,15 +7,15 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 setvar VAR_0x8005, 3 setvar VAR_0x8006, 4 setvar VAR_0x8007, 5 - applymovement 255, SeafloorCavern_Room9_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_2725A6 waitmovement 0 - applymovement 255, SeafloorCavern_Room9_Movement_23505C + applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_23505C waitmovement 0 playbgm MUS_AQA_0, 0 msgbox SeafloorCavern_Room9_Text_23505F, MSGBOX_DEFAULT closemessage addobject VAR_0x8004 - applymovement 255, SeafloorCavern_Room9_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_2725A4 waitmovement 0 applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23502A waitmovement 0 @@ -28,7 +28,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 msgbox SeafloorCavern_Room9_Text_23512C, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_ARCHIE, SeafloorCavern_Room9_Text_2351BC msgbox SeafloorCavern_Room9_Text_2351E5, MSGBOX_DEFAULT - setweather 0 + setweather WEATHER_NONE doweather special sub_80B05B4 waitstate @@ -48,7 +48,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 playse SE_TAMA special sub_80B0534 applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725A6 - applymovement 255, SeafloorCavern_Room9_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_2725A6 waitmovement 0 delay 150 removeobject 7 @@ -82,7 +82,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 setvar VAR_0x8007, 5 msgbox SeafloorCavern_Room9_Text_2352A7, MSGBOX_DEFAULT playse SE_PC_LOGIN - applymovement 255, SeafloorCavern_Room9_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_2725A4 waitmovement 0 msgbox SeafloorCavern_Room9_Text_2352F6, MSGBOX_DEFAULT closemessage diff --git a/data/maps/SealedChamber_InnerRoom/scripts.inc b/data/maps/SealedChamber_InnerRoom/scripts.inc index a906d338e..36836fb49 100644 --- a/data/maps/SealedChamber_InnerRoom/scripts.inc +++ b/data/maps/SealedChamber_InnerRoom/scripts.inc @@ -6,11 +6,10 @@ SealedChamber_InnerRoom_EventScript_2391F8:: @ 82391F8 braillemessage SealedChamber_InnerRoom_Braille_2A6B99 waitbuttonpress hidebox2 - checkflag FLAG_0x0E4 - goto_eq SealedChamber_InnerRoom_EventScript_239253 + goto_if_set FLAG_0x0E4, SealedChamber_InnerRoom_EventScript_239253 specialvar VAR_RESULT, CheckRelicanthWailord compare VAR_RESULT, 0 - goto_eq SealedChamber_InnerRoom_EventScript_239253 + goto_if_eq SealedChamber_InnerRoom_EventScript_239253 fadeoutbgm 0 playse SE_TRACK_MOVE special DoSealedChamberShakingEffect1 diff --git a/data/maps/SealedChamber_OuterRoom/scripts.inc b/data/maps/SealedChamber_OuterRoom/scripts.inc index 7d3e32479..4b461a684 100644 --- a/data/maps/SealedChamber_OuterRoom/scripts.inc +++ b/data/maps/SealedChamber_OuterRoom/scripts.inc @@ -14,8 +14,7 @@ SealedChamber_OuterRoom_MapScript1_239127: @ 8239127 end SealedChamber_OuterRoom_MapScript1_23912B: @ 823912B - checkflag FLAG_SYS_BRAILLE_DIG - call_if 0, SealedChamber_OuterRoom_EventScript_239135 + call_if_unset FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_239135 end SealedChamber_OuterRoom_EventScript_239135:: @ 8239135 @@ -109,8 +108,7 @@ SealedChamber_OuterRoom_EventScript_2391C6:: @ 82391C6 SealedChamber_OuterRoom_EventScript_2391D0:: @ 82391D0 lockall - checkflag FLAG_SYS_BRAILLE_DIG - goto_eq SealedChamber_OuterRoom_EventScript_2391E3 + goto_if_set FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_2391E3 braillemessage SealedChamber_OuterRoom_Braille_2A6B89 waitbuttonpress hidebox2 diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc index 7d63928ab..5f95bf8ed 100644 --- a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc @@ -4,8 +4,7 @@ ShoalCave_LowTideEntranceRoom_MapScripts:: @ 8236DBA ShoalCave_LowTideEntranceRoom_MapScript1_236DC0: @ 8236DC0 special UpdateShoalTideFlag - checkflag FLAG_SYS_SHOAL_TIDE - goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236DD1 + goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideEntranceRoom_EventScript_236DD1 goto ShoalCave_LowTideEntranceRoom_EventScript_236DD5 ShoalCave_LowTideEntranceRoom_EventScript_236DD1:: @ 8236DD1 @@ -20,28 +19,27 @@ ShoalCave_LowTideEntranceRoom_EventScript_236DD9:: @ 8236DD9 lock faceplayer dodailyevents - checkflag FLAG_SYS_SHOAL_ITEM - call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_236ED9 + call_if_set FLAG_SYS_SHOAL_ITEM, ShoalCave_LowTideEntranceRoom_EventScript_236ED9 checkitem ITEM_SHOAL_SALT, 4 compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B checkitem ITEM_SHOAL_SHELL, 4 compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B msgbox ShoalCave_LowTideEntranceRoom_Text_2A7F37, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236ECF + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236ECF checkitemspace ITEM_SHELL_BELL, 1 compare VAR_RESULT, 0 - call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_236E69 + call_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E69 compare VAR_RESULT, 2 - goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E91 + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E91 msgbox ShoalCave_LowTideEntranceRoom_Text_2A7FAC, MSGBOX_DEFAULT takeitem ITEM_SHOAL_SALT, 4 takeitem ITEM_SHOAL_SHELL, 4 giveitem_std ITEM_SHELL_BELL compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideEntranceRoom_EventScript_272054 + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_272054 msgbox ShoalCave_LowTideEntranceRoom_Text_2A8012, MSGBOX_DEFAULT setflag FLAG_TEMP_2 release @@ -50,13 +48,13 @@ ShoalCave_LowTideEntranceRoom_EventScript_236DD9:: @ 8236DD9 ShoalCave_LowTideEntranceRoom_EventScript_236E69:: @ 8236E69 checkitem ITEM_SHOAL_SALT, 5 compare VAR_RESULT, 1 - goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E7A + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E7A return ShoalCave_LowTideEntranceRoom_EventScript_236E7A:: @ 8236E7A checkitem ITEM_SHOAL_SHELL, 5 compare VAR_RESULT, 1 - goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E8B + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E8B return ShoalCave_LowTideEntranceRoom_EventScript_236E8B:: @ 8236E8B @@ -71,10 +69,10 @@ ShoalCave_LowTideEntranceRoom_EventScript_236E91:: @ 8236E91 ShoalCave_LowTideEntranceRoom_EventScript_236E9B:: @ 8236E9B checkitem ITEM_SHOAL_SALT, 1 compare VAR_RESULT, 1 - goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5 + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5 checkitem ITEM_SHOAL_SHELL, 1 compare VAR_RESULT, 1 - goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5 + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5 msgbox ShoalCave_LowTideEntranceRoom_Text_2A7E0E, MSGBOX_DEFAULT release end diff --git a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc index a92e84e3a..226f89708 100644 --- a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc @@ -4,8 +4,7 @@ ShoalCave_LowTideInnerRoom_MapScripts:: @ 8236EF5 .byte 0 ShoalCave_LowTideInnerRoom_MapScript1_236F00: @ 8236F00 - checkflag FLAG_SYS_SHOAL_TIDE - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F0E + goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F0E goto ShoalCave_LowTideInnerRoom_EventScript_236F12 ShoalCave_LowTideInnerRoom_EventScript_236F0E:: @ 8236F0E @@ -21,47 +20,39 @@ ShoalCave_LowTideInnerRoom_MapScript1_236F16: @ 8236F16 end ShoalCave_LowTideInnerRoom_EventScript_236F1C:: @ 8236F1C - checkflag FLAG_0x3B8 - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F3D - checkflag FLAG_SYS_SHOAL_TIDE - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F3D + goto_if_set FLAG_0x3B8, ShoalCave_LowTideInnerRoom_EventScript_236F3D + goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F3D setmetatile 31, 8, 856, 1 goto ShoalCave_LowTideInnerRoom_EventScript_236F3D end ShoalCave_LowTideInnerRoom_EventScript_236F3D:: @ 8236F3D - checkflag FLAG_0x3B9 - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F5E - checkflag FLAG_SYS_SHOAL_TIDE - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F5E + goto_if_set FLAG_0x3B9, ShoalCave_LowTideInnerRoom_EventScript_236F5E + goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F5E setmetatile 14, 26, 856, 1 goto ShoalCave_LowTideInnerRoom_EventScript_236F5E end ShoalCave_LowTideInnerRoom_EventScript_236F5E:: @ 8236F5E - checkflag FLAG_0x3BC - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F76 + goto_if_set FLAG_0x3BC, ShoalCave_LowTideInnerRoom_EventScript_236F76 setmetatile 41, 20, 857, 1 goto ShoalCave_LowTideInnerRoom_EventScript_236F76 end ShoalCave_LowTideInnerRoom_EventScript_236F76:: @ 8236F76 - checkflag FLAG_0x3BD - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F8E + goto_if_set FLAG_0x3BD, ShoalCave_LowTideInnerRoom_EventScript_236F8E setmetatile 41, 10, 857, 1 goto ShoalCave_LowTideInnerRoom_EventScript_236F8E end ShoalCave_LowTideInnerRoom_EventScript_236F8E:: @ 8236F8E - checkflag FLAG_0x3BE - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FA6 + goto_if_set FLAG_0x3BE, ShoalCave_LowTideInnerRoom_EventScript_236FA6 setmetatile 6, 9, 857, 1 goto ShoalCave_LowTideInnerRoom_EventScript_236FA6 end ShoalCave_LowTideInnerRoom_EventScript_236FA6:: @ 8236FA6 - checkflag FLAG_0x3BF - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FB9 + goto_if_set FLAG_0x3BF, ShoalCave_LowTideInnerRoom_EventScript_236FB9 setmetatile 16, 13, 857, 1 return @@ -70,11 +61,10 @@ ShoalCave_LowTideInnerRoom_EventScript_236FB9:: @ 8236FB9 ShoalCave_LowTideInnerRoom_EventScript_236FBA:: @ 8236FBA lockall - checkflag FLAG_0x3BC - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC + goto_if_set FLAG_0x3BC, ShoalCave_LowTideInnerRoom_EventScript_236FEC giveitem_std ITEM_SHOAL_SHELL compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054 setmetatile 41, 20, 859, 0 special DrawWholeMapView setflag FLAG_0x3BC @@ -88,11 +78,10 @@ ShoalCave_LowTideInnerRoom_EventScript_236FEC:: @ 8236FEC ShoalCave_LowTideInnerRoom_EventScript_236FF6:: @ 8236FF6 lockall - checkflag FLAG_0x3BD - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC + goto_if_set FLAG_0x3BD, ShoalCave_LowTideInnerRoom_EventScript_236FEC giveitem_std ITEM_SHOAL_SHELL compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054 setmetatile 41, 10, 859, 0 special DrawWholeMapView setflag FLAG_0x3BD @@ -101,11 +90,10 @@ ShoalCave_LowTideInnerRoom_EventScript_236FF6:: @ 8236FF6 ShoalCave_LowTideInnerRoom_EventScript_237028:: @ 8237028 lockall - checkflag FLAG_0x3BE - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC + goto_if_set FLAG_0x3BE, ShoalCave_LowTideInnerRoom_EventScript_236FEC giveitem_std ITEM_SHOAL_SHELL compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054 setmetatile 6, 9, 859, 0 special DrawWholeMapView setflag FLAG_0x3BE @@ -114,11 +102,10 @@ ShoalCave_LowTideInnerRoom_EventScript_237028:: @ 8237028 ShoalCave_LowTideInnerRoom_EventScript_23705A:: @ 823705A lockall - checkflag FLAG_0x3BF - goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC + goto_if_set FLAG_0x3BF, ShoalCave_LowTideInnerRoom_EventScript_236FEC giveitem_std ITEM_SHOAL_SHELL compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054 setmetatile 16, 13, 859, 0 special DrawWholeMapView setflag FLAG_0x3BF @@ -127,11 +114,10 @@ ShoalCave_LowTideInnerRoom_EventScript_23705A:: @ 823705A ShoalCave_LowTideInnerRoom_EventScript_23708C:: @ 823708C lockall - checkflag FLAG_0x3B8 - goto_eq ShoalCave_LowTideInnerRoom_EventScript_2370BE + goto_if_set FLAG_0x3B8, ShoalCave_LowTideInnerRoom_EventScript_2370BE giveitem_std ITEM_SHOAL_SALT compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054 setmetatile 31, 8, 858, 0 special DrawWholeMapView setflag FLAG_0x3B8 @@ -145,11 +131,10 @@ ShoalCave_LowTideInnerRoom_EventScript_2370BE:: @ 82370BE ShoalCave_LowTideInnerRoom_EventScript_2370C8:: @ 82370C8 lockall - checkflag FLAG_0x3B9 - goto_eq ShoalCave_LowTideInnerRoom_EventScript_2370BE + goto_if_set FLAG_0x3B9, ShoalCave_LowTideInnerRoom_EventScript_2370BE giveitem_std ITEM_SHOAL_SALT compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054 setmetatile 14, 26, 858, 0 special DrawWholeMapView setflag FLAG_0x3B9 diff --git a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc index fc0fb32a7..1e2e756d7 100644 --- a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc @@ -7,8 +7,7 @@ ShoalCave_LowTideLowerRoom_MapScript1_23715C: @ 823715C end ShoalCave_LowTideLowerRoom_EventScript_237162:: @ 8237162 - checkflag FLAG_0x3BB - goto_eq ShoalCave_LowTideLowerRoom_EventScript_237175 + goto_if_set FLAG_0x3BB, ShoalCave_LowTideLowerRoom_EventScript_237175 setmetatile 18, 2, 856, 1 return @@ -17,11 +16,10 @@ ShoalCave_LowTideLowerRoom_EventScript_237175:: @ 8237175 ShoalCave_LowTideLowerRoom_EventScript_237176:: @ 8237176 lockall - checkflag FLAG_0x3BB - goto_eq ShoalCave_LowTideLowerRoom_EventScript_2371A8 + goto_if_set FLAG_0x3BB, ShoalCave_LowTideLowerRoom_EventScript_2371A8 giveitem_std ITEM_SHOAL_SALT compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideLowerRoom_EventScript_272054 + goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_272054 setmetatile 18, 2, 858, 0 special DrawWholeMapView setflag FLAG_0x3BB @@ -36,12 +34,11 @@ ShoalCave_LowTideLowerRoom_EventScript_2371A8:: @ 82371A8 ShoalCave_LowTideLowerRoom_EventScript_2371B2:: @ 82371B2 lock faceplayer - checkflag FLAG_0x11B - goto_eq ShoalCave_LowTideLowerRoom_EventScript_2371E1 + goto_if_set FLAG_0x11B, ShoalCave_LowTideLowerRoom_EventScript_2371E1 msgbox ShoalCave_LowTideLowerRoom_Text_2371EB, MSGBOX_DEFAULT giveitem_std ITEM_FOCUS_BAND compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideLowerRoom_EventScript_272054 + goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_272054 setflag FLAG_0x11B release end diff --git a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc index de2faf65b..4486c7c61 100644 --- a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc @@ -7,8 +7,7 @@ ShoalCave_LowTideStairsRoom_MapScript1_237100: @ 8237100 end ShoalCave_LowTideStairsRoom_EventScript_237106:: @ 8237106 - checkflag FLAG_0x3BA - goto_eq ShoalCave_LowTideStairsRoom_EventScript_237119 + goto_if_set FLAG_0x3BA, ShoalCave_LowTideStairsRoom_EventScript_237119 setmetatile 11, 11, 856, 1 return @@ -17,11 +16,10 @@ ShoalCave_LowTideStairsRoom_EventScript_237119:: @ 8237119 ShoalCave_LowTideStairsRoom_EventScript_23711A:: @ 823711A lockall - checkflag FLAG_0x3BA - goto_eq ShoalCave_LowTideStairsRoom_EventScript_23714C + goto_if_set FLAG_0x3BA, ShoalCave_LowTideStairsRoom_EventScript_23714C giveitem_std ITEM_SHOAL_SALT compare VAR_RESULT, 0 - goto_eq ShoalCave_LowTideStairsRoom_EventScript_272054 + goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_272054 setmetatile 11, 11, 858, 0 special DrawWholeMapView setflag FLAG_0x3BA diff --git a/data/maps/SkyPillar_1F/scripts.inc b/data/maps/SkyPillar_1F/scripts.inc index 6afc5aa64..3d76a9fe2 100644 --- a/data/maps/SkyPillar_1F/scripts.inc +++ b/data/maps/SkyPillar_1F/scripts.inc @@ -4,7 +4,7 @@ SkyPillar_1F_MapScripts:: @ 8239615 SkyPillar_1F_MapScript1_23961B: @ 823961B compare VAR_0x40CA, 2 - call_if 0, SkyPillar_1F_EventScript_239627 + call_if_lt SkyPillar_1F_EventScript_239627 end SkyPillar_1F_EventScript_239627:: @ 8239627 diff --git a/data/maps/SkyPillar_2F/scripts.inc b/data/maps/SkyPillar_2F/scripts.inc index c15f1f8c4..0474a829c 100644 --- a/data/maps/SkyPillar_2F/scripts.inc +++ b/data/maps/SkyPillar_2F/scripts.inc @@ -6,7 +6,7 @@ SkyPillar_2F_MapScripts:: @ 823962B SkyPillar_2F_MapScript1_23963B: @ 823963B compare VAR_0x40CA, 2 - call_if 0, SkyPillar_2F_EventScript_23964C + call_if_lt SkyPillar_2F_EventScript_23964C copyvar VAR_ICE_STEP_COUNT, 0x1 end diff --git a/data/maps/SkyPillar_3F/scripts.inc b/data/maps/SkyPillar_3F/scripts.inc index 0ddae05b2..777d53b62 100644 --- a/data/maps/SkyPillar_3F/scripts.inc +++ b/data/maps/SkyPillar_3F/scripts.inc @@ -4,7 +4,7 @@ SkyPillar_3F_MapScripts:: @ 823965B SkyPillar_3F_MapScript1_239661: @ 8239661 compare VAR_0x40CA, 2 - call_if 0, SkyPillar_3F_EventScript_23966D + call_if_lt SkyPillar_3F_EventScript_23966D end SkyPillar_3F_EventScript_23966D:: @ 823966D diff --git a/data/maps/SkyPillar_4F/scripts.inc b/data/maps/SkyPillar_4F/scripts.inc index 3884864d7..262492169 100644 --- a/data/maps/SkyPillar_4F/scripts.inc +++ b/data/maps/SkyPillar_4F/scripts.inc @@ -6,7 +6,7 @@ SkyPillar_4F_MapScripts:: @ 8239671 SkyPillar_4F_MapScript1_239681: @ 8239681 compare VAR_0x40CA, 2 - call_if 0, SkyPillar_4F_EventScript_239692 + call_if_lt SkyPillar_4F_EventScript_239692 copyvar VAR_ICE_STEP_COUNT, 0x1 end diff --git a/data/maps/SkyPillar_5F/scripts.inc b/data/maps/SkyPillar_5F/scripts.inc index 8e08fb2bd..41546899f 100644 --- a/data/maps/SkyPillar_5F/scripts.inc +++ b/data/maps/SkyPillar_5F/scripts.inc @@ -4,7 +4,7 @@ SkyPillar_5F_MapScripts:: @ 82396A2 SkyPillar_5F_MapScript1_2396A8: @ 82396A8 compare VAR_0x40CA, 2 - call_if 0, SkyPillar_5F_EventScript_2396B4 + call_if_lt SkyPillar_5F_EventScript_2396B4 return SkyPillar_5F_EventScript_2396B4:: @ 82396B4 diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc index 1b2a1e4c9..4e7701de6 100644 --- a/data/maps/SkyPillar_Outside/scripts.inc +++ b/data/maps/SkyPillar_Outside/scripts.inc @@ -6,9 +6,9 @@ SkyPillar_Outside_MapScripts:: @ 82392A8 SkyPillar_Outside_MapScript1_2392B8: @ 82392B8 compare VAR_0x405E, 3 - call_if 1, SkyPillar_Outside_EventScript_2392CF + call_if_eq SkyPillar_Outside_EventScript_2392CF compare VAR_0x405E, 4 - call_if 4, SkyPillar_Outside_EventScript_2392D3 + call_if_ge SkyPillar_Outside_EventScript_2392D3 end SkyPillar_Outside_EventScript_2392CF:: @ 82392CF @@ -16,13 +16,11 @@ SkyPillar_Outside_EventScript_2392CF:: @ 82392CF return SkyPillar_Outside_EventScript_2392D3:: @ 82392D3 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, SkyPillar_Outside_EventScript_27207A + call_if_set FLAG_SYS_WEATHER_CTRL, SkyPillar_Outside_EventScript_27207A return SkyPillar_Outside_MapScript1_2392DD: @ 82392DD - checkflag FLAG_0x137 - call_if 1, SkyPillar_Outside_EventScript_2392E7 + call_if_set FLAG_0x137, SkyPillar_Outside_EventScript_2392E7 end SkyPillar_Outside_EventScript_2392E7:: @ 82392E7 @@ -38,7 +36,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304 lockall applymovement 1, SkyPillar_Outside_Movement_2393D3 waitmovement 0 - applymovement 255, SkyPillar_Outside_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Outside_Movement_2725A4 waitmovement 0 msgbox SkyPillar_Outside_Text_239416, MSGBOX_DEFAULT closemessage @@ -52,7 +50,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304 delay 40 msgbox SkyPillar_Outside_Text_2394BC, MSGBOX_DEFAULT closemessage - applymovement 255, SkyPillar_Outside_Movement_2393EB + applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Outside_Movement_2393EB applymovement 1, SkyPillar_Outside_Movement_2393DE waitmovement 0 setvar VAR_0x8004, 1 @@ -74,7 +72,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304 msgbox SkyPillar_Outside_Text_23950C, MSGBOX_DEFAULT closemessage setflag FLAG_SYS_WEATHER_CTRL - setweather 15 + setweather WEATHER_15 doweather special WaitWeather waitstate diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc index ef0419cdb..1ac3cf486 100644 --- a/data/maps/SkyPillar_Top/scripts.inc +++ b/data/maps/SkyPillar_Top/scripts.inc @@ -5,22 +5,21 @@ SkyPillar_Top_MapScripts:: @ 82396B8 .byte 0 SkyPillar_Top_MapScript1_2396C8: @ 82396C8 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, SkyPillar_Top_EventScript_2396D2 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SkyPillar_Top_EventScript_2396D2 end SkyPillar_Top_EventScript_2396D2:: @ 82396D2 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, SkyPillar_Top_EventScript_27374E + goto_if_ne SkyPillar_Top_EventScript_27374E removeobject VAR_LAST_TALKED return SkyPillar_Top_MapScript1_2396E6: @ 82396E6 compare VAR_0x40CA, 2 - call_if 0, SkyPillar_Top_EventScript_2396FD + call_if_lt SkyPillar_Top_EventScript_2396FD compare VAR_0x40CA, 2 - call_if 4, SkyPillar_Top_EventScript_239705 + call_if_ge SkyPillar_Top_EventScript_239705 end SkyPillar_Top_EventScript_2396FD:: @ 82396FD @@ -29,8 +28,7 @@ SkyPillar_Top_EventScript_2396FD:: @ 82396FD return SkyPillar_Top_EventScript_239705:: @ 8239705 - checkflag FLAG_0x1C0 - call_if 0, SkyPillar_Top_EventScript_23970F + call_if_unset FLAG_0x1C0, SkyPillar_Top_EventScript_23970F return SkyPillar_Top_EventScript_23970F:: @ 823970F @@ -58,11 +56,11 @@ SkyPillar_Top_EventScript_239722:: @ 8239722 clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq SkyPillar_Top_EventScript_239768 + goto_if_eq SkyPillar_Top_EventScript_239768 compare VAR_RESULT, 4 - goto_eq SkyPillar_Top_EventScript_239771 + goto_if_eq SkyPillar_Top_EventScript_239771 compare VAR_RESULT, 5 - goto_eq SkyPillar_Top_EventScript_239771 + goto_if_eq SkyPillar_Top_EventScript_239771 setflag FLAG_0x1C0 releaseall end @@ -96,12 +94,12 @@ SkyPillar_Top_EventScript_239785:: @ 8239785 SkyPillar_Top_EventScript_23979A:: @ 823979A lockall fadeoutbgm 1 - applymovement 255, SkyPillar_Top_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Top_Movement_2725B2 waitmovement 0 - special SpawnScriptEventObject - applymovement 127, SkyPillar_Top_Movement_239858 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_239858 waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject applymovement 1, SkyPillar_Top_Movement_23983A waitmovement 0 waitse @@ -128,10 +126,10 @@ SkyPillar_Top_EventScript_23979A:: @ 823979A closemessage delay 20 fadeinbgm 1 - special SpawnScriptEventObject - applymovement 127, SkyPillar_Top_Movement_23985C + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_23985C waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject setvar VAR_0x405E, 5 setvar VAR_0x40CA, 1 setvar VAR_0x40D7, 1 diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc index dc3a81650..a28d74fa2 100644 --- a/data/maps/SlateportCity/scripts.inc +++ b/data/maps/SlateportCity/scripts.inc @@ -7,9 +7,9 @@ SlateportCity_MapScript1_1DCC6C: @ 81DCC6C setvar VAR_0x40AA, 0 call SlateportCity_EventScript_1DCC8D compare VAR_0x4058, 1 - call_if 1, SlateportCity_EventScript_1DCC99 + call_if_eq SlateportCity_EventScript_1DCC99 compare VAR_0x40D2, 1 - call_if 1, SlateportCity_EventScript_1DCCE7 + call_if_eq SlateportCity_EventScript_1DCCE7 end SlateportCity_EventScript_1DCC8D:: @ 81DCC8D @@ -39,7 +39,7 @@ SlateportCity_EventScript_1DCCE7:: @ 81DCCE7 setflag FLAG_SPECIAL_FLAG_0x4000 getplayerxy VAR_0x8004, VAR_0x8005 compare VAR_0x8004, 30 - goto_eq SlateportCity_EventScript_1DCD06 + goto_if_eq SlateportCity_EventScript_1DCD06 setobjectxyperm 35, 23, 27 setobjectmovementtype 35, 10 return @@ -56,7 +56,7 @@ SlateportCity_MapScript2_1DCD12: @ 81DCD12 SlateportCity_EventScript_1DCD1C:: @ 81DCD1C lockall addobject 35 - applymovement 255, SlateportCity_Movement_1DCDA8 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DCDA8 applymovement 35, SlateportCity_Movement_1DCDAC waitmovement 0 msgbox SlateportCity_Text_1DF032, MSGBOX_DEFAULT @@ -144,10 +144,10 @@ SlateportCity_EventScript_1DCDE4:: @ 81DCDE4 msgbox SlateportCity_Text_1DD68A, MSGBOX_DEFAULT specialvar VAR_RESULT, LeadMonHasEffortRibbon compare VAR_RESULT, 1 - call_if 1, SlateportCity_EventScript_1DCE38 + call_if_eq SlateportCity_EventScript_1DCE38 specialvar VAR_RESULT, Special_AreLeadMonEVsMaxedOut compare VAR_RESULT, 0 - call_if 1, SlateportCity_EventScript_1DCE2E + call_if_eq SlateportCity_EventScript_1DCE2E msgbox SlateportCity_Text_1DD697, MSGBOX_DEFAULT playfanfare MUS_FANFA4 message SlateportCity_Text_1DD6E3 @@ -171,7 +171,7 @@ SlateportCity_EventScript_1DCE42:: @ 81DCE42 lock faceplayer compare VAR_0x4058, 1 - call_if 1, SlateportCity_EventScript_1DCE59 + call_if_eq SlateportCity_EventScript_1DCE59 msgbox SlateportCity_Text_1DD81A, MSGBOX_DEFAULT release end @@ -185,7 +185,7 @@ SlateportCity_EventScript_1DCE63:: @ 81DCE63 lock faceplayer compare VAR_0x4058, 1 - call_if 1, SlateportCity_EventScript_1DCE7A + call_if_eq SlateportCity_EventScript_1DCE7A msgbox SlateportCity_Text_1DD8A6, MSGBOX_DEFAULT release end @@ -199,9 +199,8 @@ SlateportCity_EventScript_1DCE84:: @ 81DCE84 lock faceplayer compare VAR_0x4058, 1 - call_if 1, SlateportCity_EventScript_1DCEA4 - checkflag FLAG_0x060 - goto_eq SlateportCity_EventScript_1DCEAE + call_if_eq SlateportCity_EventScript_1DCEA4 + goto_if_set FLAG_0x060, SlateportCity_EventScript_1DCEAE msgbox SlateportCity_Text_1DD93D, MSGBOX_DEFAULT release end @@ -220,7 +219,7 @@ SlateportCity_EventScript_1DCEB8:: @ 81DCEB8 lock faceplayer compare VAR_0x4058, 1 - call_if 1, SlateportCity_EventScript_1DCECF + call_if_eq SlateportCity_EventScript_1DCECF msgbox SlateportCity_Text_1DDA34, MSGBOX_DEFAULT release end @@ -232,7 +231,7 @@ SlateportCity_EventScript_1DCECF:: @ 81DCECF SlateportCity_EventScript_1DCED9:: @ 81DCED9 compare VAR_0x4058, 1 - goto_eq SlateportCity_EventScript_1DCEED + goto_if_eq SlateportCity_EventScript_1DCEED msgbox SlateportCity_Text_1DDA9A, MSGBOX_NPC end @@ -244,7 +243,7 @@ SlateportCity_EventScript_1DCEF6:: @ 81DCEF6 lock faceplayer compare VAR_0x4058, 1 - call_if 1, SlateportCity_EventScript_1DCF0D + call_if_eq SlateportCity_EventScript_1DCF0D msgbox SlateportCity_Text_1DDB21, MSGBOX_DEFAULT release end @@ -257,8 +256,7 @@ SlateportCity_EventScript_1DCF0D:: @ 81DCF0D SlateportCity_EventScript_1DCF17:: @ 81DCF17 lock faceplayer - checkflag FLAG_0x094 - goto_eq SlateportCity_EventScript_1DCF2C + goto_if_set FLAG_0x094, SlateportCity_EventScript_1DCF2C msgbox SlateportCity_Text_1DDBAC, MSGBOX_DEFAULT release end @@ -274,10 +272,8 @@ SlateportCity_EventScript_1DCF36:: @ 81DCF36 SlateportCity_EventScript_1DCF3F:: @ 81DCF3F lockall - checkflag FLAG_SYS_GAME_CLEAR - goto_eq SlateportCity_EventScript_1DCF66 - checkflag FLAG_BADGE07_GET - goto_eq SlateportCity_EventScript_1DCF5C + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_1DCF66 + goto_if_set FLAG_BADGE07_GET, SlateportCity_EventScript_1DCF5C msgbox SlateportCity_Text_1DE8F8, MSGBOX_DEFAULT releaseall end @@ -310,8 +306,7 @@ SlateportCity_EventScript_1DCF8B:: @ 81DCF8B SlateportCity_EventScript_1DCF94:: @ 81DCF94 lockall - checkflag FLAG_SYS_GAME_CLEAR - goto_eq SlateportCity_EventScript_1DCFA8 + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_1DCFA8 msgbox SlateportCity_Text_1DEAE3, MSGBOX_DEFAULT releaseall end @@ -329,7 +324,7 @@ SlateportCity_EventScript_1DCFBB:: @ 81DCFBB lock faceplayer compare VAR_0x4058, 1 - call_if 1, SlateportCity_EventScript_1DCFD2 + call_if_eq SlateportCity_EventScript_1DCFD2 msgbox SlateportCity_Text_1DE10E, MSGBOX_DEFAULT release end @@ -518,8 +513,7 @@ SlateportCity_EventScript_1DD18E:: @ 81DD18E SlateportCity_EventScript_1DD198:: @ 81DD198 lock faceplayer - checkflag FLAG_0x060 - goto_if 0, SlateportCity_EventScript_1DD18E + goto_if_unset FLAG_0x060, SlateportCity_EventScript_1DD18E message gUnknown_08272A21 waitmessage pokemartdecoration SlateportCity_PokemartDecor_1DD1B8 @@ -576,7 +570,7 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8 waitmovement 0 delay 25 applymovement 11, SlateportCity_Movement_1DD33C - applymovement 255, SlateportCity_Movement_1DD34A + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD34A applymovement 10, SlateportCity_Movement_1DD319 applymovement 9, SlateportCity_Movement_1DD326 waitmovement 0 @@ -608,7 +602,7 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8 msgbox SlateportCity_Text_1DE8A0, MSGBOX_DEFAULT closemessage applymovement 11, SlateportCity_Movement_1DD337 - applymovement 255, SlateportCity_Movement_1DD344 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD344 waitmovement 0 removeobject 11 clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN @@ -728,8 +722,7 @@ SlateportCity_EventScript_1DD365:: @ 81DD365 SlateportCity_EventScript_1DD36E:: @ 81DD36E lock faceplayer - checkflag FLAG_0x151 - goto_eq SlateportCity_EventScript_1DD39A + goto_if_set FLAG_0x151, SlateportCity_EventScript_1DD39A msgbox SlateportCity_Text_1DEBCE, MSGBOX_DEFAULT giveitem_std ITEM_POWDER_JAR setflag FLAG_0x151 @@ -741,7 +734,7 @@ SlateportCity_EventScript_1DD39A:: @ 81DD39A setvar VAR_0x8004, 1 specialvar VAR_RESULT, sub_80246D4 compare VAR_RESULT, 0 - goto_eq SlateportCity_EventScript_1DD3C0 + goto_if_eq SlateportCity_EventScript_1DD3C0 msgbox SlateportCity_Text_1DEE40, MSGBOX_DEFAULT special sub_80248B0 goto SlateportCity_EventScript_1DD3CA @@ -860,20 +853,20 @@ SlateportCity_EventScript_1DD54A:: @ 81DD54A SlateportCity_EventScript_1DD557:: @ 81DD557 msgbox SlateportCity_Text_1DEE90, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SlateportCity_EventScript_1DD3CA + goto_if_eq SlateportCity_EventScript_1DD3CA copyvar VAR_0x8004, VAR_0x8009 specialvar VAR_RESULT, sub_80246D4 compare VAR_RESULT, 0 - goto_eq SlateportCity_EventScript_1DD5CE + goto_if_eq SlateportCity_EventScript_1DD5CE giveitem_std VAR_0x8008 compare VAR_RESULT, 0 - goto_eq SlateportCity_EventScript_1DD5C1 + goto_if_eq SlateportCity_EventScript_1DD5C1 copyvar VAR_0x8004, VAR_0x8009 special sub_802477C special sub_802488C msgbox SlateportCity_Text_1DEEF7, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq SlateportCity_EventScript_1DD3CA + goto_if_eq SlateportCity_EventScript_1DD3CA msgbox SlateportCity_Text_1DEF79, MSGBOX_DEFAULT special sub_8024918 release @@ -892,19 +885,19 @@ SlateportCity_EventScript_1DD5CE:: @ 81DD5CE SlateportCity_EventScript_1DD5DC:: @ 81DD5DC lockall - applymovement 255, SlateportCity_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_2725B2 waitmovement 0 opendoor 10, 12 waitdooranim addobject 35 - applymovement 255, SlateportCity_Movement_1DD630 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD630 applymovement 35, SlateportCity_Movement_1DD637 waitmovement 0 closedoor 10, 12 waitdooranim msgbox SlateportCity_Text_1DF28C, MSGBOX_DEFAULT closemessage - applymovement 255, SlateportCity_Movement_1DD634 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD634 applymovement 35, SlateportCity_Movement_1DD63A waitmovement 0 removeobject 35 diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc index 3cff83bd8..10eb60cb7 100644 --- a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc +++ b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc @@ -11,9 +11,9 @@ SlateportCity_BattleTentBattleRoom_MapScript1_209970: @ 8209970 SlateportCity_BattleTentBattleRoom_EventScript_209976:: @ 8209976 checkplayergender compare VAR_RESULT, 0 - goto_eq SlateportCity_BattleTentBattleRoom_EventScript_20998E + goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_20998E compare VAR_RESULT, 1 - goto_eq SlateportCity_BattleTentBattleRoom_EventScript_209994 + goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_209994 return SlateportCity_BattleTentBattleRoom_EventScript_20998E:: @ 820998E @@ -30,7 +30,7 @@ SlateportCity_BattleTentBattleRoom_MapScript2_20999A: @ 820999A SlateportCity_BattleTentBattleRoom_EventScript_2099A4:: @ 82099A4 setvar VAR_TEMP_1, 1 - hideobjectat 255, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM hideobjectat 2, MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM end diff --git a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc index 7eb935bf1..4bd28996b 100644 --- a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc +++ b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc @@ -10,12 +10,12 @@ SlateportCity_BattleTentCorridor_MapScript2_208E31: @ 8208E31 SlateportCity_BattleTentCorridor_EventScript_208E3B:: @ 8208E3B setvar VAR_TEMP_1, 1 compare VAR_0x8006, 1 - goto_if 5, SlateportCity_BattleTentCorridor_EventScript_208E56 + goto_if_ne SlateportCity_BattleTentCorridor_EventScript_208E56 setobjectxy 1, 2, 2 turnobject 1, 1 SlateportCity_BattleTentCorridor_EventScript_208E56:: @ 8208E56 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end SlateportCity_BattleTentCorridor_MapScript2_208E5B: @ 8208E5B @@ -24,13 +24,13 @@ SlateportCity_BattleTentCorridor_MapScript2_208E5B: @ 8208E5B SlateportCity_BattleTentCorridor_EventScript_208E65:: @ 8208E65 compare VAR_0x8006, 1 - goto_eq SlateportCity_BattleTentCorridor_EventScript_208EEE + goto_if_eq SlateportCity_BattleTentCorridor_EventScript_208EEE setvar VAR_TEMP_0, 1 applymovement 1, SlateportCity_BattleTentCorridor_Movement_209062 - applymovement 255, SlateportCity_BattleTentCorridor_Movement_209059 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_209059 waitmovement 0 compare VAR_0x8006, 2 - goto_eq SlateportCity_BattleTentCorridor_EventScript_209044 + goto_if_eq SlateportCity_BattleTentCorridor_EventScript_209044 setvar VAR_0x8004, 9 special sub_81B9D08 setvar VAR_0x8004, 8 @@ -49,7 +49,7 @@ SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4 opendoor 2, 1 waitdooranim applymovement 1, SlateportCity_BattleTentCorridor_Movement_209068 - applymovement 255, SlateportCity_BattleTentCorridor_Movement_20905E + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_20905E waitmovement 0 closedoor 2, 1 waitdooranim @@ -72,9 +72,9 @@ SlateportCity_BattleTentCorridor_EventScript_208F0D:: @ 8208F0D setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 1 - call_if 1, SlateportCity_BattleTentCorridor_EventScript_209014 + call_if_eq SlateportCity_BattleTentCorridor_EventScript_209014 compare VAR_RESULT, 2 - call_if 1, SlateportCity_BattleTentCorridor_EventScript_20901B + call_if_eq SlateportCity_BattleTentCorridor_EventScript_20901B multichoice 20, 6, 104, 1 switch VAR_RESULT case 0, SlateportCity_BattleTentCorridor_EventScript_208FBB @@ -112,7 +112,7 @@ SlateportCity_BattleTentCorridor_EventScript_208FF1:: @ 8208FF1 special sub_81B9D08 waitstate compare VAR_RESULT, 1 - goto_eq SlateportCity_BattleTentCorridor_EventScript_208EB4 + goto_if_eq SlateportCity_BattleTentCorridor_EventScript_208EB4 msgbox SlateportCity_BattleTentCorridor_Text_25AB6C, MSGBOX_DEFAULT goto SlateportCity_BattleTentCorridor_EventScript_208EB4 diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc index 8e5c81e12..2d00095ba 100644 --- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc +++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc @@ -9,7 +9,7 @@ SlateportCity_BattleTentLobby_MapScript2_20873B: @ 820873B SlateportCity_BattleTentLobby_EventScript_208745:: @ 8208745 setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end SlateportCity_BattleTentLobby_MapScript2_20874F: @ 820874F @@ -121,7 +121,7 @@ SlateportCity_BattleTentLobby_EventScript_2088AA:: @ 82088AA setvar VAR_0x8004, 1 special sub_81B9D08 compare VAR_RESULT, 0 - goto_if 5, SlateportCity_BattleTentLobby_EventScript_2087E9 + goto_if_ne SlateportCity_BattleTentLobby_EventScript_2087E9 special SavePlayerParty msgbox SlateportCity_BattleTentLobby_Text_2C5810, MSGBOX_DEFAULT @@ -168,7 +168,7 @@ SlateportCity_BattleTentLobby_EventScript_208950:: @ 8208950 call SlateportCity_BattleTentLobby_EventScript_27134F setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_eq SlateportCity_BattleTentLobby_EventScript_208A14 + goto_if_eq SlateportCity_BattleTentLobby_EventScript_208A14 setvar VAR_0x8006, 0 SlateportCity_BattleTentLobby_EventScript_2089AC:: @ 82089AC @@ -182,12 +182,12 @@ SlateportCity_BattleTentLobby_EventScript_2089AC:: @ 82089AC SlateportCity_BattleTentLobby_EventScript_2089C9:: @ 82089C9 applymovement 1, SlateportCity_BattleTentLobby_Movement_2089F8 - applymovement 255, SlateportCity_BattleTentLobby_Movement_2089FF + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_2089FF waitmovement 0 opendoor 6, 1 waitdooranim applymovement 1, SlateportCity_BattleTentLobby_Movement_2089FC - applymovement 255, SlateportCity_BattleTentLobby_Movement_208A03 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_208A03 waitmovement 0 closedoor 6, 1 waitdooranim @@ -245,12 +245,11 @@ SlateportCity_BattleTentLobby_Movement_208A38:: @ 8208A38 SlateportCity_BattleTentLobby_EventScript_208A3D:: @ 8208A3D lock faceplayer - checkflag FLAG_0x109 - goto_eq SlateportCity_BattleTentLobby_EventScript_208A74 + goto_if_set FLAG_0x109, SlateportCity_BattleTentLobby_EventScript_208A74 msgbox SlateportCity_BattleTentLobby_Text_208B4E, MSGBOX_DEFAULT giveitem_std ITEM_TM41 compare VAR_RESULT, 0 - goto_eq SlateportCity_BattleTentLobby_EventScript_272054 + goto_if_eq SlateportCity_BattleTentLobby_EventScript_272054 setflag FLAG_0x109 msgbox SlateportCity_BattleTentLobby_Text_208C5C, MSGBOX_DEFAULT release diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc index efc0ff565..df573aa7a 100644 --- a/data/maps/SlateportCity_Harbor/scripts.inc +++ b/data/maps/SlateportCity_Harbor/scripts.inc @@ -6,9 +6,8 @@ SlateportCity_Harbor_MapScript1_20C983: @ 820C983 setescapewarp MAP_SLATEPORT_CITY, 255, 28, 13 setvar VAR_TEMP_1, 0 compare VAR_0x40A0, 1 - call_if 1, SlateportCity_Harbor_EventScript_20C9A9 - checkflag FLAG_SYS_GAME_CLEAR - call_if 1, SlateportCity_Harbor_EventScript_20C9A5 + call_if_eq SlateportCity_Harbor_EventScript_20C9A9 + call_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20C9A5 end SlateportCity_Harbor_EventScript_20C9A5:: @ 820C9A5 @@ -43,7 +42,7 @@ SlateportCity_Harbor_EventScript_20C9D3:: @ 820C9D3 SlateportCity_Harbor_EventScript_20C9DF:: @ 820C9DF lockall setvar VAR_0x8008, 3 - applymovement 255, SlateportCity_Harbor_Movement_20CAEF + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CAEF waitmovement 0 goto SlateportCity_Harbor_EventScript_20C9F5 end @@ -52,7 +51,7 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5 applymovement 7, SlateportCity_Harbor_Movement_2725AA waitmovement 0 applymovement 6, SlateportCity_Harbor_Movement_2725AA - applymovement 255, SlateportCity_Harbor_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_2725A6 waitmovement 0 msgbox SlateportCity_Harbor_Text_20D291, MSGBOX_DEFAULT closemessage @@ -67,13 +66,13 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5 setflag FLAG_0x061 setflag FLAG_HIDE_LILCOVE_MOTEL_SCOTT compare VAR_0x8008, 0 - call_if 1, SlateportCity_Harbor_EventScript_20CA89 + call_if_eq SlateportCity_Harbor_EventScript_20CA89 compare VAR_0x8008, 1 - call_if 1, SlateportCity_Harbor_EventScript_20CA9E + call_if_eq SlateportCity_Harbor_EventScript_20CA9E compare VAR_0x8008, 2 - call_if 1, SlateportCity_Harbor_EventScript_20CAB3 + call_if_eq SlateportCity_Harbor_EventScript_20CAB3 compare VAR_0x8008, 3 - call_if 1, SlateportCity_Harbor_EventScript_20CAB3 + call_if_eq SlateportCity_Harbor_EventScript_20CAB3 msgbox SlateportCity_Harbor_Text_20D35A, MSGBOX_DEFAULT closemessage setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE @@ -86,21 +85,21 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5 SlateportCity_Harbor_EventScript_20CA89:: @ 820CA89 applymovement 4, SlateportCity_Harbor_Movement_20CAE0 waitmovement 0 - applymovement 255, SlateportCity_Harbor_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_2725AA waitmovement 0 return SlateportCity_Harbor_EventScript_20CA9E:: @ 820CA9E applymovement 4, SlateportCity_Harbor_Movement_20CAE6 waitmovement 0 - applymovement 255, SlateportCity_Harbor_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_2725A8 waitmovement 0 return SlateportCity_Harbor_EventScript_20CAB3:: @ 820CAB3 applymovement 4, SlateportCity_Harbor_Movement_20CAEB waitmovement 0 - applymovement 255, SlateportCity_Harbor_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_2725A8 waitmovement 0 return @@ -162,8 +161,7 @@ SlateportCity_Harbor_Movement_20CAEF: @ 820CAEF SlateportCity_Harbor_EventScript_20CAF1:: @ 820CAF1 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_eq SlateportCity_Harbor_EventScript_20CB06 + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20CB06 msgbox SlateportCity_Harbor_Text_20CE20, MSGBOX_DEFAULT release end @@ -176,8 +174,7 @@ SlateportCity_Harbor_EventScript_20CB06:: @ 820CB06 end SlateportCity_Harbor_EventScript_20CB1A:: @ 820CB1A - checkflag FLAG_0x1D0 - goto_eq SlateportCity_Harbor_EventScript_20CB50 + goto_if_set FLAG_0x1D0, SlateportCity_Harbor_EventScript_20CB50 multichoicedefault 18, 8, 56, 2, 0 switch VAR_RESULT case 0, SlateportCity_Harbor_EventScript_20CB92 @@ -202,7 +199,7 @@ SlateportCity_Harbor_EventScript_20CB88:: @ 820CB88 SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92 msgbox SlateportCity_Harbor_Text_20CF93, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SlateportCity_Harbor_EventScript_20CBDD + goto_if_eq SlateportCity_Harbor_EventScript_20CBDD setvar VAR_PORTHOLE_STATE, 1 call SlateportCity_Harbor_EventScript_20CBE9 warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 @@ -213,7 +210,7 @@ SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92 SlateportCity_Harbor_EventScript_20CBBA:: @ 820CBBA msgbox SlateportCity_Harbor_Text_20CFAE, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SlateportCity_Harbor_EventScript_20CBDD + goto_if_eq SlateportCity_Harbor_EventScript_20CBDD call SlateportCity_Harbor_EventScript_20CBE9 warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67 waitstate @@ -234,11 +231,11 @@ SlateportCity_Harbor_EventScript_20CBE9:: @ 820CBE9 delay 30 hideobjectat VAR_LAST_TALKED, MAP_SLATEPORT_CITY_HARBOR compare VAR_FACING, 2 - call_if 1, SlateportCity_Harbor_EventScript_20CC42 + call_if_eq SlateportCity_Harbor_EventScript_20CC42 compare VAR_FACING, 4 - call_if 1, SlateportCity_Harbor_EventScript_20CC37 + call_if_eq SlateportCity_Harbor_EventScript_20CC37 delay 30 - hideobjectat 255, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY setvar VAR_0x8004, 5 call SlateportCity_Harbor_EventScript_2721E2 return @@ -249,12 +246,12 @@ SlateportCity_Harbor_EventScript_20CC2D:: @ 820CC2D end SlateportCity_Harbor_EventScript_20CC37:: @ 820CC37 - applymovement 255, SlateportCity_Harbor_Movement_20CC4D + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CC4D waitmovement 0 return SlateportCity_Harbor_EventScript_20CC42:: @ 820CC42 - applymovement 255, SlateportCity_Harbor_Movement_20CC50 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CC50 waitmovement 0 return @@ -270,15 +267,12 @@ SlateportCity_Harbor_Movement_20CC50: @ 820CC50 SlateportCity_Harbor_EventScript_20CC52:: @ 820CC52 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SlateportCity_Harbor_EventScript_20CC89 + goto_if_unset FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20CC89 setvar VAR_0x8004, 0 - checkflag FLAG_0x1BE - call_if 1, SlateportCity_Harbor_EventScript_20CC93 - checkflag FLAG_0x1BF - call_if 1, SlateportCity_Harbor_EventScript_20CC93 + call_if_set FLAG_0x1BE, SlateportCity_Harbor_EventScript_20CC93 + call_if_set FLAG_0x1BF, SlateportCity_Harbor_EventScript_20CC93 compare VAR_0x8004, 2 - goto_eq SlateportCity_Harbor_EventScript_20CC89 + goto_if_eq SlateportCity_Harbor_EventScript_20CC89 msgbox SlateportCity_Harbor_Text_20D08E, MSGBOX_DEFAULT release end @@ -299,14 +293,11 @@ SlateportCity_Harbor_EventScript_20CC99:: @ 820CC99 SlateportCity_Harbor_EventScript_20CCA2:: @ 820CCA2 lock faceplayer - checkflag FLAG_BADGE07_GET - goto_eq SlateportCity_Harbor_EventScript_20CD00 - checkflag FLAG_0x10F - goto_eq SlateportCity_Harbor_EventScript_20CCF6 - checkflag FLAG_0x070 - goto_eq SlateportCity_Harbor_EventScript_20CCE9 + goto_if_set FLAG_BADGE07_GET, SlateportCity_Harbor_EventScript_20CD00 + goto_if_set FLAG_0x10F, SlateportCity_Harbor_EventScript_20CCF6 + goto_if_set FLAG_0x070, SlateportCity_Harbor_EventScript_20CCE9 compare VAR_0x40A0, 2 - goto_eq SlateportCity_Harbor_EventScript_20CCDF + goto_if_eq SlateportCity_Harbor_EventScript_20CCDF msgbox SlateportCity_Harbor_Text_20D232, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, SlateportCity_Harbor_Movement_2725A2 @@ -332,12 +323,11 @@ SlateportCity_Harbor_EventScript_20CCF6:: @ 820CCF6 SlateportCity_Harbor_EventScript_20CD00:: @ 820CD00 compare VAR_TEMP_1, 1 - goto_eq SlateportCity_Harbor_EventScript_20CE11 + goto_if_eq SlateportCity_Harbor_EventScript_20CE11 checkitem ITEM_SCANNER, 1 compare VAR_RESULT, 1 - goto_eq SlateportCity_Harbor_EventScript_20CD38 - checkflag FLAG_SYS_GAME_CLEAR - goto_eq SlateportCity_Harbor_EventScript_20CD2E + goto_if_eq SlateportCity_Harbor_EventScript_20CD38 + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20CD2E msgbox SlateportCity_Harbor_Text_20D65C, MSGBOX_DEFAULT release end @@ -365,10 +355,10 @@ SlateportCity_Harbor_EventScript_20CD44:: @ 820CD44 SlateportCity_Harbor_EventScript_20CD7B:: @ 820CD7B msgbox SlateportCity_Harbor_Text_20D8BC, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SlateportCity_Harbor_EventScript_20CE05 + goto_if_eq SlateportCity_Harbor_EventScript_20CE05 giveitem_std ITEM_DEEP_SEA_TOOTH compare VAR_RESULT, 0 - goto_eq SlateportCity_Harbor_EventScript_272054 + goto_if_eq SlateportCity_Harbor_EventScript_272054 takeitem ITEM_SCANNER, 1 msgbox SlateportCity_Harbor_Text_20D94A, MSGBOX_DEFAULT setflag FLAG_TRADED_SCANNER_TO_STERN @@ -378,10 +368,10 @@ SlateportCity_Harbor_EventScript_20CD7B:: @ 820CD7B SlateportCity_Harbor_EventScript_20CDBB:: @ 820CDBB msgbox SlateportCity_Harbor_Text_20D8F1, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SlateportCity_Harbor_EventScript_20CE05 + goto_if_eq SlateportCity_Harbor_EventScript_20CE05 giveitem_std ITEM_DEEP_SEA_SCALE compare VAR_RESULT, 0 - goto_eq SlateportCity_Harbor_EventScript_272054 + goto_if_eq SlateportCity_Harbor_EventScript_272054 takeitem ITEM_SCANNER, 1 msgbox SlateportCity_Harbor_Text_20D94A, MSGBOX_DEFAULT setflag FLAG_TRADED_SCANNER_TO_STERN diff --git a/data/maps/SlateportCity_House1/scripts.inc b/data/maps/SlateportCity_House1/scripts.inc index aaec06a21..2e973663b 100644 --- a/data/maps/SlateportCity_House1/scripts.inc +++ b/data/maps/SlateportCity_House1/scripts.inc @@ -6,9 +6,9 @@ SlateportCity_House1_EventScript_209AA5:: @ 8209AA5 faceplayer msgbox SlateportCity_House1_Text_209B8E, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq SlateportCity_House1_EventScript_209AC6 + goto_if_eq SlateportCity_House1_EventScript_209AC6 compare VAR_RESULT, 0 - goto_eq SlateportCity_House1_EventScript_209AE9 + goto_if_eq SlateportCity_House1_EventScript_209AE9 end SlateportCity_House1_EventScript_209AC6:: @ 8209AC6 @@ -16,9 +16,9 @@ SlateportCity_House1_EventScript_209AC6:: @ 8209AC6 special sub_81B94B0 waitstate compare VAR_0x8004, 255 - goto_if 5, SlateportCity_House1_EventScript_209AF3 + goto_if_ne SlateportCity_House1_EventScript_209AF3 compare VAR_0x8004, 255 - goto_eq SlateportCity_House1_EventScript_209AE9 + goto_if_eq SlateportCity_House1_EventScript_209AE9 end SlateportCity_House1_EventScript_209AE9:: @ 8209AE9 @@ -29,20 +29,20 @@ SlateportCity_House1_EventScript_209AE9:: @ 8209AE9 SlateportCity_House1_EventScript_209AF3:: @ 8209AF3 specialvar VAR_RESULT, ScriptGetPartyMonSpecies compare VAR_RESULT, 412 - goto_eq SlateportCity_House1_EventScript_209B46 + goto_if_eq SlateportCity_House1_EventScript_209B46 special TV_CopyNicknameToStringVar1AndEnsureTerminated special TV_CheckMonOTIDEqualsPlayerID compare VAR_RESULT, 1 - goto_eq SlateportCity_House1_EventScript_209B50 + goto_if_eq SlateportCity_House1_EventScript_209B50 specialvar VAR_RESULT, MonOTNameMatchesPlayer special TV_CopyNicknameToStringVar1AndEnsureTerminated compare VAR_RESULT, 1 - goto_eq SlateportCity_House1_EventScript_209B50 + goto_if_eq SlateportCity_House1_EventScript_209B50 msgbox SlateportCity_House1_Text_209C2B, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq SlateportCity_House1_EventScript_209B5A + goto_if_eq SlateportCity_House1_EventScript_209B5A compare VAR_RESULT, 0 - goto_eq SlateportCity_House1_EventScript_209AE9 + goto_if_eq SlateportCity_House1_EventScript_209AE9 end SlateportCity_House1_EventScript_209B46:: @ 8209B46 @@ -61,7 +61,7 @@ SlateportCity_House1_EventScript_209B5A:: @ 8209B5A specialvar VAR_RESULT, TV_PutNameRaterShowOnTheAirIfNicnkameChanged special TV_CopyNicknameToStringVar1AndEnsureTerminated compare VAR_RESULT, 1 - goto_eq SlateportCity_House1_EventScript_209B84 + goto_if_eq SlateportCity_House1_EventScript_209B84 msgbox SlateportCity_House1_Text_209D5E, MSGBOX_DEFAULT release end diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc index 3c777b184..76bc18873 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc @@ -7,14 +7,14 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AD96:: @ 820AD96 SlateportCity_OceanicMuseum_1F_EventScript_20AD9F:: @ 820AD9F lockall - applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_2725A4 waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1 end SlateportCity_OceanicMuseum_1F_EventScript_20ADB0:: @ 820ADB0 lockall - applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_2725A8 waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1 end @@ -23,12 +23,12 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADC1:: @ 820ADC1 showmoneybox 0, 0, 0 msgbox SlateportCity_OceanicMuseum_1F_Text_20AFD5, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20ADE8 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20ADE8 closemessage hidemoneybox nop nop - applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AE4B + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AE4B waitmovement 0 releaseall end @@ -36,7 +36,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADC1:: @ 820ADC1 SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8 checkmoney 0x32, 0 compare VAR_RESULT, 0 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AE18 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AE18 playse SE_REGI takemoney 0x32, 0 updatemoneybox 0, 0 @@ -50,14 +50,13 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8 end SlateportCity_OceanicMuseum_1F_EventScript_20AE18:: @ 820AE18 - checkflag FLAG_0x095 - goto_if 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE39 + goto_if_unset FLAG_0x095, SlateportCity_OceanicMuseum_1F_EventScript_20AE39 msgbox SlateportCity_OceanicMuseum_1F_Text_20B03D, MSGBOX_DEFAULT closemessage hidemoneybox nop nop - applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AE4B + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AE4B waitmovement 0 releaseall end @@ -163,22 +162,22 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AEF8:: @ 820AEF8 msgbox SlateportCity_OceanicMuseum_1F_Text_20B3AB, MSGBOX_DEFAULT giveitem_std ITEM_TM46 compare VAR_RESULT, 0 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AFB5 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AFB5 setflag FLAG_0x10D msgbox SlateportCity_OceanicMuseum_1F_Text_20B449, MSGBOX_DEFAULT closemessage compare VAR_FACING, 2 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF6C + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF6C compare VAR_FACING, 1 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF83 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF83 compare VAR_FACING, 3 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93 compare VAR_FACING, 4 - goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93 end SlateportCity_OceanicMuseum_1F_EventScript_20AF6C:: @ 820AF6C - applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AFBF + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AFBF applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFCE waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA @@ -191,7 +190,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AF83:: @ 820AF83 end SlateportCity_OceanicMuseum_1F_EventScript_20AF93:: @ 820AF93 - applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AFC4 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AFC4 applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFC7 waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc index 040a76396..387ffdabf 100644 --- a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc @@ -17,21 +17,21 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00 applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCF5 waitmovement 0 compare VAR_FACING, 1 - call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC92 + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC92 compare VAR_FACING, 4 - call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC92 + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC92 msgbox SlateportCity_OceanicMuseum_2F_Text_20BE40, MSGBOX_DEFAULT compare VAR_FACING, 4 - call_if 5, SlateportCity_OceanicMuseum_2F_EventScript_20BC9D + call_if_ne SlateportCity_OceanicMuseum_2F_EventScript_20BC9D msgbox SlateportCity_OceanicMuseum_2F_Text_20BE69, MSGBOX_DEFAULT msgbox SlateportCity_OceanicMuseum_2F_Text_20BE93, MSGBOX_DEFAULT closemessage applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCE2 waitmovement 0 compare VAR_FACING, 1 - call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BCA8 + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BCA8 compare VAR_FACING, 3 - call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BCB3 + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BCB3 trainerbattle_no_intro TRAINER_GRUNT_14, SlateportCity_OceanicMuseum_2F_Text_20BEE2 msgbox SlateportCity_OceanicMuseum_2F_Text_20BEFA, MSGBOX_DEFAULT closemessage @@ -68,7 +68,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00 fadescreen 0 delay 30 setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS - applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_2725A8 waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_20C2BE, MSGBOX_DEFAULT setvar VAR_0x8004, 269 @@ -82,7 +82,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00 removeobject 1 setflag FLAG_HIDE_ROUTE_110_TEAM_AQUA compare VAR_0x40DA, 0 - call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC8C + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC8C setflag FLAG_0x095 clearflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE @@ -96,7 +96,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BC8C:: @ 820BC8C return SlateportCity_OceanicMuseum_2F_EventScript_20BC92:: @ 820BC92 - applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_2725A4 waitmovement 0 return @@ -106,12 +106,12 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BC9D:: @ 820BC9D return SlateportCity_OceanicMuseum_2F_EventScript_20BCA8:: @ 820BCA8 - applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_20BCBE + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_20BCBE waitmovement 0 return SlateportCity_OceanicMuseum_2F_EventScript_20BCB3:: @ 820BCB3 - applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_20BCC2 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_20BCC2 waitmovement 0 return diff --git a/data/maps/SlateportCity_PokemonFanClub/scripts.inc b/data/maps/SlateportCity_PokemonFanClub/scripts.inc index 154438ae2..35fcde577 100644 --- a/data/maps/SlateportCity_PokemonFanClub/scripts.inc +++ b/data/maps/SlateportCity_PokemonFanClub/scripts.inc @@ -4,10 +4,8 @@ SlateportCity_PokemonFanClub_MapScripts:: @ 8209E95 SlateportCity_PokemonFanClub_EventScript_209E96:: @ 8209E96 lock faceplayer - checkflag FLAG_0x155 - goto_if 0, SlateportCity_PokemonFanClub_EventScript_20A152 - checkflag FLAG_0x156 - call_if 0, SlateportCity_PokemonFanClub_EventScript_20A172 + goto_if_unset FLAG_0x155, SlateportCity_PokemonFanClub_EventScript_20A152 + call_if_unset FLAG_0x156, SlateportCity_PokemonFanClub_EventScript_20A172 switch VAR_0x40B7 case 0, SlateportCity_PokemonFanClub_EventScript_209ED2 case 1, SlateportCity_PokemonFanClub_EventScript_209EE5 @@ -23,20 +21,15 @@ SlateportCity_PokemonFanClub_EventScript_209ED2:: @ 8209ED2 SlateportCity_PokemonFanClub_EventScript_209EE5:: @ 8209EE5 setvar VAR_TEMP_2, 0 - checkflag FLAG_0x0CC - call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 - checkflag FLAG_0x0CB - call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 - checkflag FLAG_0x0CA - call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 - checkflag FLAG_0x0C9 - call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 - checkflag FLAG_0x0C8 - call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 + call_if_set FLAG_0x0CC, SlateportCity_PokemonFanClub_EventScript_209FD0 + call_if_set FLAG_0x0CB, SlateportCity_PokemonFanClub_EventScript_209FD0 + call_if_set FLAG_0x0CA, SlateportCity_PokemonFanClub_EventScript_209FD0 + call_if_set FLAG_0x0C9, SlateportCity_PokemonFanClub_EventScript_209FD0 + call_if_set FLAG_0x0C8, SlateportCity_PokemonFanClub_EventScript_209FD0 compare VAR_TEMP_2, 5 - call_if 1, SlateportCity_PokemonFanClub_EventScript_209FCA + call_if_eq SlateportCity_PokemonFanClub_EventScript_209FCA compare VAR_0x40B7, 2 - goto_eq SlateportCity_PokemonFanClub_EventScript_209F3B + goto_if_eq SlateportCity_PokemonFanClub_EventScript_209F3B msgbox SlateportCity_PokemonFanClub_Text_20A62A, MSGBOX_DEFAULT goto SlateportCity_PokemonFanClub_EventScript_209F45 end @@ -49,16 +42,11 @@ SlateportCity_PokemonFanClub_EventScript_209F3B:: @ 8209F3B SlateportCity_PokemonFanClub_EventScript_209F45:: @ 8209F45 msgbox SlateportCity_PokemonFanClub_Text_20A65F, MSGBOX_DEFAULT setvar VAR_TEMP_1, 0 - checkflag FLAG_0x0CC - call_if 0, SlateportCity_PokemonFanClub_EventScript_20A13B - checkflag FLAG_0x0CB - call_if 0, SlateportCity_PokemonFanClub_EventScript_20A124 - checkflag FLAG_0x0CA - call_if 0, SlateportCity_PokemonFanClub_EventScript_20A10D - checkflag FLAG_0x0C9 - call_if 0, SlateportCity_PokemonFanClub_EventScript_20A0F6 - checkflag FLAG_0x0C8 - call_if 0, SlateportCity_PokemonFanClub_EventScript_20A0DF + call_if_unset FLAG_0x0CC, SlateportCity_PokemonFanClub_EventScript_20A13B + call_if_unset FLAG_0x0CB, SlateportCity_PokemonFanClub_EventScript_20A124 + call_if_unset FLAG_0x0CA, SlateportCity_PokemonFanClub_EventScript_20A10D + call_if_unset FLAG_0x0C9, SlateportCity_PokemonFanClub_EventScript_20A0F6 + call_if_unset FLAG_0x0C8, SlateportCity_PokemonFanClub_EventScript_20A0DF bufferleadmonspeciesname 0 switch VAR_TEMP_1 case 0, SlateportCity_PokemonFanClub_EventScript_209FD6 @@ -86,7 +74,7 @@ SlateportCity_PokemonFanClub_EventScript_209FD6:: @ 8209FD6 SlateportCity_PokemonFanClub_EventScript_209FE0:: @ 8209FE0 checkitemspace ITEM_RED_SCARF, 1 compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT setflag FLAG_0x0C8 giveitem_std ITEM_RED_SCARF @@ -97,7 +85,7 @@ SlateportCity_PokemonFanClub_EventScript_209FE0:: @ 8209FE0 SlateportCity_PokemonFanClub_EventScript_20A011:: @ 820A011 checkitemspace ITEM_BLUE_SCARF, 1 compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT setflag FLAG_0x0C9 giveitem_std ITEM_BLUE_SCARF @@ -108,7 +96,7 @@ SlateportCity_PokemonFanClub_EventScript_20A011:: @ 820A011 SlateportCity_PokemonFanClub_EventScript_20A042:: @ 820A042 checkitemspace ITEM_PINK_SCARF, 1 compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT setflag FLAG_0x0CA giveitem_std ITEM_PINK_SCARF @@ -119,7 +107,7 @@ SlateportCity_PokemonFanClub_EventScript_20A042:: @ 820A042 SlateportCity_PokemonFanClub_EventScript_20A073:: @ 820A073 checkitemspace ITEM_GREEN_SCARF, 1 compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT setflag FLAG_0x0CB giveitem_std ITEM_GREEN_SCARF @@ -130,7 +118,7 @@ SlateportCity_PokemonFanClub_EventScript_20A073:: @ 820A073 SlateportCity_PokemonFanClub_EventScript_20A0A4:: @ 820A0A4 checkitemspace ITEM_YELLOW_SCARF, 1 compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT setflag FLAG_0x0CC giveitem_std ITEM_YELLOW_SCARF @@ -146,7 +134,7 @@ SlateportCity_PokemonFanClub_EventScript_20A0D5:: @ 820A0D5 SlateportCity_PokemonFanClub_EventScript_20A0DF:: @ 820A0DF specialvar VAR_RESULT, CheckLeadMonCool compare VAR_RESULT, 1 - call_if 1, SlateportCity_PokemonFanClub_EventScript_20A0F0 + call_if_eq SlateportCity_PokemonFanClub_EventScript_20A0F0 return SlateportCity_PokemonFanClub_EventScript_20A0F0:: @ 820A0F0 @@ -156,7 +144,7 @@ SlateportCity_PokemonFanClub_EventScript_20A0F0:: @ 820A0F0 SlateportCity_PokemonFanClub_EventScript_20A0F6:: @ 820A0F6 specialvar VAR_RESULT, CheckLeadMonBeauty compare VAR_RESULT, 1 - call_if 1, SlateportCity_PokemonFanClub_EventScript_20A107 + call_if_eq SlateportCity_PokemonFanClub_EventScript_20A107 return SlateportCity_PokemonFanClub_EventScript_20A107:: @ 820A107 @@ -166,7 +154,7 @@ SlateportCity_PokemonFanClub_EventScript_20A107:: @ 820A107 SlateportCity_PokemonFanClub_EventScript_20A10D:: @ 820A10D specialvar VAR_RESULT, CheckLeadMonCute compare VAR_RESULT, 1 - call_if 1, SlateportCity_PokemonFanClub_EventScript_20A11E + call_if_eq SlateportCity_PokemonFanClub_EventScript_20A11E return SlateportCity_PokemonFanClub_EventScript_20A11E:: @ 820A11E @@ -176,7 +164,7 @@ SlateportCity_PokemonFanClub_EventScript_20A11E:: @ 820A11E SlateportCity_PokemonFanClub_EventScript_20A124:: @ 820A124 specialvar VAR_RESULT, CheckLeadMonSmart compare VAR_RESULT, 1 - call_if 1, SlateportCity_PokemonFanClub_EventScript_20A135 + call_if_eq SlateportCity_PokemonFanClub_EventScript_20A135 return SlateportCity_PokemonFanClub_EventScript_20A135:: @ 820A135 @@ -186,7 +174,7 @@ SlateportCity_PokemonFanClub_EventScript_20A135:: @ 820A135 SlateportCity_PokemonFanClub_EventScript_20A13B:: @ 820A13B specialvar VAR_RESULT, CheckLeadMonTough compare VAR_RESULT, 1 - call_if 1, SlateportCity_PokemonFanClub_EventScript_20A14C + call_if_eq SlateportCity_PokemonFanClub_EventScript_20A14C return SlateportCity_PokemonFanClub_EventScript_20A14C:: @ 820A14C @@ -194,8 +182,7 @@ SlateportCity_PokemonFanClub_EventScript_20A14C:: @ 820A14C return SlateportCity_PokemonFanClub_EventScript_20A152:: @ 820A152 - checkflag FLAG_0x156 - goto_eq SlateportCity_PokemonFanClub_EventScript_20A168 + goto_if_set FLAG_0x156, SlateportCity_PokemonFanClub_EventScript_20A168 msgbox SlateportCity_PokemonFanClub_Text_20A233, MSGBOX_DEFAULT setflag FLAG_0x156 release @@ -214,12 +201,11 @@ SlateportCity_PokemonFanClub_EventScript_20A172:: @ 820A172 SlateportCity_PokemonFanClub_EventScript_20A17E:: @ 820A17E lock faceplayer - checkflag FLAG_0x116 - goto_eq SlateportCity_PokemonFanClub_EventScript_20A1DE + goto_if_set FLAG_0x116, SlateportCity_PokemonFanClub_EventScript_20A1DE msgbox SlateportCity_PokemonFanClub_Text_20AA77, MSGBOX_DEFAULT specialvar VAR_RESULT, GetLeadMonFriendshipScore compare VAR_RESULT, 4 - goto_if 4, SlateportCity_PokemonFanClub_EventScript_20A1A3 + goto_if_ge SlateportCity_PokemonFanClub_EventScript_20A1A3 release end @@ -232,7 +218,7 @@ SlateportCity_PokemonFanClub_EventScript_20A1A3:: @ 820A1A3 msgbox SlateportCity_PokemonFanClub_Text_20AB63, MSGBOX_DEFAULT giveitem_std ITEM_SOOTHE_BELL compare VAR_RESULT, 0 - goto_eq SlateportCity_PokemonFanClub_EventScript_272054 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_272054 setflag FLAG_0x116 release end diff --git a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc index 82138168c..da264c2ee 100644 --- a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc +++ b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc @@ -3,14 +3,10 @@ SlateportCity_SternsShipyard_1F_MapScripts:: @ 8207F3F SlateportCity_SternsShipyard_1F_EventScript_207F40:: @ 8207F40 lockall - checkflag FLAG_SYS_GAME_CLEAR - goto_eq SlateportCity_SternsShipyard_1F_EventScript_207F92 - checkflag FLAG_BADGE07_GET - goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FA6 - checkflag FLAG_0x095 - goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FD9 - checkflag FLAG_0x094 - goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FBA + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_SternsShipyard_1F_EventScript_207F92 + goto_if_set FLAG_BADGE07_GET, SlateportCity_SternsShipyard_1F_EventScript_207FA6 + goto_if_set FLAG_0x095, SlateportCity_SternsShipyard_1F_EventScript_207FD9 + goto_if_set FLAG_0x094, SlateportCity_SternsShipyard_1F_EventScript_207FBA msgbox SlateportCity_SternsShipyard_1F_Text_208008, MSGBOX_DEFAULT applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E waitmovement 0 diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc index de6ca59db..ceff8f4e4 100644 --- a/data/maps/SootopolisCity/scripts.inc +++ b/data/maps/SootopolisCity/scripts.inc @@ -7,12 +7,9 @@ SootopolisCity_MapScripts:: @ 81E565C .byte 0 SootopolisCity_MapScript1_1E5676: @ 81E5676 - checkflag FLAG_0x09E - call_if 0, SootopolisCity_EventScript_1E56E5 - checkflag FLAG_0x081 - goto_if 0, SootopolisCity_EventScript_1E5692 - checkflag FLAG_0x09E - call_if 0, SootopolisCity_EventScript_1E5693 + call_if_unset FLAG_0x09E, SootopolisCity_EventScript_1E56E5 + goto_if_unset FLAG_0x081, SootopolisCity_EventScript_1E5692 + call_if_unset FLAG_0x09E, SootopolisCity_EventScript_1E5693 end SootopolisCity_EventScript_1E5692:: @ 81E5692 @@ -37,31 +34,31 @@ SootopolisCity_EventScript_1E56E5:: @ 81E56E5 SootopolisCity_MapScript1_1E56EF: @ 81E56EF setflag FLAG_VISITED_SOOTOPOLIS_CITY compare VAR_0x405E, 1 - call_if 1, SootopolisCity_EventScript_1E5781 + call_if_eq SootopolisCity_EventScript_1E5781 compare VAR_0x40CA, 1 - call_if 1, SootopolisCity_EventScript_1E5781 + call_if_eq SootopolisCity_EventScript_1E5781 call SootopolisCity_EventScript_1E5805 call SootopolisCity_EventScript_1E57B2 compare VAR_0x405E, 1 - call_if 1, SootopolisCity_EventScript_1E5785 + call_if_eq SootopolisCity_EventScript_1E5785 compare VAR_0x405E, 2 - call_if 1, SootopolisCity_EventScript_1E5785 + call_if_eq SootopolisCity_EventScript_1E5785 compare VAR_0x405E, 3 - call_if 1, SootopolisCity_EventScript_1E5785 + call_if_eq SootopolisCity_EventScript_1E5785 compare VAR_0x405E, 4 - call_if 1, SootopolisCity_EventScript_1E5785 + call_if_eq SootopolisCity_EventScript_1E5785 compare VAR_0x405E, 5 - call_if 1, SootopolisCity_EventScript_1E5785 + call_if_eq SootopolisCity_EventScript_1E5785 compare VAR_0x405E, 2 - call_if 1, SootopolisCity_EventScript_1E5842 + call_if_eq SootopolisCity_EventScript_1E5842 compare VAR_0x405E, 3 - call_if 1, SootopolisCity_EventScript_1E5842 + call_if_eq SootopolisCity_EventScript_1E5842 compare VAR_0x405E, 4 - call_if 1, SootopolisCity_EventScript_1E585B + call_if_eq SootopolisCity_EventScript_1E585B compare VAR_0x405E, 5 - call_if 1, SootopolisCity_EventScript_1E5871 + call_if_eq SootopolisCity_EventScript_1E5871 compare VAR_0x405E, 6 - call_if 1, SootopolisCity_EventScript_1E58D3 + call_if_eq SootopolisCity_EventScript_1E58D3 end SootopolisCity_EventScript_1E5781:: @ 81E5781 @@ -81,19 +78,19 @@ SootopolisCity_EventScript_1E5785:: @ 81E5785 SootopolisCity_EventScript_1E57B2:: @ 81E57B2 compare VAR_0x405E, 0 - goto_eq SootopolisCity_EventScript_1E5800 + goto_if_eq SootopolisCity_EventScript_1E5800 compare VAR_0x405E, 6 - goto_if 4, SootopolisCity_EventScript_1E5800 + goto_if_ge SootopolisCity_EventScript_1E5800 compare VAR_0x405E, 1 - goto_eq SootopolisCity_EventScript_1E5801 + goto_if_eq SootopolisCity_EventScript_1E5801 compare VAR_0x405E, 2 - goto_eq SootopolisCity_EventScript_1E5801 + goto_if_eq SootopolisCity_EventScript_1E5801 compare VAR_0x405E, 3 - goto_eq SootopolisCity_EventScript_1E5801 + goto_if_eq SootopolisCity_EventScript_1E5801 compare VAR_0x405E, 4 - goto_eq SootopolisCity_EventScript_1E5801 + goto_if_eq SootopolisCity_EventScript_1E5801 compare VAR_0x40CA, 1 - goto_if 3, SootopolisCity_EventScript_1E5801 + goto_if_le SootopolisCity_EventScript_1E5801 return SootopolisCity_EventScript_1E5800:: @ 81E5800 @@ -105,27 +102,26 @@ SootopolisCity_EventScript_1E5801:: @ 81E5801 SootopolisCity_EventScript_1E5805:: @ 81E5805 compare VAR_0x405E, 0 - goto_eq SootopolisCity_EventScript_1E583D + goto_if_eq SootopolisCity_EventScript_1E583D compare VAR_0x405E, 6 - goto_if 4, SootopolisCity_EventScript_1E583D + goto_if_ge SootopolisCity_EventScript_1E583D compare VAR_0x405E, 1 - goto_eq SootopolisCity_EventScript_1E583E + goto_if_eq SootopolisCity_EventScript_1E583E compare VAR_0x40CA, 1 - goto_eq SootopolisCity_EventScript_1E583E + goto_if_eq SootopolisCity_EventScript_1E583E compare VAR_0x40CA, 1 - goto_if 3, SootopolisCity_EventScript_27207A + goto_if_le SootopolisCity_EventScript_27207A return SootopolisCity_EventScript_1E583D:: @ 81E583D return SootopolisCity_EventScript_1E583E:: @ 81E583E - setweather 13 + setweather WEATHER_RAIN_HEAVY return SootopolisCity_EventScript_1E5842:: @ 81E5842 - checkflag FLAG_0x133 - goto_eq SootopolisCity_EventScript_1E584C + goto_if_set FLAG_0x133, SootopolisCity_EventScript_1E584C return SootopolisCity_EventScript_1E584C:: @ 81E584C @@ -145,11 +141,11 @@ SootopolisCity_EventScript_1E5871:: @ 81E5871 setobjectxyperm 16, 33, 35 setobjectxyperm 17, 34, 35 compare VAR_0x40D8, 0 - call_if 1, SootopolisCity_EventScript_1E58AF + call_if_eq SootopolisCity_EventScript_1E58AF compare VAR_0x40D8, 1 - call_if 1, SootopolisCity_EventScript_1E58BB + call_if_eq SootopolisCity_EventScript_1E58BB compare VAR_0x40D8, 2 - call_if 1, SootopolisCity_EventScript_1E58C7 + call_if_eq SootopolisCity_EventScript_1E58C7 return SootopolisCity_EventScript_1E58AF:: @ 81E58AF @@ -177,17 +173,17 @@ SootopolisCity_MapScript2_1E58DB: @ 81E58DB SootopolisCity_EventScript_1E58E5:: @ 81E58E5 compare VAR_0x40CA, 1 - call_if 1, SootopolisCity_EventScript_1E58FC + call_if_eq SootopolisCity_EventScript_1E58FC compare VAR_0x40CA, 2 - call_if 1, SootopolisCity_EventScript_1E5901 + call_if_eq SootopolisCity_EventScript_1E5901 end SootopolisCity_EventScript_1E58FC:: @ 81E58FC - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 return SootopolisCity_EventScript_1E5901:: @ 81E5901 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 setvar VAR_0x40CA, 3 return @@ -204,21 +200,21 @@ SootopolisCity_EventScript_1E5926:: @ 81E5926 lockall special StorePlayerCoordsInVars compare VAR_0x8004, 43 - goto_if 5, SootopolisCity_EventScript_1E5A82 + goto_if_ne SootopolisCity_EventScript_1E5A82 compare VAR_0x8005, 32 - goto_if 5, SootopolisCity_EventScript_1E5A82 + goto_if_ne SootopolisCity_EventScript_1E5A82 goto SootopolisCity_EventScript_1E5946 end SootopolisCity_EventScript_1E5946:: @ 81E5946 delay 60 - special SpawnScriptEventObject - applymovement 127, SootopolisCity_Movement_1E5A68 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A68 waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject delay 60 fadescreenspeed 1, 8 - setweather 15 + setweather WEATHER_15 doweather setvar VAR_0x8004, 0 special sub_813B7D8 @@ -269,12 +265,12 @@ SootopolisCity_EventScript_1E5946:: @ 81E5946 applymovement 10, SootopolisCity_Movement_1E5BCF applymovement 9, SootopolisCity_Movement_1E5BF0 waitmovement 0 - special SpawnScriptEventObject + special SpawnCameraObject applymovement 10, SootopolisCity_Movement_1E5BD6 applymovement 9, SootopolisCity_Movement_1E5BF7 - applymovement 127, SootopolisCity_Movement_1E5A75 + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A75 waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject setvar VAR_0x405E, 2 clearflag FLAG_SPECIAL_FLAG_0x4000 releaseall @@ -312,13 +308,13 @@ SootopolisCity_Movement_1E5A75: @ 81E5A75 SootopolisCity_EventScript_1E5A82:: @ 81E5A82 delay 60 - special SpawnScriptEventObject - applymovement 127, SootopolisCity_Movement_1E5BA4 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BA4 waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject delay 60 fadescreenspeed 1, 8 - setweather 15 + setweather WEATHER_15 doweather setvar VAR_0x8004, 0 special sub_813B7D8 @@ -369,12 +365,12 @@ SootopolisCity_EventScript_1E5A82:: @ 81E5A82 applymovement 10, SootopolisCity_Movement_1E5BCF applymovement 9, SootopolisCity_Movement_1E5BF0 waitmovement 0 - special SpawnScriptEventObject + special SpawnCameraObject applymovement 10, SootopolisCity_Movement_1E5BD6 applymovement 9, SootopolisCity_Movement_1E5BF7 - applymovement 127, SootopolisCity_Movement_1E5BAE + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BAE waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject setvar VAR_0x405E, 2 clearflag FLAG_SPECIAL_FLAG_0x4000 releaseall @@ -494,18 +490,18 @@ SootopolisCity_EventScript_1E5BFE:: @ 81E5BFE lockall special StorePlayerCoordsInVars compare VAR_0x8004, 43 - goto_if 5, SootopolisCity_EventScript_1E5CCE + goto_if_ne SootopolisCity_EventScript_1E5CCE compare VAR_0x8005, 32 - goto_if 5, SootopolisCity_EventScript_1E5CCE + goto_if_ne SootopolisCity_EventScript_1E5CCE goto SootopolisCity_EventScript_1E5C1E end SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E delay 60 - special SpawnScriptEventObject - applymovement 127, SootopolisCity_Movement_1E5A68 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A68 waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject delay 60 fadescreenspeed 1, 8 call SootopolisCity_EventScript_1E5D82 @@ -516,8 +512,8 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E special sub_813B7D8 waitstate playse SE_T_KAMI - special SpawnScriptEventObject - applymovement 127, SootopolisCity_Movement_1E5E63 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5E63 waitmovement 0 waitse playmoncry SPECIES_RAYQUAZA, 2 @@ -536,7 +532,7 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E special sub_8139560 waitstate waitmoncry - setweather 0 + setweather WEATHER_NONE doweather applymovement 11, SootopolisCity_Movement_1E5E5B waitmovement 0 @@ -555,10 +551,10 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE delay 60 - special SpawnScriptEventObject - applymovement 127, SootopolisCity_Movement_1E5BA4 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BA4 waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject delay 60 fadescreenspeed 1, 8 call SootopolisCity_EventScript_1E5D82 @@ -568,9 +564,9 @@ SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE setvar VAR_0x8004, 1 special sub_813B7D8 waitstate - special SpawnScriptEventObject - applymovement 127, SootopolisCity_Movement_1E5E63 - applymovement 255, SootopolisCity_Movement_1E5E68 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5E63 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E5E68 waitmovement 0 waitse playmoncry SPECIES_RAYQUAZA, 2 @@ -589,7 +585,7 @@ SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE special sub_8139560 waitstate waitmoncry - setweather 0 + setweather WEATHER_NONE doweather applymovement 11, SootopolisCity_Movement_1E5E5B waitmovement 0 @@ -699,11 +695,11 @@ SootopolisCity_EventScript_1E5E8D:: @ 81E5E8D lock faceplayer compare VAR_0x405E, 6 - goto_if 4, SootopolisCity_EventScript_1E5EC4 + goto_if_ge SootopolisCity_EventScript_1E5EC4 compare VAR_0x405E, 5 - goto_eq SootopolisCity_EventScript_1E5ECE + goto_if_eq SootopolisCity_EventScript_1E5ECE compare VAR_0x405E, 2 - goto_if 4, SootopolisCity_EventScript_1E5EBA + goto_if_ge SootopolisCity_EventScript_1E5EBA msgbox SootopolisCity_Text_1E6D77, MSGBOX_DEFAULT release end @@ -727,11 +723,11 @@ SootopolisCity_EventScript_1E5ED8:: @ 81E5ED8 lock faceplayer compare VAR_0x405E, 1 - goto_if 3, SootopolisCity_EventScript_1E5F1B + goto_if_le SootopolisCity_EventScript_1E5F1B compare VAR_0x405E, 6 - goto_if 4, SootopolisCity_EventScript_1E5F1B + goto_if_ge SootopolisCity_EventScript_1E5F1B compare VAR_0x405E, 5 - goto_eq SootopolisCity_EventScript_1E5F10 + goto_if_eq SootopolisCity_EventScript_1E5F10 msgbox SootopolisCity_Text_1E6BFF, MSGBOX_DEFAULT closemessage applymovement 3, SootopolisCity_Movement_2725A2 @@ -748,28 +744,27 @@ SootopolisCity_EventScript_1E5F10:: @ 81E5F10 SootopolisCity_EventScript_1E5F1B:: @ 81E5F1B dodailyevents special GetPlayerBigGuyGirlString - checkflag FLAG_0x932 - goto_eq SootopolisCity_EventScript_1E5FBB + goto_if_set FLAG_0x932, SootopolisCity_EventScript_1E5FBB msgbox SootopolisCity_Text_2A7BB0, MSGBOX_DEFAULT random 10 addvar VAR_RESULT, 20 addvar VAR_RESULT, 133 giveitem_std VAR_RESULT compare VAR_RESULT, 0 - goto_eq SootopolisCity_EventScript_272054 + goto_if_eq SootopolisCity_EventScript_272054 setflag FLAG_0x932 msgbox SootopolisCity_Text_2A7C7C, MSGBOX_DEFAULT random 2 compare VAR_RESULT, 0 - goto_eq SootopolisCity_EventScript_1E5F79 + goto_if_eq SootopolisCity_EventScript_1E5F79 compare VAR_RESULT, 1 - goto_eq SootopolisCity_EventScript_1E5F9A + goto_if_eq SootopolisCity_EventScript_1E5F9A end SootopolisCity_EventScript_1E5F79:: @ 81E5F79 giveitem_std ITEM_FIGY_BERRY compare VAR_RESULT, 0 - goto_eq SootopolisCity_EventScript_272054 + goto_if_eq SootopolisCity_EventScript_272054 msgbox SootopolisCity_Text_2A7CB7, MSGBOX_DEFAULT release end @@ -777,7 +772,7 @@ SootopolisCity_EventScript_1E5F79:: @ 81E5F79 SootopolisCity_EventScript_1E5F9A:: @ 81E5F9A giveitem_std ITEM_IAPAPA_BERRY compare VAR_RESULT, 0 - goto_eq SootopolisCity_EventScript_272054 + goto_if_eq SootopolisCity_EventScript_272054 msgbox SootopolisCity_Text_2A7CB7, MSGBOX_DEFAULT release end @@ -785,7 +780,7 @@ SootopolisCity_EventScript_1E5F9A:: @ 81E5F9A SootopolisCity_EventScript_1E5FBB:: @ 81E5FBB msgbox SootopolisCity_Text_2A7CEC, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq SootopolisCity_EventScript_1E5FD8 + goto_if_eq SootopolisCity_EventScript_1E5FD8 msgbox SootopolisCity_Text_2A7DD2, MSGBOX_DEFAULT release end @@ -800,7 +795,7 @@ SootopolisCity_EventScript_1E5FE2:: @ 81E5FE2 applymovement 2, SootopolisCity_Movement_27259E waitmovement 0 compare VAR_0x405E, 5 - goto_eq SootopolisCity_EventScript_1E600D + goto_if_eq SootopolisCity_EventScript_1E600D msgbox SootopolisCity_Text_1E71A1, MSGBOX_DEFAULT closemessage applymovement 2, SootopolisCity_Movement_2725A2 @@ -817,7 +812,7 @@ SootopolisCity_EventScript_1E6017:: @ 81E6017 lock faceplayer compare VAR_0x405E, 6 - goto_if 4, SootopolisCity_EventScript_1E602E + goto_if_ge SootopolisCity_EventScript_1E602E msgbox SootopolisCity_Text_1E6CCA, MSGBOX_DEFAULT release end @@ -831,11 +826,11 @@ SootopolisCity_EventScript_1E6038:: @ 81E6038 lock faceplayer compare VAR_0x405E, 6 - goto_if 4, SootopolisCity_EventScript_1E607A + goto_if_ge SootopolisCity_EventScript_1E607A compare VAR_0x405E, 5 - goto_eq SootopolisCity_EventScript_1E6084 + goto_if_eq SootopolisCity_EventScript_1E6084 compare VAR_0x405E, 2 - goto_if 4, SootopolisCity_EventScript_1E6065 + goto_if_ge SootopolisCity_EventScript_1E6065 msgbox SootopolisCity_Text_1E6F90, MSGBOX_DEFAULT release end @@ -863,11 +858,11 @@ SootopolisCity_EventScript_1E608E:: @ 81E608E applymovement 4, SootopolisCity_Movement_27259E waitmovement 0 compare VAR_0x405E, 5 - goto_eq SootopolisCity_EventScript_1E60D9 + goto_if_eq SootopolisCity_EventScript_1E60D9 compare VAR_0x405E, 6 - goto_if 4, SootopolisCity_EventScript_1E60CF + goto_if_ge SootopolisCity_EventScript_1E60CF compare VAR_0x405E, 1 - goto_if 3, SootopolisCity_EventScript_1E60CF + goto_if_le SootopolisCity_EventScript_1E60CF msgbox SootopolisCity_Text_1E690B, MSGBOX_DEFAULT closemessage applymovement 4, SootopolisCity_Movement_2725A2 @@ -890,13 +885,12 @@ SootopolisCity_EventScript_1E60E3:: @ 81E60E3 applymovement 5, SootopolisCity_Movement_27259E waitmovement 0 compare VAR_0x405E, 5 - goto_eq SootopolisCity_EventScript_1E612D - checkflag FLAG_SYS_GAME_CLEAR - goto_eq SootopolisCity_EventScript_1E6137 + goto_if_eq SootopolisCity_EventScript_1E612D + goto_if_set FLAG_SYS_GAME_CLEAR, SootopolisCity_EventScript_1E6137 compare VAR_0x405E, 6 - goto_if 4, SootopolisCity_EventScript_1E6141 + goto_if_ge SootopolisCity_EventScript_1E6141 compare VAR_0x405E, 1 - goto_if 3, SootopolisCity_EventScript_1E6141 + goto_if_le SootopolisCity_EventScript_1E6141 msgbox SootopolisCity_Text_1E6692, MSGBOX_DEFAULT closemessage applymovement 5, SootopolisCity_Movement_2725A2 @@ -935,16 +929,14 @@ SootopolisCity_EventScript_1E6166:: @ 81E6166 lockall applymovement 7, SootopolisCity_Movement_27259E waitmovement 0 - checkflag FLAG_0x133 - call_if 0, SootopolisCity_EventScript_1E61CC + call_if_unset FLAG_0x133, SootopolisCity_EventScript_1E61CC compare VAR_0x405E, 2 - goto_eq SootopolisCity_EventScript_1E61AE + goto_if_eq SootopolisCity_EventScript_1E61AE compare VAR_0x405E, 3 - goto_eq SootopolisCity_EventScript_1E61C2 + goto_if_eq SootopolisCity_EventScript_1E61C2 compare VAR_0x405E, 4 - goto_eq SootopolisCity_EventScript_1E61C2 - checkflag FLAG_0x09E - goto_eq SootopolisCity_EventScript_1E61B8 + goto_if_eq SootopolisCity_EventScript_1E61C2 + goto_if_set FLAG_0x09E, SootopolisCity_EventScript_1E61B8 msgbox SootopolisCity_Text_1E78E5, MSGBOX_DEFAULT releaseall end @@ -968,24 +960,24 @@ SootopolisCity_EventScript_1E61CC:: @ 81E61CC msgbox SootopolisCity_Text_1E75CB, MSGBOX_DEFAULT closemessage compare VAR_FACING, 3 - call_if 1, SootopolisCity_EventScript_1E6243 + call_if_eq SootopolisCity_EventScript_1E6243 compare VAR_FACING, 2 - call_if 1, SootopolisCity_EventScript_1E6255 + call_if_eq SootopolisCity_EventScript_1E6255 msgbox SootopolisCity_Text_1E7737, MSGBOX_DEFAULT closemessage applymovement 7, SootopolisCity_Movement_1E62D4 - applymovement 255, SootopolisCity_Movement_1E630E + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E630E waitmovement 0 delay 120 applymovement 1, SootopolisCity_Movement_1E6341 waitmovement 0 applymovement 7, SootopolisCity_Movement_1E6344 - applymovement 255, SootopolisCity_Movement_1E634F + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E634F waitmovement 0 msgbox SootopolisCity_Text_1E77F0, MSGBOX_DEFAULT closemessage setflag FLAG_0x133 - applymovement 255, SootopolisCity_Movement_1E635A + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E635A waitmovement 0 warp MAP_CAVE_OF_ORIGIN_ENTRANCE, 255, 9, 20 waitstate @@ -993,13 +985,13 @@ SootopolisCity_EventScript_1E61CC:: @ 81E61CC SootopolisCity_EventScript_1E6243:: @ 81E6243 applymovement 7, SootopolisCity_Movement_1E6267 - applymovement 255, SootopolisCity_Movement_1E628C + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E628C waitmovement 0 return SootopolisCity_EventScript_1E6255:: @ 81E6255 applymovement 7, SootopolisCity_Movement_1E6267 - applymovement 255, SootopolisCity_Movement_1E62B0 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E62B0 waitmovement 0 return @@ -1272,7 +1264,7 @@ SootopolisCity_EventScript_1E635D:: @ 81E635D applymovement 15, SootopolisCity_Movement_27259E waitmovement 0 compare VAR_0x405E, 5 - goto_eq SootopolisCity_EventScript_1E6388 + goto_if_eq SootopolisCity_EventScript_1E6388 msgbox SootopolisCity_Text_1E67DC, MSGBOX_DEFAULT closemessage applymovement 15, SootopolisCity_Movement_2725A2 @@ -1289,7 +1281,7 @@ SootopolisCity_EventScript_1E6388:: @ 81E6388 SootopolisCity_EventScript_1E6393:: @ 81E6393 lockall compare VAR_0x405E, 5 - goto_eq SootopolisCity_EventScript_1E63C7 + goto_if_eq SootopolisCity_EventScript_1E63C7 msgbox SootopolisCity_Text_1E6936, MSGBOX_DEFAULT closemessage applymovement 14, SootopolisCity_Movement_27259E @@ -1313,7 +1305,7 @@ SootopolisCity_EventScript_1E63DB:: @ 81E63DB applymovement 13, SootopolisCity_Movement_27259E waitmovement 0 compare VAR_0x405E, 5 - goto_eq SootopolisCity_EventScript_1E6406 + goto_if_eq SootopolisCity_EventScript_1E6406 msgbox SootopolisCity_Text_1E6C7C, MSGBOX_DEFAULT closemessage applymovement 13, SootopolisCity_Movement_2725A2 @@ -1332,7 +1324,7 @@ SootopolisCity_EventScript_1E6411:: @ 81E6411 applymovement 12, SootopolisCity_Movement_27259E waitmovement 0 compare VAR_0x405E, 5 - goto_eq SootopolisCity_EventScript_1E643C + goto_if_eq SootopolisCity_EventScript_1E643C msgbox SootopolisCity_Text_1E6A50, MSGBOX_DEFAULT closemessage applymovement 12, SootopolisCity_Movement_2725A2 @@ -1349,11 +1341,9 @@ SootopolisCity_EventScript_1E6446:: @ 81E6446 lock faceplayer compare VAR_0x405E, 4 - goto_eq SootopolisCity_EventScript_1E64D8 - checkflag FLAG_0x138 - goto_eq SootopolisCity_EventScript_1E64E2 - checkflag FLAG_0x09E - goto_eq SootopolisCity_EventScript_1E646F + goto_if_eq SootopolisCity_EventScript_1E64D8 + goto_if_set FLAG_0x138, SootopolisCity_EventScript_1E64E2 + goto_if_set FLAG_0x09E, SootopolisCity_EventScript_1E646F msgbox SootopolisCity_Text_1E7A3E, MSGBOX_DEFAULT release end @@ -1365,11 +1355,11 @@ SootopolisCity_EventScript_1E646F:: @ 81E646F msgbox SootopolisCity_Text_1E7B86, MSGBOX_DEFAULT closemessage compare VAR_FACING, 2 - call_if 1, SootopolisCity_EventScript_1E64B2 + call_if_eq SootopolisCity_EventScript_1E64B2 compare VAR_FACING, 4 - call_if 1, SootopolisCity_EventScript_1E64B2 + call_if_eq SootopolisCity_EventScript_1E64B2 compare VAR_FACING, 3 - call_if 1, SootopolisCity_EventScript_1E64C5 + call_if_eq SootopolisCity_EventScript_1E64C5 release end @@ -1410,7 +1400,7 @@ SootopolisCity_Movement_1E64EF: @ 81E64EF SootopolisCity_EventScript_1E64F2:: @ 81E64F2 lockall compare VAR_0x405E, 5 - goto_eq SootopolisCity_EventScript_1E6509 + goto_if_eq SootopolisCity_EventScript_1E6509 msgbox SootopolisCity_Text_1E72DB, MSGBOX_DEFAULT closemessage releaseall @@ -1419,15 +1409,14 @@ SootopolisCity_EventScript_1E64F2:: @ 81E64F2 SootopolisCity_EventScript_1E6509:: @ 81E6509 msgbox SootopolisCity_Text_1E737E, MSGBOX_DEFAULT setflag FLAG_0x135 - checkflag FLAG_0x134 - goto_eq SootopolisCity_EventScript_1E654C + goto_if_set FLAG_0x134, SootopolisCity_EventScript_1E654C releaseall end SootopolisCity_EventScript_1E651F:: @ 81E651F lockall compare VAR_0x405E, 5 - goto_eq SootopolisCity_EventScript_1E6536 + goto_if_eq SootopolisCity_EventScript_1E6536 msgbox SootopolisCity_Text_1E7460, MSGBOX_DEFAULT closemessage releaseall @@ -1436,8 +1425,7 @@ SootopolisCity_EventScript_1E651F:: @ 81E651F SootopolisCity_EventScript_1E6536:: @ 81E6536 msgbox SootopolisCity_Text_1E74F6, MSGBOX_DEFAULT setflag FLAG_0x134 - checkflag FLAG_0x135 - goto_eq SootopolisCity_EventScript_1E654C + goto_if_set FLAG_0x135, SootopolisCity_EventScript_1E654C releaseall end diff --git a/data/maps/SootopolisCity_Gym_1F/scripts.inc b/data/maps/SootopolisCity_Gym_1F/scripts.inc index 570f936b5..e4f062fe3 100644 --- a/data/maps/SootopolisCity_Gym_1F/scripts.inc +++ b/data/maps/SootopolisCity_Gym_1F/scripts.inc @@ -20,11 +20,11 @@ SootopolisCity_Gym_1F_MapScript1_224E6A: @ 8224E6A SootopolisCity_Gym_1F_EventScript_224E73:: @ 8224E73 compare VAR_ICE_STEP_COUNT, 8 - goto_if 0, SootopolisCity_Gym_1F_EventScript_224ECA + goto_if_lt SootopolisCity_Gym_1F_EventScript_224ECA compare VAR_ICE_STEP_COUNT, 28 - goto_if 0, SootopolisCity_Gym_1F_EventScript_224EB8 + goto_if_lt SootopolisCity_Gym_1F_EventScript_224EB8 compare VAR_ICE_STEP_COUNT, 67 - goto_if 0, SootopolisCity_Gym_1F_EventScript_224EA6 + goto_if_lt SootopolisCity_Gym_1F_EventScript_224EA6 setmetatile 8, 4, 519, 0 setmetatile 8, 5, 519, 0 @@ -73,7 +73,7 @@ SootopolisCity_Gym_1F_EventScript_224F15:: @ 8224F15 SootopolisCity_Gym_1F_EventScript_224F29:: @ 8224F29 lockall delay 20 - applymovement 255, SootopolisCity_Gym_1F_Movement_224F42 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Gym_1F_Movement_224F42 waitmovement 0 playse SE_RU_HYUU delay 60 @@ -89,11 +89,9 @@ SootopolisCity_Gym_1F_EventScript_224F44:: @ 8224F44 trainerbattle_single TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_225268, SootopolisCity_Gym_1F_Text_225432, SootopolisCity_Gym_1F_EventScript_224F82, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq SootopolisCity_Gym_1F_EventScript_225025 - checkflag FLAG_0x0AC - goto_if 0, SootopolisCity_Gym_1F_EventScript_224FF7 - checkflag FLAG_BADGE06_GET - goto_if 0, SootopolisCity_Gym_1F_EventScript_22501B + goto_if_eq SootopolisCity_Gym_1F_EventScript_225025 + goto_if_unset FLAG_0x0AC, SootopolisCity_Gym_1F_EventScript_224FF7 + goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_22501B msgbox SootopolisCity_Gym_1F_Text_225778, MSGBOX_DEFAULT release end @@ -127,7 +125,7 @@ SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82 SootopolisCity_Gym_1F_EventScript_224FD4:: @ 8224FD4 giveitem_std ITEM_TM03 compare VAR_RESULT, 0 - goto_eq SootopolisCity_Gym_1F_EventScript_27205E + goto_if_eq SootopolisCity_Gym_1F_EventScript_27205E msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT setflag FLAG_0x0AC return @@ -135,7 +133,7 @@ SootopolisCity_Gym_1F_EventScript_224FD4:: @ 8224FD4 SootopolisCity_Gym_1F_EventScript_224FF7:: @ 8224FF7 giveitem_std ITEM_TM03 compare VAR_RESULT, 0 - goto_eq SootopolisCity_Gym_1F_EventScript_272054 + goto_if_eq SootopolisCity_Gym_1F_EventScript_272054 msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT setflag FLAG_0x0AC release @@ -154,8 +152,7 @@ SootopolisCity_Gym_1F_EventScript_225025:: @ 8225025 SootopolisCity_Gym_1F_EventScript_225040:: @ 8225040 lock faceplayer - checkflag FLAG_0x4F7 - goto_eq SootopolisCity_Gym_1F_EventScript_225055 + goto_if_set FLAG_0x4F7, SootopolisCity_Gym_1F_EventScript_225055 msgbox SootopolisCity_Gym_1F_Text_225093, MSGBOX_DEFAULT release end @@ -167,15 +164,13 @@ SootopolisCity_Gym_1F_EventScript_225055:: @ 8225055 SootopolisCity_Gym_1F_EventScript_22505F:: @ 822505F lockall - checkflag FLAG_BADGE08_GET - goto_eq SootopolisCity_Gym_1F_EventScript_22507F + goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_22507F goto SootopolisCity_Gym_1F_EventScript_225089 end SootopolisCity_Gym_1F_EventScript_22506F:: @ 822506F lockall - checkflag FLAG_BADGE08_GET - goto_eq SootopolisCity_Gym_1F_EventScript_22507F + goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_22507F goto SootopolisCity_Gym_1F_EventScript_225089 end diff --git a/data/maps/SootopolisCity_House1/scripts.inc b/data/maps/SootopolisCity_House1/scripts.inc index 3a41c70eb..5b59c3033 100644 --- a/data/maps/SootopolisCity_House1/scripts.inc +++ b/data/maps/SootopolisCity_House1/scripts.inc @@ -4,12 +4,11 @@ SootopolisCity_House1_MapScripts:: @ 822694C SootopolisCity_House1_EventScript_22694D:: @ 822694D lock faceplayer - checkflag FLAG_0x079 - goto_eq SootopolisCity_House1_EventScript_226984 + goto_if_set FLAG_0x079, SootopolisCity_House1_EventScript_226984 msgbox SootopolisCity_House1_Text_2269A1, MSGBOX_DEFAULT giveitem_std ITEM_TM31 compare VAR_RESULT, 0 - goto_eq SootopolisCity_House1_EventScript_272054 + goto_if_eq SootopolisCity_House1_EventScript_272054 setflag FLAG_0x079 msgbox SootopolisCity_House1_Text_226A13, MSGBOX_DEFAULT release diff --git a/data/maps/SootopolisCity_House2/scripts.inc b/data/maps/SootopolisCity_House2/scripts.inc index 676ec4ed2..9e45a09bf 100644 --- a/data/maps/SootopolisCity_House2/scripts.inc +++ b/data/maps/SootopolisCity_House2/scripts.inc @@ -6,9 +6,9 @@ SootopolisCity_House2_EventScript_226A77:: @ 8226A77 faceplayer msgbox SootopolisCity_House2_Text_226AAB, MSGBOX_YESNO compare VAR_RESULT, 1 - call_if 1, SootopolisCity_House2_EventScript_226A99 + call_if_eq SootopolisCity_House2_EventScript_226A99 compare VAR_RESULT, 0 - call_if 1, SootopolisCity_House2_EventScript_226AA2 + call_if_eq SootopolisCity_House2_EventScript_226AA2 release end diff --git a/data/maps/SootopolisCity_House3/scripts.inc b/data/maps/SootopolisCity_House3/scripts.inc index ec8ad87ed..d7439f18d 100644 --- a/data/maps/SootopolisCity_House3/scripts.inc +++ b/data/maps/SootopolisCity_House3/scripts.inc @@ -6,7 +6,7 @@ SootopolisCity_House3_EventScript_226B72:: @ 8226B72 faceplayer msgbox SootopolisCity_House3_Text_226BA4, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq SootopolisCity_House3_EventScript_226B91 + goto_if_eq SootopolisCity_House3_EventScript_226B91 msgbox SootopolisCity_House3_Text_226C44, MSGBOX_DEFAULT release end diff --git a/data/maps/SootopolisCity_House6/scripts.inc b/data/maps/SootopolisCity_House6/scripts.inc index dbdb1cbae..499c01893 100644 --- a/data/maps/SootopolisCity_House6/scripts.inc +++ b/data/maps/SootopolisCity_House6/scripts.inc @@ -4,15 +4,14 @@ SootopolisCity_House6_MapScripts:: @ 8226F5B SootopolisCity_House6_EventScript_226F5C:: @ 8226F5C lock faceplayer - checkflag FLAG_0x0F5 - goto_eq SootopolisCity_House6_EventScript_226FA3 + goto_if_set FLAG_0x0F5, SootopolisCity_House6_EventScript_226FA3 msgbox SootopolisCity_House6_Text_226FC3, MSGBOX_YESNO compare VAR_RESULT, 0 - call_if 1, SootopolisCity_House6_EventScript_226F99 + call_if_eq SootopolisCity_House6_EventScript_226F99 msgbox SootopolisCity_House6_Text_227034, MSGBOX_DEFAULT givedecoration_std 117 compare VAR_RESULT, 0 - goto_eq SootopolisCity_House6_EventScript_226FAD + goto_if_eq SootopolisCity_House6_EventScript_226FAD setflag FLAG_0x0F5 release end diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc b/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc index b8e037ce3..17debe321 100644 --- a/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc +++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc @@ -10,14 +10,14 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_22722B:: @ 822722B waitstate copyvar VAR_RESULT, VAR_0x8004 compare VAR_RESULT, 255 - goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227272 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227272 special CompareSeedotSize compare VAR_RESULT, 1 - goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22727C + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22727C compare VAR_RESULT, 2 - goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227286 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227286 compare VAR_RESULT, 3 - goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227290 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227290 release end @@ -40,7 +40,7 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_227290:: @ 8227290 msgbox SootopolisCity_LotadAndSeedotHouse_Text_227480, MSGBOX_DEFAULT giveitem_std ITEM_ELIXIR compare VAR_RESULT, 0 - goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2 closemessage release end @@ -59,14 +59,14 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_2272BC:: @ 82272BC waitstate copyvar VAR_RESULT, VAR_0x8004 compare VAR_RESULT, 255 - goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227303 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227303 special CompareLotadSize compare VAR_RESULT, 1 - goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22730D + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22730D compare VAR_RESULT, 2 - goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227317 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227317 compare VAR_RESULT, 3 - goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227321 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227321 release end @@ -89,7 +89,7 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_227321:: @ 8227321 msgbox SootopolisCity_LotadAndSeedotHouse_Text_22776C, MSGBOX_DEFAULT giveitem_std ITEM_ELIXIR compare VAR_RESULT, 0 - goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227343 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227343 closemessage release end diff --git a/data/maps/SootopolisCity_Mart/scripts.inc b/data/maps/SootopolisCity_Mart/scripts.inc index 6e71ce5e8..94f0a8e9f 100644 --- a/data/maps/SootopolisCity_Mart/scripts.inc +++ b/data/maps/SootopolisCity_Mart/scripts.inc @@ -29,9 +29,8 @@ SootopolisCity_Mart_EventScript_2267C2:: @ 82267C2 lock faceplayer compare VAR_0x40CA, 2 - goto_if 4, SootopolisCity_Mart_EventScript_2267E2 - checkflag FLAG_0x081 - goto_if 0, SootopolisCity_Mart_EventScript_2267E2 + goto_if_ge SootopolisCity_Mart_EventScript_2267E2 + goto_if_unset FLAG_0x081, SootopolisCity_Mart_EventScript_2267E2 msgbox SootopolisCity_Mart_Text_22685D, MSGBOX_DEFAULT release end @@ -45,9 +44,8 @@ SootopolisCity_Mart_EventScript_2267EC:: @ 82267EC lock faceplayer compare VAR_0x40CA, 2 - goto_if 4, SootopolisCity_Mart_EventScript_22680C - checkflag FLAG_0x081 - goto_if 0, SootopolisCity_Mart_EventScript_22680C + goto_if_ge SootopolisCity_Mart_EventScript_22680C + goto_if_unset FLAG_0x081, SootopolisCity_Mart_EventScript_22680C msgbox SootopolisCity_Mart_Text_226928, MSGBOX_DEFAULT release end diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc index a2073d3f7..18b573fbd 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc @@ -7,9 +7,9 @@ SootopolisCity_MysteryEventsHouse_1F_MapScript1_22795E: @ 822795E setvar VAR_0x8004, 16 special CallFrontierUtilFunc compare VAR_RESULT, 0 - call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D compare VAR_0x40C0, 0 - call_if 5, SootopolisCity_MysteryEventsHouse_1F_EventScript_227991 + call_if_ne SootopolisCity_MysteryEventsHouse_1F_EventScript_227991 end SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D:: @ 822797D @@ -32,19 +32,19 @@ SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D: @ 822799D SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7:: @ 82279B7 lockall - applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F waitmovement 0 applymovement 1, SootopolisCity_MysteryEventsHouse_1F_Movement_227A21 waitmovement 0 moveobjectoffscreen 1 - applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_2725A6 waitmovement 0 compare VAR_0x40C0, 1 - call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04 + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04 compare VAR_0x40C0, 2 - call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D compare VAR_0x40C0, 3 - call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16 + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16 special LoadPlayerParty setvar VAR_0x40C0, 0 releaseall @@ -77,9 +77,9 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A24:: @ 8227A24 setvar VAR_0x8004, 16 special CallFrontierUtilFunc compare VAR_RESULT, 1 - goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E + goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E compare VAR_TEMP_1, 1 - goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58 + goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58 msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, MSGBOX_DEFAULT release end @@ -94,27 +94,27 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58 special BufferEReaderTrainerName msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227BFC, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 + goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 call SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF compare VAR_RESULT, 0 - goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 + goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227CEB, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 + goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 special LoadPlayerParty call SootopolisCity_MysteryEventsHouse_1F_EventScript_27134F compare VAR_RESULT, 0 - goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 + goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 special SavePlayerParty special ReducePlayerPartyToSelectedMons msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D21, MSGBOX_DEFAULT closemessage compare VAR_FACING, 2 - call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE compare VAR_FACING, 4 - call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10 + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10 compare VAR_FACING, 3 - call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22 + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22 warp MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F, 255, 3, 1 waitstate release @@ -135,19 +135,19 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF:: @ 8227AEF SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE:: @ 8227AFE applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40 - applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B34 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B34 waitmovement 0 return SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10:: @ 8227B10 applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B43 - applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B38 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B38 waitmovement 0 return SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22:: @ 8227B22 applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40 - applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C waitmovement 0 return diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc index 9a6b4b1b3..0de8651d7 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc @@ -13,7 +13,7 @@ SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E: @ 8227E5E SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68 lockall - applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3 waitmovement 0 special CopyEReaderTrainerGreeting msgbox gStringVar4, MSGBOX_DEFAULT @@ -23,14 +23,14 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68 special DoSpecialTrainerBattle waitstate compare VAR_RESULT, 3 - call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF + call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF compare VAR_RESULT, 1 - call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD + call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD compare VAR_RESULT, 2 - call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8 + call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8 closemessage special HealPlayerParty - applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9 waitmovement 0 special LoadPlayerParty setvar VAR_TEMP_1, 1 diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc index a4850b9f8..448d66981 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc @@ -19,9 +19,8 @@ SootopolisCity_PokemonCenter_1F_EventScript_22650E:: @ 822650E lock faceplayer compare VAR_0x40CA, 2 - goto_if 4, SootopolisCity_PokemonCenter_1F_EventScript_22652E - checkflag FLAG_0x081 - goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_22652E + goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_22652E + goto_if_unset FLAG_0x081, SootopolisCity_PokemonCenter_1F_EventScript_22652E msgbox SootopolisCity_PokemonCenter_1F_Text_22664B, MSGBOX_DEFAULT release end @@ -35,9 +34,8 @@ SootopolisCity_PokemonCenter_1F_EventScript_226538:: @ 8226538 lock faceplayer compare VAR_0x40CA, 2 - goto_if 4, SootopolisCity_PokemonCenter_1F_EventScript_226558 - checkflag FLAG_0x081 - goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_226558 + goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_226558 + goto_if_unset FLAG_0x081, SootopolisCity_PokemonCenter_1F_EventScript_226558 msgbox SootopolisCity_PokemonCenter_1F_Text_22672F, MSGBOX_DEFAULT release end diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc index 12d27a61f..388410821 100644 --- a/data/maps/SouthernIsland_Exterior/scripts.inc +++ b/data/maps/SouthernIsland_Exterior/scripts.inc @@ -11,7 +11,7 @@ SouthernIsland_Exterior_EventScript_2429D2:: @ 82429D2 faceplayer msgbox SouthernIsland_Exterior_Text_2A69F1, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SouthernIsland_Exterior_EventScript_242A17 + goto_if_eq SouthernIsland_Exterior_EventScript_242A17 msgbox SouthernIsland_Exterior_Text_2A6A5D, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, SouthernIsland_Exterior_Movement_2725AA @@ -31,12 +31,12 @@ SouthernIsland_Exterior_EventScript_242A17:: @ 8242A17 end BattleFrontier_OutsideWest_EventScript_242A21:: @ 8242A21 - applymovement 255, BattleFrontier_OutsideWest_Movement_242A37 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_OutsideWest_Movement_242A37 waitmovement 0 return BattleFrontier_OutsideWest_EventScript_242A2C:: @ 8242A2C - applymovement 255, BattleFrontier_OutsideWest_Movement_242A39 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_OutsideWest_Movement_242A39 waitmovement 0 return diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc index b21fdecab..49c893fa8 100644 --- a/data/maps/SouthernIsland_Interior/scripts.inc +++ b/data/maps/SouthernIsland_Interior/scripts.inc @@ -4,22 +4,21 @@ SouthernIsland_Interior_MapScripts:: @ 8242A45 .byte 0 SouthernIsland_Interior_MapScript1_242A50: @ 8242A50 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, SouthernIsland_Interior_EventScript_242A5A + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SouthernIsland_Interior_EventScript_242A5A end SouthernIsland_Interior_EventScript_242A5A:: @ 8242A5A specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, SouthernIsland_Interior_EventScript_27374E + goto_if_ne SouthernIsland_Interior_EventScript_27374E removeobject 2 return SouthernIsland_Interior_MapScript1_242A6E: @ 8242A6E compare VAR_0x40D5, 0 - call_if 1, SouthernIsland_Interior_EventScript_242A8A + call_if_eq SouthernIsland_Interior_EventScript_242A8A compare VAR_0x40D5, 0 - call_if 5, SouthernIsland_Interior_EventScript_242A95 + call_if_ne SouthernIsland_Interior_EventScript_242A95 call SouthernIsland_Interior_EventScript_242AA0 end @@ -36,9 +35,9 @@ SouthernIsland_Interior_EventScript_242A95:: @ 8242A95 SouthernIsland_Interior_EventScript_242AA0:: @ 8242AA0 checkplayergender compare VAR_RESULT, 0 - goto_eq SouthernIsland_Interior_EventScript_242AB8 + goto_if_eq SouthernIsland_Interior_EventScript_242AB8 compare VAR_RESULT, 1 - goto_eq SouthernIsland_Interior_EventScript_242ABE + goto_if_eq SouthernIsland_Interior_EventScript_242ABE end SouthernIsland_Interior_EventScript_242AB8:: @ 8242AB8 @@ -56,18 +55,14 @@ SouthernIsland_Interior_EventScript_242AC4:: @ 8242AC4 end SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 - checkflag FLAG_TEMP_2 - goto_eq SouthernIsland_Interior_EventScript_242B9A - checkflag FLAG_0x1C8 - goto_eq SouthernIsland_Interior_EventScript_242B9A - checkflag FLAG_0x1C9 - goto_eq SouthernIsland_Interior_EventScript_242B9A - checkflag FLAG_SYS_HAS_EON_TICKET - goto_if 0, SouthernIsland_Interior_EventScript_242B9A + goto_if_set FLAG_TEMP_2, SouthernIsland_Interior_EventScript_242B9A + goto_if_set FLAG_0x1C8, SouthernIsland_Interior_EventScript_242B9A + goto_if_set FLAG_0x1C9, SouthernIsland_Interior_EventScript_242B9A + goto_if_unset FLAG_SYS_HAS_EON_TICKET, SouthernIsland_Interior_EventScript_242B9A setflag FLAG_0x0CE setflag FLAG_TEMP_2 - special SpawnScriptEventObject - applymovement 127, SouthernIsland_Interior_Movement_242BCA + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_242BCA waitmovement 0 delay 50 waitse @@ -76,27 +71,27 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 waitmoncry addobject 2 delay 30 - applymovement 127, SouthernIsland_Interior_Movement_242BCE + applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_242BCE applymovement 2, SouthernIsland_Interior_Movement_242BDA waitmovement 0 delay 50 - special RemoveScriptEventObject + special RemoveCameraObject setvar VAR_LAST_TALKED, 2 compare VAR_0x40D5, 0 - call_if 1, SouthernIsland_Interior_EventScript_242BA4 + call_if_eq SouthernIsland_Interior_EventScript_242BA4 compare VAR_0x40D5, 0 - call_if 5, SouthernIsland_Interior_EventScript_242BB7 + call_if_ne SouthernIsland_Interior_EventScript_242BB7 setflag FLAG_SYS_CTRL_OBJ_DELETE special BattleSetup_StartLatiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq SouthernIsland_Interior_EventScript_242B81 + goto_if_eq SouthernIsland_Interior_EventScript_242B81 compare VAR_RESULT, 4 - goto_eq SouthernIsland_Interior_EventScript_242B8F + goto_if_eq SouthernIsland_Interior_EventScript_242B8F compare VAR_RESULT, 5 - goto_eq SouthernIsland_Interior_EventScript_242B8F + goto_if_eq SouthernIsland_Interior_EventScript_242B8F setflag FLAG_0x1C9 releaseall end diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc index b23cc23f1..bd057eac6 100644 --- a/data/maps/TerraCave_End/scripts.inc +++ b/data/maps/TerraCave_End/scripts.inc @@ -4,20 +4,18 @@ TerraCave_End_MapScripts:: @ 823B0B0 .byte 0 TerraCave_End_MapScript1_23B0BB: @ 823B0BB - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, TerraCave_End_EventScript_23B0C5 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, TerraCave_End_EventScript_23B0C5 end TerraCave_End_EventScript_23B0C5:: @ 823B0C5 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 - goto_if 5, TerraCave_End_EventScript_27374E + goto_if_ne TerraCave_End_EventScript_27374E removeobject 1 return TerraCave_End_MapScript1_23B0D9: @ 823B0D9 - checkflag FLAG_0x1BF - call_if 0, TerraCave_End_EventScript_23B0E3 + call_if_unset FLAG_0x1BF, TerraCave_End_EventScript_23B0E3 end TerraCave_End_EventScript_23B0E3:: @ 823B0E3 @@ -27,7 +25,7 @@ TerraCave_End_EventScript_23B0E3:: @ 823B0E3 TerraCave_End_EventScript_23B0EC:: @ 823B0EC lockall - applymovement 255, TerraCave_End_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, TerraCave_End_Movement_2725B2 waitmovement 0 applymovement 1, TerraCave_End_Movement_23B16E waitmovement 0 @@ -44,11 +42,11 @@ TerraCave_End_EventScript_23B0EC:: @ 823B0EC setvar VAR_TEMP_1, 0 specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 - goto_eq TerraCave_End_EventScript_23B155 + goto_if_eq TerraCave_End_EventScript_23B155 compare VAR_RESULT, 4 - goto_eq TerraCave_End_EventScript_23B163 + goto_if_eq TerraCave_End_EventScript_23B163 compare VAR_RESULT, 5 - goto_eq TerraCave_End_EventScript_23B163 + goto_if_eq TerraCave_End_EventScript_23B163 setvar VAR_0x4039, 1 setflag FLAG_0x1BF releaseall diff --git a/data/maps/TrainerHill_Elevator/scripts.inc b/data/maps/TrainerHill_Elevator/scripts.inc index e9117efe2..c3a71d492 100644 --- a/data/maps/TrainerHill_Elevator/scripts.inc +++ b/data/maps/TrainerHill_Elevator/scripts.inc @@ -10,7 +10,7 @@ TrainerHill_Elevator_EventScript_26935F:: @ 826935F end TrainerHill_Elevator_EventScript_269360:: @ 8269360 - applymovement 255, TrainerHill_Elevator_Movement_2693EB + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693EB waitmovement 0 releaseall warp MAP_TRAINER_HILL_ROOF, 255, 15, 5 @@ -18,22 +18,22 @@ TrainerHill_Elevator_EventScript_269360:: @ 8269360 end TrainerHill_Elevator_EventScript_269375:: @ 8269375 - applymovement 255, TrainerHill_Elevator_Movement_2693E4 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693E4 waitmovement 0 applymovement 1, TrainerHill_Elevator_Movement_2693EE waitmovement 0 lockall msgbox TrainerHill_Elevator_Text_268F3E, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq TrainerHill_Elevator_EventScript_269360 + goto_if_eq TrainerHill_Elevator_EventScript_269360 releaseall applymovement 1, TrainerHill_Elevator_Movement_2693F0 waitmovement 0 - applymovement 255, TrainerHill_Elevator_Movement_2693DF + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693DF waitmovement 0 call TrainerHill_Elevator_EventScript_2693D9 delay 25 - applymovement 255, TrainerHill_Elevator_Movement_2693E7 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693E7 waitmovement 0 warp MAP_TRAINER_HILL_ENTRANCE, 255, 17, 8 waitstate diff --git a/data/maps/TrainerHill_Entrance/scripts.inc b/data/maps/TrainerHill_Entrance/scripts.inc index c75c22be2..4d315a158 100644 --- a/data/maps/TrainerHill_Entrance/scripts.inc +++ b/data/maps/TrainerHill_Entrance/scripts.inc @@ -21,17 +21,17 @@ TrainerHill_Entrance_MapScript1_2680D0: @ 82680D0 setvar VAR_0x8004, 9 special sp194_trainer_tower compare VAR_RESULT, 0 - goto_eq TrainerHill_Entrance_EventScript_2680FF - setobjectxy 255, 9, 6 - applymovement 255, TrainerHill_Entrance_Movement_26837F + goto_if_eq TrainerHill_Entrance_EventScript_2680FF + setobjectxy EVENT_OBJ_ID_PLAYER, 9, 6 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F end TrainerHill_Entrance_EventScript_2680FF:: @ 82680FF setvar VAR_0x8004, 16 special sp194_trainer_tower compare VAR_RESULT, 1 - goto_eq TrainerHill_Entrance_EventScript_26811A - applymovement 255, TrainerHill_Entrance_Movement_26837F + goto_if_eq TrainerHill_Entrance_EventScript_26811A + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F end TrainerHill_Entrance_EventScript_26811A:: @ 826811A @@ -46,7 +46,7 @@ TrainerHill_Entrance_MapScript1_26811B: @ 826811B TrainerHill_Entrance_MapScript1_268128: @ 8268128 compare VAR_TEMP_D, 17 - call_if 1, TrainerHill_Entrance_EventScript_268134 + call_if_eq TrainerHill_Entrance_EventScript_268134 end TrainerHill_Entrance_EventScript_268134:: @ 8268134 @@ -62,7 +62,7 @@ TrainerHill_Entrance_MapScript2_26813E: @ 826813E TrainerHill_Entrance_EventScript_268160:: @ 8268160 lockall - applymovement 255, TrainerHill_Entrance_Movement_268385 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268385 waitmovement 0 setmetatile 17, 10, 820, 1 special DrawWholeMapView @@ -83,18 +83,18 @@ TrainerHill_Entrance_EventScript_268182:: @ 8268182 TrainerHill_Entrance_EventScript_2681B5:: @ 82681B5 lockall - applymovement 255, TrainerHill_Entrance_Movement_26837F + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F msgbox TrainerHill_Entrance_Text_268689, MSGBOX_DEFAULT goto TrainerHill_Entrance_EventScript_2681DA TrainerHill_Entrance_EventScript_2681CA:: @ 82681CA lockall - applymovement 255, TrainerHill_Entrance_Movement_26837F + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F msgbox TrainerHill_Entrance_Text_268712, MSGBOX_DEFAULT TrainerHill_Entrance_EventScript_2681DA:: @ 82681DA closemessage - applymovement 255, TrainerHill_Entrance_Movement_268381 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381 waitmovement 0 setvar VAR_0x40D6, 0 special HealPlayerParty @@ -117,7 +117,7 @@ TrainerHill_Entrance_EventScript_2681FD:: @ 82681FD setvar VAR_0x8004, 10 special sp194_trainer_tower compare VAR_RESULT, 0 - goto_eq TrainerHill_Entrance_EventScript_26821F + goto_if_eq TrainerHill_Entrance_EventScript_26821F msgbox TrainerHill_Entrance_Text_2686F4, MSGBOX_DEFAULT goto TrainerHill_Entrance_EventScript_268227 @@ -130,18 +130,17 @@ TrainerHill_Entrance_EventScript_268227:: @ 8268227 TrainerHill_Entrance_EventScript_268229:: @ 8268229 lockall - applymovement 255, TrainerHill_Entrance_Movement_26837F - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, TrainerHill_Entrance_EventScript_26836A + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F + goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_26836A msgbox TrainerHill_Entrance_Text_2684C6, MSGBOX_DEFAULT setvar VAR_0x8004, 13 special sp194_trainer_tower compare VAR_RESULT, 0 - call_if 1, TrainerHill_Entrance_EventScript_26832E + call_if_eq TrainerHill_Entrance_EventScript_26832E setvar VAR_0x8004, 8 special sp194_trainer_tower compare VAR_RESULT, 1 - goto_eq TrainerHill_Entrance_EventScript_268275 + goto_if_eq TrainerHill_Entrance_EventScript_268275 msgbox TrainerHill_Entrance_Text_268564, MSGBOX_DEFAULT goto TrainerHill_Entrance_EventScript_26827D @@ -185,7 +184,7 @@ TrainerHill_Entrance_EventScript_268314:: @ 8268314 setvar VAR_TEMP_5, 0 msgbox TrainerHill_Entrance_Text_26866F, MSGBOX_DEFAULT closemessage - applymovement 255, TrainerHill_Entrance_Movement_268381 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381 waitmovement 0 releaseall end @@ -197,7 +196,7 @@ TrainerHill_Entrance_EventScript_26832E:: @ 826832E setvar VAR_TEMP_5, 1 call TrainerHill_Entrance_EventScript_27134F compare VAR_RESULT, 0 - goto_eq TrainerHill_Entrance_EventScript_26835C + goto_if_eq TrainerHill_Entrance_EventScript_26835C setvar VAR_0x8004, 14 special sp194_trainer_tower return @@ -211,7 +210,7 @@ TrainerHill_Entrance_EventScript_26835C:: @ 826835C TrainerHill_Entrance_EventScript_26836A:: @ 826836A msgbox TrainerHill_Entrance_Text_268430, MSGBOX_DEFAULT closemessage - applymovement 255, TrainerHill_Entrance_Movement_268381 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381 waitmovement 0 releaseall end @@ -242,8 +241,7 @@ TrainerHill_Entrance_EventScript_268388:: @ 8268388 end TrainerHill_Entrance_EventScript_268391:: @ 8268391 - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, TrainerHill_Entrance_EventScript_2683A3 + goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_2683A3 msgbox TrainerHill_Entrance_Text_268D5A, MSGBOX_NPC end @@ -252,8 +250,7 @@ TrainerHill_Entrance_EventScript_2683A3:: @ 82683A3 end TrainerHill_Entrance_EventScript_2683AC:: @ 82683AC - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, TrainerHill_Entrance_EventScript_2683BE + goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_2683BE msgbox TrainerHill_Entrance_Text_268E6A, MSGBOX_NPC end @@ -266,8 +263,7 @@ TrainerHill_Entrance_EventScript_2683C7:: @ 82683C7 faceplayer message gUnknown_08272A21 waitmessage - checkflag FLAG_SYS_GAME_CLEAR - goto_eq TrainerHill_Entrance_EventScript_268402 + goto_if_set FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_268402 pokemart TrainerHill_Entrance_Pokemart_2683E8 msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release diff --git a/data/maps/Underwater_SeafloorCavern/scripts.inc b/data/maps/Underwater_SeafloorCavern/scripts.inc index 7cdd3402d..4d5865511 100644 --- a/data/maps/Underwater_SeafloorCavern/scripts.inc +++ b/data/maps/Underwater_SeafloorCavern/scripts.inc @@ -6,8 +6,7 @@ Underwater_SeafloorCavern_MapScripts:: @ 823433B Underwater_SeafloorCavern_MapScript1_23434B: @ 823434B setflag FLAG_LANDMARK_SEAFLOOR_CAVERN - checkflag FLAG_0x081 - goto_eq Underwater_SeafloorCavern_EventScript_234358 + goto_if_set FLAG_0x081, Underwater_SeafloorCavern_EventScript_234358 end Underwater_SeafloorCavern_EventScript_234358:: @ 8234358 @@ -15,8 +14,7 @@ Underwater_SeafloorCavern_EventScript_234358:: @ 8234358 end Underwater_SeafloorCavern_MapScript1_23435C: @ 823435C - checkflag FLAG_0x081 - call_if 1, Underwater_SeafloorCavern_EventScript_234366 + call_if_set FLAG_0x081, Underwater_SeafloorCavern_EventScript_234366 end Underwater_SeafloorCavern_EventScript_234366:: @ 8234366 diff --git a/data/maps/Underwater_SealedChamber/scripts.inc b/data/maps/Underwater_SealedChamber/scripts.inc index 7ac032c5f..de6ed50d1 100644 --- a/data/maps/Underwater_SealedChamber/scripts.inc +++ b/data/maps/Underwater_SealedChamber/scripts.inc @@ -5,9 +5,9 @@ Underwater_SealedChamber_MapScripts:: @ 82390C4 Underwater_SealedChamber_MapScript1_2390CA: @ 82390CA getplayerxy VAR_0x8004, VAR_0x8005 compare VAR_0x8004, 12 - goto_if 5, Underwater_SealedChamber_EventScript_2390EA + goto_if_ne Underwater_SealedChamber_EventScript_2390EA compare VAR_0x8005, 44 - goto_if 5, Underwater_SealedChamber_EventScript_2390EA + goto_if_ne Underwater_SealedChamber_EventScript_2390EA goto Underwater_SealedChamber_EventScript_2390F3 Underwater_SealedChamber_EventScript_2390EA:: @ 82390EA diff --git a/data/maps/UnknownMap_25_34/scripts.inc b/data/maps/UnknownMap_25_34/scripts.inc index 2e13983fa..9bfdec2ac 100644 --- a/data/maps/UnknownMap_25_34/scripts.inc +++ b/data/maps/UnknownMap_25_34/scripts.inc @@ -20,15 +20,15 @@ LinkContestRoom1_EventScript_23B7AF:: @ 823B7AF call LinkContestRoom1_EventScript_27A133 special ScriptGetMultiplayerId compare VAR_RESULT, 0 - call_if 1, LinkContestRoom1_EventScript_23B7EF + call_if_eq LinkContestRoom1_EventScript_23B7EF compare VAR_RESULT, 1 - call_if 1, LinkContestRoom1_EventScript_23B7F3 + call_if_eq LinkContestRoom1_EventScript_23B7F3 compare VAR_RESULT, 2 - call_if 1, LinkContestRoom1_EventScript_23B7F7 + call_if_eq LinkContestRoom1_EventScript_23B7F7 compare VAR_RESULT, 3 - call_if 1, LinkContestRoom1_EventScript_23B7FB + call_if_eq LinkContestRoom1_EventScript_23B7FB compare VAR_RESULT, 4 - call_if 1, LinkContestRoom1_EventScript_23B7FF + call_if_eq LinkContestRoom1_EventScript_23B7FF return LinkContestRoom1_EventScript_23B7EF:: @ 823B7EF @@ -53,7 +53,7 @@ LinkContestRoom1_EventScript_23B7FF:: @ 823B7FF LinkContestRoom1_MapScript1_23B803: @ 823B803 compare VAR_TEMP_9, 1 - call_if 1, LinkContestRoom1_EventScript_23B80F + call_if_eq LinkContestRoom1_EventScript_23B80F end LinkContestRoom1_EventScript_23B80F:: @ 823B80F @@ -75,7 +75,7 @@ LinkContestRoom1_EventScript_23B829:: @ 823B829 LinkContestRoom1_EventScript_23B834:: @ 823B834 special sub_80F8B94 - hideobjectat 255, MAP_LITTLEROOT_TOWN + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN call LinkContestRoom1_EventScript_23BB2B end @@ -83,7 +83,7 @@ LinkContestRoom1_EventScript_23B842:: @ 823B842 call LinkContestRoom1_EventScript_23B8F8 call LinkContestRoom1_EventScript_23B858 compare VAR_TEMP_0, 8 - goto_if 0, LinkContestRoom1_EventScript_23B842 + goto_if_lt LinkContestRoom1_EventScript_23B842 return LinkContestRoom1_EventScript_23B858:: @ 823B858 @@ -302,7 +302,7 @@ LinkContestRoom1_EventScript_23BB25:: @ 823BB25 LinkContestRoom1_EventScript_23BB2B:: @ 823BB2B specialvar VAR_RESULT, sub_80F9160 compare VAR_RESULT, 1 - goto_eq LinkContestRoom1_EventScript_23BD86 + goto_if_eq LinkContestRoom1_EventScript_23BD86 switch VAR_0x4088 case 1, LinkContestRoom1_EventScript_23BB78 case 2, LinkContestRoom1_EventScript_23BB8B @@ -443,9 +443,9 @@ LinkContestRoom1_EventScript_23BEAC:: @ 823BEAC LilycoveCity_ContestLobby_EventScript_23BEB6:: @ 823BEB6 checkplayergender compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_23BECE + goto_if_eq LilycoveCity_ContestLobby_EventScript_23BECE compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_23BED4 + goto_if_eq LilycoveCity_ContestLobby_EventScript_23BED4 return LilycoveCity_ContestLobby_EventScript_23BECE:: @ 823BECE diff --git a/data/maps/VerdanturfTown/scripts.inc b/data/maps/VerdanturfTown/scripts.inc index 578881daa..c929633dd 100644 --- a/data/maps/VerdanturfTown/scripts.inc +++ b/data/maps/VerdanturfTown/scripts.inc @@ -10,8 +10,7 @@ VerdanturfTown_MapScript1_1EB56C: @ 81EB56C VerdanturfTown_EventScript_1EB575:: @ 81EB575 lock faceplayer - checkflag FLAG_RUSTURF_TUNNEL_OPENED - goto_eq VerdanturfTown_EventScript_1EB594 + goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_1EB594 msgbox VerdanturfTown_Text_1EB5FD, MSGBOX_DEFAULT applymovement 2, VerdanturfTown_Movement_2725A2 waitmovement 0 @@ -36,8 +35,7 @@ VerdanturfTown_EventScript_1EB5B1:: @ 81EB5B1 VerdanturfTown_EventScript_1EB5BA:: @ 81EB5BA lock faceplayer - checkflag FLAG_RUSTURF_TUNNEL_OPENED - goto_eq VerdanturfTown_EventScript_1EB5CF + goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_1EB5CF msgbox VerdanturfTown_Text_1EB854, MSGBOX_DEFAULT release end diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc index 93b7802be..21494c8a6 100644 --- a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc @@ -11,9 +11,9 @@ VerdanturfTown_BattleTentBattleRoom_MapScript1_20230A: @ 820230A VerdanturfTown_BattleTentBattleRoom_EventScript_202310:: @ 8202310 checkplayergender compare VAR_RESULT, 0 - goto_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202328 + goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202328 compare VAR_RESULT, 1 - goto_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202333 + goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202333 return VerdanturfTown_BattleTentBattleRoom_EventScript_202328:: @ 8202328 @@ -38,7 +38,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_202348:: @ 8202348 setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 0 - goto_if 5, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C + goto_if_ne VerdanturfTown_BattleTentBattleRoom_EventScript_20243C VerdanturfTown_BattleTentBattleRoom_EventScript_20236F:: @ 820236F setvar VAR_0x8004, 3 @@ -95,9 +95,9 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_20243C:: @ 820243C setvar VAR_0x8005, 2 special CallFrontierUtilFunc compare VAR_RESULT, 1 - call_if 1, VerdanturfTown_BattleTentBattleRoom_EventScript_202565 + call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202565 compare VAR_RESULT, 2 - call_if 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20256C + call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_20256C multichoice 20, 6, 104, 1 switch VAR_RESULT case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_2024EA @@ -157,7 +157,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_20254B:: @ 820254B hideobjectat 1, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM call VerdanturfTown_BattleTentBattleRoom_EventScript_202310 setvar VAR_TEMP_1, 1 - applymovement 255, VerdanturfTown_BattleTentBattleRoom_Movement_202573 + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_202573 removeobject 2 end diff --git a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc index ef577c7f1..e5d7e45e9 100644 --- a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc @@ -10,12 +10,12 @@ VerdanturfTown_BattleTentCorridor_EventScript_20209A:: @ 820209A lockall setvar VAR_TEMP_0, 1 applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020DE - applymovement 255, VerdanturfTown_BattleTentCorridor_Movement_2020DE + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_2020DE waitmovement 0 opendoor 2, 1 waitdooranim applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020E4 - applymovement 255, VerdanturfTown_BattleTentCorridor_Movement_2020E3 + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_2020E3 waitmovement 0 closedoor 2, 1 waitdooranim diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc index ec7ecfb1a..d526c769a 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc @@ -9,7 +9,7 @@ VerdanturfTown_BattleTentLobby_MapScript2_2016DB: @ 82016DB VerdanturfTown_BattleTentLobby_EventScript_2016E5:: @ 82016E5 setvar VAR_TEMP_1, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, 2 end VerdanturfTown_BattleTentLobby_MapScript2_2016EF: @ 82016EF @@ -134,7 +134,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201873:: @ 8201873 setvar VAR_0x8004, 1 special sub_81B99B4 compare VAR_RESULT, 0 - goto_if 5, VerdanturfTown_BattleTentLobby_EventScript_2017EE + goto_if_ne VerdanturfTown_BattleTentLobby_EventScript_2017EE special SavePlayerParty msgbox VerdanturfTown_BattleTentLobby_Text_2C50C3, MSGBOX_DEFAULT @@ -155,7 +155,7 @@ VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF setvar VAR_0x8004, 15 special CallFrontierUtilFunc compare VAR_0x8004, 1 - goto_eq VerdanturfTown_BattleTentLobby_EventScript_2019E8 + goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_2019E8 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 2 @@ -167,7 +167,7 @@ VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF special sub_80F9490 waitstate compare VAR_RESULT, 0 - goto_eq VerdanturfTown_BattleTentLobby_EventScript_201A34 + goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_201A34 msgbox VerdanturfTown_BattleTentLobby_Text_2C5662, MSGBOX_YESNO switch VAR_RESULT case 0, VerdanturfTown_BattleTentLobby_EventScript_201A34 @@ -195,7 +195,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954 call VerdanturfTown_BattleTentLobby_EventScript_27134F setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_eq VerdanturfTown_BattleTentLobby_EventScript_201A1D + goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_201A1D VerdanturfTown_BattleTentLobby_EventScript_2019AE:: @ 82019AE special SavePlayerParty @@ -246,12 +246,12 @@ VerdanturfTown_BattleTentLobby_EventScript_201A3F:: @ 8201A3F VerdanturfTown_BattleTentLobby_EventScript_201A41:: @ 8201A41 applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A70 - applymovement 255, VerdanturfTown_BattleTentLobby_Movement_201A70 + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_201A70 waitmovement 0 opendoor 6, 1 waitdooranim applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A74 - applymovement 255, VerdanturfTown_BattleTentLobby_Movement_201A77 + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_201A77 waitmovement 0 closedoor 6, 1 waitdooranim @@ -277,12 +277,11 @@ VerdanturfTown_BattleTentLobby_Movement_201A77: @ 8201A77 VerdanturfTown_BattleTentLobby_EventScript_201A7B:: @ 8201A7B lock faceplayer - checkflag FLAG_0x0EB - goto_eq VerdanturfTown_BattleTentLobby_EventScript_201AB2 + goto_if_set FLAG_0x0EB, VerdanturfTown_BattleTentLobby_EventScript_201AB2 msgbox VerdanturfTown_BattleTentLobby_Text_201D9E, MSGBOX_DEFAULT giveitem_std ITEM_TM45 compare VAR_RESULT, 0 - goto_eq VerdanturfTown_BattleTentLobby_EventScript_272054 + goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_272054 setflag FLAG_0x0EB msgbox VerdanturfTown_BattleTentLobby_Text_201E43, MSGBOX_DEFAULT release @@ -306,8 +305,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201AC5:: @ 8201AC5 VerdanturfTown_BattleTentLobby_EventScript_201AD0:: @ 8201AD0 lock faceplayer - checkflag FLAG_0x1CC - goto_eq VerdanturfTown_BattleTentLobby_EventScript_201AED + goto_if_set FLAG_0x1CC, VerdanturfTown_BattleTentLobby_EventScript_201AED msgbox VerdanturfTown_BattleTentLobby_Text_201F3F, MSGBOX_DEFAULT addvar VAR_0x40D1, 1 setflag FLAG_0x1CC diff --git a/data/maps/VerdanturfTown_WandasHouse/scripts.inc b/data/maps/VerdanturfTown_WandasHouse/scripts.inc index fea5d3de0..e185cff51 100644 --- a/data/maps/VerdanturfTown_WandasHouse/scripts.inc +++ b/data/maps/VerdanturfTown_WandasHouse/scripts.inc @@ -4,8 +4,7 @@ VerdanturfTown_WandasHouse_MapScripts:: @ 82028BE VerdanturfTown_WandasHouse_EventScript_2028BF:: @ 82028BF lock faceplayer - checkflag FLAG_0x0C1 - goto_eq VerdanturfTown_WandasHouse_EventScript_2028D7 + goto_if_set FLAG_0x0C1, VerdanturfTown_WandasHouse_EventScript_2028D7 msgbox VerdanturfTown_WandasHouse_Text_202993, MSGBOX_DEFAULT setflag FLAG_0x0C1 release @@ -19,10 +18,8 @@ VerdanturfTown_WandasHouse_EventScript_2028D7:: @ 82028D7 VerdanturfTown_WandasHouse_EventScript_2028E1:: @ 82028E1 lock faceplayer - checkflag FLAG_0x07E - goto_eq VerdanturfTown_WandasHouse_EventScript_202909 - checkflag FLAG_0x4F3 - goto_eq VerdanturfTown_WandasHouse_EventScript_2028FF + goto_if_set FLAG_0x07E, VerdanturfTown_WandasHouse_EventScript_202909 + goto_if_set FLAG_0x4F3, VerdanturfTown_WandasHouse_EventScript_2028FF msgbox VerdanturfTown_WandasHouse_Text_202B37, MSGBOX_DEFAULT release end @@ -44,10 +41,8 @@ VerdanturfTown_WandasHouse_EventScript_202913:: @ 8202913 VerdanturfTown_WandasHouse_EventScript_20291C:: @ 820291C lock faceplayer - checkflag FLAG_0x4F3 - goto_eq VerdanturfTown_WandasHouse_EventScript_202944 - checkflag FLAG_0x0BE - goto_eq VerdanturfTown_WandasHouse_EventScript_20293A + goto_if_set FLAG_0x4F3, VerdanturfTown_WandasHouse_EventScript_202944 + goto_if_set FLAG_0x0BE, VerdanturfTown_WandasHouse_EventScript_20293A msgbox VerdanturfTown_WandasHouse_Text_202D91, MSGBOX_DEFAULT release end @@ -65,12 +60,9 @@ VerdanturfTown_WandasHouse_EventScript_202944:: @ 8202944 VerdanturfTown_WandasHouse_EventScript_20294E:: @ 820294E lock faceplayer - checkflag FLAG_0x07E - goto_eq VerdanturfTown_WandasHouse_EventScript_202989 - checkflag FLAG_0x4F3 - goto_eq VerdanturfTown_WandasHouse_EventScript_20297F - checkflag FLAG_RUSTURF_TUNNEL_OPENED - goto_eq VerdanturfTown_WandasHouse_EventScript_202975 + goto_if_set FLAG_0x07E, VerdanturfTown_WandasHouse_EventScript_202989 + goto_if_set FLAG_0x4F3, VerdanturfTown_WandasHouse_EventScript_20297F + goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_WandasHouse_EventScript_202975 msgbox VerdanturfTown_WandasHouse_Text_202E47, MSGBOX_DEFAULT release end diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc index 5b3dabbc9..edf45de9c 100644 --- a/data/maps/VictoryRoad_1F/scripts.inc +++ b/data/maps/VictoryRoad_1F/scripts.inc @@ -4,9 +4,9 @@ VictoryRoad_1F_MapScripts:: @ 8235D7A VictoryRoad_1F_MapScript1_235D80: @ 8235D80 compare VAR_0x40C3, 1 - call_if 1, VictoryRoad_1F_EventScript_235D97 + call_if_eq VictoryRoad_1F_EventScript_235D97 compare VAR_0x40C3, 2 - call_if 1, VictoryRoad_1F_EventScript_235DA3 + call_if_eq VictoryRoad_1F_EventScript_235DA3 end VictoryRoad_1F_EventScript_235D97:: @ 8235D97 @@ -38,7 +38,7 @@ VictoryRoad_1F_EventScript_235DC8:: @ 8235DC8 end VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1 - applymovement 255, VictoryRoad_1F_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, VictoryRoad_1F_Movement_2725AA waitmovement 0 msgbox VictoryRoad_1F_Text_235EE6, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_WALLY_1, VictoryRoad_1F_Text_235FFC @@ -85,7 +85,7 @@ VictoryRoad_1F_EventScript_235E35:: @ 8235E35 trainerbattle_single TRAINER_WALLY_3, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_eq VictoryRoad_1F_EventScript_235E5C + goto_if_eq VictoryRoad_1F_EventScript_235E5C msgbox VictoryRoad_1F_Text_2360FE, MSGBOX_AUTOCLOSE end diff --git a/data/party_menu.s b/data/party_menu.s deleted file mode 100644 index eedcd4377..000000000 --- a/data/party_menu.s +++ /dev/null @@ -1,649 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 1 -gUnknown_0861500C:: @ 861500C - .2byte 0x0005, 0x000e, 0x0019, 0x0022, 0x0026, 0x0044, 0x0045, 0x0066, 0x0076, 0x0087, 0x008a, 0x0056, 0x0099, 0x009d, 0x00a4, 0x00df - .2byte 0x00cd, 0x00f4, 0x00ad, 0x00c4, 0x00cb, 0x00bd, 0x0008, 0x00cf, 0x00d6, 0x0081, 0x006f, 0x0009, 0x0007, 0x00d2 - - .align 2 -gUnknown_08615048:: @ 8615048 - .4byte 0x00000000, 0x25b4409a, 0x25b4409a, 0x25b4409a, 0x37b4e0ff, 0x37b4e0ff, 0x37b4e0ff, 0x05fdc0fd - .4byte 0x05fdc0fd, 0x05fdc0fd, 0x00000000, 0x00000000, 0x03944490, 0x00000000, 0x00000000, 0x23944092 - .4byte 0x03b44090, 0x03b44090, 0x03b44090, 0x07bc48b8, 0x07bc48b8, 0x03b44090, 0x03b44090, 0x01946098 - .4byte 0x01946098, 0x0fb5c8fd, 0x0fb5c8fd, 0x27b5e0fa, 0x27b5e0fa, 0x05b440b8, 0x05b440b8, 0x3dfce0fd - .4byte 0x05b440b8, 0x05b440b8, 0x3dfce0fd, 0x1df7cffd, 0x1df7cffd, 0x03944098, 0x03944098, 0x1df7ccfd - .4byte 0x1df7ccfd, 0x03944090, 0x03944090, 0x01944092, 0x01944092, 0x0194409a, 0x219440ba, 0x219440ba - .4byte 0x03944090, 0x03944090, 0x01b46098, 0x01b46098, 0x07be4498, 0x07be4498, 0x03fec0fd, 0x23fec0fd - .4byte 0x1ff6e1fd, 0x1ff6e1fd, 0x03944098, 0x03944098, 0x059c4098, 0x05fc41fd, 0x05fcc1fd, 0x19d6cdfd - .4byte 0x19d6cdfd, 0x19d6cdfd, 0x19f4e1fd, 0x19f4e1fd, 0x19f4e1fd, 0x01944092, 0x01944092, 0x0194409a - .4byte 0x019c4092, 0x019c4092, 0x15b5f1f9, 0x15b5f1f9, 0x35b5f1fd, 0x03944098, 0x03944098, 0x03be4c98 - .4byte 0x23feccfd, 0x03954890, 0x03954890, 0x03b6409a, 0x03b44098, 0x03b44098, 0x019c4098, 0x019c4098 - .4byte 0x19f4d088, 0x19f4d088, 0x039c5090, 0x039c5090, 0x01965480, 0x01965480, 0x19d6d5fd, 0x01b67098 - .4byte 0x19d6cdfd, 0x19d6cdfd, 0x21bc409a, 0x21bc409a, 0x03955880, 0x03955880, 0x01975490, 0x01975490 - .4byte 0x19bce0ff, 0x19bce0ff, 0x03b4e1fd, 0x1bf4e1fd, 0x1dffe4ff, 0x01955080, 0x01955080, 0x01bd60ba - .4byte 0x39bde0ff, 0x05bfcffd, 0x0196409a, 0x39fce0fd, 0x039c4090, 0x039c4090, 0x039c4090, 0x039c4090 - .4byte 0x039e4890, 0x039e4c90, 0x19f64dfd, 0x239440b2, 0x01fec5fd, 0x1bf4c8fd, 0x19b4c0fd, 0x219460da - .4byte 0x019c4098, 0x00000000, 0x019c4898, 0x019c4498, 0x00000000, 0x03b44098, 0x03bc4098, 0x03b44898 - .4byte 0x03b44098, 0x039e4c90, 0x019d6098, 0x019d60d8, 0x019d6098, 0x219d60de, 0x03946090, 0x1dffe1fd - .4byte 0x03bc4090, 0x03b44890, 0x03b44090, 0x039c4898, 0x039c4898, 0x3bfcc898, 0x1bfecdfd, 0x3fffffff - .4byte 0x01b440ba, 0x21b440ba, 0x21b440ba, 0x07b54098, 0x27b54098, 0x3fb5e0fd, 0x01fce0ff, 0x21fce0ff - .4byte 0x21fce0ff, 0x3ff5c098, 0x3ff5c098, 0x03b44490, 0x03b44490, 0x0bd5c093, 0x0bd5c093, 0x01944098 - .4byte 0x01944098, 0x03944090, 0x01944890, 0x01944890, 0x07b548fd, 0x05bf4ffd, 0x05bf4cfd, 0x07b74ffd - .4byte 0x07b74ffd, 0x03964c90, 0x03964c90, 0x07944898, 0x1f94c8fd, 0x1f94c8fd, 0x01944092, 0x07fdc0dd - .4byte 0x07fdc0dd, 0x1df7f0fd, 0x05bcc1fd, 0x05944092, 0x05944092, 0x05944092, 0x3ff4cdfd, 0x01944092 - .4byte 0x01944092, 0x03944490, 0x05f5c098, 0x05f5c0fd, 0x03b64498, 0x03b64498, 0x03be4c90, 0x23feccfd - .4byte 0x07964c90, 0x00000000, 0x00000000, 0x03b64c98, 0x059570b8, 0x059570b8, 0x05b76cb8, 0x239464b2 - .4byte 0x05b57098, 0x1df4c9fd, 0x1df4e9fd, 0x079d4892, 0x239440b2, 0x05b56098, 0x219460fa, 0x27fec4b2 - .4byte 0x3ff5c1ff, 0x3ff5e1ff, 0x05b56098, 0x05b56098, 0x05bc6098, 0x05bc6098, 0x05b57098, 0x07b44890 - .4byte 0x07b448d0, 0x03bc40fd, 0x03bc4098, 0x03b460b0, 0x03b444b8, 0x03b444b8, 0x039c4098, 0x05b540b8 - .4byte 0x05b560b8, 0x079e4c90, 0x03b64c98, 0x00000000, 0x03b460fc, 0x03b460fc, 0x01fec5fd, 0x1bf4c8fd - .4byte 0x19b4c0fd, 0x1dffe9fd, 0x05bdcffd, 0x03b64898, 0x03b64098, 0x03be4098, 0x01b46098, 0x01b46098 - .4byte 0x31b4e8fd, 0x03be4c98, 0x03b64c90, 0x07b64592, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - .4byte 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - .4byte 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - .4byte 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x2bb4c0ff, 0x2bb4c0ff, 0x2bb4c0ff - .4byte 0x03b460ff, 0x3bb4e0ff, 0x3bb4e0ff, 0x05bd4098, 0x05fde0fd, 0x05fde0fd, 0x01b640b8, 0x01b640b8 - .4byte 0x27bd4898, 0x27bd4898, 0x00000000, 0x00000000, 0x03944090, 0x00000000, 0x03944090, 0x019c409a - .4byte 0x19fcc09a, 0x19fcc1ff, 0x0595509a, 0x27b7509e, 0x27b7509e, 0x21b44090, 0x23b44092, 0x21b44490 - .4byte 0x03b440b0, 0x03b440b0, 0x0194409a, 0x29b4c0ff, 0x1fffe5fd, 0x03bc4090, 0x03bc4090, 0x039e4090 - .4byte 0x039e4090, 0x059d4098, 0x059d4098, 0x07bf4c98, 0x07bf4c98, 0x3fffe9fd, 0x01b67490, 0x01b67490 - .4byte 0x1df5f898, 0x01b47098, 0x39f6c5fd, 0x01bc4090, 0x01bc6090, 0x039e4090, 0x21bc40ba, 0x23bc40ba - .4byte 0x039c4090, 0x03be4098, 0x23bc4090, 0x23bc4090, 0x01b46098, 0x03b46098, 0x33b46098, 0x19f4e1fd - .4byte 0x19f4e1fd, 0x03b44898, 0x03b44898, 0x05b56098, 0x05b57098, 0x05bd6098, 0x05bd6098, 0x05bd6098 - .4byte 0x29b4c0fb, 0x29b4c0ff, 0x019c4098, 0x059d5098, 0x07977498, 0x07977498, 0x07bd4098, 0x039e4498 - .4byte 0x1bfec4fd, 0x0fb5c9fd, 0x0fb5c9fd, 0x09fee0ff, 0x1bf6c5fd, 0x1bf6e5fd, 0x03b64498, 0x03b64498 - .4byte 0x00000000, 0x019e4498, 0x19fee5fd, 0x23b6409a, 0x39fce0fd, 0x39fce0fd, 0x39fce0fd, 0x1df5d4b8 - .4byte 0x1df5d4b8, 0x21b4409a, 0x1dffc0fd, 0x1dffe0fd, 0x1dffe0fd, 0x019c4098, 0x03bc4098, 0x03bc4098 - .4byte 0x23be6cba, 0x019e4c98, 0x01be4d98, 0x23b44098, 0x3ffde8ff, 0x01be6098, 0x25b56098, 0x25b56098 - .4byte 0x3dfde8fd, 0x079e4898, 0x0bf6c9fd, 0x0bf6c9fd, 0x01b66098, 0x01b66098, 0x21b4609a, 0x21b460da - .4byte 0x1dfe4c98, 0x1dfe4c98, 0x1dfe4c98, 0x21b46098, 0x25b56098, 0x27b56098, 0x00000000, 0x2ffff098 - .4byte 0x2ffff098, 0x1df7f8fd, 0x0dfff8fd, 0x0df7f8fd, 0x07be6898, 0x3fb7e8ff, 0x23be6898, 0x23be4c98 - .4byte 0x23be4c98, 0x1ffecd98, 0x1bfeecfd, 0x059f4490 - - .align 2 -gUnknown_086156B8:: @ 86156B8 - .4byte 0x000011f0, 0x000021e1, 0x000003c2 - - .align 2 -gUnknown_086156C4:: @ 86156C4 - .4byte sub_81B2658, 0x0d280b18, 0x08201420, 0x08081440, 0x08182526, 0x08182535, 0x03302318, 0x1040220c - - .align 2 -gUnknown_086156E4:: @ 86156E4 - .4byte sub_81B26BC, 0x0d280316, 0x08200c1e, 0x08080c3e, 0x08180c66, 0x08180c75, 0x03300a58, 0x1040044d - - .align 2 -gUnknown_08615704:: @ 8615704 - .4byte 0x32142810, 0x22103432, 0x1c6c1268, 0x19661b88, 0x346c2a68, 0x31663388, 0x4c6c4268, 0x49664b88 - .4byte 0x646c5a68, 0x61666388, 0x7c6c7268, 0x79667b88, 0x22141810, 0x12102432, 0x5a145010, 0x4a105c32 - .4byte 0x1c6c1268, 0x19661b88, 0x3c6c3268, 0x39663b88, 0x5c6c5268, 0x59665b88, 0x7c6c7268, 0x79667b88 - .4byte 0x22141810, 0x12102432, 0x5a145010, 0x4a105c32, 0x246a1a68, 0x21662388, 0x3c6a3268, 0x39663b88 - .4byte 0x5c6a5268, 0x59665b88, 0x746a6a68, 0x71667388, 0x2a142010, 0x1a102c32, 0x2c6a2268, 0x29662b88 - .4byte 0x446a3a68, 0x41664388, 0x72146810, 0x62107432, 0x746a6a68, 0x71667388, 0x8c6a8268, 0x89668b88 - - .align 1 -gUnknown_086157C4:: @ 86157C4 - .incbin "graphics/interface/unknown_6157C4.bin" - - .align 1 -gUnknown_086157E0:: @ 86157E0 - .incbin "graphics/interface/unknown_6157E0.bin" - -gUnknown_086157FC:: @ 86157FC - .byte 0x00, 0x03, 0x02, 0x00 - -gUnknown_08615800:: @ 8615800 - .byte 0x01, 0x06, 0x00, 0x0b, 0x0c, 0x01, 0x02, 0x03, 0x01, 0x08, 0x09, 0x00, 0x01, 0x02, 0x00, 0x00 - - .align 2 -gUnknown_08615810:: @ 8615810 - window_template 0x00, 0x01, 0x03, 0x0a, 0x07, 0x03, 0x0063 - window_template 0x00, 0x0c, 0x01, 0x12, 0x03, 0x04, 0x00a9 - window_template 0x00, 0x0c, 0x04, 0x12, 0x03, 0x05, 0x00df - window_template 0x00, 0x0c, 0x07, 0x12, 0x03, 0x06, 0x0115 - window_template 0x00, 0x0c, 0x0a, 0x12, 0x03, 0x07, 0x014b - window_template 0x00, 0x0c, 0x0d, 0x12, 0x03, 0x08, 0x0181 - window_template 0x02, 0x01, 0x0f, 0x1c, 0x04, 0x0e, 0x01df - null_window_template - - .align 2 -gUnknown_08615850:: @ 8615850 - window_template 0x00, 0x01, 0x01, 0x0a, 0x07, 0x03, 0x0063 - window_template 0x00, 0x01, 0x08, 0x0a, 0x07, 0x04, 0x00a9 - window_template 0x00, 0x0c, 0x01, 0x12, 0x03, 0x05, 0x00ef - window_template 0x00, 0x0c, 0x05, 0x12, 0x03, 0x06, 0x0125 - window_template 0x00, 0x0c, 0x09, 0x12, 0x03, 0x07, 0x015b - window_template 0x00, 0x0c, 0x0d, 0x12, 0x03, 0x08, 0x0191 - window_template 0x02, 0x01, 0x0f, 0x1c, 0x04, 0x0e, 0x01df - null_window_template - - .align 2 -gUnknown_08615890:: @ 8615890 - window_template 0x00, 0x01, 0x01, 0x0a, 0x07, 0x03, 0x0063 - window_template 0x00, 0x01, 0x08, 0x0a, 0x07, 0x04, 0x00a9 - window_template 0x00, 0x0c, 0x02, 0x12, 0x03, 0x05, 0x00ef - window_template 0x00, 0x0c, 0x05, 0x12, 0x03, 0x06, 0x0125 - window_template 0x00, 0x0c, 0x09, 0x12, 0x03, 0x07, 0x015b - window_template 0x00, 0x0c, 0x0c, 0x12, 0x03, 0x08, 0x0191 - window_template 0x02, 0x01, 0x0f, 0x1c, 0x04, 0x0e, 0x01df - null_window_template - - .align 2 -gUnknown_086158D0:: @ 86158D0 - window_template 0x00, 0x01, 0x02, 0x0a, 0x07, 0x03, 0x0063 - window_template 0x00, 0x0c, 0x03, 0x12, 0x03, 0x05, 0x00a9 - window_template 0x00, 0x0c, 0x06, 0x12, 0x03, 0x06, 0x00df - window_template 0x02, 0x01, 0x0b, 0x0a, 0x07, 0x04, 0x0115 - window_template 0x02, 0x0c, 0x0c, 0x12, 0x03, 0x07, 0x016b - window_template 0x02, 0x0c, 0x0f, 0x12, 0x03, 0x08, 0x01a1 - null_window_template - - .align 2 -gUnknown_08615908:: @ 8615908 - window_template 0x00, 0x18, 0x11, 0x06, 0x02, 0x03, 0x01c7 - - .align 2 -gUnknown_08615910:: @ 8615910 - window_template 0x00, 0x18, 0x12, 0x06, 0x02, 0x03, 0x01c7 - - .align 2 -gUnknown_08615918:: @ 8615918 - window_template 0x00, 0x18, 0x10, 0x06, 0x02, 0x03, 0x01d3 - - .align 2 -gUnknown_08615920:: @ 8615920 - window_template 0x02, 0x01, 0x11, 0x15, 0x02, 0x0f, 0x024f - - .align 2 -gUnknown_08615928:: @ 8615928 - window_template 0x02, 0x01, 0x11, 0x10, 0x02, 0x0f, 0x0279 - - .align 2 -gUnknown_08615930:: @ 8615930 - window_template 0x02, 0x01, 0x11, 0x14, 0x02, 0x0f, 0x0299 - - .align 2 -gUnknown_08615938:: @ 8615938 - window_template 0x02, 0x01, 0x11, 0x12, 0x02, 0x0f, 0x0299 - - .align 2 -gUnknown_08615940:: @ 8615940 - window_template 0x02, 0x01, 0x11, 0x10, 0x02, 0x0f, 0x0299 - - .align 2 -gUnknown_08615948:: @ 8615948 - window_template 0x02, 0x01, 0x0f, 0x14, 0x04, 0x0f, 0x0299 - - .align 2 -gUnknown_08615950:: @ 8615950 - window_template 0x02, 0x17, 0x0d, 0x06, 0x06, 0x0e, 0x039d - - .align 2 -gUnknown_08615958:: @ 8615958 - window_template 0x02, 0x15, 0x0d, 0x08, 0x06, 0x0e, 0x039d - - .align 2 -gUnknown_08615960:: @ 8615960 - window_template 0x02, 0x13, 0x0b, 0x0a, 0x08, 0x0e, 0x02e9 - - .align 2 -gUnknown_08615968:: @ 8615968 - window_template 0x02, 0x15, 0x09, 0x05, 0x04, 0x0e, 0x02e9 - - .align 2 -gUnknown_08615970:: @ 8615970 - window_template 0x02, 0x13, 0x01, 0x0a, 0x0b, 0x0e, 0x02e9 - window_template 0x02, 0x02, 0x0f, 0x1b, 0x04, 0x0e, 0x01df - window_template 0x02, 0x00, 0x0d, 0x12, 0x03, 0x0c, 0x039d - -gUnknown_08615988:: @ 8615988 - .byte 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21 - .byte 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x28, 0x3b, 0x3c, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3d, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x2e, 0x2f, 0x2f, 0x2f - .byte 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x30 - -gUnknown_086159CE:: @ 86159CE - .byte 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21 - .byte 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x28, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x2a, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x2e, 0x2f, 0x2f, 0x2f - .byte 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x30 - -gUnknown_08615A14:: @ 8615A14 - .byte 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x34, 0x35, 0x33, 0x33, 0x33 - .byte 0x33, 0x33, 0x33, 0x36, 0x37, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39 - -gUnknown_08615A4A:: @ 8615A4A - .byte 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21 - .byte 0x21, 0x21, 0x21, 0x32, 0x37, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39 - -gUnknown_08615A80:: @ 8615A80 - .byte 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x1f, 0x25, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x27 - -gUnknown_08615AB6:: @ 8615AB6 - .byte 0x0b, 0x0c - -gUnknown_08615AB8:: @ 8615AB8 - .byte 0x09, 0x0a - -gUnknown_08615ABA:: @ 8615ABA - .byte 0x04, 0x05, 0x06 - -gUnknown_08615ABD:: @ 8615ABD - .byte 0x01, 0x07, 0x08 - -gUnknown_08615AC0:: @ 8615AC0 - .byte 0x01, 0x0b, 0x0c - -gUnknown_08615AC3:: @ 8615AC3 - .byte 0x3b, 0x3c - -gUnknown_08615AC5:: @ 8615AC5 - .byte 0x4b, 0x4c - -gUnknown_08615AC7:: @ 8615AC7 - .byte 0x39, 0x3a - -gUnknown_08615AC9:: @ 8615AC9 - .byte 0x49, 0x4a - -gUnknown_08615ACB:: @ 8615ACB - .byte 0x59, 0x5a - -gUnknown_08615ACD:: @ 8615ACD - .byte 0x34, 0x35, 0x36 - -gUnknown_08615AD0:: @ 8615AD0 - .byte 0x44, 0x45, 0x46 - -gUnknown_08615AD3:: @ 8615AD3 - .byte 0x54, 0x55, 0x56 - -gUnknown_08615AD6:: @ 8615AD6 - .byte 0x74, 0x75, 0x76 - -gUnknown_08615AD9:: @ 8615AD9 - .byte 0x84, 0x85, 0x86 - -gUnknown_08615ADC:: @ 8615ADC - .byte 0x94, 0x95, 0x96 - -gUnknown_08615ADF:: @ 8615ADF - .byte 0x64, 0x65, 0x66 - -gUnknown_08615AE2:: @ 8615AE2 - .byte 0x31, 0x37, 0x38 - -gUnknown_08615AE5:: @ 8615AE5 - .byte 0x41, 0x47, 0x48 - -gUnknown_08615AE8:: @ 8615AE8 - .byte 0x51, 0x57, 0x58 - -gUnknown_08615AEB:: @ 8615AEB - .byte 0x61, 0x67, 0x68 - -gUnknown_08615AEE:: @ 8615AEE - .byte 0xa1, 0xa7, 0xa8 - -gUnknown_08615AF1:: @ 8615AF1 - .byte 0x11, 0x1b, 0x1c - - .align 2 -gUnknown_08615AF4:: @ 8615AF4 - .4byte gUnknown_085E9E43 - .4byte gUnknown_085EA010 - .4byte gUnknown_085EA02A - .4byte gUnknown_085E9E55 - .4byte gUnknown_085E9E64 - .4byte gUnknown_085E9E79 - .4byte gUnknown_085E9E8F - .4byte gUnknown_085E9EBC - .4byte gUnknown_085E9ED4 - .4byte gUnknown_085E9EE9 - .4byte gUnknown_085E9FDB - .4byte gUnknown_085EA046 - .4byte gUnknown_085EA05B - .4byte gUnknown_085E9F01 - .4byte gUnknown_085E9F58 - .4byte gUnknown_085E9F6F - .4byte gUnknown_085E9F81 - .4byte gUnknown_085E9F90 - .4byte gUnknown_085E9FA7 - .4byte gUnknown_085E9FC2 - .4byte gText_EmptyString2 - .4byte gUnknown_085E9EA6 - .4byte gUnknown_085E9F16 - .4byte gUnknown_085E9F2A - .4byte gUnknown_085E9F42 - .4byte gUnknown_085E9FF9 - .4byte gUnknown_085EA073 - -gUnknown_08615B60:: @ 8615B60 - .4byte gUnknown_085EA091 - .4byte gUnknown_085EA099 - .4byte gUnknown_085EA09E - .4byte gUnknown_085EA0A4 - .4byte gUnknown_085EA0AB - .4byte gUnknown_085EA0E7 - .4byte gUnknown_085EA0B1 - .4byte gUnknown_085EA0B6 - .4byte gUnknown_085EA0BF - .4byte gUnknown_085EA0C5 - .4byte gUnknown_085EA0CF - .4byte gUnknown_085EA0D7 - .4byte gUnknown_085EA0DC - - .align 1 -gUnknown_08615B94:: @ 8615B94 - .2byte 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071 - .2byte 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068 - .2byte 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d - .2byte 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123 - - .align 2 -gUnknown_08615C08:: @ 8615C08 - .4byte gText_Summary5, sub_81B37FC - .4byte gText_Switch2, brm_switch - .4byte gText_Cancel2, brm_cancel_1 - .4byte gText_Item, sub_81B4134 - .4byte gMenuText_Give, sub_81B4198 - .4byte gText_Take, sub_81B4724 - .4byte gText_Mail, sub_81B4A08 - .4byte gText_Take2, brm_take_2 - .4byte gText_Read2, sub_81B4A6C - .4byte gText_Cancel2, sub_81B4D78 - .4byte gText_Shift, brm_shift_sendout - .4byte gText_SendOut, brm_shift_sendout - .4byte gText_Enter, sub_81B4E8C - .4byte gText_NoEntry, sub_81B4FA8 - .4byte gText_Store, sub_81B50AC - .4byte gText_Register, sub_81B50C8 - .4byte gText_Trade4, brm_trade_1 - .4byte gText_Trade4, sub_81B52E4 - .4byte gMenuText_Toss, sub_81B47E0 - .4byte gMoveNames+195, sub_81B5470 - .4byte gMoveNames+1924, sub_81B5470 - .4byte gMoveNames+3237, sub_81B5470 - .4byte gMoveNames+910, sub_81B5470 - .4byte gMoveNames+741, sub_81B5470 - .4byte gMoveNames+247, sub_81B5470 - .4byte gMoveNames+3783, sub_81B5470 - .4byte gMoveNames+1651, sub_81B5470 - .4byte gMoveNames+1300, sub_81B5470 - .4byte gMoveNames+1183, sub_81B5470 - .4byte gMoveNames+3770, sub_81B5470 - .4byte gMoveNames+2704, sub_81B5470 - .4byte gMoveNames+1755, sub_81B5470 - .4byte gMoveNames+2990, sub_81B5470 - -gUnknown_08615D10:: @ 8615D10 - .byte 0x00, 0x01, 0x02 - -gUnknown_08615D13:: @ 8615D13 - .byte 0x0a, 0x00, 0x02 - -gUnknown_08615D16:: @ 8615D16 - .byte 0x0b, 0x00, 0x02 - -gUnknown_08615D19:: @ 8615D19 - .byte 0x00, 0x02 - -gUnknown_08615D1B:: @ 8615D1B - .byte 0x0c, 0x00, 0x02 - -gUnknown_08615D1E:: @ 8615D1E - .byte 0x0d, 0x00, 0x02 - -gUnknown_08615D21:: @ 8615D21 - .byte 0x0e, 0x00, 0x02 - -gUnknown_08615D24:: @ 8615D24 - .byte 0x04, 0x05, 0x09 - -gUnknown_08615D27:: @ 8615D27 - .byte 0x08, 0x07, 0x09 - -gUnknown_08615D2A:: @ 8615D2A - .byte 0x0f, 0x00, 0x02 - -gUnknown_08615D2D:: @ 8615D2D - .byte 0x10, 0x00, 0x02 - -gUnknown_08615D30:: @ 8615D30 - .byte 0x11, 0x00, 0x02 - -gUnknown_08615D33:: @ 8615D33 - .byte 0x05, 0x12, 0x02 - - .align 2 -gUnknown_08615D38:: @ 8615D38 - .4byte NULL, gUnknown_08615D10, gUnknown_08615D13, gUnknown_08615D16, gUnknown_08615D1B, gUnknown_08615D1E, gUnknown_08615D21, gUnknown_08615D19 - .4byte gUnknown_08615D24, gUnknown_08615D27, gUnknown_08615D2A, gUnknown_08615D2D, gUnknown_08615D30, gUnknown_08615D33 - -gUnknown_08615D70:: @ 8615D70 - .byte 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 - - .align 1 -gUnknown_08615D7E:: @ 8615D7E - .2byte 0x000f, 0x0094, 0x00f9, 0x0046, 0x0039, 0x0013, 0x0123, 0x007f, 0x0064, 0x005b, 0x0122, 0x00d0, 0x0087, 0x00e6, 0x000e - - .align 2 -gUnknown_08615D9C:: @ 8615D9C - .4byte SetUpFieldMove_Cut, 0x00000007 - .4byte SetUpFieldMove_Flash, 0x0000000d - .4byte SetUpFieldMove_RockSmash, 0x0000000d - .4byte SetUpFieldMove_Strength, 0x0000000d - .4byte sub_81B5820, 0x00000008 - .4byte sub_81B5884, 0x0000000d - .4byte sub_81B5974, 0x0000000d - .4byte hm_prepare_waterfall, 0x0000000d - .4byte SetUpFieldMove_Teleport, 0x0000000d - .4byte SetUpFieldMove_Dig, 0x0000000d - .4byte sub_80FA004, 0x0000000d - .4byte SetUpFieldMove_SoftBoiled, 0x00000010 - .4byte SetUpFieldMove_SoftBoiled, 0x00000010 - .4byte SetUpFieldMove_SweetScent, 0x0000000d - - .align 2 -gUnknown_08615E0C:: @ 8615E0C - .4byte gText_NotPkmnOtherTrainerWants - .4byte gText_ThatIsntAnEgg - .4byte gText_PkmnCantBeTradedNow - .4byte gText_PkmnCantBeTradedNow - .4byte gText_OtherTrainersPkmnCantBeTraded - .4byte gText_EggCantBeTradedNow - .4byte gText_OtherTrainerCantAcceptPkmn - .4byte gText_CantTradeWithTrainer - .4byte gText_CantTradeWithTrainer - - .align 2 -gUnknown_08615E30:: @ 8615E30 - .incbin "graphics/interface/hold_icons.4bpp" - - .align 2 -gUnknown_08615E70:: @ 8615E70 - .incbin "graphics/interface/hold_icons.gbapal" - - .align 2 -gOamData_8615E90:: @ 8615E90 - .2byte 0x0000, 0x0000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_8615E98:: @ 8615E98 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615EA0:: @ 8615EA0 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8615EA8:: @ 8615EA8 - .4byte gSpriteAnim_8615E98 - .4byte gSpriteAnim_8615EA0 - - .align 2 -gUnknown_08615EB0:: @ 8615EB0 - obj_tiles gUnknown_08615E30, 0x40, 55120 - - .align 2 -gUnknown_08615EB8:: @ 8615EB8 - obj_pal gUnknown_08615E70, 55120 - - .align 2 -gSpriteTemplate_8615EC0:: @ 8615EC0 - spr_template 0xd750, 0xd750, gOamData_8615E90, gSpriteAnimTable_8615EA8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_8615ED8:: @ 8615ED8 - .2byte 0x0000, 0x8000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_8615EE0:: @ 8615EE0 - .2byte 0x0000, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615EE8:: @ 8615EE8 - .2byte 0x0010, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8615EF0:: @ 8615EF0 - .4byte gSpriteAnim_8615EE0 - .4byte gSpriteAnim_8615EE8 - - .align 2 -gUnknown_08615EF8:: @ 8615EF8 - obj_tiles gPartyMenuPokeball_Gfx, 0x400, 1200 - - .align 2 -gUnknown_08615F00:: @ 8615F00 - obj_pal gPartyMenuPokeball_Pal, 1200 - - .align 2 -gSpriteTemplate_8615F08:: @ 8615F08 - spr_template 0x04b0, 0x04b0, gOamData_8615ED8, gSpriteAnimTable_8615EF0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_8615F20:: @ 8615F20 - .2byte 0x0000, 0x4000, 0x0800, 0x0000 - - .align 2 -gSpriteAnim_8615F28:: @ 8615F28 - .2byte 0x0000, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615F30:: @ 8615F30 - .2byte 0x0004, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615F38:: @ 8615F38 - .2byte 0x0008, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615F40:: @ 8615F40 - .2byte 0x000c, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615F48:: @ 8615F48 - .2byte 0x0010, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615F50:: @ 8615F50 - .2byte 0x0014, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8615F58:: @ 8615F58 - .4byte gSpriteAnim_8615F28 - .4byte gSpriteAnim_8615F30 - .4byte gSpriteAnim_8615F38 - .4byte gSpriteAnim_8615F40 - .4byte gSpriteAnim_8615F48 - .4byte gSpriteAnim_8615F50 - - .align 2 -gUnknown_08615F70:: @ 8615F70 - obj_tiles gPartyMenuPokeballSmall_Gfx, 0x0300, 0x04b1 - - .align 2 -gSpriteTemplate_8615F78:: @ 8615F78 - spr_template 0x04b1, 0x04b0, gOamData_8615F20, gSpriteAnimTable_8615F58, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_8615F90:: @ 8615F90 - .2byte 0x4000, 0x4000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_8615F98:: @ 8615F98 - .2byte 0x0000, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615FA0:: @ 8615FA0 - .2byte 0x0004, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615FA8:: @ 8615FA8 - .2byte 0x0008, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615FB0:: @ 8615FB0 - .2byte 0x000c, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615FB8:: @ 8615FB8 - .2byte 0x0010, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615FC0:: @ 8615FC0 - .2byte 0x0014, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615FC8:: @ 8615FC8 - .2byte 0x0018, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8615FD0:: @ 8615FD0 - .2byte 0x001c, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8615FD8:: @ 8615FD8 - .4byte gSpriteAnim_8615F98 - .4byte gSpriteAnim_8615FA0 - .4byte gSpriteAnim_8615FA8 - .4byte gSpriteAnim_8615FB0 - .4byte gSpriteAnim_8615FB8 - .4byte gSpriteAnim_8615FC0 - .4byte gSpriteAnim_8615FC8 - .4byte gSpriteAnim_8615FD0 - - .align 2 -gUnknown_08615FF8:: @ 8615FF8 - obj_tiles gStatusGfx_Icons, 0x400, 1202 - - .align 2 -gUnknown_08616000:: @ 8616000 - obj_pal gStatusPal_Icons, 1202 - - .align 2 -gSpriteTemplate_8616008:: @ 8616008 - spr_template 0x04b2, 0x04b2, gOamData_8615F90, gSpriteAnimTable_8615FD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_08616020:: @ 8616020 - .byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00 - - .align 2 -gUnknown_08616028:: @ 8616028 - .4byte gText_HP4 - .4byte gText_Attack3 - .4byte gText_Defense3 - .4byte gText_SpAtk4 - .4byte gText_SpDef4 - .4byte gText_Speed2 - - .align 1 -gUnknown_08616040:: @ 8616040 - .2byte 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071 - .2byte 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068 - .2byte 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d - .2byte 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123 - diff --git a/data/pokemon_storage_system.s b/data/pokemon_storage_system.s deleted file mode 100644 index b859133a6..000000000 --- a/data/pokemon_storage_system.s +++ /dev/null @@ -1,1118 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_085720DC:: @ 85720DC - .incbin "graphics/pokemon_storage/scrolling_bg.4bpp.lz" - - .align 2 -gUnknown_08572174:: @ 8572174 - .incbin "graphics/pokemon_storage/scrolling_bg.bin.lz" - - .align 2 -gUnknown_08572280:: @ 8572280 - .incbin "graphics/unknown/unknown_572280.gbapal" - - .align 2 -gUnknown_085722A0:: @ 85722A0 - .incbin "graphics/unknown/unknown_5722A0.bin.lz" - - .align 1 -gUnknown_0857239C:: @ 857239C - .2byte 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, 0x0108, 0x0111, 0x0112, 0x0113, 0x0114, 0x0115, 0x0116, 0x0117, 0x0118 - .2byte 0x2101, 0x2102, 0x2103, 0x2104, 0x2105, 0x2106, 0x2107, 0x2108, 0x2111, 0x2112, 0x2113, 0x2114, 0x2115, 0x2116, 0x2117, 0x2118 - - .align 2 -gUnknown_085723DC:: @ 85723DC - .incbin "graphics/unknown/unknown_5723DC.gbapal" - - .align 2 -gUnknown_085723FC:: @ 85723FC - .incbin "graphics/unknown/unknown_5723FC.gbapal" - - .align 2 -gUnknown_0857241C:: @ 857241C - .incbin "graphics/unknown/unknown_57241C.gbapal" - - .align 2 -gUnknown_0857243C:: @ 857243C - .incbin "graphics/unknown/unknown_57243C.gbapal" - - .align 1 -gUnknown_0857245C:: @ 857245C - .2byte 0x014c, 0x014d, 0x014e, 0x014f, 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x015c, 0x015d, 0x015e, 0x015f, 0x0180, 0x0181, 0x0182 - .2byte 0x0183, 0x0184, 0x0175, 0x0176, 0x0177, 0x0178, 0x0179, 0x017a, 0x017b, 0x017c, 0x017d, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189 - .2byte 0x018a, 0x018b, 0x018c, 0x018d - - .align 1 -gUnknown_085724A4:: @ 85724A4 - .2byte 0x1140, 0x1141, 0x1141, 0x1142, 0x1150, 0x1151, 0x1151, 0x1152, 0x1160, 0x1161, 0x1161, 0x1162 - - .align 1 -gUnknown_085724BC:: @ 85724BC - .2byte 0x1143, 0x1144, 0x1144, 0x1145, 0x1153, 0x1154, 0x1154, 0x1155, 0x1163, 0x1164, 0x1164, 0x1165 - - .align 2 -WaveformPalette:: @ 85724D4 - .incbin "graphics/pokemon_storage/waveform.gbapal" - - .align 2 -WaveformTiles:: @ 85724F4 - .incbin "graphics/pokemon_storage/waveform.4bpp" - - .align 2 -gUnknown_085726B4:: @ 85726B4 - .incbin "graphics/unused/unknown_5726B4.gbapal" - - .align 2 -gUnknown_085726F4:: @ 85726F4 - .incbin "graphics/unknown/unknown_5726F4.gbapal" - - .align 2 -gUnknown_08572714:: @ 8572714 - window_template 0x01, 0x00, 0x0b, 0x09, 0x07, 0x03, 0x00c0 - window_template 0x00, 0x0b, 0x11, 0x12, 0x02, 0x0f, 0x0014 - window_template 0x00, 0x00, 0x0d, 0x15, 0x07, 0x0f, 0x0014 - null_window_template - - .align 2 -gUnknown_08572734:: @ 8572734 - .4byte 0x000001d0, 0x004011e5, 0x000023ba, 0x000031ff - - .align 2 -gWaveformSpritePalette:: @ 8572744 - obj_pal WaveformPalette, 0xDACA - - .align 2 -gWaveformSpriteSheet:: @ 857274C - obj_tiles WaveformTiles, 0x1C0, 5 - -gUnknown_08572754:: @ 8572754 - spr_template 2, 0xDAC6, gOamData_857286C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_0857276C:: @ 857276C - .4byte gText_ExitFromBox, 0 - .4byte gText_WhatDoYouWantToDo, 0 - .4byte gText_PleasePickATheme, 0 - .4byte gText_PickTheWallpaper, 0 - .4byte gText_PkmnIsSelected, 1 - .4byte gText_JumpToWhichBox, 0 - .4byte gText_DepositInWhichBox, 0 - .4byte gText_PkmnWasDeposited, 1 - .4byte gText_BoxIsFull2, 0 - .4byte gText_ReleaseThisPokemon, 0 - .4byte gText_PkmnWasReleased, 4 - .4byte gText_ByeByePkmn, 6 - .4byte gText_MarkYourPkmn, 0 - .4byte gText_ThatsYourLastPkmn, 0 - .4byte gText_YourPartysFull, 0 - .4byte gText_YoureHoldingAPkmn, 0 - .4byte gText_WhichOneWillYouTake, 0 - .4byte gText_YouCantReleaseAnEgg, 0 - .4byte gText_ContinueBoxOperations, 0 - .4byte gText_PkmnCameBack, 1 - .4byte gText_WasItWorriedAboutYou, 0 - .4byte gText_FourEllipsesExclamation, 0 - .4byte gText_PleaseRemoveTheMail, 0 - .4byte gText_PkmnIsSelected, 7 - .4byte gText_GiveToAPkmn, 0 - .4byte gText_PlacedItemInBag, 7 - .4byte gText_BagIsFull2, 0 - .4byte gText_PutItemInBag, 0 - .4byte gText_ItemIsNowHeld, 7 - .4byte gText_ChangedToNewItem, 7 - .4byte gText_MailCantBeStored, 0 - - .align 2 -gUnknown_08572864:: @ 8572864 - window_template 0, 0x18, 0xB, 5, 4, 0xF, 0x5C - - .align 2 -gOamData_857286C:: @ 857286C - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gOamData_8572874:: @ 8572874 - .2byte 0x4000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_857287C:: @ 857287C - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_8572884:: @ 8572884 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 4, 8 - obj_image_anim_frame 6, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_8572894:: @ 8572894 - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_857289C:: @ 857289C - obj_image_anim_frame 10, 8 - obj_image_anim_frame 4, 8 - obj_image_anim_frame 12, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_85728AC:: @ 85728AC - .4byte gSpriteAnim_857287C - .4byte gSpriteAnim_8572884 - .4byte gSpriteAnim_8572894 - .4byte gSpriteAnim_857289C - -gUnknown_085728BC:: @ 85728BC - spr_template 5, 0xDACA, gOamData_8572874, gSpriteAnimTable_85728AC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_085728D4:: @ 85728D4 - spr_template 0x12, 0xDAC0, gOamData_85728EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_85728EC:: @ 85728EC - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0000 - - .align 2 -gSpriteAffineAnim_85728F4:: @ 85728F4 - obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 120 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8572904:: @ 8572904 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 15 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_857291C:: @ 857291C - .4byte gSpriteAffineAnim_85728F4 - .4byte gSpriteAffineAnim_8572904 - - .align 2 -gWallpaperPalettes_Forest:: @ 8572924 - .incbin "graphics/pokemon_storage/forest_frame.gbapal" - .incbin "graphics/pokemon_storage/forest_bg.gbapal" - - .align 2 -gWallpaperTiles_Forest: @ 8572964 - .incbin "graphics/pokemon_storage/forest.4bpp.lz" - - .align 2 -gWallpaperTilemap_Forest:: @ 8572DE8 - .incbin "graphics/pokemon_storage/forest.bin.lz" - - .align 2 -gWallpaperPalettes_City: @ 8572EC8 - .incbin "graphics/pokemon_storage/city_frame.gbapal" - .incbin "graphics/pokemon_storage/city_bg.gbapal" - - .align 2 -gWallpaperTiles_City: @ 8572F08 - .incbin "graphics/pokemon_storage/city.4bpp.lz" - - .align 2 -gWallpaperTilemap_City: @ 8573220 - .incbin "graphics/pokemon_storage/city.bin.lz" - - .align 2 -gWallpaperPalettes_Desert: @ 85732FC - .incbin "graphics/pokemon_storage/desert_frame.gbapal" - .incbin "graphics/pokemon_storage/desert_bg.gbapal" - - .align 2 -gWallpaperTiles_Desert: @ 857333C - .incbin "graphics/pokemon_storage/desert.4bpp.lz" - - .align 2 -gWallpaperTilemap_Desert: @ 85736F0 - .incbin "graphics/pokemon_storage/desert.bin.lz" - - .align 2 -gWallpaperPalettes_Savanna: @ 85737EC - .incbin "graphics/pokemon_storage/savanna_frame.gbapal" - .incbin "graphics/pokemon_storage/savanna_bg.gbapal" - - .align 2 -gWallpaperTiles_Savanna: @ 857382C - .incbin "graphics/pokemon_storage/savanna.4bpp.lz" - - .align 2 -gWallpaperTilemap_Savanna: @ 8573C40 - .incbin "graphics/pokemon_storage/savanna.bin.lz" - - .align 2 -gWallpaperPalettes_Crag: @ 8573D44 - .incbin "graphics/pokemon_storage/crag_frame.gbapal" - .incbin "graphics/pokemon_storage/crag_bg.gbapal" - - .align 2 -gWallpaperTiles_Crag: @ 8573D84 - .incbin "graphics/pokemon_storage/crag.4bpp.lz" - - .align 2 -gWallpaperTilemap_Crag: @ 8574180 - .incbin "graphics/pokemon_storage/crag.bin.lz" - - .align 2 -gWallpaperPalettes_Volcano: @ 8573D44 - .incbin "graphics/pokemon_storage/volcano_frame.gbapal" - .incbin "graphics/pokemon_storage/volcano_bg.gbapal" - - .align 2 -gWallpaperTiles_Volcano: @ 8573D84 - .incbin "graphics/pokemon_storage/volcano.4bpp.lz" - - .align 2 -gWallpaperTilemap_Volcano: @ 85747A0 - .incbin "graphics/pokemon_storage/volcano.bin.lz" - - .align 2 -gWallpaperPalettes_Snow: @ 85748DC - .incbin "graphics/pokemon_storage/snow_frame.gbapal" - .incbin "graphics/pokemon_storage/snow_bg.gbapal" - - .align 2 -gWallpaperTiles_Snow: @ 857491C - .incbin "graphics/pokemon_storage/snow.4bpp.lz" - - .align 2 -gWallpaperTilemap_Snow: @ 8574D7C - .incbin "graphics/pokemon_storage/snow.bin.lz" - - .align 2 -gWallpaperPalettes_Cave: @ 8574E88 - .incbin "graphics/pokemon_storage/cave_frame.gbapal" - .incbin "graphics/pokemon_storage/cave_bg.gbapal" - - .align 2 -gWallpaperTiles_Cave: @ 8574EC8 - .incbin "graphics/pokemon_storage/cave.4bpp.lz" - - .align 2 -gWallpaperTilemap_Cave: @ 85752A0 - .incbin "graphics/pokemon_storage/cave.bin.lz" - - .align 2 -gWallpaperPalettes_Beach: @ 8575378 - .incbin "graphics/pokemon_storage/beach_frame.gbapal" - .incbin "graphics/pokemon_storage/beach_bg.gbapal" - - .align 2 -gWallpaperTiles_Beach: @ 85753B8 - .incbin "graphics/pokemon_storage/beach.4bpp.lz" - - .align 2 -gWallpaperTilemap_Beach: @ 8575788 - .incbin "graphics/pokemon_storage/beach.bin.lz" - - .align 2 -gWallpaperPalettes_Seafloor: @ 8575888 - .incbin "graphics/pokemon_storage/seafloor_frame.gbapal" - .incbin "graphics/pokemon_storage/seafloor_bg.gbapal" - - .align 2 -gWallpaperTiles_Seafloor: @ 85758C8 - .incbin "graphics/pokemon_storage/seafloor.4bpp.lz" - - .align 2 -gWallpaperTilemap_Seafloor: @ 8575BC4 - .incbin "graphics/pokemon_storage/seafloor.bin.lz" - - .align 2 -gWallpaperPalettes_River: @ 8575CD8 - .incbin "graphics/pokemon_storage/river_frame.gbapal" - .incbin "graphics/pokemon_storage/river_bg.gbapal" - - .align 2 -gWallpaperTiles_River: @ 8575D18 - .incbin "graphics/pokemon_storage/river.4bpp.lz" - - .align 2 -gWallpaperTilemap_River: @ 8576100 - .incbin "graphics/pokemon_storage/river.bin.lz" - - .align 2 -gWallpaperPalettes_Sky: @ 85761F8 - .incbin "graphics/pokemon_storage/sky_frame.gbapal" - .incbin "graphics/pokemon_storage/sky_bg.gbapal" - - .align 2 -gWallpaperTiles_Sky: @ 8576238 - .incbin "graphics/pokemon_storage/sky.4bpp.lz" - - .align 2 -gWallpaperTilemap_Sky: @ 85765C0 - .incbin "graphics/pokemon_storage/sky.bin.lz" - - .align 2 -gWallpaperPalettes_PolkaDot: @ 85766B0 - .incbin "graphics/pokemon_storage/polkadot_frame.gbapal" - .incbin "graphics/pokemon_storage/polkadot_bg.gbapal" - - .align 2 -gWallpaperTiles_PolkaDot: @ 85766F0 - .incbin "graphics/pokemon_storage/polkadot.4bpp.lz" - - .align 2 -gWallpaperTilemap_PolkaDot: @ 85769B8 - .incbin "graphics/pokemon_storage/polkadot.bin.lz" - - .align 2 -gWallpaperPalettes_Pokecenter: @ 8576AB8 - .incbin "graphics/pokemon_storage/pokecenter_frame.gbapal" - .incbin "graphics/pokemon_storage/pokecenter_bg.gbapal" - - .align 2 -gWallpaperTiles_Pokecenter: @ 8576AF8 - .incbin "graphics/pokemon_storage/pokecenter.4bpp.lz" - - .align 2 -gWallpaperTilemap_Pokecenter: @ 8576D74 - .incbin "graphics/pokemon_storage/pokecenter.bin.lz" - - .align 2 -gWallpaperPalettes_Machine: @ 8576E74 - .incbin "graphics/pokemon_storage/machine_frame.gbapal" - .incbin "graphics/pokemon_storage/machine_bg.gbapal" - - .align 2 -gWallpaperTiles_Machine: @ 8576EB4 - .incbin "graphics/pokemon_storage/machine.4bpp.lz" - - .align 2 -gWallpaperTilemap_Machine: @ 8577108 - .incbin "graphics/pokemon_storage/machine.bin.lz" - - .align 2 -gWallpaperPalettes_Plain: @ 85771CC - .incbin "graphics/pokemon_storage/plain_frame.gbapal" - .incbin "graphics/pokemon_storage/plain_bg.gbapal" - - .align 2 -gWallpaperTiles_Plain: @ 857720C - .incbin "graphics/pokemon_storage/plain.4bpp.lz" - - .align 2 -gWallpaperTilemap_Plain: @ 857732C - .incbin "graphics/pokemon_storage/plain.bin.lz" - -@ 12×18 tilemap - .incbin "graphics/unused/tilemap_5773C4.bin" - - .align 1 -gUnknown_08577574:: @ 8577574 - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - .2byte 0x1CE7, 0x7FFF - - .align 2 -gWallpaperTable:: @ 85775B8 - @ Forest - .4byte gWallpaperTiles_Forest - .4byte gWallpaperTilemap_Forest - .4byte gWallpaperPalettes_Forest - - @ City - .4byte gWallpaperTiles_City - .4byte gWallpaperTilemap_City - .4byte gWallpaperPalettes_City - - @ Desert - .4byte gWallpaperTiles_Desert - .4byte gWallpaperTilemap_Desert - .4byte gWallpaperPalettes_Desert - - @ Savanna - .4byte gWallpaperTiles_Savanna - .4byte gWallpaperTilemap_Savanna - .4byte gWallpaperPalettes_Savanna - - @ Crag - .4byte gWallpaperTiles_Crag - .4byte gWallpaperTilemap_Crag - .4byte gWallpaperPalettes_Crag - - @ Volcano - .4byte gWallpaperTiles_Volcano - .4byte gWallpaperTilemap_Volcano - .4byte gWallpaperPalettes_Volcano - - @ Snow - .4byte gWallpaperTiles_Snow - .4byte gWallpaperTilemap_Snow - .4byte gWallpaperPalettes_Snow - - @ Cave - .4byte gWallpaperTiles_Cave - .4byte gWallpaperTilemap_Cave - .4byte gWallpaperPalettes_Cave - - @ Beach - .4byte gWallpaperTiles_Beach - .4byte gWallpaperTilemap_Beach - .4byte gWallpaperPalettes_Beach - - @ Seafloor - .4byte gWallpaperTiles_Seafloor - .4byte gWallpaperTilemap_Seafloor - .4byte gWallpaperPalettes_Seafloor - - @ River - .4byte gWallpaperTiles_River - .4byte gWallpaperTilemap_River - .4byte gWallpaperPalettes_River - - @ Sky - .4byte gWallpaperTiles_Sky - .4byte gWallpaperTilemap_Sky - .4byte gWallpaperPalettes_Sky - - @ PolkaDot - .4byte gWallpaperTiles_PolkaDot - .4byte gWallpaperTilemap_PolkaDot - .4byte gWallpaperPalettes_PolkaDot - - @ Pokecenter - .4byte gWallpaperTiles_Pokecenter - .4byte gWallpaperTilemap_Pokecenter - .4byte gWallpaperPalettes_Pokecenter - - @ Machine - .4byte gWallpaperTiles_Machine - .4byte gWallpaperTilemap_Machine - .4byte gWallpaperPalettes_Machine - - @ Plain - .4byte gWallpaperTiles_Plain - .4byte gWallpaperTilemap_Plain - .4byte gWallpaperPalettes_Plain - - .align 2 -PCGfx_Arrow: @ 8577678 - .incbin "graphics/pokemon_storage/arrow.4bpp" - - .align 2 -gWallpaperPalettes_Zigzagoon:: @ 85776F8 - .incbin "graphics/pokemon_storage/friends_frame1.gbapal" - .incbin "graphics/pokemon_storage/zigzagoon_bg.gbapal" - - .align 2 -gWallpaperTiles_Zigzagoon: @ 8577738 - .incbin "graphics/pokemon_storage/zigzagoon.4bpp.lz" - - .align 2 -gWallpaperTilemap_Zigzagoon: @ 857792C - .incbin "graphics/pokemon_storage/zigzagoon.bin.lz" - - .align 2 -gWallpaperPalettes_Screen:: @ 8577A44 - .incbin "graphics/pokemon_storage/friends_frame1.gbapal" - .incbin "graphics/pokemon_storage/screen_bg.gbapal" - - .align 2 -gWallpaperTiles_Screen: @ 8577A84 - .incbin "graphics/pokemon_storage/screen.4bpp.lz" - - .align 2 -gWallpaperTilemap_Screen: @ 8577D00 - .incbin "graphics/pokemon_storage/screen.bin.lz" - - .align 2 -gWallpaperPalettes_Diagonal:: @ 8577E2C - .incbin "graphics/pokemon_storage/friends_frame1.gbapal" - .incbin "graphics/pokemon_storage/diagonal_bg.gbapal" - - .align 2 -gWallpaperTiles_Diagonal: @ 8577E6C - .incbin "graphics/pokemon_storage/diagonal.4bpp.lz" - - .align 2 -gWallpaperTilemap_Diagonal: @ 8578058 - .incbin "graphics/pokemon_storage/diagonal.bin.lz" - - .align 2 -gWallpaperPalettes_Block:: @ 8578148 - .incbin "graphics/pokemon_storage/block_bg.gbapal" - .incbin "graphics/pokemon_storage/block_bg.gbapal" - - .align 2 -gWallpaperTiles_Block: @ 8578188 - .incbin "graphics/pokemon_storage/block.4bpp.lz" - - .align 2 -gWallpaperTilemap_Block: @ 8578358 - .incbin "graphics/pokemon_storage/block.bin.lz" - - .align 2 -gWallpaperPalettes_Pokecenter2:: @ 8578450 - .incbin "graphics/pokemon_storage/pokecenter2_bg.gbapal" - .incbin "graphics/pokemon_storage/pokecenter2_bg.gbapal" - - .align 2 -gWallpaperTiles_Pokecenter2: @ 8578490 - .incbin "graphics/pokemon_storage/pokecenter2.4bpp.lz" - - .align 2 -gWallpaperTilemap_Pokecenter2: @ 85786D0 - .incbin "graphics/pokemon_storage/pokecenter2.bin.lz" - - .align 2 -gWallpaperPalettes_Frame:: @ 85787E4 - .incbin "graphics/pokemon_storage/frame_bg.gbapal" - .incbin "graphics/pokemon_storage/frame_bg.gbapal" - - .align 2 -gWallpaperTiles_Frame: @ 8578824 - .incbin "graphics/pokemon_storage/frame.4bpp.lz" - - .align 2 -gWallpaperTilemap_Frame: @ 8578A34 - .incbin "graphics/pokemon_storage/frame.bin.lz" - - .align 2 -gWallpaperPalettes_Blank:: @ 8578B48 - .incbin "graphics/pokemon_storage/friends_frame1.gbapal" - .incbin "graphics/pokemon_storage/zigzagoon_bg.gbapal" - - .align 2 -gWallpaperTiles_Blank: @ 8578B88 - .incbin "graphics/pokemon_storage/blank.4bpp.lz" - - .align 2 -gWallpaperTilemap_Blank: @ 8578D34 - .incbin "graphics/pokemon_storage/blank.bin.lz" - - .align 2 -gWallpaperPalettes_Circles:: @ 8578E10 - .incbin "graphics/pokemon_storage/friends_frame2.gbapal" - .incbin "graphics/pokemon_storage/circles_bg.gbapal" - - .align 2 -gWallpaperTiles_Circles: @ 8578E50 - .incbin "graphics/pokemon_storage/circles.4bpp.lz" - - .align 2 -gWallpaperTilemap_Circles: @ 85790A4 - .incbin "graphics/pokemon_storage/circles.bin.lz" - - .align 2 -gWallpaperPalettes_Azumarill:: @ 85791A0 - .incbin "graphics/pokemon_storage/friends_frame2.gbapal" - .incbin "graphics/pokemon_storage/azumarill_bg.gbapal" - - .align 2 -gWallpaperTiles_Azumarill: @ 85791E0 - .incbin "graphics/pokemon_storage/azumarill.4bpp.lz" - - .align 2 -gWallpaperTilemap_Azumarill: @ 85793CC - .incbin "graphics/pokemon_storage/azumarill.bin.lz" - - .align 2 -gWallpaperPalettes_Pikachu:: @ 85794C4 - .incbin "graphics/pokemon_storage/friends_frame2.gbapal" - .incbin "graphics/pokemon_storage/pikachu_bg.gbapal" - - .align 2 -gWallpaperTiles_Pikachu: @ 8579504 - .incbin "graphics/pokemon_storage/pikachu.4bpp.lz" - - .align 2 -gWallpaperTilemap_Pikachu: @ 8579738 - .incbin "graphics/pokemon_storage/pikachu.bin.lz" - - .align 2 -gWallpaperPalettes_Legendary:: @ 8579860 - .incbin "graphics/pokemon_storage/friends_frame2.gbapal" - .incbin "graphics/pokemon_storage/legendary_bg.gbapal" - - .align 2 -gWallpaperTiles_Legendary: @ 85798A0 - .incbin "graphics/pokemon_storage/legendary.4bpp.lz" - - .align 2 -gWallpaperTilemap_Legendary: @ 8579B80 - .incbin "graphics/pokemon_storage/legendary.bin.lz" - - .align 2 -gWallpaperPalettes_Dusclops:: @ 8579CC4 - .incbin "graphics/pokemon_storage/friends_frame2.gbapal" - .incbin "graphics/pokemon_storage/dusclops_bg.gbapal" - - .align 2 -gWallpaperTiles_Dusclops: @ 8579D04 - .incbin "graphics/pokemon_storage/dusclops.4bpp.lz" - - .align 2 -gWallpaperTilemap_Dusclops: @ 8579F50 - .incbin "graphics/pokemon_storage/dusclops.bin.lz" - - .align 2 -gWallpaperPalettes_Ludicolo:: @ 857A048 - .incbin "graphics/pokemon_storage/friends_frame2.gbapal" - .incbin "graphics/pokemon_storage/ludicolo_bg.gbapal" - - .align 2 -gWallpaperTiles_Ludicolo: @ 857A088 - .incbin "graphics/pokemon_storage/ludicolo.4bpp.lz" - - .align 2 -gWallpaperTilemap_Ludicolo: @ 857A348 - .incbin "graphics/pokemon_storage/ludicolo.bin.lz" - - .align 2 -gWallpaperPalettes_Whiscash:: @ 857A468 - .incbin "graphics/pokemon_storage/friends_frame2.gbapal" - .incbin "graphics/pokemon_storage/whiscash_bg.gbapal" - - .align 2 -gWallpaperTiles_Whiscash: @ 857A4A8 - .incbin "graphics/pokemon_storage/whiscash.4bpp.lz" - - .align 2 -gWallpaperTilemap_Whiscash: @ 857A6F0 - .incbin "graphics/pokemon_storage/whiscash.bin.lz" - - .align 2 -gWallpaperIcon_Aqua: @ 857A81C - .incbin "graphics/pokemon_storage/aqua_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Heart: @ 857A860 - .incbin "graphics/pokemon_storage/heart_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_FiveStar: @ 857A89C - .incbin "graphics/pokemon_storage/five_star_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Brick: @ 857A8DC - .incbin "graphics/pokemon_storage/brick_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_FourStar: @ 857A904 - .incbin "graphics/pokemon_storage/four_star_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Asterisk: @ 857A940 - .incbin "graphics/pokemon_storage/asterisk_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Dot: @ 857A990 - .incbin "graphics/pokemon_storage/dot_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_LineCircle: @ 857A9C0 - .incbin "graphics/pokemon_storage/line_circle_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_PokeBall: @ 857A9EC - .incbin "graphics/pokemon_storage/pokeball_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Maze: @ 857AA38 - .incbin "graphics/pokemon_storage/maze_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Footprint: @ 857AA7C - .incbin "graphics/pokemon_storage/footprint_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_BigAsterisk: @ 857AAC4 - .incbin "graphics/pokemon_storage/big_asterisk_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Circle: @ 857AB08 - .incbin "graphics/pokemon_storage/circle_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Koffing: @ 857AB48 - .incbin "graphics/pokemon_storage/koffing_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Ribbon: @ 857AB98 - .incbin "graphics/pokemon_storage/ribbon_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_FourCircles: @ 857AC00 - .incbin "graphics/pokemon_storage/four_circles_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Lotad: @ 857AC30 - .incbin "graphics/pokemon_storage/lotad_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Crystal: @ 857AC74 - .incbin "graphics/pokemon_storage/crystal_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Pichu: @ 857ACBC - .incbin "graphics/pokemon_storage/pichu_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Diglett: @ 857ACF4 - .incbin "graphics/pokemon_storage/diglett_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Luvdisc: @ 857AD44 - .incbin "graphics/pokemon_storage/luvdisc_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_StarInCircle: @ 857AD88 - .incbin "graphics/pokemon_storage/star_in_circle_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Spinda: @ 857ADCC - .incbin "graphics/pokemon_storage/spinda_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Latis: @ 857AE20 - .incbin "graphics/pokemon_storage/latis_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Minun: @ 857AE64 - .incbin "graphics/pokemon_storage/minun_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Togepi: @ 857AEAC - .incbin "graphics/pokemon_storage/togepi_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Magma: @ 857AF08 - .incbin "graphics/pokemon_storage/magma_icon.4bpp.lz" - - .align 2 -gUnknown_0857AF44:: @ 857AF44 - .4byte gWallpaperTiles_Zigzagoon, gWallpaperTilemap_Zigzagoon, gWallpaperPalettes_Zigzagoon - .4byte gWallpaperTiles_Screen, gWallpaperTilemap_Screen, gWallpaperPalettes_Screen - .4byte gWallpaperTiles_Horizontal, gWallpaperTilemap_Horizontal, gWallpaperPalettes_Horizontal - .4byte gWallpaperTiles_Diagonal, gWallpaperTilemap_Diagonal, gWallpaperPalettes_Diagonal - .4byte gWallpaperTiles_Block, gWallpaperTilemap_Block, gWallpaperPalettes_Block - .4byte gWallpaperTiles_Ribbon, gWallpaperTilemap_Ribbon, gWallpaperPalettes_Ribbon - .4byte gWallpaperTiles_Pokecenter2, gWallpaperTilemap_Pokecenter2, gWallpaperPalettes_Pokecenter2 - .4byte gWallpaperTiles_Frame, gWallpaperTilemap_Frame, gWallpaperPalettes_Frame - .4byte gWallpaperTiles_Blank, gWallpaperTilemap_Blank, gWallpaperPalettes_Blank - .4byte gWallpaperTiles_Circles, gWallpaperTilemap_Circles, gWallpaperPalettes_Circles - .4byte gWallpaperTiles_Azumarill, gWallpaperTilemap_Azumarill, gWallpaperPalettes_Azumarill - .4byte gWallpaperTiles_Pikachu, gWallpaperTilemap_Pikachu, gWallpaperPalettes_Pikachu - .4byte gWallpaperTiles_Legendary, gWallpaperTilemap_Legendary, gWallpaperPalettes_Legendary - .4byte gWallpaperTiles_Dusclops, gWallpaperTilemap_Dusclops, gWallpaperPalettes_Dusclops - .4byte gWallpaperTiles_Ludicolo, gWallpaperTilemap_Ludicolo, gWallpaperPalettes_Ludicolo - .4byte gWallpaperTiles_Whiscash, gWallpaperTilemap_Whiscash, gWallpaperPalettes_Whiscash - - .align 2 -gUnknown_0857B004:: @ 857B004 - .4byte gWallpaperIcon_Aqua - .4byte gWallpaperIcon_Heart - .4byte gWallpaperIcon_FiveStar - .4byte gWallpaperIcon_Brick - .4byte gWallpaperIcon_FourStar - .4byte gWallpaperIcon_Asterisk - .4byte gWallpaperIcon_Dot - .4byte gWallpaperIcon_Cross - .4byte gWallpaperIcon_LineCircle - .4byte gWallpaperIcon_PokeBall - .4byte gWallpaperIcon_Maze - .4byte gWallpaperIcon_Footprint - .4byte gWallpaperIcon_BigAsterisk - .4byte gWallpaperIcon_Circle - .4byte gWallpaperIcon_Koffing - .4byte gWallpaperIcon_Ribbon - .4byte gWallpaperIcon_Bolt - .4byte gWallpaperIcon_FourCircles - .4byte gWallpaperIcon_Lotad - .4byte gWallpaperIcon_Crystal - .4byte gWallpaperIcon_Pichu - .4byte gWallpaperIcon_Diglett - .4byte gWallpaperIcon_Luvdisc - .4byte gWallpaperIcon_StarInCircle - .4byte gWallpaperIcon_Spinda - .4byte gWallpaperIcon_Latis - .4byte gWallpaperIcon_Plusle - .4byte gWallpaperIcon_Minun - .4byte gWallpaperIcon_Togepi - .4byte gWallpaperIcon_Magma - - .align 2 -gUnknown_0857B07C:: @ 857B07C - .4byte 0x23BA - - .align 2 -gUnknown_0857B080:: @ 857B080 - obj_tiles PCGfx_Arrow, 128, 0x0006 - - .align 2 -gOamData_857B088:: @ 857B088 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_857B090:: @ 857B090 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_857B098:: @ 857B098 - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_857B0A0:: @ 857B0A0 - .4byte gSpriteAnim_857B090 - .4byte gSpriteAnim_857B098 - - .align 2 -gSpriteTemplate_857B0A8:: @ 857B0A8 - spr_template 0x0003, 0xDAC9, gOamData_857B088, gSpriteAnimTable_857B0A0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_857B0C0:: @ 857B0C0 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_857B0C8:: @ 857B0C8 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_857B0D0:: @ 857B0D0 - obj_image_anim_frame 2, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_857B0D8:: @ 857B0D8 - .4byte gSpriteAnim_857B0C8 - .4byte gSpriteAnim_857B0D0 - -gUnknown_0857B0E0:: @ 857B0E0 - spr_template 0x0006, 0xDACA, gOamData_857B0C0, gSpriteAnimTable_857B0D8, NULL, gDummySpriteAffineAnimTable, sub_80CD210 - - .align 2 -HandCursorPalette: @ 857B0F8 - .incbin "graphics/pokemon_storage/hand_cursor.gbapal" - - .align 2 -HandCursorTiles: @ 857B118 - .incbin "graphics/pokemon_storage/hand_cursor.4bpp" - - .align 2 -HandCursorShadowTiles: @ 857B918 - .incbin "graphics/pokemon_storage/hand_cursor_shadow.4bpp" - - .align 2 -gUnknown_0857B998:: @ 857B998 - .4byte sub_80CDCCC - .4byte sub_80CDD5C - .4byte sub_80CDDD8 - - .align 2 -gUnknown_0857B9A4:: @ 857B9A4 - .byte 0x22, 0x00 - .2byte 0x0039 - .byte 0x22, 0x00 - .2byte 0x0123 - .byte 0x10, 0x0a - .2byte 0x0046 - .byte 0x10, 0x0a - .2byte 0x00f9 - .byte 0x10, 0x0e - .2byte 0x0046 - .byte 0x10, 0x0e - .2byte 0x00f9 - - .align 2 -gUnknown_0857B9BC:: @ 857B9BC - .4byte sub_80CF0CC, 0 - .4byte sub_80CF5C4, 1 - .4byte sub_80CF7E4, 2 - .4byte sub_80CF8D8, 3 - .4byte NULL, 0 - - .align 2 -gHandCursorSpriteSheets:: @ 857B9E4 - obj_tiles HandCursorTiles, 0x0800, 0x0000 - obj_tiles HandCursorShadowTiles, 0x0080, 0x0001 - null_obj_tiles - - .align 2 -gHandCursorSpritePalettes:: @ 857B9FC - obj_pal HandCursorPalette, 0xDAC7 - null_obj_pal - - .align 2 -gOamData_857BA0C:: @ 857BA0C - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gOamData_857BA14:: @ 857BA14 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_857BA1C:: @ 857BA1C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 16, 30 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_857BA28:: @ 857BA28 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_857BA30:: @ 857BA30 - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_857BA38:: @ 857BA38 - obj_image_anim_frame 48, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_857BA40:: @ 857BA40 - .4byte gSpriteAnim_857BA1C - .4byte gSpriteAnim_857BA28 - .4byte gSpriteAnim_857BA30 - .4byte gSpriteAnim_857BA38 - - .align 2 -gSpriteTemplate_857BA50:: @ 857BA50 - spr_template 0, 0xDACA, gOamData_857BA0C, gSpriteAnimTable_857BA40, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_857BA68:: @ 857BA68 - spr_template 1, 0xDACA, gOamData_857BA14, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CFBF4 - - .align 2 -gUnknown_0857BA80:: @ 857BA80 - .4byte gPCText_Cancel - .4byte gPCText_Store - .4byte gPCText_Withdraw - .4byte gPCText_Move - .4byte gPCText_Shift - .4byte gPCText_Place - .4byte gPCText_Summary - .4byte gPCText_Release - .4byte gPCText_Mark - .4byte gPCText_Jump - .4byte gPCText_Wallpaper - .4byte gPCText_Name - .4byte gPCText_Take - .4byte gPCText_Give - .4byte gPCText_Give - .4byte gPCText_Switch - .4byte gPCText_Bag - .4byte gPCText_Info - .4byte gPCText_Scenery1 - .4byte gPCText_Scenery2 - .4byte gPCText_Scenery3 - .4byte gPCText_Etcetera - .4byte gPCText_Friends - .4byte gPCText_Forest - .4byte gPCText_City - .4byte gPCText_Desert - .4byte gPCText_Savanna - .4byte gPCText_Crag - .4byte gPCText_Volcano - .4byte gPCText_Snow - .4byte gPCText_Cave - .4byte gPCText_Beach - .4byte gPCText_Seafloor - .4byte gPCText_River - .4byte gPCText_Sky - .4byte gPCText_PolkaDot - .4byte gPCText_Pokecenter - .4byte gPCText_Machine - .4byte gPCText_Simple - - .align 2 -gUnknown_0857BB1C:: @ 857BB1C - window_template 0x00, 0x0a, 0x03, 0x14, 0x12, 0x09, 0x000a - - .align 2 -gUnknown_0857BB24:: @ 857BB24 - .incbin "graphics/pokemon_storage/unknown_frame.4bpp" - - .align 2 -gOamData_857BBA4:: @ 857BBA4 - .2byte 0x0100, 0x8000, 0x0400, 0x0000 - - .align 2 -gSpriteAffineAnim_857BBAC:: @ 857BBAC - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_857BBBC:: @ 857BBBC - .2byte 0x0058, 0x0058, 0x0000, 0x0000, 0x0005, 0x0005, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_857BBD4:: @ 857BBD4 - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0xfffb, 0xfffb, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_857BBEC:: @ 857BBEC - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x000a, 0x000a, 0x0c00, 0x0000, 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_857BC0C:: @ 857BC0C - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfff6, 0xfff6, 0x0c00, 0x0000, 0x0080, 0x0080, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_857BC2C:: @ 857BC2C - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfffb, 0xfffb, 0x1000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_857BC44:: @ 857BC44 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnimTable_857BC54:: @ 857BC54 - .4byte gSpriteAffineAnim_857BBAC - .4byte gSpriteAffineAnim_857BBBC - .4byte gSpriteAffineAnim_857BBD4 - .4byte gSpriteAffineAnim_857BBEC - .4byte gSpriteAffineAnim_857BC0C - .4byte gSpriteAffineAnim_857BC2C - .4byte gSpriteAffineAnim_857BC44 - - .align 2 -gSpriteTemplate_857BC70:: @ 857BC70 - spr_template 0x0007, 0xdacb, gOamData_857BBA4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_857BC54, SpriteCallbackDummy - -gSpriteTemplate_857BC88:: @ 857BC88 - .2byte 0x0100, 0x0100, 0x0200, 0x0100, 0x0100, 0x0200, 0x0200, 0x0200, 0x0080, 0x0080, 0x0100, 0x0100, 0x0200, 0x0200, 0x0400, 0x0400 - diff --git a/data/scripts/apprentice.inc b/data/scripts/apprentice.inc index 4ce7489c2..034732db2 100644 --- a/data/scripts/apprentice.inc +++ b/data/scripts/apprentice.inc @@ -28,27 +28,26 @@ EventScript_Apprentice:: @ 82B688D setvar VAR_0x8004, 0 special CallApprenticeFunction compare VAR_RESULT, 0 - goto_eq Script_Apprentice_FirstMeeting + goto_if_eq Script_Apprentice_FirstMeeting setvar VAR_0x8004, 10 special CallApprenticeFunction compare VAR_0x8004, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B68BE - checkflag FLAG_0x934 - goto_eq Script_Apprentice_ReleaseAndEnd + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B68BE + goto_if_set FLAG_0x934, Script_Apprentice_ReleaseAndEnd BattleFrontier_BattleTowerLobby_EventScript_2B68BE: setvar VAR_0x8004, 11 special CallApprenticeFunction compare VAR_RESULT, 2 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B69D3 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B69D3 compare VAR_RESULT, 4 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ACF + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ACF compare VAR_RESULT, 3 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C77 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C77 compare VAR_RESULT, 1 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D5C + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D5C compare VAR_RESULT, 5 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6DD4 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6DD4 release releaseall end @@ -60,7 +59,7 @@ Script_Apprentice_FirstMeeting: Script_Apprentice_FirstMeetingNag: apprentice_menu APPRENTICE_ASK_YES_NO compare VAR_RESULT, 1 - goto_eq Script_Apprentice_FirstMeetingAskAgain + goto_if_eq Script_Apprentice_FirstMeetingAskAgain apprentice_msg FALSE, 2 apprentice_menu APPRENTICE_ASK_WHICH_LEVEL setvar VAR_0x8004, 1 @@ -93,9 +92,9 @@ BattleFrontier_BattleTowerLobby_EventScript_2B69D3: apprentice_menu APPRENTICE_ASK_2SPECIES copyvar VAR_0x8005, VAR_RESULT compare VAR_0x8005, 0 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6ABA + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ABA compare VAR_0x8005, 1 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6AC0 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6AC0 setvar VAR_0x8004, 12 special CallApprenticeFunction copyvar VAR_0x8006, VAR_RESULT @@ -106,7 +105,7 @@ BattleFrontier_BattleTowerLobby_EventScript_2B69D3: setvar VAR_0x8004, 12 special CallApprenticeFunction compare VAR_RESULT, 3 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6AC6 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6AC6 setvar VAR_0x8004, 16 setvar VAR_0x8005, 0 copyvar VAR_0x8006, VAR_0x8007 @@ -151,11 +150,11 @@ BattleFrontier_BattleTowerLobby_EventScript_2B6B09: special CallApprenticeFunction waitstate compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B81 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B81 setvar VAR_0x8004, 20 special CallApprenticeFunction compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C0C + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C0C apprentice_buff 0, APPRENTICE_BUFF_ITEM apprentice_msg TRUE, 12 setvar VAR_0x8004, 5 @@ -178,7 +177,7 @@ BattleFrontier_BattleTowerLobby_EventScript_2B6B81: setvar VAR_0x8004, 15 special CallApprenticeFunction compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09 BattleFrontier_BattleTowerLobby_EventScript_2B6BD4: apprentice_msg TRUE, 14 @@ -203,7 +202,7 @@ BattleFrontier_BattleTowerLobby_EventScript_2B6C0C: setvar VAR_0x8004, 15 special CallApprenticeFunction compare VAR_RESULT, 0 - goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09 goto BattleFrontier_BattleTowerLobby_EventScript_2B6BD4 end @@ -218,9 +217,9 @@ BattleFrontier_BattleTowerLobby_EventScript_2B6C77: apprentice_menu APPRENTICE_ASK_MOVES copyvar VAR_0x8005, VAR_RESULT compare VAR_0x8005, 0 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6D50 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D50 compare VAR_0x8005, 1 - call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6D56 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D56 setvar VAR_0x8004, 17 special CallApprenticeFunction setvar VAR_0x8004, 5 @@ -297,7 +296,7 @@ Script_Apprentice_LeaveGoRight: setvar VAR_0x8004, 24 special CallApprenticeFunction compare VAR_0x8004, 0 - goto_eq Script_Apprentice_End + goto_if_eq Script_Apprentice_End applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E94 waitmovement 0 end @@ -306,7 +305,7 @@ Script_Apprentice_Leave: setvar VAR_0x8004, 24 special CallApprenticeFunction compare VAR_0x8004, 0 - goto_eq Script_Apprentice_End + goto_if_eq Script_Apprentice_End applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E95 waitmovement 0 end diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc index f4208afd0..685949006 100644 --- a/data/scripts/berry_tree.inc +++ b/data/scripts/berry_tree.inc @@ -23,7 +23,7 @@ Route102_EventScript_274359:: @ 8274359 faceplayer specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 1 - goto_eq Route102_EventScript_274374 + goto_if_eq Route102_EventScript_274374 message Route102_Text_2744F0 waitmessage waitbuttonpress @@ -33,9 +33,9 @@ Route102_EventScript_274359:: @ 8274359 Route102_EventScript_274374:: @ 8274374 msgbox Route102_Text_274507, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route102_EventScript_274393 + goto_if_eq Route102_EventScript_274393 compare VAR_RESULT, 0 - goto_eq Route102_EventScript_2743AF + goto_if_eq Route102_EventScript_2743AF end Route102_EventScript_274393:: @ 8274393 @@ -44,7 +44,7 @@ Route102_EventScript_274393:: @ 8274393 special Bag_ChooseBerry waitstate compare VAR_ITEM_ID, 0 - goto_eq Route102_EventScript_2743AF + goto_if_eq Route102_EventScript_2743AF takeitem VAR_ITEM_ID, 1 call Route102_EventScript_2744DD @@ -87,9 +87,9 @@ Route102_EventScript_2743E1:: @ 82743E1 Route102_EventScript_2743F6:: @ 82743F6 compare VAR_0x8005, 0 - goto_eq Route102_EventScript_27441A + goto_if_eq Route102_EventScript_27441A compare VAR_0x8005, 4 - goto_eq Route102_EventScript_274413 + goto_if_eq Route102_EventScript_274413 bufferstring 1, Route102_Text_2745E5 return @@ -108,14 +108,14 @@ Route102_EventScript_274421:: @ 8274421 special EventObjectInteractionGetBerryCountString msgbox Route102_Text_2745EE, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route102_EventScript_274448 + goto_if_eq Route102_EventScript_274448 compare VAR_RESULT, 0 - goto_eq Route102_EventScript_274479 + goto_if_eq Route102_EventScript_274479 Route102_EventScript_274448:: @ 8274448 special EventObjectInteractionPickBerryTree compare VAR_0x8004, 0 - goto_eq Route102_EventScript_274470 + goto_if_eq Route102_EventScript_274470 special sub_80EED34 special EventObjectInteractionRemoveBerryTree message Route102_Text_27461B @@ -153,13 +153,13 @@ Route102_EventScript_274482:: @ 8274482 Route102_EventScript_27448D:: @ 827448D checkitem ITEM_WAILMER_PAIL, 1 compare VAR_RESULT, 0 - goto_eq Route102_EventScript_2744BE + goto_if_eq Route102_EventScript_2744BE special EventObjectInteractionGetBerryName msgbox Route102_Text_2746E4, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route102_EventScript_2744C4 + goto_if_eq Route102_EventScript_2744C4 compare VAR_RESULT, 0 - goto_eq Route102_EventScript_2744BE + goto_if_eq Route102_EventScript_2744BE Route102_EventScript_2744BE:: @ 82744BE releaseall @@ -174,7 +174,7 @@ Route102_EventScript_2744C4:: @ 82744C4 message Route102_Text_274710 waitmessage special EventObjectInteractionWaterBerryTree - special sub_80FAFF8 + special DoWateringBerryTreeAnim waitstate message Route102_Text_274723 waitmessage diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index f77017830..b73d7e1fa 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -21,10 +21,10 @@ VerdanturfTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF OldaleTown_PokemonCenter_2F_EventScript_276AD5:: @ 8276AD5 specialvar VAR_RESULT, sub_813B514 compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276AFB + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFB specialvar VAR_RESULT, sub_801B27C compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276AFF + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFF goto OldaleTown_PokemonCenter_2F_EventScript_276AFB end @@ -55,7 +55,7 @@ SootopolisCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 VerdanturfTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 specialvar VAR_RESULT, sub_813B514 compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B23 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276B23 goto OldaleTown_PokemonCenter_2F_EventScript_276B19 end @@ -69,9 +69,8 @@ OldaleTown_PokemonCenter_2F_EventScript_276B1A:: @ 8276B1A OldaleTown_PokemonCenter_2F_EventScript_276B23:: @ 8276B23 checkitem ITEM_EON_TICKET, 1 compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B19 - checkflag FLAG_SYS_HAS_EON_TICKET - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B19 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276B19 + goto_if_set FLAG_SYS_HAS_EON_TICKET, OldaleTown_PokemonCenter_2F_EventScript_276B19 msgbox gUnknown_08273594, MSGBOX_DEFAULT giveitem_std ITEM_EON_TICKET setflag FLAG_SYS_HAS_EON_TICKET @@ -115,7 +114,7 @@ VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C MossdeepCity_GameCorner_1F_EventScript_276BAE:: @ 8276BAE OldaleTown_PokemonCenter_2F_EventScript_276BAE:: @ 8276BAE compare VAR_0x8007, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276BBD + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276BBD turnobject VAR_0x8007, 3 OldaleTown_PokemonCenter_2F_EventScript_276BBD:: @ 8276BBD @@ -140,21 +139,21 @@ SlateportCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE SootopolisCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE compare VAR_0x4087, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 compare VAR_0x4087, 2 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 compare VAR_0x4087, 5 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 compare VAR_0x4087, 3 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C1D + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C1D compare VAR_0x4087, 4 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C23 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C23 compare VAR_0x4087, 6 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C29 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C29 compare VAR_0x4087, 7 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C2F + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C2F compare VAR_0x4087, 8 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C35 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C35 end OldaleTown_PokemonCenter_2F_EventScript_276C17:: @ 8276C17 @@ -234,10 +233,10 @@ OldaleTown_PokemonCenter_2F_EventScript_276CB5:: @ 8276CB5 special CloseLink setvar VAR_0x4087, 0 compare VAR_0x8007, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F waitmovement 0 applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 waitmovement 0 @@ -257,8 +256,8 @@ OldaleTown_PokemonCenter_2F_EventScript_276CFF:: @ 8276CFF special CloseLink setvar VAR_0x4087, 0 compare VAR_0x8007, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735E + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735E waitmovement 0 applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 @@ -278,10 +277,10 @@ OldaleTown_PokemonCenter_2F_EventScript_276D2C:: @ 8276D2C OldaleTown_PokemonCenter_2F_EventScript_276D44:: @ 8276D44 special CloseLink setvar VAR_0x4087, 0 - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F waitmovement 0 compare VAR_0x8007, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276D6B + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276D6B applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 waitmovement 0 @@ -301,8 +300,8 @@ OldaleTown_PokemonCenter_2F_EventScript_276D6C:: @ 8276D6C OldaleTown_PokemonCenter_2F_EventScript_276D84:: @ 8276D84 setvar VAR_0x4087, 0 compare VAR_0x8007, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735E + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735E waitmovement 0 applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 @@ -316,24 +315,24 @@ OldaleTown_PokemonCenter_2F_EventScript_276DAE:: @ 8276DAE delay 60 message OldaleTown_PokemonCenter_2F_Text_27854C waitmessage - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F waitmovement 0 applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 waitmovement 0 return OldaleTown_PokemonCenter_2F_EventScript_276DD5:: @ 8276DD5 - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F waitmovement 0 return OldaleTown_PokemonCenter_2F_EventScript_276DE0:: @ 8276DE0 lockall - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_2725A6 waitmovement 0 msgbox OldaleTown_PokemonCenter_2F_Text_27964A, MSGBOX_DEFAULT closemessage - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_276E10 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_276E10 waitmovement 0 delay 30 msgbox OldaleTown_PokemonCenter_2F_Text_279718, MSGBOX_DEFAULT @@ -360,8 +359,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276E22:: @ 8276E22 OldaleTown_PokemonCenter_2F_EventScript_276E30:: @ 8276E30 setvar VAR_0x8004, 0 - checkflag FLAG_VISITED_MAUVILLE_CITY - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276E75 + goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_276E75 multichoice 0, 0, 74, 0 switch VAR_RESULT case 0, OldaleTown_PokemonCenter_2F_EventScript_2770B2 @@ -411,7 +409,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276F23:: @ 8276F23 OldaleTown_PokemonCenter_2F_EventScript_276F2E:: @ 8276F2E special HasEnoughMonsForDoubleBattle compare VAR_RESULT, 0 - goto_if 5, OldaleTown_PokemonCenter_2F_EventScript_276F47 + goto_if_ne OldaleTown_PokemonCenter_2F_EventScript_276F47 setvar VAR_0x8004, 2 goto OldaleTown_PokemonCenter_2F_EventScript_276F60 end @@ -429,23 +427,23 @@ OldaleTown_PokemonCenter_2F_EventScript_276F55:: @ 8276F55 OldaleTown_PokemonCenter_2F_EventScript_276F60:: @ 8276F60 call OldaleTown_PokemonCenter_2F_EventScript_27134F compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC message gText_PleaseWaitForLink waitmessage special sub_80B2DA4 waitstate compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276FBD + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276FBD compare VAR_RESULT, 2 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 compare VAR_RESULT, 3 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF compare VAR_RESULT, 4 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277046 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277046 compare VAR_RESULT, 5 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC compare VAR_RESULT, 6 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 end OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD @@ -462,18 +460,18 @@ OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 closemessage - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 waitmovement 0 opendoor 9, 1 waitdooranim - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A waitmovement 0 - hideobjectat 255, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor 9, 1 waitdooranim release compare VAR_0x8004, 5 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277036 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277036 special SetCableClubWarp warp MAP_SINGLE_BATTLE_COLOSSEUM, 255, 6, 8 special sub_80AF948 @@ -481,7 +479,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD end OldaleTown_PokemonCenter_2F_EventScript_27702B:: @ 827702B - applymovement 255, Movement_277352 + applymovement EVENT_OBJ_ID_PLAYER, Movement_277352 waitmovement 0 return @@ -528,30 +526,30 @@ OldaleTown_PokemonCenter_2F_EventScript_2770B2:: @ 82770B2 copyvar VAR_0x8007, VAR_LAST_TALKED call OldaleTown_PokemonCenter_2F_EventScript_277199 compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC call OldaleTown_PokemonCenter_2F_EventScript_27134F compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC message gText_PleaseWaitForLink waitmessage special sub_80B2E4C waitstate compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_27713A + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27713A compare VAR_RESULT, 2 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 compare VAR_RESULT, 3 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF compare VAR_RESULT, 4 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_27730E + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27730E compare VAR_RESULT, 5 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC compare VAR_RESULT, 6 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 compare VAR_RESULT, 7 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772AB + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772AB compare VAR_RESULT, 9 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772B8 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772B8 end OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A @@ -566,13 +564,13 @@ OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 closemessage - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 waitmovement 0 opendoor 9, 1 waitdooranim - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A waitmovement 0 - hideobjectat 255, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor 9, 1 waitdooranim release @@ -585,10 +583,10 @@ OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A OldaleTown_PokemonCenter_2F_EventScript_277199:: @ 8277199 specialvar VAR_RESULT, CalculatePlayerPartyCount compare VAR_RESULT, 2 - goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_2771BF + goto_if_lt OldaleTown_PokemonCenter_2F_EventScript_2771BF specialvar VAR_RESULT, sub_80F9370 compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2771CD + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2771CD setvar VAR_RESULT, 1 return @@ -606,7 +604,7 @@ OldaleTown_PokemonCenter_2F_EventScript_2771DB:: @ 82771DB copyvar VAR_0x8007, VAR_LAST_TALKED call OldaleTown_PokemonCenter_2F_EventScript_27134F compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC message gText_PleaseWaitForLink waitmessage special sub_80B2E74 @@ -614,19 +612,19 @@ OldaleTown_PokemonCenter_2F_EventScript_2771DB:: @ 82771DB special sub_80B2EA8 waitstate compare VAR_RESULT, 12 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277328 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277328 compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_27724C + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27724C compare VAR_RESULT, 2 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 compare VAR_RESULT, 3 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF compare VAR_RESULT, 4 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_27730E + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27730E compare VAR_RESULT, 5 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC compare VAR_RESULT, 6 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 end OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C @@ -641,13 +639,13 @@ OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 closemessage - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 waitmovement 0 opendoor 9, 1 waitdooranim - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A waitmovement 0 - hideobjectat 255, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor 9, 1 waitdooranim release @@ -810,7 +808,7 @@ gUnknown_08277388:: @ 8277388 special sub_80F9438 waitstate compare VAR_RESULT, 0 - goto_eq DoubleBattleColosseum_EventScript_2773F4 + goto_if_eq DoubleBattleColosseum_EventScript_2773F4 setvar VAR_0x8005, 0 special sub_80B3968 waitstate @@ -821,7 +819,7 @@ gUnknown_082773A3:: @ 82773A3 special sub_80F9438 waitstate compare VAR_RESULT, 0 - goto_eq DoubleBattleColosseum_EventScript_2773F4 + goto_if_eq DoubleBattleColosseum_EventScript_2773F4 setvar VAR_0x8005, 1 special sub_80B3968 waitstate @@ -832,7 +830,7 @@ gUnknown_082773BE:: @ 82773BE special sub_80F9438 waitstate compare VAR_RESULT, 0 - goto_eq DoubleBattleColosseum_EventScript_2773F4 + goto_if_eq DoubleBattleColosseum_EventScript_2773F4 setvar VAR_0x8005, 2 special sub_80B3968 waitstate @@ -843,7 +841,7 @@ gUnknown_082773D9:: @ 82773D9 special sub_80F9438 waitstate compare VAR_RESULT, 0 - goto_eq DoubleBattleColosseum_EventScript_2773F4 + goto_if_eq DoubleBattleColosseum_EventScript_2773F4 setvar VAR_0x8005, 3 special sub_80B3968 waitstate @@ -881,7 +879,7 @@ gUnknown_0827741D:: @ 827741D special sub_80E6BE8 waitstate compare VAR_TEMP_1, 0 - goto_if 5, RecordCorner_EventScript_277471 + goto_if_ne RecordCorner_EventScript_277471 end gUnknown_08277432:: @ 8277432 @@ -889,7 +887,7 @@ gUnknown_08277432:: @ 8277432 special sub_80E6BE8 waitstate compare VAR_TEMP_1, 0 - goto_if 5, RecordCorner_EventScript_277471 + goto_if_ne RecordCorner_EventScript_277471 end gUnknown_08277447:: @ 8277447 @@ -897,7 +895,7 @@ gUnknown_08277447:: @ 8277447 special sub_80E6BE8 waitstate compare VAR_TEMP_1, 0 - goto_if 5, RecordCorner_EventScript_277471 + goto_if_ne RecordCorner_EventScript_277471 end gUnknown_0827745C:: @ 827745C @@ -905,7 +903,7 @@ gUnknown_0827745C:: @ 827745C special sub_80E6BE8 waitstate compare VAR_TEMP_1, 0 - goto_if 5, RecordCorner_EventScript_277471 + goto_if_ne RecordCorner_EventScript_277471 end RecordCorner_EventScript_277471:: @ 8277471 @@ -951,7 +949,7 @@ TradeCenter_EventScript_2774B6:: @ 82774B6 RecordCorner_EventScript_2774C6:: @ 82774C6 compare VAR_TEMP_0, 0 - goto_if 5, RecordCorner_EventScript_2774E0 + goto_if_ne RecordCorner_EventScript_2774E0 special sub_8098574 message RecordCorner_Text_27861C waitmessage @@ -972,7 +970,7 @@ RecordCorner_EventScript_2774E0:: @ 82774E0 gUnknown_082774EF:: @ 82774EF msgbox Text_2783A8, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq gUnknown_08277509 + goto_if_eq gUnknown_08277509 erasebox 0, 0, 29, 19 releaseall end @@ -993,15 +991,14 @@ OldaleTown_PokemonCenter_2F_EventScript_27751B:: @ 827751B lock faceplayer setvar VAR_FRONTIER_FACILITY, 8 - checkflag FLAG_SYS_POKEDEX_GET - goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335 + goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_277335 specialvar VAR_RESULT, sub_813990C compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_27731B + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27731B copyvar VAR_0x8007, VAR_LAST_TALKED specialvar VAR_RESULT, IsWirelessAdapterConnected compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277668 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277668 message OldaleTown_PokemonCenter_2F_Text_27940D waitmessage goto OldaleTown_PokemonCenter_2F_EventScript_27755C @@ -1025,10 +1022,10 @@ OldaleTown_PokemonCenter_2F_EventScript_277593:: @ 8277593 OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F call OldaleTown_PokemonCenter_2F_EventScript_277626 compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC call OldaleTown_PokemonCenter_2F_EventScript_27134F compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC msgbox OldaleTown_PokemonCenter_2F_Text_27961C, MSGBOX_DEFAULT closemessage special HealPlayerParty @@ -1040,13 +1037,13 @@ OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F delay 60 applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 waitmovement 0 opendoor 5, 1 waitdooranim - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A waitmovement 0 - hideobjectat 255, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor 5, 1 waitdooranim special sub_8018090 @@ -1060,10 +1057,10 @@ OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F OldaleTown_PokemonCenter_2F_EventScript_277626:: @ 8277626 specialvar VAR_RESULT, CountPartyNonEggMons compare VAR_RESULT, 2 - goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_27764C + goto_if_lt OldaleTown_PokemonCenter_2F_EventScript_27764C specialvar VAR_RESULT, sub_80F9370 compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_27765A + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27765A setvar VAR_RESULT, 1 return @@ -1085,11 +1082,10 @@ OldaleTown_PokemonCenter_2F_EventScript_277668:: @ 8277668 OldaleTown_PokemonCenter_2F_EventScript_277672:: @ 8277672 lock faceplayer - checkflag FLAG_SYS_POKEDEX_GET - goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335 + goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_277335 msgbox OldaleTown_PokemonCenter_2F_Text_279937, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_27769A + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27769A msgbox OldaleTown_PokemonCenter_2F_Text_2799AA, MSGBOX_DEFAULT release return @@ -1103,14 +1099,13 @@ OldaleTown_PokemonCenter_2F_EventScript_2776A4:: @ 82776A4 lock faceplayer setvar VAR_FRONTIER_FACILITY, 9 - checkflag FLAG_SYS_POKEDEX_GET - goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335 + goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_277335 specialvar VAR_RESULT, sub_813990C compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_27731B + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27731B specialvar VAR_RESULT, IsWirelessAdapterConnected compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_276E13 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276E13 message OldaleTown_PokemonCenter_2F_Text_279013 waitmessage delay 28 @@ -1120,9 +1115,8 @@ OldaleTown_PokemonCenter_2F_EventScript_2776A4:: @ 82776A4 OldaleTown_PokemonCenter_2F_EventScript_2776E3:: @ 82776E3 checkitem ITEM_POWDER_JAR, 1 compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_27778B - checkflag FLAG_VISITED_MAUVILLE_CITY - goto_eq OldaleTown_PokemonCenter_2F_EventScript_27773E + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27778B + goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_27773E multichoice 0, 0, 78, 0 switch VAR_RESULT case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D @@ -1144,8 +1138,7 @@ OldaleTown_PokemonCenter_2F_EventScript_27773E:: @ 827773E end OldaleTown_PokemonCenter_2F_EventScript_27778B:: @ 827778B - checkflag FLAG_VISITED_MAUVILLE_CITY - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2777CB + goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_2777CB multichoice 0, 0, 75, 0 switch VAR_RESULT case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D @@ -1167,10 +1160,10 @@ OldaleTown_PokemonCenter_2F_EventScript_2777CB:: @ 82777CB OldaleTown_PokemonCenter_2F_EventScript_27780D:: @ 827780D msgbox OldaleTown_PokemonCenter_2F_Text_27909D, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC call OldaleTown_PokemonCenter_2F_EventScript_277199 compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC setvar VAR_0x8004, 3 goto OldaleTown_PokemonCenter_2F_EventScript_277931 end @@ -1196,7 +1189,7 @@ OldaleTown_PokemonCenter_2F_EventScript_27788E:: @ 827788E OldaleTown_PokemonCenter_2F_EventScript_277899:: @ 8277899 special HasEnoughMonsForDoubleBattle compare VAR_RESULT, 0 - goto_if 5, OldaleTown_PokemonCenter_2F_EventScript_2778B2 + goto_if_ne OldaleTown_PokemonCenter_2F_EventScript_2778B2 setvar VAR_0x8004, 1 goto OldaleTown_PokemonCenter_2F_EventScript_277931 end @@ -1219,7 +1212,7 @@ OldaleTown_PokemonCenter_2F_EventScript_2778CB:: @ 82778CB OldaleTown_PokemonCenter_2F_EventScript_2778D9:: @ 82778D9 msgbox OldaleTown_PokemonCenter_2F_Text_2790E8, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC setvar VAR_0x8004, 12 goto OldaleTown_PokemonCenter_2F_EventScript_277931 end @@ -1227,10 +1220,10 @@ OldaleTown_PokemonCenter_2F_EventScript_2778D9:: @ 82778D9 OldaleTown_PokemonCenter_2F_EventScript_2778F7:: @ 82778F7 msgbox OldaleTown_PokemonCenter_2F_Text_279114, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC special HasAtLeastOneBerry compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277923 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277923 setvar VAR_0x8004, 5 goto OldaleTown_PokemonCenter_2F_EventScript_277931 end @@ -1243,7 +1236,7 @@ OldaleTown_PokemonCenter_2F_EventScript_277923:: @ 8277923 OldaleTown_PokemonCenter_2F_EventScript_277931:: @ 8277931 call OldaleTown_PokemonCenter_2F_EventScript_27134F compare VAR_RESULT, 0 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC switch VAR_0x8004 case 3, OldaleTown_PokemonCenter_2F_EventScript_277989 case 0, OldaleTown_PokemonCenter_2F_EventScript_277989 @@ -1267,22 +1260,22 @@ OldaleTown_PokemonCenter_2F_EventScript_277989:: @ 8277989 OldaleTown_PokemonCenter_2F_EventScript_2779C6:: @ 82779C6 call OldaleTown_PokemonCenter_2F_EventScript_277B30 compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A compare VAR_RESULT, 5 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277989 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277989 compare VAR_RESULT, 8 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2779C6 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2779C6 release return OldaleTown_PokemonCenter_2F_EventScript_2779EE:: @ 82779EE call OldaleTown_PokemonCenter_2F_EventScript_277B35 compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A compare VAR_RESULT, 5 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277989 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277989 compare VAR_RESULT, 8 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_2779EE + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2779EE release return @@ -1300,22 +1293,22 @@ OldaleTown_PokemonCenter_2F_EventScript_277A16:: @ 8277A16 OldaleTown_PokemonCenter_2F_EventScript_277A53:: @ 8277A53 call OldaleTown_PokemonCenter_2F_EventScript_277B30 compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A compare VAR_RESULT, 5 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A16 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A16 compare VAR_RESULT, 8 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A53 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A53 release return OldaleTown_PokemonCenter_2F_EventScript_277A7B:: @ 8277A7B call OldaleTown_PokemonCenter_2F_EventScript_277B35 compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A compare VAR_RESULT, 5 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A16 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A16 compare VAR_RESULT, 8 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A7B + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A7B release return @@ -1333,22 +1326,22 @@ OldaleTown_PokemonCenter_2F_EventScript_277AA3:: @ 8277AA3 OldaleTown_PokemonCenter_2F_EventScript_277AE0:: @ 8277AE0 call OldaleTown_PokemonCenter_2F_EventScript_277B30 compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A compare VAR_RESULT, 5 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3 compare VAR_RESULT, 8 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277AE0 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AE0 release return OldaleTown_PokemonCenter_2F_EventScript_277B08:: @ 8277B08 call OldaleTown_PokemonCenter_2F_EventScript_277B35 compare VAR_RESULT, 1 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A compare VAR_RESULT, 5 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3 compare VAR_RESULT, 8 - goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B08 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B08 release return @@ -1379,13 +1372,13 @@ OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 closemessage - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 waitmovement 0 opendoor 9, 1 waitdooranim - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A waitmovement 0 - hideobjectat 255, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor 9, 1 waitdooranim release @@ -1394,11 +1387,10 @@ OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A EventScript_WirelessBoxResults:: @ 8277B8A lockall - checkflag FLAG_SYS_POKEDEX_GET - goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_27733F + goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_27733F specialvar VAR_RESULT, IsWirelessAdapterConnected compare VAR_RESULT, 0 - goto_eq EventScript_277BB4 + goto_if_eq EventScript_277BB4 fadescreen 1 special sub_801A42C waitstate @@ -1497,7 +1489,7 @@ MossdeepCity_GameCorner_1F_EventScript_277C91:: @ 8277C91 waitmessage specialvar VAR_RESULT, IsWirelessAdapterConnected compare VAR_RESULT, 0 - goto_eq MossdeepCity_GameCorner_1F_EventScript_277E48 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E48 delay 60 message MossdeepCity_GameCorner_1F_Text_278DAD waitmessage @@ -1513,17 +1505,17 @@ MossdeepCity_GameCorner_1F_EventScript_277CE9:: @ 8277CE9 setvar VAR_0x8005, 0 special sub_802C920 compare VAR_RESULT, 0 - goto_eq MossdeepCity_GameCorner_1F_EventScript_277E55 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E55 msgbox MossdeepCity_GameCorner_1F_Text_278DD9, MSGBOX_DEFAULT fadescreen 1 setvar VAR_0x8005, 0 special sub_81B8958 waitstate compare VAR_0x8004, 6 - goto_if 4, MossdeepCity_GameCorner_1F_EventScript_2772F9 + goto_if_ge MossdeepCity_GameCorner_1F_EventScript_2772F9 call MossdeepCity_GameCorner_1F_EventScript_27134F compare VAR_RESULT, 0 - goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 setvar VAR_0x8004, 4 goto MossdeepCity_GameCorner_1F_EventScript_277D81 end @@ -1532,17 +1524,17 @@ MossdeepCity_GameCorner_1F_EventScript_277D35:: @ 8277D35 setvar VAR_0x8005, 1 special sub_8027A5C compare VAR_RESULT, 0 - goto_eq MossdeepCity_GameCorner_1F_EventScript_277E55 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E55 msgbox MossdeepCity_GameCorner_1F_Text_278DD9, MSGBOX_DEFAULT fadescreen 1 setvar VAR_0x8005, 1 special sub_81B8958 waitstate compare VAR_0x8004, 6 - goto_if 4, MossdeepCity_GameCorner_1F_EventScript_2772F9 + goto_if_ge MossdeepCity_GameCorner_1F_EventScript_2772F9 call MossdeepCity_GameCorner_1F_EventScript_27134F compare VAR_RESULT, 0 - goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 setvar VAR_0x8004, 6 goto MossdeepCity_GameCorner_1F_EventScript_277D81 end @@ -1561,22 +1553,22 @@ MossdeepCity_GameCorner_1F_EventScript_277D81:: @ 8277D81 MossdeepCity_GameCorner_1F_EventScript_277DBE:: @ 8277DBE call MossdeepCity_GameCorner_1F_EventScript_277B30 compare VAR_RESULT, 1 - goto_eq MossdeepCity_GameCorner_1F_EventScript_277E0E + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E0E compare VAR_RESULT, 5 - goto_eq MossdeepCity_GameCorner_1F_EventScript_277D81 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277D81 compare VAR_RESULT, 8 - goto_eq MossdeepCity_GameCorner_1F_EventScript_277DBE + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277DBE release return MossdeepCity_GameCorner_1F_EventScript_277DE6:: @ 8277DE6 call MossdeepCity_GameCorner_1F_EventScript_277B35 compare VAR_RESULT, 1 - goto_eq MossdeepCity_GameCorner_1F_EventScript_277E0E + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E0E compare VAR_RESULT, 5 - goto_eq MossdeepCity_GameCorner_1F_EventScript_277D81 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277D81 compare VAR_RESULT, 8 - goto_eq MossdeepCity_GameCorner_1F_EventScript_277DE6 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277DE6 release return @@ -1593,9 +1585,9 @@ MossdeepCity_GameCorner_1F_EventScript_277E0E:: @ 8277E0E applymovement VAR_LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_27734D waitmovement 0 closemessage - applymovement 255, MossdeepCity_GameCorner_1F_Movement_277360 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_GameCorner_1F_Movement_277360 waitmovement 0 - hideobjectat 255, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY release waitstate end @@ -1609,11 +1601,11 @@ MossdeepCity_GameCorner_1F_EventScript_277E48:: @ 8277E48 MossdeepCity_GameCorner_1F_EventScript_277E55:: @ 8277E55 msgbox MossdeepCity_GameCorner_1F_Text_278E60, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 compare VAR_0x8005, 0 - call_if 1, MossdeepCity_GameCorner_1F_EventScript_277E84 + call_if_eq MossdeepCity_GameCorner_1F_EventScript_277E84 compare VAR_0x8005, 1 - call_if 1, MossdeepCity_GameCorner_1F_EventScript_277E8D + call_if_eq MossdeepCity_GameCorner_1F_EventScript_277E8D goto MossdeepCity_GameCorner_1F_EventScript_2772F9 end diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc index 2b0bfd8aa..927d61439 100644 --- a/data/scripts/contest_hall.inc +++ b/data/scripts/contest_hall.inc @@ -2,11 +2,9 @@ LilycoveCity_ContestLobby_EventScript_279CC5:: @ 8279CC5 lock faceplayer compare VAR_0x408A, 0 - goto_if 5, LilycoveCity_ContestLobby_EventScript_279D13 - checkflag FLAG_0x05F - call_if 1, LilycoveCity_ContestLobby_EventScript_279CEA - checkflag FLAG_0x05F - call_if 0, LilycoveCity_ContestLobby_EventScript_279CF3 + goto_if_ne LilycoveCity_ContestLobby_EventScript_279D13 + call_if_set FLAG_0x05F, LilycoveCity_ContestLobby_EventScript_279CEA + call_if_unset FLAG_0x05F, LilycoveCity_ContestLobby_EventScript_279CF3 goto LilycoveCity_ContestLobby_EventScript_279D5A end @@ -30,7 +28,7 @@ LilycoveCity_ContestLobby_EventScript_279D13:: @ 8279D13 LilycoveCity_ContestLobby_EventScript_279D2C:: @ 8279D2C giveitem_std ITEM_LUXURY_BALL compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_279D4B + goto_if_eq LilycoveCity_ContestLobby_EventScript_279D4B setvar VAR_0x408A, 0 closemessage release @@ -89,18 +87,18 @@ LilycoveCity_ContestLobby_EventScript_279E13:: @ 8279E13 msgbox LilycoveCity_ContestLobby_Text_27B44A, MSGBOX_DEFAULT choosecontestmon compare VAR_0x8004, 255 - goto_eq LilycoveCity_ContestLobby_EventScript_279E09 + goto_if_eq LilycoveCity_ContestLobby_EventScript_279E09 special sub_80F7F30 compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_279F12 + goto_if_eq LilycoveCity_ContestLobby_EventScript_279F12 compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_279F87 + goto_if_eq LilycoveCity_ContestLobby_EventScript_279F87 compare VAR_RESULT, 2 - goto_eq LilycoveCity_ContestLobby_EventScript_279F45 + goto_if_eq LilycoveCity_ContestLobby_EventScript_279F45 compare VAR_RESULT, 3 - goto_eq LilycoveCity_ContestLobby_EventScript_279F69 + goto_if_eq LilycoveCity_ContestLobby_EventScript_279F69 compare VAR_RESULT, 4 - goto_eq LilycoveCity_ContestLobby_EventScript_279F78 + goto_if_eq LilycoveCity_ContestLobby_EventScript_279F78 end LilycoveCity_ContestLobby_EventScript_279E62:: @ 8279E62 @@ -274,7 +272,7 @@ LinkContestRoom1_EventScript_27A097:: @ 827A097 LinkContestRoom1_EventScript_27A0B1:: @ 827A0B1 compare VAR_0x4088, 5 - goto_eq LinkContestRoom1_EventScript_27A0C7 + goto_if_eq LinkContestRoom1_EventScript_27A0C7 lockall msgbox LinkContestRoom1_Text_27B711, MSGBOX_DEFAULT releaseall @@ -283,7 +281,7 @@ LinkContestRoom1_EventScript_27A0B1:: @ 827A0B1 LinkContestRoom1_EventScript_27A0C7:: @ 827A0C7 specialvar VAR_RESULT, sub_80F9160 compare VAR_RESULT, 1 - goto_eq LinkContestRoom1_EventScript_27A0DE + goto_if_eq LinkContestRoom1_EventScript_27A0DE messageautoscroll LinkContestRoom1_Text_27B78F waitmessage return @@ -307,7 +305,7 @@ LinkContestRoom1_EventScript_27A0F5:: @ 827A0F5 call LinkContestRoom1_EventScript_27A133 addvar VAR_0x8006, 1 compare VAR_0x8006, 4 - goto_if 5, LinkContestRoom1_EventScript_27A0F5 + goto_if_ne LinkContestRoom1_EventScript_27A0F5 call LinkContestRoom1_EventScript_27A230 setvar VAR_TEMP_1, 6 return @@ -315,7 +313,7 @@ LinkContestRoom1_EventScript_27A0F5:: @ 827A0F5 LinkContestRoom1_EventScript_27A133:: @ 827A133 specialvar VAR_RESULT, sub_80F9160 compare VAR_RESULT, 1 - goto_eq LinkContestRoom1_EventScript_27A144 + goto_if_eq LinkContestRoom1_EventScript_27A144 return LinkContestRoom1_EventScript_27A144:: @ 827A144 @@ -325,13 +323,13 @@ LinkContestRoom1_EventScript_27A144:: @ 827A144 LinkContestRoom1_EventScript_27A149:: @ 827A149 compare VAR_0x8006, 0 - goto_eq LinkContestRoom1_EventScript_27A176 + goto_if_eq LinkContestRoom1_EventScript_27A176 compare VAR_0x8006, 1 - goto_eq LinkContestRoom1_EventScript_27A18D + goto_if_eq LinkContestRoom1_EventScript_27A18D compare VAR_0x8006, 2 - goto_eq LinkContestRoom1_EventScript_27A1A4 + goto_if_eq LinkContestRoom1_EventScript_27A1A4 compare VAR_0x8006, 3 - goto_eq LinkContestRoom1_EventScript_27A1BB + goto_if_eq LinkContestRoom1_EventScript_27A1BB return LinkContestRoom1_EventScript_27A176:: @ 827A176 @@ -394,7 +392,7 @@ LinkContestRoom1_EventScript_27A1D2:: @ 827A1D2 LinkContestRoom1_EventScript_27A217:: @ 827A217 compare VAR_0x4088, 5 - goto_eq LinkContestRoom1_EventScript_27A229 + goto_if_eq LinkContestRoom1_EventScript_27A229 message LinkContestRoom1_Text_27B815 waitmessage return @@ -422,14 +420,14 @@ LinkContestRoom1_EventScript_27A230:: @ 827A230 LinkContestRoom1_EventScript_27A26C:: @ 827A26C compare VAR_0x4088, 5 - goto_eq LinkContestRoom1_EventScript_27A280 + goto_if_eq LinkContestRoom1_EventScript_27A280 msgbox LinkContestRoom1_Text_27B830, MSGBOX_DEFAULT return LinkContestRoom1_EventScript_27A280:: @ 827A280 specialvar VAR_RESULT, sub_80F9160 compare VAR_RESULT, 1 - goto_eq LinkContestRoom1_EventScript_27A297 + goto_if_eq LinkContestRoom1_EventScript_27A297 messageautoscroll LinkContestRoom1_Text_27B830 waitmessage return @@ -448,7 +446,7 @@ LinkContestRoom1_EventScript_27A297:: @ 827A297 LinkContestRoom1_EventScript_27A2B9:: @ 827A2B9 compare VAR_0x4088, 5 - goto_eq LinkContestRoom1_EventScript_27A2CA + goto_if_eq LinkContestRoom1_EventScript_27A2CA message LinkContestRoom1_Text_27B8F2 return @@ -486,15 +484,15 @@ LinkContestRoom1_EventScript_27A2D5:: @ 827A2D5 LinkContestRoom1_EventScript_27A34F:: @ 827A34F special sub_80F82FC compare VAR_0x4088, 1 - call_if 1, LinkContestRoom1_EventScript_27A454 + call_if_eq LinkContestRoom1_EventScript_27A454 compare VAR_0x4088, 2 - call_if 1, LinkContestRoom1_EventScript_27A4B2 + call_if_eq LinkContestRoom1_EventScript_27A4B2 compare VAR_0x4088, 3 - call_if 1, LinkContestRoom1_EventScript_27A510 + call_if_eq LinkContestRoom1_EventScript_27A510 compare VAR_0x4088, 4 - call_if 1, LinkContestRoom1_EventScript_27A56E + call_if_eq LinkContestRoom1_EventScript_27A56E compare VAR_0x4088, 5 - call_if 1, LinkContestRoom1_EventScript_27A5CC + call_if_eq LinkContestRoom1_EventScript_27A5CC setvar VAR_TEMP_1, 9 setvar VAR_TEMP_2, 9 setvar VAR_TEMP_3, 9 @@ -504,7 +502,7 @@ LinkContestRoom1_EventScript_27A34F:: @ 827A34F setvar VAR_TEMP_7, 9 setvar VAR_TEMP_8, 9 compare VAR_TEMP_0, 0 - call_if 2, LinkContestRoom1_EventScript_27A3E5 + call_if_gt LinkContestRoom1_EventScript_27A3E5 setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 setvar VAR_TEMP_3, 0 @@ -519,123 +517,123 @@ LinkContestRoom1_EventScript_27A3E5:: @ 827A3E5 setvar VAR_RESULT, 8 special ScriptRandom compare VAR_RESULT, 0 - call_if 1, LinkContestRoom1_EventScript_27A65A + call_if_eq LinkContestRoom1_EventScript_27A65A compare VAR_RESULT, 1 - call_if 1, LinkContestRoom1_EventScript_27A67E + call_if_eq LinkContestRoom1_EventScript_27A67E compare VAR_RESULT, 2 - call_if 1, LinkContestRoom1_EventScript_27A6A2 + call_if_eq LinkContestRoom1_EventScript_27A6A2 compare VAR_RESULT, 3 - call_if 1, LinkContestRoom1_EventScript_27A6C6 + call_if_eq LinkContestRoom1_EventScript_27A6C6 compare VAR_RESULT, 4 - call_if 1, LinkContestRoom1_EventScript_27A6EA + call_if_eq LinkContestRoom1_EventScript_27A6EA compare VAR_RESULT, 5 - call_if 1, LinkContestRoom1_EventScript_27A70E + call_if_eq LinkContestRoom1_EventScript_27A70E compare VAR_RESULT, 6 - call_if 1, LinkContestRoom1_EventScript_27A732 + call_if_eq LinkContestRoom1_EventScript_27A732 compare VAR_RESULT, 7 - call_if 1, LinkContestRoom1_EventScript_27A756 + call_if_eq LinkContestRoom1_EventScript_27A756 compare VAR_TEMP_0, 0 - goto_if 2, LinkContestRoom1_EventScript_27A3E5 + goto_if_gt LinkContestRoom1_EventScript_27A3E5 waitmovement 0 return LinkContestRoom1_EventScript_27A454:: @ 827A454 compare VAR_0x8004, 80 - goto_if 2, LinkContestRoom1_EventScript_27A654 + goto_if_gt LinkContestRoom1_EventScript_27A654 compare VAR_0x8004, 70 - goto_if 2, LinkContestRoom1_EventScript_27A64E + goto_if_gt LinkContestRoom1_EventScript_27A64E compare VAR_0x8004, 60 - goto_if 2, LinkContestRoom1_EventScript_27A648 + goto_if_gt LinkContestRoom1_EventScript_27A648 compare VAR_0x8004, 50 - goto_if 2, LinkContestRoom1_EventScript_27A642 + goto_if_gt LinkContestRoom1_EventScript_27A642 compare VAR_0x8004, 40 - goto_if 2, LinkContestRoom1_EventScript_27A63C + goto_if_gt LinkContestRoom1_EventScript_27A63C compare VAR_0x8004, 30 - goto_if 2, LinkContestRoom1_EventScript_27A636 + goto_if_gt LinkContestRoom1_EventScript_27A636 compare VAR_0x8004, 20 - goto_if 2, LinkContestRoom1_EventScript_27A630 + goto_if_gt LinkContestRoom1_EventScript_27A630 compare VAR_0x8004, 10 - goto_if 2, LinkContestRoom1_EventScript_27A62A + goto_if_gt LinkContestRoom1_EventScript_27A62A setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_27A4B2:: @ 827A4B2 compare VAR_0x8004, 230 - goto_if 2, LinkContestRoom1_EventScript_27A654 + goto_if_gt LinkContestRoom1_EventScript_27A654 compare VAR_0x8004, 210 - goto_if 2, LinkContestRoom1_EventScript_27A64E + goto_if_gt LinkContestRoom1_EventScript_27A64E compare VAR_0x8004, 190 - goto_if 2, LinkContestRoom1_EventScript_27A648 + goto_if_gt LinkContestRoom1_EventScript_27A648 compare VAR_0x8004, 170 - goto_if 2, LinkContestRoom1_EventScript_27A642 + goto_if_gt LinkContestRoom1_EventScript_27A642 compare VAR_0x8004, 150 - goto_if 2, LinkContestRoom1_EventScript_27A63C + goto_if_gt LinkContestRoom1_EventScript_27A63C compare VAR_0x8004, 130 - goto_if 2, LinkContestRoom1_EventScript_27A636 + goto_if_gt LinkContestRoom1_EventScript_27A636 compare VAR_0x8004, 110 - goto_if 2, LinkContestRoom1_EventScript_27A630 + goto_if_gt LinkContestRoom1_EventScript_27A630 compare VAR_0x8004, 90 - goto_if 2, LinkContestRoom1_EventScript_27A62A + goto_if_gt LinkContestRoom1_EventScript_27A62A setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_27A510:: @ 827A510 compare VAR_0x8004, 380 - goto_if 2, LinkContestRoom1_EventScript_27A654 + goto_if_gt LinkContestRoom1_EventScript_27A654 compare VAR_0x8004, 350 - goto_if 2, LinkContestRoom1_EventScript_27A64E + goto_if_gt LinkContestRoom1_EventScript_27A64E compare VAR_0x8004, 320 - goto_if 2, LinkContestRoom1_EventScript_27A648 + goto_if_gt LinkContestRoom1_EventScript_27A648 compare VAR_0x8004, 290 - goto_if 2, LinkContestRoom1_EventScript_27A642 + goto_if_gt LinkContestRoom1_EventScript_27A642 compare VAR_0x8004, 260 - goto_if 2, LinkContestRoom1_EventScript_27A63C + goto_if_gt LinkContestRoom1_EventScript_27A63C compare VAR_0x8004, 230 - goto_if 2, LinkContestRoom1_EventScript_27A636 + goto_if_gt LinkContestRoom1_EventScript_27A636 compare VAR_0x8004, 200 - goto_if 2, LinkContestRoom1_EventScript_27A630 + goto_if_gt LinkContestRoom1_EventScript_27A630 compare VAR_0x8004, 170 - goto_if 2, LinkContestRoom1_EventScript_27A62A + goto_if_gt LinkContestRoom1_EventScript_27A62A setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_27A56E:: @ 827A56E compare VAR_0x8004, 600 - goto_if 2, LinkContestRoom1_EventScript_27A654 + goto_if_gt LinkContestRoom1_EventScript_27A654 compare VAR_0x8004, 560 - goto_if 2, LinkContestRoom1_EventScript_27A64E + goto_if_gt LinkContestRoom1_EventScript_27A64E compare VAR_0x8004, 520 - goto_if 2, LinkContestRoom1_EventScript_27A648 + goto_if_gt LinkContestRoom1_EventScript_27A648 compare VAR_0x8004, 480 - goto_if 2, LinkContestRoom1_EventScript_27A642 + goto_if_gt LinkContestRoom1_EventScript_27A642 compare VAR_0x8004, 440 - goto_if 2, LinkContestRoom1_EventScript_27A63C + goto_if_gt LinkContestRoom1_EventScript_27A63C compare VAR_0x8004, 400 - goto_if 2, LinkContestRoom1_EventScript_27A636 + goto_if_gt LinkContestRoom1_EventScript_27A636 compare VAR_0x8004, 360 - goto_if 2, LinkContestRoom1_EventScript_27A630 + goto_if_gt LinkContestRoom1_EventScript_27A630 compare VAR_0x8004, 320 - goto_if 2, LinkContestRoom1_EventScript_27A62A + goto_if_gt LinkContestRoom1_EventScript_27A62A setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_27A5CC:: @ 827A5CC compare VAR_0x8004, 600 - goto_if 2, LinkContestRoom1_EventScript_27A654 + goto_if_gt LinkContestRoom1_EventScript_27A654 compare VAR_0x8004, 550 - goto_if 2, LinkContestRoom1_EventScript_27A64E + goto_if_gt LinkContestRoom1_EventScript_27A64E compare VAR_0x8004, 500 - goto_if 2, LinkContestRoom1_EventScript_27A648 + goto_if_gt LinkContestRoom1_EventScript_27A648 compare VAR_0x8004, 450 - goto_if 2, LinkContestRoom1_EventScript_27A642 + goto_if_gt LinkContestRoom1_EventScript_27A642 compare VAR_0x8004, 400 - goto_if 2, LinkContestRoom1_EventScript_27A63C + goto_if_gt LinkContestRoom1_EventScript_27A63C compare VAR_0x8004, 300 - goto_if 2, LinkContestRoom1_EventScript_27A636 + goto_if_gt LinkContestRoom1_EventScript_27A636 compare VAR_0x8004, 200 - goto_if 2, LinkContestRoom1_EventScript_27A630 + goto_if_gt LinkContestRoom1_EventScript_27A630 compare VAR_0x8004, 100 - goto_if 2, LinkContestRoom1_EventScript_27A62A + goto_if_gt LinkContestRoom1_EventScript_27A62A setvar VAR_TEMP_0, 0 return @@ -673,7 +671,7 @@ LinkContestRoom1_EventScript_27A654:: @ 827A654 LinkContestRoom1_EventScript_27A65A:: @ 827A65A compare VAR_TEMP_1, 1 - goto_eq LinkContestRoom1_EventScript_27A67D + goto_if_eq LinkContestRoom1_EventScript_27A67D applymovement 6, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 @@ -686,7 +684,7 @@ LinkContestRoom1_EventScript_27A67D:: @ 827A67D LinkContestRoom1_EventScript_27A67E:: @ 827A67E compare VAR_TEMP_2, 1 - goto_eq LinkContestRoom1_EventScript_27A6A1 + goto_if_eq LinkContestRoom1_EventScript_27A6A1 applymovement 12, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 @@ -699,7 +697,7 @@ LinkContestRoom1_EventScript_27A6A1:: @ 827A6A1 LinkContestRoom1_EventScript_27A6A2:: @ 827A6A2 compare VAR_TEMP_3, 1 - goto_eq LinkContestRoom1_EventScript_27A6C5 + goto_if_eq LinkContestRoom1_EventScript_27A6C5 applymovement 7, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 @@ -712,7 +710,7 @@ LinkContestRoom1_EventScript_27A6C5:: @ 827A6C5 LinkContestRoom1_EventScript_27A6C6:: @ 827A6C6 compare VAR_TEMP_4, 1 - goto_eq LinkContestRoom1_EventScript_27A6E9 + goto_if_eq LinkContestRoom1_EventScript_27A6E9 applymovement 8, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 @@ -725,7 +723,7 @@ LinkContestRoom1_EventScript_27A6E9:: @ 827A6E9 LinkContestRoom1_EventScript_27A6EA:: @ 827A6EA compare VAR_TEMP_5, 1 - goto_eq LinkContestRoom1_EventScript_27A70D + goto_if_eq LinkContestRoom1_EventScript_27A70D applymovement 9, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 @@ -738,7 +736,7 @@ LinkContestRoom1_EventScript_27A70D:: @ 827A70D LinkContestRoom1_EventScript_27A70E:: @ 827A70E compare VAR_TEMP_6, 1 - goto_eq LinkContestRoom1_EventScript_27A731 + goto_if_eq LinkContestRoom1_EventScript_27A731 applymovement 10, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 @@ -751,7 +749,7 @@ LinkContestRoom1_EventScript_27A731:: @ 827A731 LinkContestRoom1_EventScript_27A732:: @ 827A732 compare VAR_TEMP_7, 1 - goto_eq LinkContestRoom1_EventScript_27A755 + goto_if_eq LinkContestRoom1_EventScript_27A755 applymovement 11, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 @@ -764,7 +762,7 @@ LinkContestRoom1_EventScript_27A755:: @ 827A755 LinkContestRoom1_EventScript_27A756:: @ 827A756 compare VAR_TEMP_8, 1 - goto_eq LinkContestRoom1_EventScript_27A779 + goto_if_eq LinkContestRoom1_EventScript_27A779 applymovement 15, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 @@ -846,14 +844,14 @@ LinkContestRoom1_EventScript_27A801:: @ 827A801 LinkContestRoom1_EventScript_27A853:: @ 827A853 compare VAR_0x4088, 5 - goto_eq LinkContestRoom1_EventScript_27A867 + goto_if_eq LinkContestRoom1_EventScript_27A867 msgbox LinkContestRoom1_Text_27B904, MSGBOX_DEFAULT return LinkContestRoom1_EventScript_27A867:: @ 827A867 specialvar VAR_RESULT, sub_80F9160 compare VAR_RESULT, 1 - goto_eq LinkContestRoom1_EventScript_27A87E + goto_if_eq LinkContestRoom1_EventScript_27A87E messageautoscroll LinkContestRoom1_Text_27B904 waitmessage return @@ -896,7 +894,7 @@ LinkContestRoom1_EventScript_27A8A5:: @ 827A8A5 LinkContestRoom1_EventScript_27A8FB:: @ 827A8FB compare VAR_0x4088, 5 - goto_eq LinkContestRoom1_EventScript_27A90F + goto_if_eq LinkContestRoom1_EventScript_27A90F msgbox LinkContestRoom1_Text_27BA15, MSGBOX_DEFAULT return @@ -909,7 +907,7 @@ LinkContestRoom1_EventScript_27A90F:: @ 827A90F LinkContestRoom1_EventScript_27A91E:: @ 827A91E compare VAR_0x4088, 5 - goto_eq LinkContestRoom1_EventScript_27A932 + goto_if_eq LinkContestRoom1_EventScript_27A932 msgbox LinkContestRoom1_Text_27BA30, MSGBOX_DEFAULT return @@ -922,7 +920,7 @@ LinkContestRoom1_EventScript_27A932:: @ 827A932 LinkContestRoom1_EventScript_27A941:: @ 827A941 compare VAR_0x4088, 5 - goto_eq LinkContestRoom1_EventScript_27A955 + goto_if_eq LinkContestRoom1_EventScript_27A955 msgbox LinkContestRoom1_Text_27BAAC, MSGBOX_DEFAULT return @@ -935,7 +933,7 @@ LinkContestRoom1_EventScript_27A955:: @ 827A955 LinkContestRoom1_EventScript_27A964:: @ 827A964 compare VAR_0x4088, 5 - goto_eq LinkContestRoom1_EventScript_27A978 + goto_if_eq LinkContestRoom1_EventScript_27A978 msgbox LinkContestRoom1_Text_27BB25, MSGBOX_DEFAULT return @@ -986,7 +984,7 @@ LinkContestRoom1_EventScript_27A9D4:: @ 827A9D4 LinkContestRoom1_EventScript_27AA00:: @ 827AA00 compare VAR_0x4088, 5 - goto_eq LinkContestRoom1_EventScript_27AA14 + goto_if_eq LinkContestRoom1_EventScript_27AA14 msgbox LinkContestRoom1_Text_27BB4C, MSGBOX_DEFAULT return @@ -999,7 +997,7 @@ LinkContestRoom1_EventScript_27AA1B:: @ 827AA1B addvar VAR_TEMP_1, 1 lockall compare VAR_0x4088, 1 - call_if 2, LinkContestRoom1_EventScript_27AA6F + call_if_gt LinkContestRoom1_EventScript_27AA6F applymovement 9, LinkContestRoom1_Movement_27AD3B applymovement 12, LinkContestRoom1_Movement_27AD3F applymovement 7, LinkContestRoom1_Movement_27AD3B @@ -1009,7 +1007,7 @@ LinkContestRoom1_EventScript_27AA1B:: @ 827AA1B applymovement 6, LinkContestRoom1_Movement_27AD37 applymovement 8, LinkContestRoom1_Movement_27AD33 compare VAR_TEMP_1, 4 - goto_if 5, LinkContestRoom1_EventScript_27AA1B + goto_if_ne LinkContestRoom1_EventScript_27AA1B delay 30 return @@ -1084,10 +1082,9 @@ LinkContestRoom1_EventScript_27AA6F:: @ 827AA6F LinkContestRoom1_EventScript_27AB36:: @ 827AB36 compare VAR_0x4088, 5 - goto_eq LinkContestRoom1_EventScript_27ABD8 + goto_if_eq LinkContestRoom1_EventScript_27ABD8 call LinkContestRoom1_EventScript_27AB9E - checkflag FLAG_TEMP_2 - goto_eq LinkContestRoom1_EventScript_27AB82 + goto_if_set FLAG_TEMP_2, LinkContestRoom1_EventScript_27AB82 lockall msgbox LinkContestRoom1_Text_27BBA8, MSGBOX_DEFAULT releaseall @@ -1099,7 +1096,7 @@ LinkContestRoom1_EventScript_27AB36:: @ 827AB36 delay 30 special sub_80F88E8 compare VAR_0x8004, 1 - goto_eq LinkContestRoom1_EventScript_27ABD2 + goto_if_eq LinkContestRoom1_EventScript_27ABD2 return LinkContestRoom1_EventScript_27AB82:: @ 827AB82 @@ -1109,24 +1106,24 @@ LinkContestRoom1_EventScript_27AB82:: @ 827AB82 delay 90 special sub_80F88E8 compare VAR_0x8004, 1 - goto_eq LinkContestRoom1_EventScript_27ABD2 + goto_if_eq LinkContestRoom1_EventScript_27ABD2 return LinkContestRoom1_EventScript_27AB9E:: @ 827AB9E specialvar VAR_RESULT, sub_80F7F7C compare VAR_RESULT, 1 - goto_eq LinkContestRoom1_EventScript_27ABAF + goto_if_eq LinkContestRoom1_EventScript_27ABAF return LinkContestRoom1_EventScript_27ABAF:: @ 827ABAF special sub_80F831C compare VAR_0x8005, 3 - goto_eq LinkContestRoom1_EventScript_27ABBE + goto_if_eq LinkContestRoom1_EventScript_27ABBE return LinkContestRoom1_EventScript_27ABBE:: @ 827ABBE compare VAR_CONTEST_RANK, 3 - goto_eq LinkContestRoom1_EventScript_27ABCD + goto_if_eq LinkContestRoom1_EventScript_27ABCD setflag FLAG_TEMP_2 return @@ -1147,7 +1144,7 @@ LinkContestRoom1_EventScript_27ABD8:: @ 827ABD8 special sub_80F831C special sub_80F88E8 compare VAR_0x8004, 1 - goto_eq LinkContestRoom1_EventScript_27ABF1 + goto_if_eq LinkContestRoom1_EventScript_27ABF1 closemessage return @@ -1197,7 +1194,7 @@ LinkContestRoom1_EventScript_27AC51:: @ 827AC51 LinkContestRoom1_EventScript_27AC5E:: @ 827AC5E special sub_80F831C compare VAR_0x8005, 3 - goto_eq LinkContestRoom1_EventScript_27AC77 + goto_if_eq LinkContestRoom1_EventScript_27AC77 lockall msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT releaseall @@ -1205,12 +1202,12 @@ LinkContestRoom1_EventScript_27AC5E:: @ 827AC5E LinkContestRoom1_EventScript_27AC77:: @ 827AC77 compare VAR_0x4088, 2 - call_if 1, LinkContestRoom1_EventScript_27ABCE + call_if_eq LinkContestRoom1_EventScript_27ABCE specialvar VAR_RESULT, sub_80F7F7C compare VAR_RESULT, 0 - goto_eq LinkContestRoom1_EventScript_27ACDF + goto_if_eq LinkContestRoom1_EventScript_27ACDF compare VAR_CONTEST_RANK, 3 - goto_eq LinkContestRoom1_EventScript_27ACBD + goto_if_eq LinkContestRoom1_EventScript_27ACBD lockall msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT releaseall @@ -1227,7 +1224,7 @@ LinkContestRoom1_EventScript_27ACA8:: @ 827ACA8 LinkContestRoom1_EventScript_27ACBD:: @ 827ACBD giveitem_std ITEM_LUXURY_BALL compare VAR_RESULT, 0 - goto_eq LinkContestRoom1_EventScript_27ACA8 + goto_if_eq LinkContestRoom1_EventScript_27ACA8 lockall msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT releaseall @@ -1433,7 +1430,7 @@ LinkContestRoom1_Movement_27AD7E: @ 827AD7E LinkContestRoom1_EventScript_27AD80:: @ 827AD80 specialvar VAR_RESULT, sub_80F9134 compare VAR_RESULT, 1 - goto_eq LinkContestRoom1_EventScript_27AD91 + goto_if_eq LinkContestRoom1_EventScript_27AD91 return LinkContestRoom1_EventScript_27AD91:: @ 827AD91 @@ -1442,7 +1439,7 @@ LinkContestRoom1_EventScript_27AD91:: @ 827AD91 LilycoveCity_ContestLobby_EventScript_27AD92:: @ 827AD92 specialvar VAR_RESULT, sub_80F9134 compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_27ADA3 + goto_if_eq LilycoveCity_ContestLobby_EventScript_27ADA3 return LilycoveCity_ContestLobby_EventScript_27ADA3:: @ 827ADA3 diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc index 13b68617a..057a2fa07 100644 --- a/data/scripts/day_care.inc +++ b/data/scripts/day_care.inc @@ -4,11 +4,11 @@ Route117_EventScript_291C18:: @ 8291C18 special GetDaycareMonNicknames specialvar VAR_RESULT, GetDaycareState compare VAR_RESULT, 1 - goto_eq Route117_EventScript_291C4D + goto_if_eq Route117_EventScript_291C4D compare VAR_RESULT, 2 - goto_eq Route117_EventScript_291CD1 + goto_if_eq Route117_EventScript_291CD1 compare VAR_RESULT, 3 - goto_eq Route117_EventScript_291CE8 + goto_if_eq Route117_EventScript_291CE8 msgbox Route117_Text_291FCF, MSGBOX_DEFAULT release end @@ -16,10 +16,10 @@ Route117_EventScript_291C18:: @ 8291C18 Route117_EventScript_291C4D:: @ 8291C4D msgbox Route117_Text_29205D, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route117_EventScript_291C83 + goto_if_eq Route117_EventScript_291C83 msgbox Route117_Text_2922C6, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route117_EventScript_291C83 + goto_if_eq Route117_EventScript_291C83 msgbox Route117_Text_292149, MSGBOX_DEFAULT clearflag FLAG_PENDING_DAYCARE_EGG special RejectEggFromDayCare @@ -29,7 +29,7 @@ Route117_EventScript_291C4D:: @ 8291C4D Route117_EventScript_291C83:: @ 8291C83 specialvar VAR_RESULT, CalculatePlayerPartyCount compare VAR_RESULT, 6 - goto_if 5, Route117_EventScript_291C9D + goto_if_ne Route117_EventScript_291C9D msgbox Route117_Text_29216A, MSGBOX_DEFAULT release end @@ -48,7 +48,7 @@ Route117_EventScript_291C9D:: @ 8291C9D Route117_EventScript_291CB7:: @ 8291CB7 specialvar VAR_RESULT, sub_8071614 compare VAR_RESULT, 1 - call_if 1, Route117_EventScript_291CC8 + call_if_eq Route117_EventScript_291CC8 return Route117_EventScript_291CC8:: @ 8291CC8 @@ -82,14 +82,14 @@ Route117_PokemonDayCare_EventScript_291D11:: @ 8291D11 faceplayer specialvar VAR_RESULT, GetDaycareState compare VAR_RESULT, 1 - goto_eq Route117_PokemonDayCare_EventScript_291E0B + goto_if_eq Route117_PokemonDayCare_EventScript_291E0B compare VAR_RESULT, 2 - goto_eq Route117_PokemonDayCare_EventScript_291E2F + goto_if_eq Route117_PokemonDayCare_EventScript_291E2F compare VAR_RESULT, 3 - goto_eq Route117_PokemonDayCare_EventScript_291F5C + goto_if_eq Route117_PokemonDayCare_EventScript_291F5C msgbox Route117_PokemonDayCare_Text_2922F4, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route117_PokemonDayCare_EventScript_291D56 + goto_if_eq Route117_PokemonDayCare_EventScript_291D56 msgbox Route117_PokemonDayCare_Text_292416, MSGBOX_DEFAULT release end @@ -97,19 +97,19 @@ Route117_PokemonDayCare_EventScript_291D11:: @ 8291D11 Route117_PokemonDayCare_EventScript_291D56:: @ 8291D56 specialvar VAR_RESULT, CountPartyNonEggMons compare VAR_RESULT, 1 - goto_eq Route117_PokemonDayCare_EventScript_291DED + goto_if_eq Route117_PokemonDayCare_EventScript_291DED specialvar VAR_RESULT, sub_80722E0 compare VAR_RESULT, 2 - goto_eq Route117_PokemonDayCare_EventScript_291E01 + goto_if_eq Route117_PokemonDayCare_EventScript_291E01 msgbox Route117_PokemonDayCare_Text_292349, MSGBOX_DEFAULT fadescreen 1 special ChooseSendDaycareMon waitstate compare VAR_0x8004, 255 - goto_eq Route117_PokemonDayCare_EventScript_291DCA + goto_if_eq Route117_PokemonDayCare_EventScript_291DCA specialvar VAR_RESULT, CountPartyAliveNonEggMons_IgnoreVar0x8004Slot compare VAR_RESULT, 0 - goto_eq Route117_PokemonDayCare_EventScript_291DF7 + goto_if_eq Route117_PokemonDayCare_EventScript_291DF7 specialvar VAR_0x8005, GetSelectedMonNickAndSpecies waitse playmoncry VAR_0x8005, 0 @@ -119,7 +119,7 @@ Route117_PokemonDayCare_EventScript_291D56:: @ 8291D56 incrementgamestat 47 specialvar VAR_RESULT, GetDaycareState compare VAR_RESULT, 2 - goto_eq Route117_PokemonDayCare_EventScript_291DD4 + goto_if_eq Route117_PokemonDayCare_EventScript_291DD4 release end @@ -131,7 +131,7 @@ Route117_PokemonDayCare_EventScript_291DCA:: @ 8291DCA Route117_PokemonDayCare_EventScript_291DD4:: @ 8291DD4 msgbox Route117_PokemonDayCare_Text_2923AF, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route117_PokemonDayCare_EventScript_291D56 + goto_if_eq Route117_PokemonDayCare_EventScript_291D56 goto Route117_PokemonDayCare_EventScript_291DCA end @@ -162,7 +162,7 @@ Route117_PokemonDayCare_EventScript_291E15:: @ 8291E15 Route117_PokemonDayCare_EventScript_291E1E:: @ 8291E1E specialvar VAR_RESULT, GetNumLevelsGainedFromDaycare compare VAR_RESULT, 0 - call_if 5, Route117_PokemonDayCare_EventScript_291E15 + call_if_ne Route117_PokemonDayCare_EventScript_291E15 return Route117_PokemonDayCare_EventScript_291E2F:: @ 8291E2F @@ -171,26 +171,26 @@ Route117_PokemonDayCare_EventScript_291E2F:: @ 8291E2F call Route117_PokemonDayCare_EventScript_291E1E msgbox Route117_PokemonDayCare_Text_2923AF, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route117_PokemonDayCare_EventScript_291D56 + goto_if_eq Route117_PokemonDayCare_EventScript_291D56 msgbox Route117_PokemonDayCare_Text_2925F6, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route117_PokemonDayCare_EventScript_291E6D + goto_if_eq Route117_PokemonDayCare_EventScript_291E6D goto Route117_PokemonDayCare_EventScript_291DCA end Route117_PokemonDayCare_EventScript_291E6D:: @ 8291E6D specialvar VAR_RESULT, CalculatePlayerPartyCount compare VAR_RESULT, 6 - goto_eq Route117_PokemonDayCare_EventScript_291F3D + goto_if_eq Route117_PokemonDayCare_EventScript_291F3D specialvar VAR_RESULT, GetDaycareState setvar VAR_0x8004, 0 compare VAR_RESULT, 2 - goto_eq Route117_PokemonDayCare_EventScript_291EAC + goto_if_eq Route117_PokemonDayCare_EventScript_291EAC special ShowDaycareLevelMenu waitstate copyvar VAR_0x8004, VAR_RESULT compare VAR_RESULT, 2 - goto_eq Route117_PokemonDayCare_EventScript_291DCA + goto_if_eq Route117_PokemonDayCare_EventScript_291DCA goto Route117_PokemonDayCare_EventScript_291EAC end @@ -198,14 +198,14 @@ Route117_PokemonDayCare_EventScript_291EAC:: @ 8291EAC special GetDaycareCost msgbox Route117_PokemonDayCare_Text_292549, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route117_PokemonDayCare_EventScript_291EC8 + goto_if_eq Route117_PokemonDayCare_EventScript_291EC8 goto Route117_PokemonDayCare_EventScript_291DCA end Route117_PokemonDayCare_EventScript_291EC8:: @ 8291EC8 specialvar VAR_RESULT, IsEnoughForCostInVar0x8005 compare VAR_RESULT, 1 - goto_eq Route117_PokemonDayCare_EventScript_291EE2 + goto_if_eq Route117_PokemonDayCare_EventScript_291EE2 msgbox Route117_PokemonDayCare_Text_292432, MSGBOX_DEFAULT release end @@ -223,14 +223,14 @@ Route117_PokemonDayCare_EventScript_291EE2:: @ 8291EE2 waitmoncry specialvar VAR_RESULT, GetDaycareState compare VAR_RESULT, 2 - goto_eq Route117_PokemonDayCare_EventScript_291F24 + goto_if_eq Route117_PokemonDayCare_EventScript_291F24 goto Route117_PokemonDayCare_EventScript_291DCA end Route117_PokemonDayCare_EventScript_291F24:: @ 8291F24 msgbox Route117_PokemonDayCare_Text_29244F, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route117_PokemonDayCare_EventScript_291E6D + goto_if_eq Route117_PokemonDayCare_EventScript_291E6D goto Route117_PokemonDayCare_EventScript_291DCA end @@ -272,7 +272,7 @@ Route117_PokemonDayCare_EventScript_291F5C:: @ 8291F5C call Route117_PokemonDayCare_EventScript_291E1E msgbox Route117_PokemonDayCare_Text_2925F6, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route117_PokemonDayCare_EventScript_291E6D + goto_if_eq Route117_PokemonDayCare_EventScript_291E6D msgbox Route117_PokemonDayCare_Text_292476, MSGBOX_DEFAULT release end @@ -281,7 +281,7 @@ Route117_PokemonDayCare_EventScript_291F95:: @ 8291F95 special ShowDaycareLevelMenu waitstate compare VAR_RESULT, 2 - goto_eq Route117_PokemonDayCare_EventScript_291DCA + goto_if_eq Route117_PokemonDayCare_EventScript_291DCA copyvar VAR_0x8004, VAR_RESULT specialvar VAR_RESULT, TakePokemonFromDaycare msgbox Route117_PokemonDayCare_Text_292575, MSGBOX_DEFAULT diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc index 1d3c8dfe5..024ffbf85 100644 --- a/data/scripts/field_move_scripts.inc +++ b/data/scripts/field_move_scripts.inc @@ -10,17 +10,16 @@ Route120_EventScript_2906BB:: @ 82906BB Route121_EventScript_2906BB:: @ 82906BB Route123_EventScript_2906BB:: @ 82906BB lockall - checkflag FLAG_BADGE01_GET - goto_if 0, Route103_EventScript_290721 + goto_if_unset FLAG_BADGE01_GET, Route103_EventScript_290721 checkpartymove MOVE_CUT compare VAR_RESULT, 6 - goto_eq Route103_EventScript_290721 + goto_if_eq Route103_EventScript_290721 setfieldeffectargument 0, VAR_RESULT bufferpartymonnick 0, VAR_RESULT buffermovename 1, MOVE_CUT msgbox Route103_Text_29072E, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route103_EventScript_29072B + goto_if_eq Route103_EventScript_29072B msgbox Route103_Text_290771, MSGBOX_DEFAULT closemessage dofieldeffect 2 @@ -84,17 +83,16 @@ SeafloorCavern_Room2_EventScript_2907A6:: @ 82907A6 SeafloorCavern_Room5_EventScript_2907A6:: @ 82907A6 VictoryRoad_B1F_EventScript_2907A6:: @ 82907A6 lockall - checkflag FLAG_BADGE03_GET - goto_if 0, Route111_EventScript_29082D + goto_if_unset FLAG_BADGE03_GET, Route111_EventScript_29082D checkpartymove MOVE_ROCK_SMASH compare VAR_RESULT, 6 - goto_eq Route111_EventScript_29082D + goto_if_eq Route111_EventScript_29082D setfieldeffectargument 0, VAR_RESULT bufferpartymonnick 0, VAR_RESULT buffermovename 1, MOVE_ROCK_SMASH msgbox Route111_Text_29083A, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq Route111_EventScript_290837 + goto_if_eq Route111_EventScript_290837 msgbox Route111_Text_290771, MSGBOX_DEFAULT closemessage dofieldeffect 37 @@ -115,10 +113,10 @@ Route111_EventScript_2907FB:: @ 82907FB removeobject VAR_LAST_TALKED specialvar VAR_RESULT, TryUpdateRusturfTunnelState compare VAR_RESULT, 1 - goto_eq Route111_EventScript_290829 + goto_if_eq Route111_EventScript_290829 special RockSmashWildEncounter compare VAR_RESULT, 0 - goto_eq Route111_EventScript_290829 + goto_if_eq Route111_EventScript_290829 waitstate releaseall end @@ -160,17 +158,15 @@ SeafloorCavern_Room8_EventScript_2908BA:: @ 82908BA ShoalCave_LowTideLowerRoom_EventScript_2908BA:: @ 82908BA VictoryRoad_B1F_EventScript_2908BA:: @ 82908BA lockall - checkflag FLAG_BADGE04_GET - goto_if 0, FieryPath_EventScript_290915 - checkflag FLAG_SYS_USE_STRENGTH - goto_eq FieryPath_EventScript_29091F + goto_if_unset FLAG_BADGE04_GET, FieryPath_EventScript_290915 + goto_if_set FLAG_SYS_USE_STRENGTH, FieryPath_EventScript_29091F checkpartymove MOVE_STRENGTH compare VAR_RESULT, 6 - goto_eq FieryPath_EventScript_290915 + goto_if_eq FieryPath_EventScript_290915 setfieldeffectargument 0, VAR_RESULT msgbox FieryPath_Text_29092C, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq FieryPath_EventScript_290929 + goto_if_eq FieryPath_EventScript_290929 closemessage dofieldeffect 40 waitstate @@ -227,12 +223,12 @@ EventScript_UseWaterfall:: @ 8290A49 lockall checkpartymove MOVE_WATERFALL compare VAR_RESULT, 6 - goto_eq EventScript_290A84 + goto_if_eq EventScript_290A84 bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT msgbox Text_290AC3, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_290A8C + goto_if_eq EventScript_290A8C msgbox Text_290AFC, MSGBOX_DEFAULT dofieldeffect 43 goto EventScript_290A8C @@ -262,13 +258,13 @@ EventScript_UseDive:: @ 8290B0F lockall checkpartymove MOVE_DIVE compare VAR_RESULT, 6 - goto_eq EventScript_290B4E + goto_if_eq EventScript_290B4E bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT setfieldeffectargument 1, 1 msgbox Text_290BE8, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_290B58 + goto_if_eq EventScript_290B58 msgbox Text_290C1A, MSGBOX_DEFAULT dofieldeffect 44 goto EventScript_290B58 @@ -287,13 +283,13 @@ EventScript_UseDiveUnderwater:: @ 8290B5A lockall checkpartymove MOVE_DIVE compare VAR_RESULT, 6 - goto_eq EventScript_290B99 + goto_if_eq EventScript_290B99 bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT setfieldeffectargument 1, 1 msgbox Text_290C6E, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_290BA8 + goto_if_eq EventScript_290BA8 msgbox Text_290C1A, MSGBOX_DEFAULT dofieldeffect 44 goto EventScript_290BA8 diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc index f95cfa0ab..39de44ba6 100644 --- a/data/scripts/gabby_and_ty.inc +++ b/data/scripts/gabby_and_ty.inc @@ -2,7 +2,7 @@ EventScript_28CCAA:: @ 828CCAA setvar VAR_0x8005, 8 special InterviewBefore compare VAR_RESULT, 1 - goto_eq EventScript_28CCC6 + goto_if_eq EventScript_28CCC6 setvar VAR_0x8005, 8 special InterviewAfter return @@ -215,13 +215,12 @@ Route111_EventScript_28CF56:: @ 828CF56 special GabbyAndTyBeforeInterview special GabbyAndTySetScriptVarsToEventObjectLocalIds compare VAR_FACING, 2 - call_if 1, Route111_EventScript_28CF94 + call_if_eq Route111_EventScript_28CF94 compare VAR_FACING, 1 - call_if 1, Route111_EventScript_28CF9F + call_if_eq Route111_EventScript_28CF9F compare VAR_FACING, 4 - call_if 1, Route111_EventScript_28CFB1 - checkflag FLAG_TEMP_1 - goto_eq Route111_EventScript_28D0EE + call_if_eq Route111_EventScript_28CFB1 + goto_if_set FLAG_TEMP_1, Route111_EventScript_28D0EE msgbox Route111_Text_28B042, MSGBOX_YESNO goto Route111_EventScript_28D0A7 end @@ -249,16 +248,15 @@ Route120_EventScript_28CFC3:: @ 828CFC3 special GabbyAndTyBeforeInterview special GabbyAndTySetScriptVarsToEventObjectLocalIds compare VAR_FACING, 2 - call_if 1, Route111_EventScript_28CF94 + call_if_eq Route111_EventScript_28CF94 compare VAR_FACING, 1 - call_if 1, Route111_EventScript_28CF9F + call_if_eq Route111_EventScript_28CF9F compare VAR_FACING, 4 - call_if 1, Route111_EventScript_28CFB1 - checkflag FLAG_TEMP_1 - goto_eq Route111_EventScript_28D0EE + call_if_eq Route111_EventScript_28CFB1 + goto_if_set FLAG_TEMP_1, Route111_EventScript_28D0EE specialvar VAR_RESULT, GabbyAndTyGetLastQuote compare VAR_RESULT, 0 - goto_eq Route111_EventScript_28D053 + goto_if_eq Route111_EventScript_28D053 msgbox Route111_Text_28B137, MSGBOX_DEFAULT specialvar VAR_RESULT, GabbyAndTyGetLastBattleTrivia switch VAR_RESULT @@ -313,14 +311,14 @@ Route111_EventScript_28D099:: @ 828D099 Route111_EventScript_28D0A7:: @ 828D0A7 compare VAR_RESULT, 0 - goto_eq Route111_EventScript_28D0E1 + goto_if_eq Route111_EventScript_28D0E1 msgbox Route111_Text_28B433, MSGBOX_DEFAULT setvar VAR_0x8004, 10 call Route111_EventScript_271E7C lock faceplayer compare VAR_RESULT, 0 - goto_eq Route111_EventScript_28D0E1 + goto_if_eq Route111_EventScript_28D0E1 msgbox Route111_Text_28B4AB, MSGBOX_DEFAULT special GabbyAndTyAfterInterview setflag FLAG_TEMP_1 diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc index e19453b66..2791e5d9f 100644 --- a/data/scripts/mauville_man.inc +++ b/data/scripts/mauville_man.inc @@ -13,9 +13,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E0A6:: @ 828E0A6 faceplayer msgbox MauvilleCity_PokemonCenter_1F_Text_29038E, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0C7 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0C7 compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0EA + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0EA end MauvilleCity_PokemonCenter_1F_EventScript_28E0C7:: @ 828E0C7 @@ -24,7 +24,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E0C7:: @ 828E0C7 delay 60 special ScrSpecial_HasBardSongBeenChanged compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0F4 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0F4 msgbox MauvilleCity_PokemonCenter_1F_Text_2903E6, MSGBOX_DEFAULT release end @@ -37,9 +37,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E0EA:: @ 828E0EA MauvilleCity_PokemonCenter_1F_EventScript_28E0F4:: @ 828E0F4 msgbox MauvilleCity_PokemonCenter_1F_Text_290421, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113 compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D end MauvilleCity_PokemonCenter_1F_EventScript_28E113:: @ 828E113 @@ -48,14 +48,14 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E113:: @ 828E113 lock faceplayer compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D msgbox MauvilleCity_PokemonCenter_1F_Text_2904C1, MSGBOX_DEFAULT setvar VAR_0x8004, 1 special ScrSpecial_PlayBardSong delay 60 msgbox MauvilleCity_PokemonCenter_1F_Text_2904EB, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113 special ScrSpecial_SaveBardSongLyrics msgbox MauvilleCity_PokemonCenter_1F_Text_290514, MSGBOX_DEFAULT release @@ -73,7 +73,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167 msgbox MauvilleCity_PokemonCenter_1F_Text_29054C, MSGBOX_DEFAULT special ScrSpecial_GetHipsterSpokenFlag compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E18C + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E18C msgbox MauvilleCity_PokemonCenter_1F_Text_290598, MSGBOX_DEFAULT release end @@ -81,7 +81,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167 MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C special ScrSpecial_HipsterTeachWord compare VAR_RESULT, 1 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E1A4 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E1A4 msgbox MauvilleCity_PokemonCenter_1F_Text_290602, MSGBOX_DEFAULT release end @@ -156,10 +156,10 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E4D4:: @ 828E4D4 faceplayer msgbox MauvilleCity_PokemonCenter_1F_Text_28E1B1, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E503 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E503 special ScrSpecial_GetTraderTradedFlag compare VAR_RESULT, 1 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E50D + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E50D message MauvilleCity_PokemonCenter_1F_Text_28E23F waitmessage goto MauvilleCity_PokemonCenter_1F_EventScript_28E517 @@ -179,15 +179,15 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517 special ScrSpecial_TraderMenuGetDecoration waitstate compare VAR_0x8004, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E558 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E558 compare VAR_0x8004, 65535 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E562 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E562 msgbox MauvilleCity_PokemonCenter_1F_Text_28E2A9, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E56E + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E56E special ScrSpecial_DoesPlayerHaveNoDecorations compare VAR_RESULT, 1 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E57A + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E57A goto MauvilleCity_PokemonCenter_1F_EventScript_28E584 end @@ -218,15 +218,15 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E584:: @ 828E584 special ScrSpecial_TraderMenuGiveDecoration waitstate compare VAR_0x8006, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5D4 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5D4 compare VAR_0x8006, 65535 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5DE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5DE special ScrSpecial_IsDecorationFull compare VAR_RESULT, 1 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5EC + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5EC msgbox MauvilleCity_PokemonCenter_1F_Text_28E3C4, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E584 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E584 special ScrSpecial_TraderDoDecorationTrade msgbox MauvilleCity_PokemonCenter_1F_Text_28E424, MSGBOX_DEFAULT release @@ -812,23 +812,23 @@ MauvilleCity_PokemonCenter_1F_EventScript_29014A:: @ 829014A setvar VAR_0x800B, 0 msgbox MauvilleCity_PokemonCenter_1F_Text_28E5F6, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290219 specialvar VAR_RESULT, ScrSpecial_StorytellerGetFreeStorySlot compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901DA + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_2901DA message MauvilleCity_PokemonCenter_1F_Text_28E673 waitmessage special ScrSpecial_StorytellerStoryListMenu waitstate compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901B7 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_2901B7 setvar VAR_0x8008, 1 special ScrSpecial_StorytellerDisplayStory waitmessage waitbuttonpress specialvar VAR_RESULT, ScrSpecial_StorytellerUpdateStat compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901BD + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_2901BD goto MauvilleCity_PokemonCenter_1F_EventScript_29020F MauvilleCity_PokemonCenter_1F_EventScript_2901B7:: @ 82901B7 @@ -839,7 +839,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_2901BD:: @ 82901BD msgbox MauvilleCity_PokemonCenter_1F_Text_28E78A, MSGBOX_DEFAULT specialvar VAR_RESULT, ScrSpecial_HasStorytellerAlreadyRecorded compare VAR_RESULT, 1 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29022D + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29022D goto MauvilleCity_PokemonCenter_1F_EventScript_2901E2 MauvilleCity_PokemonCenter_1F_EventScript_2901DA:: @ 82901DA @@ -848,10 +848,10 @@ MauvilleCity_PokemonCenter_1F_EventScript_2901DA:: @ 82901DA MauvilleCity_PokemonCenter_1F_EventScript_2901E2:: @ 82901E2 msgbox MauvilleCity_PokemonCenter_1F_Text_28E7EE, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290219 specialvar VAR_RESULT, ScrSpecial_StorytellerInitializeRandomStat compare VAR_RESULT, 1 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29020F + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29020F msgbox MauvilleCity_PokemonCenter_1F_Text_28E881, MSGBOX_DEFAULT release end @@ -897,25 +897,25 @@ MauvilleCity_PokemonCenter_1F_EventScript_2902F6:: @ 82902F6 faceplayer msgbox MauvilleCity_PokemonCenter_1F_Text_29022F, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290317 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290317 compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29037A + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29037A end MauvilleCity_PokemonCenter_1F_EventScript_290317:: @ 8290317 special ScrSpecial_GiddyShouldTellAnotherTale compare VAR_RESULT, 1 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290359 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290359 compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290384 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290384 end MauvilleCity_PokemonCenter_1F_EventScript_290331:: @ 8290331 special ScrSpecial_GiddyShouldTellAnotherTale compare VAR_RESULT, 1 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29034B + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29034B compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290384 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290384 end MauvilleCity_PokemonCenter_1F_EventScript_29034B:: @ 829034B @@ -929,9 +929,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_290359:: @ 8290359 waitmessage yesnobox 20, 8 compare VAR_RESULT, 1 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290331 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290331 compare VAR_RESULT, 0 - goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290331 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290331 end MauvilleCity_PokemonCenter_1F_EventScript_29037A:: @ 829037A diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc index dde799a4b..ea805edc4 100644 --- a/data/scripts/mystery_event_club.inc +++ b/data/scripts/mystery_event_club.inc @@ -1,8 +1,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_291539:: @ 8291539 lock faceplayer - checkflag FLAG_SYS_CHAT_USED - goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915F5 + goto_if_set FLAG_SYS_CHAT_USED, PetalburgCity_PokemonCenter_1F_EventScript_2915F5 msgbox PetalburgCity_PokemonCenter_1F_Text_291687, MSGBOX_DEFAULT goto PetalburgCity_PokemonCenter_1F_EventScript_291552 end @@ -30,9 +29,9 @@ PetalburgCity_PokemonCenter_1F_EventScript_29159F:: @ 829159F lock faceplayer compare VAR_RESULT, 0 - goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB compare VAR_RESULT, 1 - goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5 + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5 end PetalburgCity_PokemonCenter_1F_EventScript_2915CB:: @ 82915CB @@ -82,9 +81,9 @@ PetalburgCity_PokemonCenter_1F_EventScript_291650:: @ 8291650 lock faceplayer compare VAR_RESULT, 0 - goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB compare VAR_RESULT, 1 - goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5 + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5 end PetalburgCity_PokemonCenter_1F_EventScript_29167C:: @ 829167C diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc index 81ea87871..f9c6cf24e 100644 --- a/data/scripts/players_house.inc +++ b/data/scripts/players_house.inc @@ -9,25 +9,25 @@ LittlerootTown_MaysHouse_1F_EventScript_292704:: @ 8292704 applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_27259E waitmovement 0 compare VAR_0x8005, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_29274D + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_29274D compare VAR_0x8005, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292758 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292758 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A46, MSGBOX_DEFAULT closemessage setvar VAR_0x4092, 4 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292763 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292763 applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A6 waitmovement 0 releaseall end LittlerootTown_BrendansHouse_1F_EventScript_29274D:: @ 829274D - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A8 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292758:: @ 8292758 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4 waitmovement 0 return @@ -40,7 +40,7 @@ LittlerootTown_MaysHouse_1F_EventScript_292765:: @ 8292765 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B24, MSGBOX_DEFAULT closemessage applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A6 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AF0 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AF0 waitmovement 0 releaseall end @@ -59,8 +59,7 @@ LittlerootTown_MaysHouse_2F_EventScript_29278D:: @ 829278D LittlerootTown_BrendansHouse_2F_EventScript_292799:: @ 8292799 LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799 - checkflag FLAG_0x051 - goto_eq LittlerootTown_BrendansHouse_2F_EventScript_29283F + goto_if_set FLAG_0x051, LittlerootTown_BrendansHouse_2F_EventScript_29283F msgbox LittlerootTown_BrendansHouse_2F_Text_1F8668, MSGBOX_DEFAULT call LittlerootTown_BrendansHouse_2F_EventScript_292849 delay 30 @@ -70,9 +69,9 @@ LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799 setflag FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2 checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_2927DF + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_2927DF compare VAR_RESULT, 1 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_29280F + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_29280F playse SE_KAIDAN removeobject VAR_0x8008 releaseall @@ -83,7 +82,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_2927DF:: @ 82927DF addobject VAR_0x8008 applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292850 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A8 waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT closemessage @@ -96,7 +95,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_29280F:: @ 829280F addobject VAR_0x8008 applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_29285B waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A4 waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT closemessage @@ -158,17 +157,17 @@ LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2725A8 waitmovement 0 call LittlerootTown_BrendansHouse_1F_EventScript_29294B - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AE0 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AE0 waitmovement 0 playbgm MUS_INTER_V, 0 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BBC, MSGBOX_DEFAULT closemessage applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929B7 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AE6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AE6 waitmovement 0 call LittlerootTown_BrendansHouse_1F_EventScript_29296C - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4 waitmovement 0 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT msgbox LittlerootTown_BrendansHouse_1F_Text_1F7C35, MSGBOX_DEFAULT @@ -183,17 +182,17 @@ LittlerootTown_MaysHouse_1F_EventScript_2928DC:: @ 82928DC applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2725A4 waitmovement 0 call LittlerootTown_MaysHouse_1F_EventScript_29294B - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_292AE8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_292AE8 waitmovement 0 playbgm MUS_INTER_V, 0 msgbox LittlerootTown_MaysHouse_1F_Text_1F7BBC, MSGBOX_DEFAULT closemessage applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929BA waitmovement 0 - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_292AEE + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_292AEE waitmovement 0 call LittlerootTown_MaysHouse_1F_EventScript_29296C - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_2725A8 waitmovement 0 msgbox LittlerootTown_MaysHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT msgbox LittlerootTown_MaysHouse_1F_Text_1F7C35, MSGBOX_DEFAULT @@ -217,7 +216,7 @@ LittlerootTown_MaysHouse_1F_EventScript_29294B:: @ 829294B LittlerootTown_BrendansHouse_1F_EventScript_29296C:: @ 829296C LittlerootTown_MaysHouse_1F_EventScript_29296C:: @ 829296C - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A6 waitmovement 0 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EC6, MSGBOX_DEFAULT fadedefaultbgm @@ -315,17 +314,15 @@ LittlerootTown_MaysHouse_1F_EventScript_2929C5:: @ 82929C5 lock faceplayer compare VAR_0x4082, 4 - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F compare VAR_0x408C, 4 - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F - checkflag FLAG_HAS_MATCH_CALL - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A19 - checkflag FLAG_0x052 - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A86 + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F + goto_if_set FLAG_HAS_MATCH_CALL, LittlerootTown_BrendansHouse_1F_EventScript_292A19 + goto_if_set FLAG_0x052, LittlerootTown_BrendansHouse_1F_EventScript_292A86 compare VAR_TEMP_1, 1 - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A94 + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A94 compare VAR_0x4092, 7 - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292AB0 + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292AB0 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, MSGBOX_DEFAULT release end @@ -336,8 +333,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_292A0F:: @ 8292A0F end LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19 - checkflag FLAG_0x0D8 - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A43 + goto_if_set FLAG_0x0D8, LittlerootTown_BrendansHouse_1F_EventScript_292A43 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E0E, MSGBOX_DEFAULT closemessage delay 30 @@ -351,17 +347,15 @@ LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19 end LittlerootTown_BrendansHouse_1F_EventScript_292A43:: @ 8292A43 - checkflag FLAG_BADGE05_GET - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A51 + goto_if_set FLAG_BADGE05_GET, LittlerootTown_BrendansHouse_1F_EventScript_292A51 goto LittlerootTown_BrendansHouse_1F_EventScript_292A86 LittlerootTown_BrendansHouse_1F_EventScript_292A51:: @ 8292A51 - checkflag FLAG_0x085 - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A86 + goto_if_set FLAG_0x085, LittlerootTown_BrendansHouse_1F_EventScript_292A86 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D73, MSGBOX_DEFAULT giveitem_std ITEM_AMULET_COIN compare VAR_RESULT, 0 - goto_eq LittlerootTown_BrendansHouse_1F_EventScript_272054 + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_272054 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, MSGBOX_DEFAULT setflag FLAG_0x085 release @@ -445,13 +439,13 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2 lockall checkplayergender compare VAR_RESULT, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C76 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C76 compare VAR_RESULT, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C86 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C86 compare VAR_0x8008, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D08 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D08 compare VAR_0x8008, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D13 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D13 applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_27259E waitmovement 0 playse SE_PIN @@ -461,32 +455,32 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2 waitmovement 0 delay 20 compare VAR_0x8008, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C96 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C96 compare VAR_0x8008, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CA1 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CA1 msgbox LittlerootTown_BrendansHouse_1F_Text_1F800E, MSGBOX_DEFAULT giveitem_std ITEM_SS_TICKET msgbox LittlerootTown_BrendansHouse_1F_Text_1F80FE, MSGBOX_DEFAULT closemessage delay 20 compare VAR_0x8008, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CAC + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CAC compare VAR_0x8008, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CC1 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CC1 msgbox LittlerootTown_BrendansHouse_1F_Text_1F815B, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CD6 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CD6 compare VAR_0x8008, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CEF + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CEF playse SE_DOOR removeobject VAR_0x8009 setflag FLAG_0x123 delay 30 compare VAR_0x8008, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D48 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D48 compare VAR_0x8008, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D5D + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D5D delay 20 msgbox LittlerootTown_BrendansHouse_1F_Text_1F81B9, MSGBOX_DEFAULT closemessage @@ -494,24 +488,24 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2 special TurnOnTVScreen delay 60 compare VAR_0x8008, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D72 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D72 compare VAR_0x8008, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D7D + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D7D msgbox LittlerootTown_BrendansHouse_1F_Text_1F824B, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D1E + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D1E compare VAR_0x8008, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D33 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D33 msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, MSGBOX_DEFAULT closemessage clearflag FLAG_SYS_TV_LATI setflag FLAG_0x0FF special TurnOffTVScreen compare VAR_0x8008, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D88 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D88 compare VAR_0x8008, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D9D + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D9D msgbox LittlerootTown_BrendansHouse_1F_Text_1F8351, MSGBOX_DEFAULT multichoice 22, 8, 108, 1 copyvar VAR_0x8004, VAR_RESULT @@ -565,38 +559,38 @@ LittlerootTown_BrendansHouse_1F_EventScript_292CC1:: @ 8292CC1 return LittlerootTown_BrendansHouse_1F_EventScript_292CD6:: @ 8292CD6 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DCC + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DCC applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292DCC applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DBC waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292CEF:: @ 8292CEF - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DCC + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DCC applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292DCC applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DC1 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D08:: @ 8292D08 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DC6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DC6 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D13:: @ 8292D13 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DD1 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DD1 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D1E:: @ 8292D1E - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DD7 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DD7 waitmovement 0 applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2725A4 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D33:: @ 8292D33 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DDE + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DDE waitmovement 0 applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2725A8 waitmovement 0 @@ -605,14 +599,14 @@ LittlerootTown_BrendansHouse_1F_EventScript_292D33:: @ 8292D33 LittlerootTown_BrendansHouse_1F_EventScript_292D48:: @ 8292D48 applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292999 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D5D:: @ 8292D5D applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_29299B waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A8 waitmovement 0 return @@ -629,14 +623,14 @@ LittlerootTown_BrendansHouse_1F_EventScript_292D7D:: @ 8292D7D LittlerootTown_BrendansHouse_1F_EventScript_292D88:: @ 8292D88 applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929AF waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A8 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D9D:: @ 8292D9D applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929B3 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4 waitmovement 0 return diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc index c1f53aa5d..834fc38a2 100644 --- a/data/scripts/pokeblocks.inc +++ b/data/scripts/pokeblocks.inc @@ -247,14 +247,13 @@ LilycoveCity_ContestLobby_Text_293BB4: @ 8293BB4 EventScript_Pblock1_Ask:: @ 8293C3E lockall - checkflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS - goto_if 0, LilycoveCity_ContestLobby_EventScript_293EFB + goto_if_unset FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS, LilycoveCity_ContestLobby_EventScript_293EFB setvar VAR_0x8009, 1 applymovement 16, LilycoveCity_ContestLobby_Movement_294053 waitmovement 0 msgbox Text_Pblock1_Ask, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq EventScript_Pblock1_Yes + goto_if_eq EventScript_Pblock1_Yes goto EventScript_Pblock1_No end @@ -266,8 +265,7 @@ EventScript_Pblock1_No: @ 8293C70 EventScript_Pblock1_NoBerries: @ 8293C7A msgbox Text_Pblock1_NoBerries, MSGBOX_DEFAULT dodailyevents - checkflag FLAG_0x921 - goto_eq LilycoveCity_ContestLobby_EventScript_293C92 + goto_if_set FLAG_0x921, LilycoveCity_ContestLobby_EventScript_293C92 goto LilycoveCity_ContestLobby_EventScript_293C9C end @@ -286,7 +284,7 @@ LilycoveCity_ContestLobby_EventScript_293C9C: @ 8293C9C EventScript_Pblock1_KnowHow: @ 8293CB9 msgbox Text_Pblock1_KnowHow, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq EventScript_Pblock1_Start + goto_if_eq EventScript_Pblock1_Start goto EventScript_Pblock1_Explain end @@ -303,13 +301,13 @@ EventScript_Pblock1_Explain: @ 8293CE0 EventScript_Pblock1_Yes: @ 8293CEE checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 - goto_eq EventScript_Pblock1_NoPokeblock + goto_if_eq EventScript_Pblock1_NoPokeblock specialvar VAR_RESULT, GetFirstFreePokeblockSlot compare VAR_RESULT, 65535 - goto_eq EventScript_Pblock1_FullPokeblock + goto_if_eq EventScript_Pblock1_FullPokeblock specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 0 - goto_eq EventScript_Pblock1_NoBerries + goto_if_eq EventScript_Pblock1_NoBerries msgbox Text_Pblock1_Yes, MSGBOX_DEFAULT goto EventScript_Pblock1_KnowHow end @@ -340,7 +338,7 @@ LilycoveCity_ContestLobby_EventScript_293D4D:: @ 8293D4D waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_293201, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_293DC6 + goto_if_eq LilycoveCity_ContestLobby_EventScript_293DC6 goto LilycoveCity_ContestLobby_EventScript_293D7D end @@ -357,7 +355,7 @@ LilycoveCity_ContestLobby_EventScript_293D87: @ 8293D87 LilycoveCity_ContestLobby_EventScript_293D91: @ 8293D91 msgbox LilycoveCity_ContestLobby_Text_29328C, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_293DAA + goto_if_eq LilycoveCity_ContestLobby_EventScript_293DAA goto LilycoveCity_ContestLobby_EventScript_293DB8 end @@ -374,16 +372,16 @@ LilycoveCity_ContestLobby_EventScript_293DB8: @ 8293DB8 LilycoveCity_ContestLobby_EventScript_293DC6: @ 8293DC6 specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_293D87 + goto_if_eq LilycoveCity_ContestLobby_EventScript_293D87 checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_293E14 + goto_if_eq LilycoveCity_ContestLobby_EventScript_293E14 msgbox LilycoveCity_ContestLobby_Text_293237, MSGBOX_DEFAULT specialvar VAR_RESULT, GetFirstFreePokeblockSlot compare VAR_RESULT, 65535 - goto_if 5, LilycoveCity_ContestLobby_EventScript_293D91 + goto_if_ne LilycoveCity_ContestLobby_EventScript_293D91 compare VAR_RESULT, 65535 - goto_eq LilycoveCity_ContestLobby_EventScript_293E0A + goto_if_eq LilycoveCity_ContestLobby_EventScript_293E0A end LilycoveCity_ContestLobby_EventScript_293E0A: @ 8293E0A @@ -406,7 +404,7 @@ LilycoveCity_ContestLobby_EventScript_293E1E:: @ 8293E1E waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_293842, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_293EA3 + goto_if_eq LilycoveCity_ContestLobby_EventScript_293EA3 goto LilycoveCity_ContestLobby_EventScript_293E5A end @@ -423,7 +421,7 @@ LilycoveCity_ContestLobby_EventScript_293E64: @ 8293E64 LilycoveCity_ContestLobby_EventScript_293E6E: @ 8293E6E msgbox LilycoveCity_ContestLobby_Text_29357E, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_293E87 + goto_if_eq LilycoveCity_ContestLobby_EventScript_293E87 goto LilycoveCity_ContestLobby_EventScript_293E95 end @@ -440,16 +438,16 @@ LilycoveCity_ContestLobby_EventScript_293E95: @ 8293E95 LilycoveCity_ContestLobby_EventScript_293EA3: @ 8293EA3 specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_293E64 + goto_if_eq LilycoveCity_ContestLobby_EventScript_293E64 checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_293EF1 + goto_if_eq LilycoveCity_ContestLobby_EventScript_293EF1 msgbox LilycoveCity_ContestLobby_Text_29354E, MSGBOX_DEFAULT specialvar VAR_RESULT, GetFirstFreePokeblockSlot compare VAR_RESULT, 65535 - goto_if 5, LilycoveCity_ContestLobby_EventScript_293E6E + goto_if_ne LilycoveCity_ContestLobby_EventScript_293E6E compare VAR_RESULT, 65535 - goto_eq LilycoveCity_ContestLobby_EventScript_293EE7 + goto_if_eq LilycoveCity_ContestLobby_EventScript_293EE7 end LilycoveCity_ContestLobby_EventScript_293EE7: @ 8293EE7 @@ -467,7 +465,7 @@ LilycoveCity_ContestLobby_EventScript_293EFB: @ 8293EFB setvar VAR_0x8009, 1 msgbox LilycoveCity_ContestLobby_Text_2C42F4, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_293F28 + goto_if_eq LilycoveCity_ContestLobby_EventScript_293F28 msgbox LilycoveCity_ContestLobby_Text_2C4332, MSGBOX_DEFAULT releaseall end @@ -480,21 +478,21 @@ LilycoveCity_ContestLobby_EventScript_293F1E: @ 8293F1E LilycoveCity_ContestLobby_EventScript_293F28: @ 8293F28 checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_293F8E + goto_if_eq LilycoveCity_ContestLobby_EventScript_293F8E specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_293F1E + goto_if_eq LilycoveCity_ContestLobby_EventScript_293F1E specialvar VAR_RESULT, GetFirstFreePokeblockSlot compare VAR_RESULT, 65535 - goto_if 5, LilycoveCity_ContestLobby_EventScript_293F64 + goto_if_ne LilycoveCity_ContestLobby_EventScript_293F64 compare VAR_RESULT, 65535 - goto_eq LilycoveCity_ContestLobby_EventScript_293F98 + goto_if_eq LilycoveCity_ContestLobby_EventScript_293F98 end LilycoveCity_ContestLobby_EventScript_293F64: @ 8293F64 msgbox LilycoveCity_ContestLobby_Text_2C43FA, MSGBOX_YESNO compare VAR_RESULT, 0 - call_if 1, LilycoveCity_ContestLobby_EventScript_293F85 + call_if_eq LilycoveCity_ContestLobby_EventScript_293F85 msgbox LilycoveCity_ContestLobby_Text_2C451B, MSGBOX_DEFAULT goto EventScript_StartBlending end @@ -536,9 +534,9 @@ LilycoveCity_ContestLobby_EventScript_293FC8: @ 8293FC8 msgbox Text_Pblock1_Talk_0, MSGBOX_DEFAULT specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_293FEE + goto_if_eq LilycoveCity_ContestLobby_EventScript_293FEE compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_293FF8 + goto_if_eq LilycoveCity_ContestLobby_EventScript_293FF8 end LilycoveCity_ContestLobby_EventScript_293FEE: @ 8293FEE @@ -549,13 +547,12 @@ LilycoveCity_ContestLobby_EventScript_293FEE: @ 8293FEE LilycoveCity_ContestLobby_EventScript_293FF8: @ 8293FF8 checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_294028 + goto_if_eq LilycoveCity_ContestLobby_EventScript_294028 specialvar VAR_RESULT, GetFirstFreePokeblockSlot compare VAR_RESULT, 65535 - goto_eq LilycoveCity_ContestLobby_EventScript_294028 + goto_if_eq LilycoveCity_ContestLobby_EventScript_294028 dodailyevents - checkflag FLAG_0x921 - goto_eq LilycoveCity_ContestLobby_EventScript_294028 + goto_if_set FLAG_0x921, LilycoveCity_ContestLobby_EventScript_294028 goto LilycoveCity_ContestLobby_EventScript_294032 end @@ -580,23 +577,23 @@ EventScript_PblockLink:: @ 8294055 lockall specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 0 - goto_eq EventScript_PblocLink_NoBerries + goto_if_eq EventScript_PblocLink_NoBerries checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 - goto_eq EventScript_PblocLink_NoPokeblock + goto_if_eq EventScript_PblocLink_NoPokeblock specialvar VAR_RESULT, GetFirstFreePokeblockSlot compare VAR_RESULT, 65535 - goto_if 5, EventScript_PblocLink_Ask + goto_if_ne EventScript_PblocLink_Ask compare VAR_RESULT, 65535 - goto_eq EventScript_PblocLink_FullPokeblock + goto_if_eq EventScript_PblocLink_FullPokeblock end EventScript_PblocLink_Ask: @ 8294092 msgbox Text_PblockLink_Ask, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq EventScript_PblocLink_TryConnect + goto_if_eq EventScript_PblocLink_TryConnect compare VAR_RESULT, 0 - goto_eq EventScript_PblocLink_End + goto_if_eq EventScript_PblocLink_End end EventScript_PblocLink_NoBerries: @ 82940B1 @@ -607,24 +604,24 @@ EventScript_PblocLink_NoBerries: @ 82940B1 EventScript_PblocLink_TryConnect: @ 82940BB call LilycoveCity_ContestLobby_EventScript_27134F compare VAR_RESULT, 0 - goto_eq EventScript_PblocLink_End + goto_if_eq EventScript_PblocLink_End specialvar VAR_RESULT, IsWirelessAdapterConnected compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_2941ED + goto_if_eq LilycoveCity_ContestLobby_EventScript_2941ED message Text_PblockLink_Searching waitmessage special sub_80B2FD8 waitstate compare VAR_RESULT, 1 - goto_eq EventScript_PblocLink_SpawnPartners + goto_if_eq EventScript_PblocLink_SpawnPartners compare VAR_RESULT, 2 - goto_eq EventScript_PblocLink_SomeoneNotReady + goto_if_eq EventScript_PblocLink_SomeoneNotReady compare VAR_RESULT, 3 - goto_eq EventScript_PblocLink_DifferentSelections + goto_if_eq EventScript_PblocLink_DifferentSelections compare VAR_RESULT, 5 - goto_eq EventScript_PblocLink_CloseLink + goto_if_eq EventScript_PblocLink_CloseLink compare VAR_RESULT, 6 - goto_eq EventScript_PblocLink_LinkError + goto_if_eq EventScript_PblocLink_LinkError end EventScript_PblocLink_1Arrived: @ 829411D @@ -728,22 +725,22 @@ EventScript_PblocLink_DecideLeader: @ 82941F8 EventScript_PblocLink_TryBecomeLeader: @ 8294235 call EventScript_PblocLink_BecomeLeader compare VAR_RESULT, 1 - goto_eq EventScript_PblocLink_SpawnPartners_ + goto_if_eq EventScript_PblocLink_SpawnPartners_ compare VAR_RESULT, 5 - goto_eq EventScript_PblocLink_DecideLeader + goto_if_eq EventScript_PblocLink_DecideLeader compare VAR_RESULT, 8 - goto_eq EventScript_PblocLink_TryBecomeLeader + goto_if_eq EventScript_PblocLink_TryBecomeLeader release end EventScript_PblocLink_TryJoinGroup: @ 829425D call EventScript_PblocLink_JoinGroup compare VAR_RESULT, 1 - goto_eq EventScript_PblocLink_SpawnPartners_ + goto_if_eq EventScript_PblocLink_SpawnPartners_ compare VAR_RESULT, 5 - goto_eq EventScript_PblocLink_DecideLeader + goto_if_eq EventScript_PblocLink_DecideLeader compare VAR_RESULT, 8 - goto_eq EventScript_PblocLink_TryJoinGroup + goto_if_eq EventScript_PblocLink_TryJoinGroup release end diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc index 5a5244f1b..2932401e1 100644 --- a/data/scripts/safari_zone.inc +++ b/data/scripts/safari_zone.inc @@ -15,7 +15,7 @@ EventScript_2A4B6F:: @ 82A4B6F lockall msgbox Text_2A4BF4, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq EventScript_2A4B85 + goto_if_eq EventScript_2A4B85 releaseall end @@ -44,10 +44,10 @@ EventScript_2A4BAC:: @ 82A4BAC lockall special GetPokeblockFeederInFront compare VAR_RESULT, 65535 - goto_if 5, EventScript_2A4BEB + goto_if_ne EventScript_2A4BEB msgbox Text_2A4C90, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq EventScript_2A4BD0 + goto_if_eq EventScript_2A4BD0 releaseall end @@ -56,7 +56,7 @@ EventScript_2A4BD0:: @ 82A4BD0 special OpenPokeblockCaseOnFeeder waitstate compare VAR_RESULT, 65535 - goto_if 5, EventScript_2A4BE2 + goto_if_ne EventScript_2A4BE2 end EventScript_2A4BE2:: @ 82A4BE2 diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc index 35a2731a7..ff5e53a06 100644 --- a/data/scripts/secret_base.inc +++ b/data/scripts/secret_base.inc @@ -313,32 +313,32 @@ EventScript_2759F1:: @ 82759F1 special sub_80E8C98 special sub_80E8BC8 compare VAR_RESULT, 1 - goto_eq EventScript_275BE8 + goto_if_eq EventScript_275BE8 checkpartymove MOVE_SECRET_POWER setfieldeffectargument 0, VAR_RESULT buffermovename 1, MOVE_SECRET_POWER compare VAR_0x8007, 1 - goto_eq EventScript_275A50 + goto_if_eq EventScript_275A50 compare VAR_0x8007, 2 - goto_eq EventScript_275A50 + goto_if_eq EventScript_275A50 compare VAR_0x8007, 3 - goto_eq EventScript_275A50 + goto_if_eq EventScript_275A50 compare VAR_0x8007, 4 - goto_eq EventScript_275A50 + goto_if_eq EventScript_275A50 compare VAR_0x8007, 5 - goto_eq EventScript_275AA9 + goto_if_eq EventScript_275AA9 compare VAR_0x8007, 6 - goto_eq EventScript_275B02 + goto_if_eq EventScript_275B02 end EventScript_275A50:: @ 8275A50 lockall compare VAR_RESULT, 6 - goto_eq EventScript_275A91 + goto_if_eq EventScript_275A91 bufferpartymonnick 0, VAR_RESULT msgbox gText_23B704, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_275CDE + goto_if_eq EventScript_275CDE msgbox Route103_Text_290771, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE @@ -366,11 +366,11 @@ EventScript_275A9B:: @ 8275A9B EventScript_275AA9:: @ 8275AA9 lockall compare VAR_RESULT, 6 - goto_eq EventScript_275AEA + goto_if_eq EventScript_275AEA bufferpartymonnick 0, VAR_RESULT msgbox Text_274779, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_275CDE + goto_if_eq EventScript_275CDE msgbox Route103_Text_290771, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_SECRET_POWER_TREE @@ -398,11 +398,11 @@ EventScript_275AF4:: @ 8275AF4 EventScript_275B02:: @ 8275B02 lockall compare VAR_RESULT, 6 - goto_eq EventScript_275B43 + goto_if_eq EventScript_275B43 bufferpartymonnick 0, VAR_RESULT msgbox Text_274825, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_275CDE + goto_if_eq EventScript_275CDE msgbox Route103_Text_290771, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB @@ -442,12 +442,12 @@ EventScript_275B5B:: @ 8275B5B end SecretBase_RedCave1_EventScript_275B81:: @ 8275B81 - applymovement 255, SecretBase_RedCave1_Movement_275BB4 + applymovement EVENT_OBJ_ID_PLAYER, SecretBase_RedCave1_Movement_275BB4 waitmovement 0 setvar VAR_0x4097, 1 msgbox SecretBase_RedCave1_Text_23B759, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq SecretBase_RedCave1_EventScript_275BAB + goto_if_eq SecretBase_RedCave1_EventScript_275BAB closemessage playse SE_KAIDAN special sub_80E9A90 @@ -471,7 +471,7 @@ EventScript_275BB7:: @ 8275BB7 playse SE_KAIDAN special sub_80E9744 compare VAR_RESULT, 0 - goto_eq EventScript_275BDB + goto_if_eq EventScript_275BDB clearflag FLAG_DECORATION_0 special sub_80E9068 setvar VAR_0x4089, 0 @@ -488,58 +488,58 @@ EventScript_275BDB:: @ 8275BDB EventScript_275BE8:: @ 8275BE8 checkpartymove MOVE_SECRET_POWER compare VAR_RESULT, 6 - goto_eq EventScript_275C9A + goto_if_eq EventScript_275C9A setfieldeffectargument 0, VAR_RESULT setorcopyvar VAR_0x8004, VAR_RESULT lockall special GetSecretBaseNearbyMapName msgbox Text_276A3D, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_275CDE + goto_if_eq EventScript_275CDE msgbox Text_2766AA, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_275CDE + goto_if_eq EventScript_275CDE fadescreenswapbuffers 1 special sub_80E9B70 closemessage fadescreenswapbuffers 0 msgbox Text_276A95, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq EventScript_275CDE + goto_if_eq EventScript_275CDE bufferpartymonnick 0, VAR_0x8004 buffermovename 1, MOVE_SECRET_POWER msgbox Route103_Text_290771, MSGBOX_DEFAULT closemessage closemessage compare VAR_0x8007, 1 - goto_eq EventScript_275A86 + goto_if_eq EventScript_275A86 compare VAR_0x8007, 2 - goto_eq EventScript_275A86 + goto_if_eq EventScript_275A86 compare VAR_0x8007, 3 - goto_eq EventScript_275A86 + goto_if_eq EventScript_275A86 compare VAR_0x8007, 4 - goto_eq EventScript_275A86 + goto_if_eq EventScript_275A86 compare VAR_0x8007, 5 - goto_eq EventScript_275ADF + goto_if_eq EventScript_275ADF compare VAR_0x8007, 6 - goto_eq EventScript_275B38 + goto_if_eq EventScript_275B38 releaseall end EventScript_275C9A:: @ 8275C9A lockall compare VAR_0x8007, 1 - goto_eq EventScript_275A91 + goto_if_eq EventScript_275A91 compare VAR_0x8007, 2 - goto_eq EventScript_275A91 + goto_if_eq EventScript_275A91 compare VAR_0x8007, 3 - goto_eq EventScript_275A91 + goto_if_eq EventScript_275A91 compare VAR_0x8007, 4 - goto_eq EventScript_275A91 + goto_if_eq EventScript_275A91 compare VAR_0x8007, 5 - goto_eq EventScript_275AEA + goto_if_eq EventScript_275AEA compare VAR_0x8007, 6 - goto_eq EventScript_275B43 + goto_if_eq EventScript_275B43 end EventScript_275CDE:: @ 8275CDE @@ -590,10 +590,10 @@ EventScript_275D2E:: @ 8275D2E EventScript_275D39:: @ 8275D39 special sub_8129708 compare VAR_RESULT, 1 - goto_eq EventScript_275D63 + goto_if_eq EventScript_275D63 addvar VAR_0x8004, 1 compare VAR_0x8005, 0 - goto_eq EventScript_275D39 + goto_if_eq EventScript_275D39 removeobject VAR_0x8006 setflag 0x8005 goto EventScript_275D39 @@ -628,42 +628,41 @@ SecretBase_YellowCave3_EventScript_275D64:: @ 8275D64 SecretBase_YellowCave4_EventScript_275D64:: @ 8275D64 special sub_80EA354 compare VAR_0x8004, 0 - goto_eq SecretBase_RedCave1_EventScript_275DD6 + goto_if_eq SecretBase_RedCave1_EventScript_275DD6 compare VAR_0x8004, 1 - goto_eq SecretBase_RedCave1_EventScript_275E4E + goto_if_eq SecretBase_RedCave1_EventScript_275E4E compare VAR_0x8004, 2 - goto_eq SecretBase_RedCave1_EventScript_275EC6 + goto_if_eq SecretBase_RedCave1_EventScript_275EC6 compare VAR_0x8004, 3 - goto_eq SecretBase_RedCave1_EventScript_275F3E + goto_if_eq SecretBase_RedCave1_EventScript_275F3E compare VAR_0x8004, 4 - goto_eq SecretBase_RedCave1_EventScript_275FB6 + goto_if_eq SecretBase_RedCave1_EventScript_275FB6 compare VAR_0x8004, 5 - goto_eq SecretBase_RedCave1_EventScript_27602E + goto_if_eq SecretBase_RedCave1_EventScript_27602E compare VAR_0x8004, 6 - goto_eq SecretBase_RedCave1_EventScript_2760A6 + goto_if_eq SecretBase_RedCave1_EventScript_2760A6 compare VAR_0x8004, 7 - goto_eq SecretBase_RedCave1_EventScript_27611E + goto_if_eq SecretBase_RedCave1_EventScript_27611E compare VAR_0x8004, 8 - goto_eq SecretBase_RedCave1_EventScript_276196 + goto_if_eq SecretBase_RedCave1_EventScript_276196 compare VAR_0x8004, 9 - goto_eq SecretBase_RedCave1_EventScript_27620E + goto_if_eq SecretBase_RedCave1_EventScript_27620E end SecretBase_RedCave1_EventScript_275DD6:: @ 8275DD6 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_275E25 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275E25 compare VAR_RESULT, 1 - goto_eq SecretBase_RedCave1_EventScript_275E44 + goto_if_eq SecretBase_RedCave1_EventScript_275E44 msgbox SecretBase_RedCave1_Text_2748A0, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_275E2F + goto_if_eq SecretBase_RedCave1_EventScript_275E2F setvar VAR_RESULT, 1 special sub_80EA30C call SecretBase_RedCave1_EventScript_27134F compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_275E2F + goto_if_eq SecretBase_RedCave1_EventScript_275E2F msgbox SecretBase_RedCave1_Text_274939, MSGBOX_DEFAULT goto SecretBase_RedCave1_EventScript_276286 end @@ -689,18 +688,17 @@ SecretBase_RedCave1_EventScript_275E44:: @ 8275E44 SecretBase_RedCave1_EventScript_275E4E:: @ 8275E4E lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_275E9D + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275E9D compare VAR_RESULT, 1 - goto_eq SecretBase_RedCave1_EventScript_275EBC + goto_if_eq SecretBase_RedCave1_EventScript_275EBC msgbox SecretBase_RedCave1_Text_274C13, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_275EA7 + goto_if_eq SecretBase_RedCave1_EventScript_275EA7 setvar VAR_RESULT, 1 special sub_80EA30C call SecretBase_RedCave1_EventScript_27134F compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_275EA7 + goto_if_eq SecretBase_RedCave1_EventScript_275EA7 msgbox SecretBase_RedCave1_Text_274CB0, MSGBOX_DEFAULT goto SecretBase_RedCave1_EventScript_276286 end @@ -726,18 +724,17 @@ SecretBase_RedCave1_EventScript_275EBC:: @ 8275EBC SecretBase_RedCave1_EventScript_275EC6:: @ 8275EC6 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_275F15 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275F15 compare VAR_RESULT, 1 - goto_eq SecretBase_RedCave1_EventScript_275F34 + goto_if_eq SecretBase_RedCave1_EventScript_275F34 msgbox SecretBase_RedCave1_Text_274F39, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_275F1F + goto_if_eq SecretBase_RedCave1_EventScript_275F1F setvar VAR_RESULT, 1 special sub_80EA30C call SecretBase_RedCave1_EventScript_27134F compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_275F1F + goto_if_eq SecretBase_RedCave1_EventScript_275F1F msgbox SecretBase_RedCave1_Text_274FCA, MSGBOX_DEFAULT goto SecretBase_RedCave1_EventScript_276286 end @@ -763,18 +760,17 @@ SecretBase_RedCave1_EventScript_275F34:: @ 8275F34 SecretBase_RedCave1_EventScript_275F3E:: @ 8275F3E lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_275F8D + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275F8D compare VAR_RESULT, 1 - goto_eq SecretBase_RedCave1_EventScript_275FAC + goto_if_eq SecretBase_RedCave1_EventScript_275FAC msgbox SecretBase_RedCave1_Text_275287, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_275F97 + goto_if_eq SecretBase_RedCave1_EventScript_275F97 setvar VAR_RESULT, 1 special sub_80EA30C call SecretBase_RedCave1_EventScript_27134F compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_275F97 + goto_if_eq SecretBase_RedCave1_EventScript_275F97 msgbox SecretBase_RedCave1_Text_275315, MSGBOX_DEFAULT goto SecretBase_RedCave1_EventScript_276286 end @@ -800,18 +796,17 @@ SecretBase_RedCave1_EventScript_275FAC:: @ 8275FAC SecretBase_RedCave1_EventScript_275FB6:: @ 8275FB6 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_276005 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_276005 compare VAR_RESULT, 1 - goto_eq SecretBase_RedCave1_EventScript_276024 + goto_if_eq SecretBase_RedCave1_EventScript_276024 msgbox SecretBase_RedCave1_Text_2755D2, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_27600F + goto_if_eq SecretBase_RedCave1_EventScript_27600F setvar VAR_RESULT, 1 special sub_80EA30C call SecretBase_RedCave1_EventScript_27134F compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_27600F + goto_if_eq SecretBase_RedCave1_EventScript_27600F msgbox SecretBase_RedCave1_Text_275679, MSGBOX_DEFAULT goto SecretBase_RedCave1_EventScript_276286 end @@ -837,18 +832,17 @@ SecretBase_RedCave1_EventScript_276024:: @ 8276024 SecretBase_RedCave1_EventScript_27602E:: @ 827602E lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_27607D + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27607D compare VAR_RESULT, 1 - goto_eq SecretBase_RedCave1_EventScript_27609C + goto_if_eq SecretBase_RedCave1_EventScript_27609C msgbox SecretBase_RedCave1_Text_274A64, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_276087 + goto_if_eq SecretBase_RedCave1_EventScript_276087 setvar VAR_RESULT, 1 special sub_80EA30C call SecretBase_RedCave1_EventScript_27134F compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_276087 + goto_if_eq SecretBase_RedCave1_EventScript_276087 msgbox SecretBase_RedCave1_Text_274AFA, MSGBOX_DEFAULT goto SecretBase_RedCave1_EventScript_276286 end @@ -874,18 +868,17 @@ SecretBase_RedCave1_EventScript_27609C:: @ 827609C SecretBase_RedCave1_EventScript_2760A6:: @ 82760A6 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_2760F5 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_2760F5 compare VAR_RESULT, 1 - goto_eq SecretBase_RedCave1_EventScript_276114 + goto_if_eq SecretBase_RedCave1_EventScript_276114 msgbox SecretBase_RedCave1_Text_274DD2, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_2760FF + goto_if_eq SecretBase_RedCave1_EventScript_2760FF setvar VAR_RESULT, 1 special sub_80EA30C call SecretBase_RedCave1_EventScript_27134F compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_2760FF + goto_if_eq SecretBase_RedCave1_EventScript_2760FF msgbox SecretBase_RedCave1_Text_274E41, MSGBOX_DEFAULT goto SecretBase_RedCave1_EventScript_276286 end @@ -911,18 +904,17 @@ SecretBase_RedCave1_EventScript_276114:: @ 8276114 SecretBase_RedCave1_EventScript_27611E:: @ 827611E lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_27616D + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27616D compare VAR_RESULT, 1 - goto_eq SecretBase_RedCave1_EventScript_27618C + goto_if_eq SecretBase_RedCave1_EventScript_27618C msgbox SecretBase_RedCave1_Text_275114, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_276177 + goto_if_eq SecretBase_RedCave1_EventScript_276177 setvar VAR_RESULT, 1 special sub_80EA30C call SecretBase_RedCave1_EventScript_27134F compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_276177 + goto_if_eq SecretBase_RedCave1_EventScript_276177 msgbox SecretBase_RedCave1_Text_2751AF, MSGBOX_DEFAULT goto SecretBase_RedCave1_EventScript_276286 end @@ -948,18 +940,17 @@ SecretBase_RedCave1_EventScript_27618C:: @ 827618C SecretBase_RedCave1_EventScript_276196:: @ 8276196 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_2761E5 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_2761E5 compare VAR_RESULT, 1 - goto_eq SecretBase_RedCave1_EventScript_276204 + goto_if_eq SecretBase_RedCave1_EventScript_276204 msgbox SecretBase_RedCave1_Text_275405, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_2761EF + goto_if_eq SecretBase_RedCave1_EventScript_2761EF setvar VAR_RESULT, 1 special sub_80EA30C call SecretBase_RedCave1_EventScript_27134F compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_2761EF + goto_if_eq SecretBase_RedCave1_EventScript_2761EF msgbox SecretBase_RedCave1_Text_2754B2, MSGBOX_DEFAULT goto SecretBase_RedCave1_EventScript_276286 end @@ -985,18 +976,17 @@ SecretBase_RedCave1_EventScript_276204:: @ 8276204 SecretBase_RedCave1_EventScript_27620E:: @ 827620E lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_27625D + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27625D compare VAR_RESULT, 1 - goto_eq SecretBase_RedCave1_EventScript_27627C + goto_if_eq SecretBase_RedCave1_EventScript_27627C msgbox SecretBase_RedCave1_Text_2757B5, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_276267 + goto_if_eq SecretBase_RedCave1_EventScript_276267 setvar VAR_RESULT, 1 special sub_80EA30C call SecretBase_RedCave1_EventScript_27134F compare VAR_RESULT, 0 - goto_eq SecretBase_RedCave1_EventScript_276267 + goto_if_eq SecretBase_RedCave1_EventScript_276267 msgbox SecretBase_RedCave1_Text_275884, MSGBOX_DEFAULT goto SecretBase_RedCave1_EventScript_276286 end @@ -1026,11 +1016,11 @@ SecretBase_RedCave1_EventScript_276286:: @ 8276286 special DoSpecialTrainerBattle waitstate compare VAR_RESULT, 3 - call_if 1, SecretBase_RedCave1_EventScript_2762BD + call_if_eq SecretBase_RedCave1_EventScript_2762BD compare VAR_RESULT, 1 - call_if 1, SecretBase_RedCave1_EventScript_2762C1 + call_if_eq SecretBase_RedCave1_EventScript_2762C1 compare VAR_RESULT, 2 - call_if 1, SecretBase_RedCave1_EventScript_2762C5 + call_if_eq SecretBase_RedCave1_EventScript_2762C5 special HealPlayerParty release end diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc index 031835c14..072d154f0 100644 --- a/data/scripts/secret_power_tm.inc +++ b/data/scripts/secret_power_tm.inc @@ -38,7 +38,7 @@ Route111_EventScript_2765FF:: @ 82765FF faceplayer msgbox Route111_Text_2762C9, MSGBOX_YESNO compare VAR_RESULT, 1 - goto_eq Route111_EventScript_27661E + goto_if_eq Route111_EventScript_27661E msgbox Route111_Text_27655C, MSGBOX_DEFAULT release end @@ -46,17 +46,17 @@ Route111_EventScript_2765FF:: @ 82765FF Route111_EventScript_27661E:: @ 827661E giveitem_std ITEM_TM43 compare VAR_RESULT, 0 - goto_eq Route111_EventScript_276680 + goto_if_eq Route111_EventScript_276680 msgbox Route111_Text_27636E, MSGBOX_DEFAULT closemessage setflag FLAG_0x060 clearflag FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN compare VAR_FACING, 3 - call_if 1, Route111_EventScript_27666A + call_if_eq Route111_EventScript_27666A compare VAR_FACING, 4 - call_if 1, Route111_EventScript_27666A + call_if_eq Route111_EventScript_27666A compare VAR_FACING, 2 - call_if 1, Route111_EventScript_276675 + call_if_eq Route111_EventScript_276675 removeobject VAR_LAST_TALKED release end diff --git a/data/scripts/trainer_battle.inc b/data/scripts/trainer_battle.inc index 61a1afa25..c205a9d22 100644 --- a/data/scripts/trainer_battle.inc +++ b/data/scripts/trainer_battle.inc @@ -11,7 +11,7 @@ EventScript_TryDoNormalTrainerBattle:: @ 8271362 waitmovement 0 specialvar VAR_RESULT, GetTrainerFlag compare VAR_RESULT, 0 - goto_if 5, EventScript_NoNormalTrainerBattle + goto_if_ne EventScript_NoNormalTrainerBattle special SetUpTrainerEncounterMusic special SetUpTrainerMovement goto EventScript_ShowTrainerIntroMsg @@ -24,10 +24,10 @@ EventScript_TryDoDoubleTrainerBattle:: @ 827138A call EventScript_RevealTrainer specialvar VAR_RESULT, GetTrainerFlag compare VAR_RESULT, 0 - goto_if 5, EventScript_NoDoubleTrainerBattle + goto_if_ne EventScript_NoDoubleTrainerBattle special HasEnoughMonsForDoubleBattle compare VAR_RESULT, 0 - goto_if 5, EventScript_NotEnoughMonsForDoubleBattle + goto_if_ne EventScript_NotEnoughMonsForDoubleBattle special SetUpTrainerEncounterMusic special SetUpTrainerMovement goto EventScript_ShowTrainerIntroMsg @@ -51,7 +51,7 @@ EventScript_TryDoRematchBattle:: @ 82713D1 call EventScript_RevealTrainer specialvar VAR_RESULT, IsTrainerReadyForRematch compare VAR_RESULT, 0 - goto_eq EventScript_NoRematchTrainerBattle + goto_if_eq EventScript_NoRematchTrainerBattle special SetUpTrainerEncounterMusic special SetUpTrainerMovement special ShowTrainerIntroSpeech @@ -67,10 +67,10 @@ EventScript_NoRematchTrainerBattle:: @ 82713F7 EventScript_TryDoDoubleRematchBattle:: @ 82713F8 specialvar VAR_RESULT, IsTrainerReadyForRematch compare VAR_RESULT, 0 - goto_eq EventScript_NoDoubleRematchTrainerBattle + goto_if_eq EventScript_NoDoubleRematchTrainerBattle special HasEnoughMonsForDoubleBattle compare VAR_RESULT, 0 - goto_if 5, EventScript_NotEnoughMonsForDoubleRematchBattle + goto_if_ne EventScript_NotEnoughMonsForDoubleRematchBattle special SetUpTrainerEncounterMusic special SetUpTrainerMovement special ShowTrainerIntroSpeech @@ -104,7 +104,7 @@ EventScript_ShowTrainerIntroMsg:: @ 827143C waitbuttonpress special TryPrepareSecondApproachingTrainer compare VAR_RESULT, TRUE - goto_eq EventScript_ShowSecondTrainerIntro + goto_if_eq EventScript_ShowSecondTrainerIntro goto EventScript_DoTrainerBattle EventScript_DoTrainerBattle:: @ 8271454 @@ -112,15 +112,15 @@ EventScript_DoTrainerBattle:: @ 8271454 @ Pointless check, possibly used for debugging? specialvar VAR_RESULT, GetTrainerBattleMode compare VAR_RESULT, TRAINER_BATTLE_SINGLE - goto_eq EventScript_EndTrainerBattle + goto_if_eq EventScript_EndTrainerBattle compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT - goto_eq EventScript_EndTrainerBattle + goto_if_eq EventScript_EndTrainerBattle compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC - goto_eq EventScript_EndTrainerBattle + goto_if_eq EventScript_EndTrainerBattle compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE - goto_eq EventScript_EndTrainerBattle + goto_if_eq EventScript_EndTrainerBattle compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC - goto_eq EventScript_EndTrainerBattle + goto_if_eq EventScript_EndTrainerBattle EventScript_EndTrainerBattle:: @ 8271491 gotobeatenscript diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc index 9033e741f..0b1224503 100644 --- a/data/scripts/tv.inc +++ b/data/scripts/tv.inc @@ -4,30 +4,28 @@ EventScript_TV:: @ 827EE0B special ResetTVShowState specialvar VAR_RESULT, CheckForBigMovieOrEmergencyNewsOnTV compare VAR_RESULT, 2 - goto_eq EventScript_27EE9A + goto_if_eq EventScript_27EE9A compare VAR_RESULT, 1 - goto_eq EventScript_27EEA4 - checkflag FLAG_SYS_TV_START - goto_if 0, EventScript_27EE8A - checkflag FLAG_SYS_TV_WATCH - goto_eq EventScript_27EE8A + goto_if_eq EventScript_27EEA4 + goto_if_unset FLAG_SYS_TV_START, EventScript_27EE8A + goto_if_set FLAG_SYS_TV_WATCH, EventScript_27EE8A specialvar VAR_RESULT, IsTVShowInSearchOfTrainersAiring compare VAR_RESULT, 1 - goto_eq EventScript_27EEFF + goto_if_eq EventScript_27EEFF goto EventScript_27EEE9 end EventScript_27EE54:: @ 827EE54 specialvar VAR_0x8004, special_0x44 compare VAR_0x8004, 255 - goto_eq EventScript_27EED8 + goto_if_eq EventScript_27EED8 specialvar VAR_RESULT, special_0x4a compare VAR_RESULT, 255 - goto_eq EventScript_27EED8 + goto_if_eq EventScript_27EED8 copyvar VAR_0x8004, VAR_RESULT specialvar VAR_RESULT, special_0x45 compare VAR_RESULT, 0 - goto_if 5, EventScript_27EEBA + goto_if_ne EventScript_27EEBA end EventScript_27EE8A:: @ 827EE8A @@ -56,7 +54,7 @@ EventScript_27EEBA:: @ 827EEBA waitmessage waitbuttonpress compare VAR_RESULT, 1 - goto_if 5, EventScript_27EEBA + goto_if_ne EventScript_27EEBA goto EventScript_27EED0 end @@ -75,7 +73,7 @@ EventScript_27EED8:: @ 827EED8 EventScript_27EEE9:: @ 827EEE9 special DoPokeNews compare VAR_RESULT, 0 - goto_eq EventScript_27EE54 + goto_if_eq EventScript_27EE54 waitmessage waitbuttonpress goto EventScript_27EED0 @@ -86,6 +84,6 @@ EventScript_27EEFF:: @ 827EEFF waitmessage waitbuttonpress compare VAR_RESULT, 0 - goto_eq EventScript_27EEFF + goto_if_eq EventScript_27EEFF goto EventScript_27EED0 end diff --git a/data/specials.inc b/data/specials.inc index 8ee70c306..318d272d5 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -34,7 +34,7 @@ gSpecials:: @ 81DBA64 def_special sub_8129708 def_special sub_80E91F8 def_special sub_80EA30C - def_special sub_80FA57C + def_special DoSecretBasePCTurnOffEffect def_special sub_80E6BE8 def_special sub_80B2DA4 def_special sub_80B2E4C @@ -71,7 +71,7 @@ gSpecials:: @ 81DBA64 def_special ShouldTryRematchBattle def_special IsTrainerReadyForRematch def_special BattleSetup_StartRematchBattle - def_special ShowPokemonStorageSystem + def_special ShowPokemonStorageSystemPC def_special HasEnoughMonsForDoubleBattle def_special TurnOffTVScreen def_special DoTVShow @@ -105,7 +105,7 @@ gSpecials:: @ 81DBA64 def_special GiveMonArtistRibbon def_special sub_80B3000 def_special SaveGame - def_special sub_80FAFF8 + def_special DoWateringBerryTreeAnim def_special easy_chat_input_maybe def_special sub_811EECC def_special ScrSpecial_GetCurrentMauvilleMan @@ -286,8 +286,8 @@ gSpecials:: @ 81DBA64 def_special GameClear def_special ShakeScreenInElevator def_special nullsub_55 - def_special SpawnScriptEventObject - def_special RemoveScriptEventObject + def_special SpawnCameraObject + def_special RemoveCameraObject def_special GetPokeblockNameByMonNature def_special GetSecretBaseNearbyMapName def_special CheckRelicanthWailord @@ -317,7 +317,7 @@ gSpecials:: @ 81DBA64 def_special ScriptCheckFreePokemonStorageSpace def_special DoSealedChamberShakingEffect1 def_special sub_8139B60 - def_special sub_80FAC78 + def_special GetShieldToyTVDecorationInfo def_special IsPokerusInParty def_special SetSootopolisGymCrackedIceMetatiles def_special sub_8139560 diff --git a/data/unk_transition.s b/data/unk_transition.s deleted file mode 100644 index db5744d08..000000000 --- a/data/unk_transition.s +++ /dev/null @@ -1,18 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2, 0 -gUnknown_0862AD54:: @ 862AD54 - .incbin "graphics/battle_transitions/frontier_transition.4bpp.lz" - -gUnknown_0862AF30:: @ 862AF30 - .incbin "graphics/battle_transitions/frontier_transition.bin" - -gUnknown_0862B0DC:: @ 862B0DC - .incbin "graphics/battle_transitions/frontier_transition_circles.4bpp.lz" - -gUnknown_0862B53C:: @ 862B53C - .incbin "graphics/battle_transitions/frontier_transition.gbapal" - .space 0x1c0 diff --git a/include/battle.h b/include/battle.h index 52c4ee8ae..c5c747137 100644 --- a/include/battle.h +++ b/include/battle.h @@ -302,11 +302,10 @@ struct BattleResults u8 playerSwitchesCounter; // 0x2 u8 unk3; // 0x3 u8 unk4; // 0x4 - u8 playerMonWasDamaged:1; // 0x5 + u8 playerMonWasDamaged:1; // 0x5 u8 usedMasterBall:1; // 0x5 u8 caughtMonBall:4; // 0x5 u8 shinyWildMon:1; // 0x5 - u8 unk5_7:1; // 0x5 u16 playerMon1Species; // 0x6 u8 playerMon1Name[POKEMON_NAME_LENGTH + 1]; // 0x8 u8 battleTurnCounter; // 0x13 @@ -411,12 +410,12 @@ struct BattleStruct { u8 turnEffectsTracker; u8 turnEffectsBattlerId; - u8 filler2; + u8 unused_0; u8 turnCountersTracker; u8 wrappedMove[MAX_BATTLERS_COUNT * 2]; // Leftover from Ruby's ewram access. u8 moveTarget[MAX_BATTLERS_COUNT]; u8 expGetterMonId; - u8 field_11; + u8 unused_1; u8 wildVictorySong; u8 dynamicMoveType; u8 wrappedBy[MAX_BATTLERS_COUNT]; @@ -437,28 +436,25 @@ struct BattleStruct u8 field_60[4][3]; u8 runTries; u8 caughtMonNick[POKEMON_NAME_LENGTH + 1]; - u8 field_78; + u8 unused_2; u8 safariGoNearCounter; u8 safariPkblThrowCounter; u8 safariEscapeFactor; u8 safariCatchFactor; - u8 field_7D; - u8 field_7E; + u8 field_7D; // unknown spriteId + u8 field_7E; // unknown spriteId u8 formToChangeInto; u8 chosenMovePositions[MAX_BATTLERS_COUNT]; u8 stateIdAfterSelScript[MAX_BATTLERS_COUNT]; - u8 field_88; - u8 field_89; - u8 field_8A; - u8 field_8B; - u8 field_8C; - u8 field_8D; + u8 unused_3[3]; + u8 field_8B; // related to player's pokemon switching + u8 unused_4[2]; u8 stringMoveType; u8 expGetterBattlerId; - u8 field_90; - u8 field_91; - u8 field_92; - u8 field_93; + u8 unused_5; + u8 field_91; // related to gAbsentBattlerFlags, possibly absent flags turn ago? + u8 field_92; // battle palace related + u8 field_93; // related to choosing pokemon? u8 wallyBattleState; u8 wallyMovesState; u8 wallyWaitFrames; @@ -481,11 +477,11 @@ struct BattleStruct u8 switchInItemsCounter; u8 arenaTurnCounter; u8 turnSideTracker; - u8 fillerDC[0xDF-0xDC]; + u8 unused_6[3]; u8 givenExpMons; // Bits for enemy party's pokemon that gave exp to player's party. u8 lastTakenMoveFrom[MAX_BATTLERS_COUNT * MAX_BATTLERS_COUNT * 2]; // a 3-D array [target][attacker][byte] u16 castformPalette[MAX_BATTLERS_COUNT][16]; - u8 field_180; + u8 field_180; // weird field, used in battle_main.c, once accessed as an array of u32 overwriting the field below u8 field_181; u8 field_182; u8 field_183; @@ -496,7 +492,7 @@ struct BattleStruct u8 atkCancellerTracker; struct BattleTvMovePoints tvMovePoints; struct BattleTv tv; - u8 notSureWhatFieldLol[0x28]; + u8 unused_7[0x28]; u8 AI_monToSwitchIntoId[MAX_BATTLERS_COUNT]; s8 arenaMindPoints[2]; s8 arenaSkillPoints[2]; diff --git a/include/battle_anim.h b/include/battle_anim.h index 3a6679414..3c783842a 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -58,7 +58,7 @@ void DestroyAnimSprite(struct Sprite *sprite); void DestroyAnimVisualTask(u8 taskId); void DestroyAnimSoundTask(u8 taskId); bool8 IsBattlerSpriteVisible(u8 battlerId); -void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible); +void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible); bool8 IsContest(void); s8 BattleAnimAdjustPanning(s8 pan); s8 BattleAnimAdjustPanning2(s8 pan); @@ -75,14 +75,14 @@ int GetAnimBgAttribute(u8 bgId, u8 attributeId); // battle_anim_80A5C6C.s void sub_80A6450(struct Sprite *sprite); -void SetAverageBattlerPositions(u8 battlerId, bool8 a2, s16 *x, s16 *y); +void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y); void DestroySpriteAndMatrix(struct Sprite *sprite); -void TranslateAnimLinearSimple(struct Sprite *sprite); -void InitAnimSpritePos(struct Sprite *sprite, u8 a2); -void sub_80A6980(struct Sprite *sprite, bool8 a2); +void AnimTranslateLinearSimple(struct Sprite *sprite); +void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets); +void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets); void StartAnimLinearTranslation(struct Sprite *sprite); void InitAnimArcTranslation(struct Sprite *sprite); -bool8 TranslateAnimLinear(struct Sprite *sprite); +bool8 AnimTranslateLinear(struct Sprite *sprite); void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite); void sub_80A8EE4(struct Sprite *sprite); u8 GetBattlerSpriteCoord2(u8 battlerId, u8 attributeId); @@ -93,14 +93,14 @@ void RunStoredCallbackWhenAffineAnimEnds(struct Sprite *sprite); void sub_80A66DC(struct Sprite *sprite); void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite); void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite); -void sub_80A6864(struct Sprite *sprite, s16 a2); +void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 a2); s16 sub_80A861C(u8 battlerId, u8 a2); u8 GetBattlerYCoordWithElevation(u8 battlerId); void WaitAnimForDuration(struct Sprite *sprite); void sub_80A7938(struct Sprite *sprite); void InitAnimLinearTranslation(struct Sprite *sprite); void sub_80A6F98(struct Sprite *sprite); -u8 sub_80A8328(u8 battlerId); +u8 GetBattlerSpriteBGPriority(u8 battlerId); void *LoadPointerFromVars(s16 bottom, s16 top); void StorePointerInVars(s16 *bottom, s16 *top, const void *ptr); void sub_80A8278(void); @@ -132,9 +132,9 @@ u8 sub_80A80C8(struct Task *task); void sub_80A8EE4(struct Sprite *); void sub_80A67F4(struct Sprite *); void sub_80A6D48(u32 bgId, const void *src); -void sub_80A7160(struct Sprite *sprite); -bool8 sub_80A70E8(struct Sprite *sprite); -void sub_80A70C0(struct Sprite *sprite); +void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite); +bool8 AnimFastTranslateLinear(struct Sprite *sprite); +void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite); void TranslateMonBGUntil(struct Sprite *sprite); void TranslateSpriteOverDuration(struct Sprite *sprite); void sub_80A77C8(struct Sprite *sprite); @@ -150,6 +150,7 @@ void sub_80A749C(struct Sprite *sprite); void sub_80A6814(u8 taskId); void sub_80A8610(struct Sprite *sprite); void sub_80A6DEC(struct Sprite *sprite); +void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId); enum { @@ -167,12 +168,16 @@ void sub_80A6C68(u32 arg0); u8 GetAnimBattlerSpriteId(u8 wantedBattler); bool8 IsDoubleBattle(void); u8 sub_80A6D94(void); -u8 sub_80A8364(u8 battlerId); +u8 GetBattlerSpriteBGPriorityRank(u8 battlerId); void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*)); void oamt_add_pos2_onto_pos1(struct Sprite *sprite); u8 GetBattlerSpriteDefault_Y(u8 battlerId); u8 GetSubstituteSpriteDefault_Y(u8 battlerId); +// battle_anim_80A64EC.c +void sub_80A64EC(struct Sprite *sprite); +void sub_80A718C(struct Sprite *sprite); + // battle_anim_80A9C70.s #define STAT_ANIM_PLUS1 15 #define STAT_ANIM_PLUS2 39 @@ -184,6 +189,9 @@ u8 GetSubstituteSpriteDefault_Y(u8 battlerId); #define STAT_ANIM_MULTIPLE_MINUS2 58 void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); +// ground.c +void sub_81152DC(u8 taskId); + // battle_anim_8170478.s u8 ItemIdToBallId(u16 itemId); u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId); diff --git a/include/battle_main.h b/include/battle_main.h index 5a61b5ef0..c134f819f 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -7,6 +7,20 @@ struct TrainerMoney u8 value; }; +struct UnknownPokemonStruct4 +{ + /*0x00*/ u16 species; + /*0x02*/ u16 heldItem; + /*0x04*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; + /*0x0F*/ u8 level; + /*0x10*/ u16 hp; + /*0x12*/ u16 maxhp; + /*0x14*/ u32 status; + /*0x18*/ u32 personality; + /*0x1C*/ u8 gender; + /*0x1D*/ u8 language; +}; + #define TYPE_NAME_LENGTH 6 #define ABILITY_NAME_LENGTH 12 @@ -40,7 +54,7 @@ void sub_8038B74(struct Sprite *sprite); void sub_8038D64(void); u32 sub_80391E0(u8 arrayId, u8 caseId); u32 sub_80397C4(u32 setId, u32 tableId); -void oac_poke_opponent(struct Sprite *sprite); +void SpriteCb_WildMon(struct Sprite *sprite); void SpriteCallbackDummy_2(struct Sprite *sprite); void SpriteCB_FaintOpponentMon(struct Sprite *sprite); void sub_8039AD8(struct Sprite *sprite); @@ -70,6 +84,11 @@ void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); bool8 TryRunFromBattle(u8 battlerId); +extern struct UnknownPokemonStruct4 gUnknown_02022FF8[3]; + +extern const struct SpriteTemplate gUnknown_0831AC88; +extern const struct OamData gOamData_831ACA8; +extern const struct OamData gOamData_831ACB0; extern const u8 gTypeEffectiveness[336]; extern const u8 gTypeNames[][TYPE_NAME_LENGTH + 1]; extern const struct TrainerMoney gTrainerMoneyTable[]; diff --git a/include/bg.h b/include/bg.h index a10abaa8d..ffcaf43ed 100644 --- a/include/bg.h +++ b/include/bg.h @@ -56,11 +56,11 @@ void ShowBg(u8 bg); void HideBg(u8 bg); void SetBgAttribute(u8 bg, u8 attributeId, u8 value); u16 GetBgAttribute(u8 bg, u8 attributeId); -u32 ChangeBgX(u8 bg, u32 value, u8 op); -u32 GetBgX(u8 bg); -u32 ChangeBgY(u8 bg, u32 value, u8 op); -u32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op); -u32 GetBgY(u8 bg); +s32 ChangeBgX(u8 bg, s32 value, u8 op); +s32 GetBgX(u8 bg); +s32 ChangeBgY(u8 bg, s32 value, u8 op); +s32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op); +s32 GetBgY(u8 bg); void SetBgAffine(u8 bg, u32 srcCenterX, u32 srcCenterY, s16 dispCenterX, s16 dispCenterY, s16 scaleX, s16 scaleY, u16 rotationAngle); u8 Unused_AdjustBgMosaic(u8 a1, u8 a2); void SetBgTilemapBuffer(u8 bg, void *tilemap); diff --git a/include/blit.h b/include/blit.h index 2fe99d7bd..78f67766e 100644 --- a/include/blit.h +++ b/include/blit.h @@ -3,15 +3,15 @@ struct Bitmap { - u8* pixels; + u8 *pixels; u32 width:16; u32 height:16; }; -void BlitBitmapRect4BitWithoutColorKey(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height); -void BlitBitmapRect4Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey); +void BlitBitmapRect4BitWithoutColorKey(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height); +void BlitBitmapRect4Bit(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey); void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue); -void BlitBitmapRect4BitTo8Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey, u8 paletteOffset); +void BlitBitmapRect4BitTo8Bit(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey, u8 paletteOffset); void FillBitmapRect8Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue); #endif // GUARD_BLIT_H diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 4967c814d..7a97c4caf 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -260,4 +260,7 @@ #define TRACKS_FOOT 1 #define TRACKS_BIKE_TIRE 2 +#define EVENT_OBJ_ID_PLAYER 0xFF +#define EVENT_OBJ_ID_CAMERA 0x7F + #endif // GUARD_CONSTANTS_EVENT_OBJECTS_H diff --git a/include/constants/maps.h b/include/constants/maps.h index bcb778422..c65f373af 100644 --- a/include/constants/maps.h +++ b/include/constants/maps.h @@ -587,6 +587,7 @@ // Map Group 33 #define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8)) +#define MAP_GROUPS_COUNT 34 #define MAP_NONE (0x7F | (0x7F << 8)) #define MAP_UNDEFINED (0xFF | (0xFF << 8)) diff --git a/include/constants/vars.h b/include/constants/vars.h index 9854ec5a2..faffe7c70 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -100,7 +100,7 @@ #define VAR_0x4051 0x4051 #define VAR_0x4052 0x4052 #define VAR_0x4053 0x4053 -#define VAR_0x4054 0x4054 +#define VAR_CURRENT_SECRET_BASE 0x4054 #define VAR_0x4055 0x4055 #define VAR_0x4056 0x4056 #define VAR_0x4057 0x4057 diff --git a/include/contest.h b/include/contest.h index 6ce563b46..54c431b94 100644 --- a/include/contest.h +++ b/include/contest.h @@ -432,6 +432,7 @@ bool8 Contest_IsMonsTurnDisabled(u8 a); bool8 sub_80DE1E8(u8 a); void SetStartledString(u8 a, u8 b); s8 Contest_GetMoveExcitement(u16); +u8 sub_80DAE0C(struct Pokemon *); void sub_80DEDA8(u8); #endif //GUARD_CONTEST_H diff --git a/include/credits.h b/include/credits.h index faad1058a..e7e58415b 100644 --- a/include/credits.h +++ b/include/credits.h @@ -7,5 +7,6 @@ extern EWRAM_DATA bool8 gHasHallOfFameRecords; // Exported ROM declarations +void sub_8175620(void); -#endif //GUARD_CREDITS_H +#endif // GUARD_CREDITS_H diff --git a/include/decompress.h b/include/decompress.h index 853230aea..02412defb 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -8,13 +8,13 @@ extern u8 gDecompressionBuffer[0x4000]; void LZDecompressWram(const u32 *src, void *dest); void LZDecompressVram(const u32 *src, void *dest); -u16 LoadCompressedObjectPic(const struct CompressedSpriteSheet *src); -void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer); -bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src); +u16 LoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src); +void LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer); +bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet* src); -void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src); -void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer); -bool8 LoadCompressedObjectPaletteUsingHeap(const struct CompressedSpritePalette *src); +void LoadCompressedSpritePalette(const struct CompressedSpritePalette *src); +void LoadCompressedSpritePaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer); +bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette *src); void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffer, s32 species); void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buffer, s32 species); diff --git a/include/dma3.h b/include/dma3.h index 19a69ea80..8eff34f55 100644 --- a/include/dma3.h +++ b/include/dma3.h @@ -1,6 +1,51 @@ #ifndef GUARD_DMA3_H #define GUARD_DMA3_H +// Maximum amount of data we will transfer in one operation +#define MAX_DMA_BLOCK_SIZE 0x1000 + +#define Dma3CopyLarge_(src, dest, size, bit) \ +{ \ + const void *_src = src; \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaCopy##bit(3, _src, _dest, _size); \ + break; \ + } \ + DmaCopy##bit(3, _src, _dest, MAX_DMA_BLOCK_SIZE); \ + _src += MAX_DMA_BLOCK_SIZE; \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3CopyLarge16_(src, dest, size) Dma3CopyLarge_(src, dest, size, 16) +#define Dma3CopyLarge32_(src, dest, size) Dma3CopyLarge_(src, dest, size, 32) + +#define Dma3FillLarge_(value, dest, size, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaFill##bit(3, value, _dest, _size); \ + break; \ + } \ + DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16) +#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32) + void ClearDma3Requests(void); void ProcessDma3Requests(void); s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode); diff --git a/include/easy_chat.h b/include/easy_chat.h index 541fa6c1b..23fd9ed83 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -1,6 +1,8 @@ #ifndef GUARD_EASYCHAT_H #define GUARD_EASYCHAT_H +#include "main.h" + void InitEasyChatPhrases(void); void easy_chat_input_maybe(void); u8 * CopyEasyChatWord(u8 *dest, u16 word); @@ -12,5 +14,6 @@ u16 sub_811EE38(u16 group); u16 sub_811F01C(void); bool16 EasyChat_GetNumWordsInGroup(u8); u16 sub_811EE90(u16); +void sub_811A20C(u8 kind, u16 *words, MainCallback callback, u8 sizeParam); #endif // GUARD_EASYCHAT_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index cc45f1531..284bbe8db 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -59,6 +59,9 @@ struct LockedAnimEventObjects }; extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[]; +extern const struct OamData gEventObjectBaseOam_32x8; +extern const struct OamData gEventObjectBaseOam_32x32; +extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; extern const u8 gReflectionEffectPaletteMap[]; void ResetEventObjects(void); diff --git a/include/event_scripts.h b/include/event_scripts.h index 2661494d3..3dcb7f929 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -579,4 +579,9 @@ extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[]; extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F[]; extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A[]; +// fldeff misc +extern const u8 EventScript_275A86[]; +extern const u8 EventScript_275ADF[]; +extern const u8 EventScript_275B38[]; + #endif // GUARD_EVENT_SCRIPTS_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index adb51f889..3aedec5de 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -58,5 +58,7 @@ u8 GetJumpSpecialMovementAction(u32); bool8 PartyHasMonWithSurf(void); bool8 IsPlayerFacingSurfableFishableWater(void); bool8 IsPlayerSurfingNorth(void); +void sub_808C228(u8 direction); +u8 sub_808BCD0(void); #endif // GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_specials.h b/include/field_specials.h index 5adc7f3cb..7c29ecbad 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -15,7 +15,13 @@ bool32 sub_8138168(void); bool32 sub_81381B0(void); bool32 sub_81381F8(void); bool32 CountSSTidalStep(u16 delta); +u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y); void sub_813A128(void); void sub_813A878(u8 a0); +u8 sub_813BADC(u8 a0); +bool8 sub_813B9C0(void); +void SetShoalItemFlag(u16 v0); +void UpdateFrontierManiac(u16 a0); +void UpdateFrontierGambler(u16 a0); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/field_weather.h b/include/field_weather.h index c032183e1..91dcef1dc 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -134,6 +134,10 @@ struct Weather // field_weather.c extern struct Weather gWeather; extern struct Weather *const gWeatherPtr; +extern const u16 gUnknown_083970E8[]; + +// field_weather_effect.c +extern const u8 gWeatherFog1Tiles[]; void StartWeather(void); void ChangeWeather(u8 weather); diff --git a/include/fldeff.h b/include/fldeff.h new file mode 100644 index 000000000..99758fdb5 --- /dev/null +++ b/include/fldeff.h @@ -0,0 +1,61 @@ +#ifndef GUARD_FLDEFF_H +#define GUARD_FLDEFF_H + +// cut +bool8 SetUpFieldMove_Cut(void); +bool8 FldEff_UseCutOnGrass(void); +bool8 FldEff_UseCutOnTree(void); +bool8 FldEff_CutGrass(void); +void sub_80D423C(s16 x, s16 y); +void sub_80D42B8(s16 x, s16 y); + +extern const struct SpritePalette gFieldEffectObjectPaletteInfo6; + +// groundshake +bool8 sub_81BE66C(void); +void sub_81BE6AC(void); +void sub_81BE6B8(void); +void sub_81BE72C(void); +void sub_81BE79C(void); +void sub_81BE7F4(void); +void sub_81BE994(void); + +// escalator +void sub_80E1558(u8 var); +void sub_80E1570(void); +bool8 sub_80E1584(void); + +// soft-boiled +bool8 SetUpFieldMove_SoftBoiled(void); +void sub_81615A8(u8 taskId); +void sub_8161560(u8 taskId); + +// flash +bool8 SetUpFieldMove_Flash(void); +void c2_change_map(void); +bool8 GetMapPairFadeToType(u8 a1, u8 a2); +bool8 GetMapPairFadeFromType(u8 a1, u8 a2); + +// strength +bool8 SetUpFieldMove_Strength(void); +bool8 sub_8145E2C(void); + +// sweet scent +bool8 SetUpFieldMove_SweetScent(void); +bool8 FldEff_SweetScent(void); + +// teleport +bool8 SetUpFieldMove_Teleport(void); +bool8 FldEff_UseTeleport(void); + +// dig +bool8 SetUpFieldMove_Dig(void); +bool8 FldEff_UseDig(void); + +// rock smash +bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId); +u8 oei_task_add(void); +bool8 SetUpFieldMove_RockSmash(void); +bool8 FldEff_UseRockSmash(void); + +#endif // GUARD_FLDEFF_H diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h deleted file mode 100644 index 027bb4273..000000000 --- a/include/fldeff_80F9BCC.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef GUARD_FLDEFF_80F9BCC_H -#define GUARD_FLDEFF_80F9BCC_H - -// Exported type declarations - -// Exported RAM declarations - -// Exported ROM declarations - -void sub_80FA5E4(s16 id, s16 x, s16 y); -void sub_80FA794(s16 x, s16 y); -void CreateRecordMixingSprite(void); -void DestroyRecordMixingSprite(void); -void FldeffPoison_Start(void); -void sub_80FA970(s16); -void sub_80FA9D0(void); -bool8 sub_80FADE4(u16, u8); - -#endif //GUARD_FLDEFF_80F9BCC_H diff --git a/include/fldeff_cut.h b/include/fldeff_cut.h deleted file mode 100644 index c89d3b6ca..000000000 --- a/include/fldeff_cut.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef GUARD_FLDEFF_CUT_H -#define GUARD_FLDEFF_CUT_H - -extern const struct SpritePalette gFieldEffectObjectPaletteInfo6; - -bool8 SetUpFieldMove_Cut(void); -bool8 FldEff_UseCutOnGrass(void); -bool8 FldEff_UseCutOnTree(void); -bool8 FldEff_CutGrass(void); -void sub_80D423C(s16 x, s16 y); -void sub_80D42B8(s16 x, s16 y); - -#endif // GUARD_FLDEFF_CUT_H diff --git a/include/fldeff_groundshake.h b/include/fldeff_groundshake.h deleted file mode 100644 index c1629f9bd..000000000 --- a/include/fldeff_groundshake.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef GUARD_FLDEFF_GROUNDSHAKE_H -#define GUARD_FLDEFF_GROUNDSHAKE_H - -void sub_81BE72C(void); - -#endif // GUARD_FLDEFF_GROUNDSHAKE_H diff --git a/include/fldeff_misc.h b/include/fldeff_misc.h new file mode 100644 index 000000000..fd96f5646 --- /dev/null +++ b/include/fldeff_misc.h @@ -0,0 +1,37 @@ +#ifndef GUARD_FLDEFF_MISC_H +#define GUARD_FLDEFF_MISC_H + +void sub_80F9BCC(u16 a0, u16 a1, u8 a2); +void sub_80F9BF4(u16 a0, u16 a1, u8 a2); +bool8 sub_80F9C1C(void); +bool8 sub_80F9C30(void); +bool8 SetUpFieldMove_SecretPower(void); +bool8 FldEff_UseSecretPowerCave(void); +bool8 FldEff_SecretPowerCave(void); +bool8 FldEff_UseSecretPowerTree(void); +bool8 FldEff_SecretPowerTree(void); +bool8 FldEff_UseSecretPowerShrub(void); +bool8 FldEff_SecretPowerShrub(void); +bool8 FldEff_SecretBasePCTurnOn(void); +void DoSecretBasePCTurnOffEffect(void); +void PopSecretBaseBalloon(s16 metatileId, s16 x, s16 y); +bool8 FldEff_NopA6FC(void); +bool8 FldEff_NopA700(void); +void ShatterSecretBaseBreakableDoor(s16 x, s16 y); +void PlaySecretBaseMusicNoteMatSound(s16 metatileId); +void DoSecretBaseGlitterMatSparkle(void); +bool8 FldEff_SandPillar(void); +void GetShieldToyTVDecorationInfo(void); +bool8 sub_80FADE4(u16 arg0, u8 arg1); +void FldEffPoison_Start(void); +bool32 FldEffPoison_IsActive(void); +void DoWateringBerryTreeAnim(void); +u8 CreateRecordMixingSprite(void); +void DestroyRecordMixingSprite(void); + +extern const struct SpritePalette gFieldEffectObjectPaletteInfo7; +extern const struct SpritePalette gFieldEffectObjectPaletteInfo8; +extern const struct SpritePalette gFieldEffectObjectPaletteInfo9; +extern const u16 gTilesetPalettes_SecretBase[][16]; + +#endif //GUARD_FLDEFF_MISC_H diff --git a/include/global.h b/include/global.h index e3792ac56..090ba7ce4 100644 --- a/include/global.h +++ b/include/global.h @@ -872,15 +872,15 @@ typedef union // 3b58 struct WaldaPhrase { - u16 field_0; - u16 field_2; + u16 colors[2]; // Background, foreground. u8 text[16]; u8 iconId; u8 patternId; bool8 patternUnlocked; }; -struct UnkSaveSubstruct_3b98 { +struct UnkSaveSubstruct_3b98 +{ u32 trainerId; u8 trainerName[PLAYER_NAME_LENGTH + 1]; }; diff --git a/include/graphics.h b/include/graphics.h index 8f6560318..7e1ea8506 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3911,6 +3911,11 @@ extern const u16 gIntro2BrendanNoTurnPal[]; extern const u16 gIntro2FlygonPal[]; extern const u32 gIntro2FlygonGfx[]; +// party menu graphics +extern const u32 gPartyMenuMisc_Gfx[]; +extern const u32 gPartyMenuMisc_Tilemap[]; +extern const u32 gPartyMenuMisc_Pal[]; + // berry pics extern const u32 gBerryPic_Cheri[]; extern const u32 gBerryPalette_Cheri[]; @@ -4719,6 +4724,10 @@ extern const u32 gBattleAnimBackgroundTilemap_17[]; extern const u32 gBattleAnimBackgroundTilemap_20[]; extern const u32 gBattleAnimBackgroundTilemap_21[]; +extern const u32 gUnknown_08C1D0AC[]; +extern const u32 gUnknown_08C1D1E8[]; +extern const u32 gUnknown_08C1D210[]; + extern const u32 gUnknown_08C20668[]; extern const u32 gUnknown_08C20684[]; extern const u32 gBattleStatMask_Gfx[]; @@ -4740,6 +4749,15 @@ extern const u32 gUnknown_08C16FA8[]; extern const u32 gUnknown_08C16E90[]; extern const u32 gUnknown_08C17170[]; +extern const u32 gUnknown_08D95E00[]; +extern const u32 gUnknown_08D960D0[]; +extern const u32 gUnknown_08D963A4[]; +extern const u32 gBattleAnimBackgroundImage_Surf[]; +extern const u32 gBattleAnimBackgroundPalette_Surf[]; +extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[]; + +extern const u32 gBattleAnimFogTilemap[]; + // Berry blender extern const u32 gBerryBlenderArrowTiles[]; extern const u32 gBerryBlenderStartTiles[]; @@ -4761,6 +4779,20 @@ extern const u32 gUnknown_08D8D58C[]; extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[]; extern const u16 gPokedexAreaScreenAreaUnknown_Pal[]; +// Pokemon Storage System +extern const u32 gPSSMenu_Gfx[]; +extern const u16 gPSSMenu_Pal[]; +extern const u32 gWallpaperIcon_Plusle[]; +extern const u32 gWallpaperIcon_Cross[]; +extern const u32 gWallpaperIcon_Bolt[]; +extern const u32 gUnknown_08DD36C8[]; +extern const u32 gWallpaperTiles_Ribbon[]; +extern const u32 gWallpaperTilemap_Ribbon[]; +extern const u16 gWallpaperPalettes_Ribbon[][16]; +extern const u32 gWallpaperTiles_Horizontal[]; +extern const u32 gWallpaperTilemap_Horizontal[]; +extern const u16 gWallpaperPalettes_Horizontal[][16]; + // Cable Car extern const u32 gUnknown_08DBA5B8[]; extern const u16 gUnknown_08DBA518[]; @@ -4777,4 +4809,11 @@ extern const u16 gTradeGba2_Pal[]; extern const u8 gTradeGba_Gfx[]; extern const u16 gUnknown_08DDD704[]; +// Party menu +extern const u32 gPartyMenuPokeball_Gfx[]; +extern const u32 gPartyMenuPokeballSmall_Gfx[]; +extern const u32 gStatusPal_Icons[]; +extern const u32 gPartyMenuPokeball_Pal[]; +extern const u32 gStatusPal_Icons[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/item_menu.h b/include/item_menu.h index ce439e282..d972cdf83 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -77,5 +77,7 @@ void CB2_BagMenuFromStartMenu(void); u8 GetItemListPosition(u8 pocketId); bool8 UseRegisteredKeyItemOnField(void); void CB2_GoToSellMenu(void); +void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)()); +void DoWallyTutorialBagMenu(void); #endif //GUARD_item_menu_H diff --git a/include/link_rfu.h b/include/link_rfu.h index eb7097bc1..715b4cdd9 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -2,6 +2,7 @@ #define GUARD_LINK_RFU_H #include "librfu.h" +#include "link.h" // Exported type declarations diff --git a/include/menu.h b/include/menu.h index 894dfd78e..9b2341e58 100644 --- a/include/menu.h +++ b/include/menu.h @@ -44,16 +44,16 @@ void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palet void schedule_bg_copy_tilemap_to_vram(u8 bgNum); void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs); u8 InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 windowId, u8 numItems, u8 initialCursorPos); -u8 GetMenuCursorPos(void); +u8 Menu_GetCursorPos(void); s8 Menu_ProcessInput(void); s8 Menu_ProcessInputNoWrap(void); void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); void reset_temp_tile_data_buffers(void); -void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode); +void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); bool8 free_temp_tile_data_buffers_if_possible(void); struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock); void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); -void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode); +void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); s8 Menu_ProcessInputNoWrapClearOnChoose(void); s8 ProcessMenuInput_other(void); void do_scheduled_bg_tilemap_copies_to_vram(void); @@ -63,7 +63,7 @@ void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u8 a3); void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds); void sub_8197DF8(u8 windowId, bool8 copyToVram); u16 sub_8198AA4(u8, u8, u8, u8, u8, u8, u16); -void *malloc_and_decompress(const void *src, int *sizeOut); +void *malloc_and_decompress(const void *src, u32 *sizeOut); u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode); void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8); @@ -72,7 +72,8 @@ u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount u8 sub_8199134(s8, s8); u8 GetStartMenuWindowId(void); void sub_819A2BC(u8, u8); -u8 MoveMenuCursor(s8 cursorDelta); +u8 Menu_MoveCursor(s8 cursorDelta); +u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta); void NewMenuHelpers_DrawStdWindowFrame(u8 windowId, bool8 CopyToVram); u8 sub_81979C4(u8 a1); u8 sub_81983AC(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos); @@ -91,5 +92,11 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo void sub_8197AE8(bool8 copyToVram); void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs); s8 Menu_ProcessInputGridLayout(void); +u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted); +s8 Menu_ProcessInputNoWrapAround_other(void); +void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height); +u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile); +void sub_8198314(void); +void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram); #endif // GUARD_MENU_H diff --git a/include/mon_markings.h b/include/mon_markings.h index 22c3f14a4..8e4ec58bd 100644 --- a/include/mon_markings.h +++ b/include/mon_markings.h @@ -21,6 +21,15 @@ struct PokemonMarkMenu /*0x10B4*/ u8 tileLoadState; }; // 10b8 +void sub_811F90C(struct PokemonMarkMenu *ptr); +void sub_811F918(void); +bool8 sub_811F960(void); +void sub_811FA90(void); +void sub_811FAA4(u8 markings, s16 x, s16 y); +void sub_811FAF8(void); +bool8 sub_811FBA4(void); struct Sprite *sub_811FF94(u16 tileTag, u16 paletteTag, const u16 *palette); +struct Sprite *sub_811FFB4(u16 tileTag, u16 paletteTag, const u16 *palette); +void sub_8120084(u8 markings, void *dest); #endif //POKEEMERALD_MON_MARKINGS_H diff --git a/include/party_menu.h b/include/party_menu.h index 35c06f6e0..ae7c414a8 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -1,6 +1,7 @@ #ifndef GUARD_PARTY_MENU_H #define GUARD_PARTY_MENU_H +#include "main.h" #include "task.h" enum @@ -10,7 +11,9 @@ enum AILMENT_PRZ, AILMENT_SLP, AILMENT_FRZ, - AILMENT_BRN + AILMENT_BRN, + AILMENT_PKRS, + AILMENT_FNT }; enum @@ -25,52 +28,86 @@ enum struct Struct203CEC8 { - u8 filler[0x9]; + MainCallback exitCallback; + TaskFunc unk4; + u8 unk8_0:4; + u8 mode:2; + u8 unk8_2:2; s8 unk9; s8 unkA; u8 unkB; - u8 filler2[0x2]; + u16 unkC; + s16 unkE; + s16 unk10; }; extern struct Struct203CEC8 gUnknown_0203CEC8; +extern u8 gUnknown_0203CEE8; +extern u8 gUnknown_0203CEE9; +extern MainCallback gPostMenuFieldCallback; +extern u8 gSelectedOrderFromParty[4]; +extern u8 gUnknown_0203CF00[3]; -extern const u16 gUnknown_0861500C[]; +extern const u16 gTutorMoves[]; -bool8 pokemon_has_move(struct Pokemon *, u16); -void sub_81B58A8(void); -void DoWallyTutorialBagMenu(void); -u8 pokemon_ailments_get_primary(u32 status); -u8 *GetMonNickname(struct Pokemon *mon, u8 *dst); +void sub_81B0FCC(u8 slot, u8 b); +bool8 IsMultiBattle(void); u8 GetCursorSelectionMonId(void); +u8 sub_81B1360(void); +void sub_81B1370(u8 taskId); +u8* GetMonNickname(struct Pokemon *mon, u8 *dest); +u8 sub_81B1B5C(const u8* str, u8 b); +bool8 sub_81B1BD4(void); +void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func); +u8 pokemon_ailments_get_primary(u32 status); +u8 sub_81B205C(struct Pokemon *mon); +void display_pokemon_menu_message(u32 stringID); +void sub_81B47E0(u8 taskId); bool8 FieldCallback_PrepareFadeInFromMenu(void); +void sub_81B58A8(void); +void LoadHeldItemIcons(void); +void sub_81B5D4C(u8 *a, u8 *b, u8 c); +void sub_81B617C(void); +void ItemUseCB_Medicine(u8 taskId, TaskFunc task); +void sub_81B67C8(u8 taskId, TaskFunc task); +void dp05_ether(u8 taskId, TaskFunc task); +void dp05_pp_up(u8 taskId, TaskFunc task); +u16 ItemIdToBattleMoveId(u16 item); +bool8 IsMoveHm(u16 move); +bool8 MonKnowsMove(struct Pokemon *mon, u16 move); +void sub_81B6DC4(u8 taskId, TaskFunc task); +void dp05_rare_candy(u8 taskId, TaskFunc task); +void sub_81B79E8(u8 taskId, TaskFunc task); +void sub_81B7C74(u8 taskId, TaskFunc task); +u8 GetItemEffectType(u16 item); +void CB2_PartyMenuFromStartMenu(void); void sub_81B7F60(void); - -void sub_81B0FCC(u8 partyIdx, u8 a); -void sub_81B1370(u8 taskId); -void display_pokemon_menu_message(u8 windowId); -void sub_81B1F18(u8 taskId, u8 pokemonIdx, s8 a, s16 hp, TaskFunc func); -void sub_81B1B5C(void *a, u8 b); -u8 sub_81B1BD4(void); void sub_81B8448(void); void sub_81B8518(u8 unused); -u8 sub_81B1360(void); -void sub_81B8904(u8 arg0, void (*callback)(void)); -void OpenPartyMenuInBattle(u8 caseId); -u16 ItemIdToBattleMoveId(u16 itemId); -u8 sub_81B205C(struct Pokemon* a); -void sub_81B617C(void); -u8 sub_81B6D14(u16 a); +void sub_81B8558(void); +void sub_81B8904(u8 initArg, MainCallback callback); +void sub_81B892C(void); +void sub_81B8958(void); +void OpenPartyMenuInBattle(u8 arg); +void sub_81B89F0(void); +void sub_81B8C68(void); +void sub_81B8D64(u8 battlerId, u8 multiplayerFlag); +void sub_81B8E80(u8 battlerId, u8 unk, u8 arrayIndex); +void sub_81B8FB0(u8 slot, u8 slot2); +u8 pokemon_order_func(u8 slot); +void sub_81B9150(void); +void sub_81B9328(void); bool8 hm_add_c3_without_phase_2(void); -void sub_81B5D30(void); -void sub_81B5D4C(u8 *a0, u8 *a1, u8 a2); - -extern void dp05_ether(u8, u16, TaskFunc); -extern void dp05_pp_up(u8, u16, TaskFunc); -extern void dp05_rare_candy(u8, u16, TaskFunc); - -extern void sub_81B67C8(u8, u16, TaskFunc); -extern void sub_81B79E8(u8, u16, TaskFunc); -extern void sub_81B6DC4(u8, u16, TaskFunc); -extern void sub_81B7C74(u8, u16, TaskFunc); +void sub_81B9404(void); +void sub_81B94B0(void); +void sub_81B951C(void); +void sub_81B9620(void); +void sub_81B95E0(void); +void sub_81B98DC(void); +void sub_81B9918(void); +void sub_81B9770(void); +void sub_81B9718(void); +void sub_81B96D0(void); +void sub_81B968C(void); #endif // GUARD_PARTY_MENU_H diff --git a/include/player_pc.h b/include/player_pc.h index bd060faa8..5a0b83683 100644 --- a/include/player_pc.h +++ b/include/player_pc.h @@ -84,5 +84,6 @@ extern const struct MenuAction gMailboxMailOptions[]; void ReshowPlayerPC(u8 taskId); void sub_816B31C(void); +void Mailbox_ReturnToMailListAfterDeposit(void); #endif //GUARD_PLAYER_PC_H diff --git a/include/pokemon.h b/include/pokemon.h index 94dae089f..cfa5cc350 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -8,9 +8,9 @@ #define MON_DATA_OT_ID 1 #define MON_DATA_NICKNAME 2 #define MON_DATA_LANGUAGE 3 -#define MON_DATA_SANITY_BIT1 4 -#define MON_DATA_SANITY_BIT2 5 -#define MON_DATA_SANITY_BIT3 6 +#define MON_DATA_SANITY_IS_BAD_EGG 4 +#define MON_DATA_SANITY_HAS_SPECIES 5 +#define MON_DATA_SANITY_IS_EGG 6 #define MON_DATA_OT_NAME 7 #define MON_DATA_MARKINGS 8 #define MON_DATA_CHECKSUM 9 @@ -251,14 +251,6 @@ struct Pokemon u16 spDefense; }; -struct PokemonStorage -{ - /*0x0000*/ u8 currentBox; - /*0x0001*/ struct BoxPokemon boxes[14][30]; - /*0x8344*/ u8 boxNames[14][9]; - /*0x83C2*/ u8 boxWallpapers[14]; -}; - struct Unknown_806F160_Struct { u8 field_0_0:4; @@ -430,7 +422,6 @@ extern struct Pokemon gPlayerParty[PARTY_SIZE]; extern u8 gEnemyPartyCount; extern struct Pokemon gEnemyParty[PARTY_SIZE]; extern struct SpriteTemplate gMultiuseSpriteTemplate; -extern struct PokemonStorage* gPokemonStoragePtr; extern const struct BattleMove gBattleMoves[]; extern const u8 gFacilityClassToPicIndex[]; diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 17c7d5573..4f27ef281 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -1,9 +1,14 @@ #ifndef GUARD_POKEMON_ICON_H #define GUARD_POKEMON_ICON_H +extern const u8 gMonIconPaletteIndices[]; + const u8 *GetMonIconTiles(u16 species, bool32); +void sub_80D304C(u16 offset); +u8 GetValidMonIconPalIndex(u16 species); const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo); const u16 *GetValidMonIconPalettePtr(u16 speciesId); +u16 GetIconSpecies(u16 species, u32 personality); u16 GetUnownLetterByPersonality(u32 personality); u16 sub_80D2E84(u16 speciesId); void LoadMonIconPalettes(void); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 9b5358f06..a85ee5ff4 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -2,87 +2,73 @@ #define GUARD_POKEMON_STORAGE_SYSTEM_H #define TOTAL_BOXES_COUNT 14 -#define IN_BOX_COUNT 30 +#define IN_BOX_ROWS 6 +#define IN_BOX_COLUMNS 5 +#define IN_BOX_COUNT (IN_BOX_ROWS * IN_BOX_COLUMNS) -#include "pc_screen_effect.h" -#include "mon_markings.h" +/* + ROWS +COLUMNS 0 1 2 3 4 5 + 6 7 8 9 10 11 + 12 13 14 15 16 17 + 18 19 20 21 22 23 + 24 25 26 27 28 29 +*/ -struct PokemonStorageSystemFunc +struct PokemonStorage { - u8 (*func)(void); - s8 unk4; + /*0x0000*/ u8 currentBox; + /*0x0001*/ struct BoxPokemon boxes[TOTAL_BOXES_COUNT][IN_BOX_COUNT]; + /*0x8344*/ u8 boxNames[TOTAL_BOXES_COUNT][9]; + /*0x83C2*/ u8 boxWallpapers[TOTAL_BOXES_COUNT]; }; -struct StorageAction -{ - const u8 *text; - u8 format; -}; - -struct StorageText -{ - const u8 *text; - int textId; -}; - -struct PSS_MenuStringPtrs -{ - const u8 *text; - const u8 *desc; -}; - -struct UnkStruct_2000028 -{ - const u8 *unk_00; - u8 *unk_04; - u16 unk_08; - u16 unk_0a; - void (*unk_0c)(struct UnkStruct_2000028 *data); -}; +extern struct PokemonStorage *gPokemonStoragePtr; -struct UnkStruct_2000020 -{ - struct UnkStruct_2000028 *unk_00; - u8 unk_04; - u8 unk_05; -}; - -struct UnkPSSStruct_2002370 -{ - struct Sprite *unk_0000; - struct Sprite *unk_0004[4]; - u32 unk_0014[3]; - struct Sprite *unk_0020[2]; - u8 filler_0028[0x214]; - u32 unk_023c; - u16 unk_0240; - u16 unk_0242; - u8 curBox; - u8 unk_0245; - u8 unk_0246; -}; - -struct PokemonStorageSystemData -{ - u8 state; - u8 boxOption; - u8 unk_0002; - u8 unk_0003; - u8 taskId; - u8 unk_0005[710]; - u16 bg2_X; -}; - -extern struct UnkPSSStruct_2002370 *gUnknown_02039D04; -extern struct PokemonStorageSystemData *gUnknown_02039D08; - -u8* GetBoxNamePtr(u8 boxNumber); -struct BoxPokemon *GetBoxedMonPtr(u8, u8); -void SetBoxMonNickFromAnyBox(u8, u8, u8 *); -void CompactPartySlots(void); -u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); -bool8 CheckFreePokemonStorageSpace(void); +u8 CountMonsInBox(u8 boxId); +s16 GetFirstFreeBoxSpot(u8 boxId); +u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore); +u16 CountPartyAliveNonEggMons_IgnoreVar0x8004Slot(void); +u8 CountPartyMons(void); +u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n); +void ShowPokemonStorageSystemPC(void); +void ResetPokemonStorageSystem(void); +s16 CompactPartySlots(void); u8 StorageGetCurrentBox(void); -u8 sub_80D214C(struct BoxPokemon *a, u8 b, u8 c, u8 d); +u32 GetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request); +void SetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, const void *value); +u32 GetCurrentBoxMonData(u8 boxPosition, s32 request); +void SetCurrentBoxMonData(u8 boxPosition, s32 request, const void *value); +void GetBoxMonNickAt(u8 boxId, u8 boxPosition, u8 *dst); +u32 GetBoxMonLevelAt(u8 boxId, u8 boxPosition); +void SetBoxMonNickAt(u8 boxId, u8 boxPosition, const u8 *nick); +u32 GetAndCopyBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, void *dst); +void SetBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *src); +void CopyBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *dst); +void CreateBoxMonAt(u8 boxId, u8 boxPosition, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 personality, u8 otIDType, u32 otID); +void ZeroBoxMonAt(u8 boxId, u8 boxPosition); +void BoxMonAtToMon(u8 boxId, u8 boxPosition, struct Pokemon *dst); +struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 boxPosition); +u8 *GetBoxNamePtr(u8 boxId); +u8 GetBoxWallpaper(u8 boxId); +void SetBoxWallpaper(u8 boxId, u8 wallpaperId); +s16 sub_80D214C(struct BoxPokemon *boxMons, u8 currIndex, u8 maxIndex, u8 arg3); +bool8 CheckFreePokemonStorageSpace(void); +bool32 CheckBoxMonSanityAt(u32 boxId, u32 boxPosition); +u32 CountStorageNonEggMons(void); +u32 CountAllStorageMons(void); +bool32 AnyStorageMonWithMove(u16 moveId); +void ResetWaldaWallpaper(void); +void SetWaldaWallpaperLockedOrUnlocked(bool32 unlocked); +bool32 IsWaldaWallpaperUnlocked(void); +u32 GetWaldaWallpaperPatternId(void); +void SetWaldaWallpaperPatternId(u8 id); +u32 GetWaldaWallpaperIconId(void); +void SetWaldaWallpaperIconId(u8 id); +u16 *GetWaldaWallpaperColorsPtr(void); +void SetWaldaWallpaperColors(u16 color1, u16 color2); +u8 *GetWaldaPhrasePtr(void); +void SetWaldaPhrase(const u8 *src); +bool32 IsWaldaPhraseEmpty(void); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 5dc37c70d..e2226b1e1 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -1,9 +1,15 @@ #ifndef GUARD_POKEMON_SUMMARY_SCREEN_H #define GUARD_POKEMON_SUMMARY_SCREEN_H +extern u8 gUnknown_0203CF20; + void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); void sub_81C4F98(u8, void(*)(void)); void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16); +void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); +u8 sub_81C1B94(void); +void SummaryScreen_SetUnknownTaskId(u8 a0); +void SummaryScreen_DestroyUnknownTask(void); // The Pokemon Summary Screen can operate in different modes. Certain features, // such as move re-ordering, are available in the different modes. @@ -11,7 +17,7 @@ enum PokemonSummaryScreenMode { PSS_MODE_NORMAL, PSS_MODE_UNK1, - PSS_MODE_UNK2, + PSS_MODE_BOX, PSS_MODE_SELECT_MOVE, }; diff --git a/include/pokenav.h b/include/pokenav.h index 1fde8aa44..d8f0c9f97 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -36,5 +36,7 @@ u8 GetCurrentTrainerHillMapId(void); u8 sub_81D6490(void); const struct WarpEvent *sub_81D6120(void); const struct WarpEvent *sub_81D6134(u8); +void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); +void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); #endif //GUARD_POKENAV_H diff --git a/include/region_map.h b/include/region_map.h index 0c82232cf..ed1c1a201 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -107,6 +107,7 @@ u8 *sub_8124610(u8 *dest, u16 mapSecId); u16 CorrectSpecialMapSecId(u16 mapSecId); void sub_8122D88(struct RegionMap *regionMap); void PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs(s16 x, s16 y); +void MCB2_FlyMap(void); extern const struct RegionMapLocation gRegionMapEntries[]; diff --git a/include/rom6.h b/include/rom6.h deleted file mode 100644 index 8b133e56e..000000000 --- a/include/rom6.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef GUARD_ROM6_H -#define GUARD_ROM6_H - -void OpenPokeblockCase(u8, void(void)); -u8 GetLeadMonIndex(void); -u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y); -void sub_813BADC(bool8); -bool8 sub_813B9C0(void); -void UpdateMirageRnd(u16 days); -void UpdateBirchState(u16 days); -void UpdateFrontierManiac(u16 days); -void UpdateFrontierGambler(u16 days); -void SetShoalItemFlag(u16 days); - -bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId); -u8 oei_task_add(void); - -#endif //GUARD_ROM6_H diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index b6ca0e248..c1bdbdf34 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -5,11 +5,16 @@ // Exported RAM declarations +extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38; +extern u16 gUnknown_02022C3C; +extern u8 gUnknown_02022C3E; + // Exported ROM declarations void sub_8018438(void); u16 mevent_081445C0(u8); void sub_801B990(u32, u32); u8 sub_8013F78(void); +bool32 sub_802C908(u16); #endif //GUARD_rom_8011DC0_H diff --git a/include/secret_base.h b/include/secret_base.h index 4fa0d0c4a..ac15357e3 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -23,4 +23,12 @@ void sub_80EB9E0(void); void sub_80EBB28(void); void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events); +// SetCurrentSecretBaseFromPosition +void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events); +// SetCurrentSecretBaseVar +void sub_80E8B6C(void); +void sub_80E8BC8(void); +void sub_80E8D4C(void); +void EnableBothScriptContexts(void); + #endif //GUARD_SECRET_BASE_H diff --git a/include/strings.h b/include/strings.h index c780a80b4..64222cddb 100644 --- a/include/strings.h +++ b/include/strings.h @@ -140,6 +140,8 @@ extern const u8 gText_Cancel4[]; extern const u8 gText_IsThisTheCorrectTime[]; extern const u8 gText_PkmnFainted3[]; extern const u8 gText_Coins[]; +extern const u8 gText_Silver[]; +extern const u8 gText_Gold[]; extern const u8 gText_Var1AteTheVar2[]; extern const u8 gText_Var1HappilyAteVar2[]; @@ -399,6 +401,69 @@ extern const u8 gText_ThreeDashes[]; // party menu text extern const u8 gText_PkmnHPRestoredByVar2[]; extern const u8 gText_CantBeUsedOnPkmn[]; +extern const u8 gText_CancelParticipation[]; +extern const u8 gText_PkmnWasGivenItem[]; +extern const u8 gText_RecievedItemFromPkmn[]; +extern const u8 gText_SwitchPkmnItem[]; +extern const u8 gText_SwitchedPkmnItem[]; +extern const u8 gText_BagFullCouldNotRemoveItem[]; +extern const u8 gText_PkmnCantParticipate[]; +extern const u8 gText_PkmnNotHolding[]; +extern const u8 gText_ThrowAwayItem[]; +extern const u8 gText_ItemThrownAway[]; +extern const u8 gText_SendMailToPC[]; +extern const u8 gText_MailSentToPC[]; +extern const u8 gText_PCMailboxFull[]; +extern const u8 gText_MailMessageWillBeLost[]; +extern const u8 gText_MailTakenFromPkmn[]; +extern const u8 gText_NoMoreThanVar1Pkmn[]; +extern const u8 gText_PkmnCantBeTradedNow[]; +extern const u8 gText_EggCantBeTradedNow[]; +extern const u8 gText_OnlyPkmnForBattle[]; +extern const u8 gJPText_PutVar1IntoSpinner[]; +extern const u8 gText_PauseUntilPress[]; +extern const u8 gText_CantUseUntilNewBadge[]; +extern const u8 gText_ReturnToHealingSpot[]; +extern const u8 gText_EscapeFromHere[]; +extern const u8 gText_PkmnCuredOfPoison[]; +extern const u8 gText_PkmnWokeUp2[]; +extern const u8 gText_PkmnBurnHealed[]; +extern const u8 gText_PkmnThawedOut[]; +extern const u8 gText_PkmnCuredOfParalysis[]; +extern const u8 gText_PkmnGotOverInfatuation[]; +extern const u8 gText_PkmnBecameHealthy[]; +extern const u8 gText_HP3[]; +extern const u8 gText_SpAtk3[]; +extern const u8 gText_SpDef3[]; +extern const u8 gText_PkmnBaseVar2StatIncreased[]; +extern const u8 gText_MovesPPIncreased[]; +extern const u8 gText_PPWasRestored[]; +extern const u8 gText_WontHaveEffect[]; +extern const u8 gText_PkmnSnappedOutOfConfusion[]; +extern const u8 gText_PkmnFriendlyBaseVar2Fell[]; +extern const u8 gText_PkmnFriendlyBaseVar2CantFall[]; +extern const u8 gText_PkmnAdoresBaseVar2Fell[]; +extern const u8 gText_PkmnAlreadyKnows[]; +extern const u8 gText_PkmnCantLearnMove[]; +extern const u8 gText_PkmnNeedsToReplaceMove[]; +extern const u8 gText_PkmnLearnedMove3[]; +extern const u8 gText_WhichMoveToForget[]; +extern const u8 gText_12PoofForgotMove[]; +extern const u8 gText_StopLearningMove2[]; +extern const u8 gText_MoveNotLearned[]; +extern const u8 gText_PkmnElevatedToLvVar2[]; +extern const u8 gText_RemoveMailBeforeItem[]; +extern const u8 gText_PkmnHoldingItemCantHoldMail[]; +extern const u8 gText_MailTransferredFromMailbox[]; +extern const u8 gText_CancelBattle[]; +extern const u8 gText_ReturnToWaitingRoom[]; +extern const u8 gText_CancelChallenge[]; +extern const u8 gText_CantSwitchWithAlly[]; +extern const u8 gText_PkmnHasNoEnergy[]; +extern const u8 gText_EggCantBattle[]; +extern const u8 gText_PkmnAlreadySelected[]; +extern const u8 gText_PkmnAlreadyInBattle[]; +extern const u8 gText_PkmnCantSwitchOut[]; //pokedex text extern const u8 gText_CryOf[]; @@ -1736,4 +1801,187 @@ extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F47[]; extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F0E[]; extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254ED3[]; +// PC strings +extern const u8 gText_ExitFromBox[]; +extern const u8 gText_WhatDoYouWantToDo[]; +extern const u8 gText_PleasePickATheme[]; +extern const u8 gText_PickTheWallpaper[]; +extern const u8 gText_PkmnIsSelected[]; +extern const u8 gText_JumpToWhichBox[]; +extern const u8 gText_DepositInWhichBox[]; +extern const u8 gText_PkmnWasDeposited[]; +extern const u8 gText_BoxIsFull2[]; +extern const u8 gText_ReleaseThisPokemon[]; +extern const u8 gText_PkmnWasReleased[]; +extern const u8 gText_ByeByePkmn[]; +extern const u8 gText_MarkYourPkmn[]; +extern const u8 gText_ThatsYourLastPkmn[]; +extern const u8 gText_YourPartysFull[]; +extern const u8 gText_YoureHoldingAPkmn[]; +extern const u8 gText_WhichOneWillYouTake[]; +extern const u8 gText_YouCantReleaseAnEgg[]; +extern const u8 gText_ContinueBoxOperations[]; +extern const u8 gText_PkmnCameBack[]; +extern const u8 gText_WasItWorriedAboutYou[]; +extern const u8 gText_FourEllipsesExclamation[]; +extern const u8 gText_PleaseRemoveTheMail[]; +extern const u8 gText_GiveToAPkmn[]; +extern const u8 gText_PlacedItemInBag[]; +extern const u8 gText_BagIsFull2[]; +extern const u8 gText_PutItemInBag[]; +extern const u8 gText_ItemIsNowHeld[]; +extern const u8 gText_ChangedToNewItem[]; +extern const u8 gText_MailCantBeStored[]; +extern const u8 gPCText_Cancel[]; +extern const u8 gPCText_Store[]; +extern const u8 gPCText_Withdraw[]; +extern const u8 gPCText_Move[]; +extern const u8 gPCText_Shift[]; +extern const u8 gPCText_Place[]; +extern const u8 gPCText_Summary[]; +extern const u8 gPCText_Release[]; +extern const u8 gPCText_Mark[]; +extern const u8 gPCText_Jump[]; +extern const u8 gPCText_Wallpaper[]; +extern const u8 gPCText_Name[]; +extern const u8 gPCText_Take[]; +extern const u8 gPCText_Give[]; +extern const u8 gPCText_Give[]; +extern const u8 gPCText_Switch[]; +extern const u8 gPCText_Bag[]; +extern const u8 gPCText_Info[]; +extern const u8 gPCText_Scenery1[]; +extern const u8 gPCText_Scenery2[]; +extern const u8 gPCText_Scenery3[]; +extern const u8 gPCText_Etcetera[]; +extern const u8 gPCText_Friends[]; +extern const u8 gPCText_Forest[]; +extern const u8 gPCText_City[]; +extern const u8 gPCText_Desert[]; +extern const u8 gPCText_Savanna[]; +extern const u8 gPCText_Crag[]; +extern const u8 gPCText_Volcano[]; +extern const u8 gPCText_Snow[]; +extern const u8 gPCText_Cave[]; +extern const u8 gPCText_Beach[]; +extern const u8 gPCText_Seafloor[]; +extern const u8 gPCText_River[]; +extern const u8 gPCText_Sky[]; +extern const u8 gPCText_PolkaDot[]; +extern const u8 gPCText_Pokecenter[]; +extern const u8 gPCText_Machine[]; +extern const u8 gPCText_Simple[]; +extern const u8 gText_PartyFull[]; +extern const u8 gText_Box[]; +extern const u8 gText_JustOnePkmn[]; + +// battle main +extern const u8 gText_LinkStandby3[]; +extern const u8 gText_BattleRecordCouldntBeSaved[]; +extern const u8 gText_Poison[]; +extern const u8 gText_Sleep[]; +extern const u8 gText_Paralysis[]; +extern const u8 gText_Burn[]; +extern const u8 gText_Ice[]; +extern const u8 gText_Confusion[]; +extern const u8 gText_Love[]; + +// battle message +extern const u8 gText_PkmnBoxSomeonesPCFull[]; +extern const u8 gText_PkmnBoxLanettesPCFull[]; +extern const u8 gText_PkmnTransferredSomeonesPC[]; +extern const u8 gText_PkmnTransferredLanettesPC[]; + +// hall of fame +extern const u8 gText_SavingDontTurnOffPower[]; +extern const u8 gText_LeagueChamp[]; +extern const u8 gText_HOFNumber[]; +extern const u8 gText_PickNextCancel[]; +extern const u8 gText_PickCancel[]; +extern const u8 gText_UnkCtrlF800Exit[]; +extern const u8 gText_HOFCorrupted[]; +extern const u8 gText_WelcomeToHOF[]; +extern const u8 gText_Number[]; +extern const u8 gText_Level[]; +extern const u8 gText_IDNumber[]; +extern const u8 gText_Name[]; +extern const u8 gText_MainMenuTime[]; + +// daycare +extern const u8 gText_MaleSymbol4[]; +extern const u8 gText_FemaleSymbol4[]; +extern const u8 gText_GenderlessSymbol[]; +extern const u8 gText_NewLine2[]; +extern const u8 gText_Exit4[]; +extern const u8 gText_Lv[]; +extern const u8 gExpandedPlaceholder_Empty[]; +extern const u8 gText_Exit[]; +extern const u8 gDaycareText_GetAlongVeryWell[]; +extern const u8 gDaycareText_GetAlong[]; +extern const u8 gDaycareText_DontLikeOther[]; +extern const u8 gDaycareText_PlayOther[]; + +// party menu +extern const u8 gUnknown_085E9E43[]; +extern const u8 gUnknown_085EA010[]; +extern const u8 gUnknown_085EA02A[]; +extern const u8 gUnknown_085E9E55[]; +extern const u8 gUnknown_085E9E64[]; +extern const u8 gUnknown_085E9E79[]; +extern const u8 gUnknown_085E9E8F[]; +extern const u8 gUnknown_085E9EBC[]; +extern const u8 gUnknown_085E9ED4[]; +extern const u8 gUnknown_085E9EE9[]; +extern const u8 gUnknown_085E9FDB[]; +extern const u8 gUnknown_085EA046[]; +extern const u8 gUnknown_085EA05B[]; +extern const u8 gUnknown_085E9F01[]; +extern const u8 gUnknown_085E9F58[]; +extern const u8 gUnknown_085E9F6F[]; +extern const u8 gUnknown_085E9F81[]; +extern const u8 gUnknown_085E9F90[]; +extern const u8 gUnknown_085E9FA7[]; +extern const u8 gUnknown_085E9FC2[]; +extern const u8 gUnknown_085E9EA6[]; +extern const u8 gUnknown_085E9F16[]; +extern const u8 gUnknown_085E9F2A[]; +extern const u8 gUnknown_085E9F42[]; +extern const u8 gUnknown_085E9FF9[]; +extern const u8 gUnknown_085EA073[]; +extern const u8 gUnknown_085EA091[]; +extern const u8 gUnknown_085EA099[]; +extern const u8 gUnknown_085EA09E[]; +extern const u8 gUnknown_085EA0A4[]; +extern const u8 gUnknown_085EA0AB[]; +extern const u8 gUnknown_085EA0E7[]; +extern const u8 gUnknown_085EA0B1[]; +extern const u8 gUnknown_085EA0B6[]; +extern const u8 gUnknown_085EA0BF[]; +extern const u8 gUnknown_085EA0C5[]; +extern const u8 gUnknown_085EA0CF[]; +extern const u8 gUnknown_085EA0D7[]; +extern const u8 gUnknown_085EA0DC[]; +extern const u8 gText_Take[]; +extern const u8 gText_Mail[]; +extern const u8 gText_Take2[]; +extern const u8 gText_Read2[]; +extern const u8 gText_Cancel2[]; +extern const u8 gText_Shift[]; +extern const u8 gText_SendOut[]; +extern const u8 gText_Enter[]; +extern const u8 gText_NoEntry[]; +extern const u8 gText_Store[]; +extern const u8 gText_Register[]; +extern const u8 gText_Trade4[]; +extern const u8 gText_Summary5[]; +extern const u8 gText_Switch2[]; +extern const u8 gText_Item[]; +extern const u8 gText_NotPkmnOtherTrainerWants[]; +extern const u8 gText_ThatIsntAnEgg[]; +extern const u8 gText_PkmnCantBeTradedNow[]; +extern const u8 gText_OtherTrainersPkmnCantBeTraded[]; +extern const u8 gText_EggCantBeTradedNow[]; +extern const u8 gText_OtherTrainerCantAcceptPkmn[]; +extern const u8 gText_CantTradeWithTrainer[]; + #endif //GUARD_STRINGS_H diff --git a/include/text.h b/include/text.h index 69cbb87ed..d9c7a9a2e 100644 --- a/include/text.h +++ b/include/text.h @@ -258,7 +258,7 @@ void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *c u16 RenderText(struct TextPrinter *textPrinter); u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing); u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32); -u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing); +s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing); u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str); u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y); u8 GetKeypadIconTileOffset(u8 keypadIconId); diff --git a/include/trade.h b/include/trade.h index af4da0015..45d8d9a0d 100644 --- a/include/trade.h +++ b/include/trade.h @@ -1,6 +1,8 @@ #ifndef GUARD_TRADE_H #define GUARD_TRADE_H +#include "link_rfu.h" + // Exported type declarations // Exported RAM declarations @@ -10,5 +12,8 @@ s32 sub_807A728(void); void sub_80773AC(void); void sub_807AE50(void); +int sub_807A8D0(u32 /* probably wrong */, u16, u16, u8); +int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); +int sub_807A918(struct Pokemon*, u16); #endif //GUARD_TRADE_H diff --git a/include/window.h b/include/window.h index 692ca1d81..25573ac3e 100644 --- a/include/window.h +++ b/include/window.h @@ -61,10 +61,10 @@ void ScrollWindow(u8 windowId, u8 direction, u8 distance, u8 fillValue); void CallWindowFunction(u8 windowId, void ( *func)(u8, u8, u8, u8, u8, u8)); bool8 SetWindowAttribute(u8 windowId, u8 attributeId, u32 value); u32 GetWindowAttribute(u8 windowId, u8 attributeId); -u16 AddWindow8Bit(struct WindowTemplate *template); -u16 AddWindow8Bit(struct WindowTemplate *template); +u16 AddWindow8Bit(const struct WindowTemplate *template); +void FillWindowPixelBuffer8Bit(u8 windowId, u8 fillValue); void FillWindowPixelRect8Bit(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height); -void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum); +void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum); void CopyWindowToVram8Bit(u8 windowId, u8 mode); extern struct Window gWindows[]; diff --git a/ld_script.txt b/ld_script.txt index c04d6b0cc..30c7327a5 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -127,7 +127,6 @@ SECTIONS { src/pokedex.o(.text); asm/trainer_card.o(.text); src/pokemon_storage_system.o(.text); - asm/pokemon_storage_system.o(.text); src/pokemon_icon.o(.text); src/script_movement.o(.text); src/fldeff_cut.o(.text); @@ -152,7 +151,7 @@ SECTIONS { src/script_pokemon_util_80F87D8.o(.text); src/field_poison.o(.text); src/pokemon_size_record.o(.text); - asm/fldeff_80F9BCC.o(.text); + src/fldeff_misc.o(.text); src/field_special_scene.o(.text); src/rotating_gate.o(.text); src/safari_zone.o(.text); @@ -160,19 +159,19 @@ SECTIONS { src/item_use.o(.text); src/battle_anim_effects_1.o(.text); src/battle_anim_effects_2.o(.text); - asm/water.o(.text); + src/water.o(.text); src/fire.o(.text); src/electric.o(.text); - asm/ice.o(.text); + src/ice.o(.text); src/fight.o(.text); src/poison.o(.text); asm/flying.o(.text); - asm/psychic.o(.text); + src/psychic.o(.text); src/bug.o(.text); src/rock.o(.text); src/ghost.o(.text); src/dragon.o(.text); - asm/dark.o(.text); + src/dark.o(.text); src/ground.o(.text); src/normal.o(.text); src/battle_anim_utility_funcs.o(.text); @@ -195,7 +194,8 @@ SECTIONS { src/trader.o(.text); src/starter_choose.o(.text); src/wallclock.o(.text); - src/rom6.o(.text); + src/fldeff_rocksmash.o(.text); + src/fldeff_dig.o(.text); src/pokeblock.o(.text); src/fldeff_flash.o(.text); src/post_battle_event_funcs.o(.text); @@ -278,7 +278,7 @@ SECTIONS { src/dynamic_placeholder_text_util.o(.text); src/save_location.o(.text); src/item_icon.o(.text); - asm/party_menu.o(.text); + src/party_menu.o(.text); src/battle_tent.o(.text); src/unk_text_util_2.o(.text); src/multiboot.o(.text); @@ -405,7 +405,6 @@ SECTIONS { src/data2b.o(.rodata); src/battle_data.o(.rodata); src/battle_bg.o(.rodata); - data/data2c.o(.rodata); src/battle_main.o(.rodata); src/battle_util.o(.rodata); src/battle_script_commands.o(.rodata); @@ -460,7 +459,6 @@ SECTIONS { src/pokedex.o(.rodata); data/trainer_card.o(.rodata); src/pokemon_storage_system.o(.rodata); - data/pokemon_storage_system.o(.rodata); src/pokemon_icon.o(.rodata); src/fldeff_cut.o(.rodata); src/map_name_popup.o(.rodata); @@ -481,7 +479,7 @@ SECTIONS { data/contest_link_80F57C4.o(.rodata); src/script_pokemon_util_80F87D8.o(.rodata); src/pokemon_size_record.o(.rodata) - data/field_effect_misc.o(.rodata); + src/fldeff_misc.o(.rodata); src/field_special_scene.o(.rodata); src/rotating_gate.o(.rodata); src/item_use.o(.rodata); @@ -537,7 +535,6 @@ SECTIONS { src/cable_car.o(.rodata); src/save.o(.rodata); src/field_effect_helpers.o(.rodata); - data/field_effect_helpers.o(.rodata); src/contest_ai.o(.rodata); src/battle_controller_safari.o(.rodata); src/battle_anim_effects_3.o(.rodata); @@ -587,7 +584,7 @@ SECTIONS { src/list_menu.o(.rodata); src/save_location.o(.rodata); src/item_icon.o(.rodata); - data/party_menu.o(.rodata); + src/party_menu.o(.rodata); src/battle_tent.o(.rodata); src/unk_text_util_2.o(.rodata); src/unk_81BAD84.o(.rodata); @@ -604,7 +601,6 @@ SECTIONS { src/rayquaza_scene.o(.rodata); src/walda_phrase.o(.rodata); src/gym_leader_rematch.o(.rodata); - data/unk_transition.o(.rodata); src/unk_transition.o(.rodata); data/text_input_strings.o(.rodata); data/fonts.o(.rodata); diff --git a/src/battle_anim.c b/src/battle_anim.c index 88c548208..d1550f31e 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -1605,8 +1605,8 @@ static void ScriptCmd_loadspritegfx(void) sBattleAnimScriptPtr++; index = T1_READ_16(sBattleAnimScriptPtr); - LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)]); - LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(index)]); + LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)]); + LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(index)]); sBattleAnimScriptPtr += 2; AddSpriteIndex(GET_TRUE_SPRITE_INDEX(index)); gAnimFramesToWait = 1; @@ -1671,7 +1671,11 @@ static void ScriptCmd_createsprite(void) if (subpriority < 3) subpriority = 3; - CreateSpriteAndAnimate(template, GetBattlerSpriteCoord(gBattleAnimTarget, 2), GetBattlerSpriteCoord(gBattleAnimTarget, 3), subpriority); + CreateSpriteAndAnimate( + template, + GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2), + GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET), + subpriority); gAnimVisualTaskCount++; } @@ -1866,7 +1870,7 @@ static void ScriptCmd_monbg(void) else toBG_2 = TRUE; - sub_80A438C(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); taskId = CreateTask(sub_80A40F4, 10); gAnimVisualTaskCount++; gTasks[taskId].data[t1_MONBG_BATTLER] = battlerId; @@ -1885,7 +1889,7 @@ static void ScriptCmd_monbg(void) else toBG_2 = TRUE; - sub_80A438C(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); taskId = CreateTask(sub_80A40F4, 10); gAnimVisualTaskCount++; gTasks[taskId].data[0] = battlerId; @@ -1918,7 +1922,7 @@ bool8 IsBattlerSpriteVisible(u8 battlerId) return FALSE; } -void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) +void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) { struct UnknownAnimStruct2 unknownStruct; u8 battlerSpriteId; @@ -2190,7 +2194,7 @@ static void ScriptCmd_monbg_22(void) else toBG_2 = TRUE; - sub_80A438C(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); } battlerId ^= BIT_FLANK; @@ -2202,7 +2206,7 @@ static void ScriptCmd_monbg_22(void) else toBG_2 = TRUE; - sub_80A438C(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); } sBattleAnimScriptPtr++; @@ -3029,12 +3033,12 @@ static void ScriptCmd_doublebattle_2D(void) { if (wantedBattler == ANIM_ATTACKER) { - r4 = sub_80A8364(gBattleAnimAttacker); + r4 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); } else { - r4 = sub_80A8364(gBattleAnimTarget); + r4 = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget); spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); } if (spriteId != 0xFF) @@ -3064,12 +3068,12 @@ static void ScriptCmd_doublebattle_2E(void) { if (wantedBattler == ANIM_ATTACKER) { - r4 = sub_80A8364(gBattleAnimAttacker); + r4 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); } else { - r4 = sub_80A8364(gBattleAnimTarget); + r4 = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget); spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); } diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c index 910845c69..f85104bc7 100644 --- a/src/battle_anim_80A5C6C.c +++ b/src/battle_anim_80A5C6C.c @@ -568,7 +568,7 @@ void TranslateSpriteOverDuration(struct Sprite *sprite) } } -void TranslateAnimLinearSimple(struct Sprite *sprite) +void AnimTranslateLinearSimple(struct Sprite *sprite) { if (sprite->data[0] > 0) { @@ -716,7 +716,9 @@ void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite) sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); } -void sub_80A6864(struct Sprite *sprite, s16 xOffset) +// Sets the initial x offset of the anim sprite depending on the horizontal orientation +// of the two involved mons. +void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset) { u16 attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X); u16 targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); @@ -749,7 +751,7 @@ void InitAnimArcTranslation(struct Sprite *sprite) bool8 TranslateAnimArc(struct Sprite *sprite) { - if (TranslateAnimLinear(sprite)) + if (AnimTranslateLinear(sprite)) return TRUE; sprite->data[7] += sprite->data[6]; sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]); @@ -758,7 +760,7 @@ bool8 TranslateAnimArc(struct Sprite *sprite) bool8 sub_80A6934(struct Sprite *sprite) { - if (TranslateAnimLinear(sprite)) + if (AnimTranslateLinear(sprite)) return TRUE; sprite->data[7] += sprite->data[6]; sprite->pos2.x += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]); @@ -773,18 +775,20 @@ void oamt_add_pos2_onto_pos1(struct Sprite *sprite) sprite->pos2.y = 0; } -void sub_80A6980(struct Sprite *sprite, bool8 a2) +void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets) { - if (!a2) + // Battle anim sprites are automatically created at the anim target's center, which + // is why there is no else clause for the "respectMonPicOffsets" check. + if (!respectMonPicOffsets) { sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X); sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y); } - sub_80A6864(sprite, gBattleAnimArgs[0]); + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; } -void InitAnimSpritePos(struct Sprite *sprite, u8 respectMonPicOffsets) +void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets) { if (!respectMonPicOffsets) { @@ -796,7 +800,7 @@ void InitAnimSpritePos(struct Sprite *sprite, u8 respectMonPicOffsets) sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); } - sub_80A6864(sprite, gBattleAnimArgs[0]); + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; } @@ -917,7 +921,7 @@ void sub_80A6BFC(struct UnknownAnimStruct2 *unk, u8 unused) unk->tilesOffset = 0; unk->unkC = 0; } - else if (sub_80A8364(gBattleAnimAttacker) == 1) + else if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) { unk->unk8 = 8; unk->bgId = 1; @@ -1058,7 +1062,7 @@ void sub_80A6F14(struct Sprite *sprite) sprite->callback(sprite); } -bool8 TranslateAnimLinear(struct Sprite *sprite) +bool8 AnimTranslateLinear(struct Sprite *sprite) { u16 v1, v2, x, y; @@ -1090,14 +1094,14 @@ bool8 TranslateAnimLinear(struct Sprite *sprite) void sub_80A6F98(struct Sprite *sprite) { - if (TranslateAnimLinear(sprite)) + if (AnimTranslateLinear(sprite)) SetCallbackToStoredInData6(sprite); } void sub_80A6FB4(struct Sprite *sprite) { sub_8039E9C(sprite); - if (TranslateAnimLinear(sprite)) + if (AnimTranslateLinear(sprite)) SetCallbackToStoredInData6(sprite); } @@ -1117,14 +1121,14 @@ void sub_80A7000(struct Sprite *sprite) sprite->callback(sprite); } -void sub_80A7028(struct Sprite *sprite) +static void InitAnimFastLinearTranslation(struct Sprite *sprite) { - int x = sprite->data[2] - sprite->data[1]; - int y = sprite->data[4] - sprite->data[3]; - bool8 x_sign = x < 0; - bool8 y_sign = y < 0; - u16 x2 = abs(x) << 4; - u16 y2 = abs(y) << 4; + int xDiff = sprite->data[2] - sprite->data[1]; + int yDiff = sprite->data[4] - sprite->data[3]; + bool8 x_sign = xDiff < 0; + bool8 y_sign = yDiff < 0; + u16 x2 = abs(xDiff) << 4; + u16 y2 = abs(yDiff) << 4; x2 /= sprite->data[0]; y2 /= sprite->data[0]; @@ -1145,16 +1149,16 @@ void sub_80A7028(struct Sprite *sprite) sprite->data[3] = 0; } -void sub_80A70C0(struct Sprite *sprite) +void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; - sub_80A7028(sprite); + InitAnimFastLinearTranslation(sprite); sprite->callback = sub_80A7144; sprite->callback(sprite); } -bool8 sub_80A70E8(struct Sprite *sprite) +bool8 AnimFastTranslateLinear(struct Sprite *sprite) { u16 v1, v2, x, y; @@ -1186,22 +1190,22 @@ bool8 sub_80A70E8(struct Sprite *sprite) void sub_80A7144(struct Sprite *sprite) { - if (sub_80A70E8(sprite)) + if (AnimFastTranslateLinear(sprite)) SetCallbackToStoredInData6(sprite); } -void sub_80A7160(struct Sprite *sprite) +void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite) { - int v1 = abs(sprite->data[2] - sprite->data[1]) << 4; - sprite->data[0] = v1 / sprite->data[0]; - sub_80A7028(sprite); + int xDiff = abs(sprite->data[2] - sprite->data[1]) << 4; + sprite->data[0] = xDiff / sprite->data[0]; + InitAnimFastLinearTranslation(sprite); } void sub_80A718C(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; - sub_80A7160(sprite); + InitAnimFastLinearTranslationWithSpeed(sprite); sprite->callback = sub_80A7144; sprite->callback(sprite); } @@ -1471,9 +1475,9 @@ void sub_80A77C8(struct Sprite *sprite) else var = FALSE; if (!gBattleAnimArgs[2]) - InitAnimSpritePos(sprite, var); + InitSpritePosToAnimAttacker(sprite, var); else - sub_80A6980(sprite, var); + InitSpritePosToAnimTarget(sprite, var); sprite->data[0]++; } @@ -1506,7 +1510,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) else coordType = BATTLER_COORD_Y; - InitAnimSpritePos(sprite, v1); + InitSpritePosToAnimAttacker(sprite, v1); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; @@ -1519,7 +1523,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) void sub_80A78AC(struct Sprite *sprite) { - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); if (GetBattlerSide(gBattleAnimAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; @@ -1553,17 +1557,17 @@ void sub_80A7938(struct Sprite *sprite) } if (!gBattleAnimArgs[5]) { - InitAnimSpritePos(sprite, r4); + InitSpritePosToAnimAttacker(sprite, r4); battlerId = gBattleAnimAttacker; } else { - sub_80A6980(sprite, r4); + InitSpritePosToAnimTarget(sprite, r4); battlerId = gBattleAnimTarget; } if (GetBattlerSide(gBattleAnimAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - sub_80A6980(sprite, r4); + InitSpritePosToAnimTarget(sprite, r4); sprite->data[0] = gBattleAnimArgs[4]; sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; sprite->data[4] = GetBattlerSpriteCoord(battlerId, attributeId) + gBattleAnimArgs[3]; @@ -2006,7 +2010,7 @@ u8 GetBattlerSpriteSubpriority(u8 battlerId) return subpriority; } -u8 sub_80A8328(u8 battlerId) +u8 GetBattlerSpriteBGPriority(u8 battlerId) { u8 position = GetBattlerPosition(battlerId); @@ -2018,7 +2022,7 @@ u8 sub_80A8328(u8 battlerId) return GetAnimBgAttribute(1, BG_ANIM_PRIORITY); } -u8 sub_80A8364(u8 battlerId) +u8 GetBattlerSpriteBGPriorityRank(u8 battlerId) { if (!IsContest()) { @@ -2229,36 +2233,38 @@ s16 sub_80A861C(u8 battlerId, u8 a2) } } -void SetAverageBattlerPositions(u8 battlerId, bool8 a2, s16 *x, s16 *y) +void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y) { - u8 v1, v2; - s16 v3, v4; - s16 v5, v6; + u8 xCoordType, yCoordType; + s16 battlerX, battlerY; + s16 partnerX, partnerY; - if (!a2) + if (!respectMonPicOffsets) { - v1 = 0; - v2 = 1; + xCoordType = BATTLER_COORD_X; + yCoordType = BATTLER_COORD_Y; } else { - v1 = 2; - v2 = 3; + xCoordType = BATTLER_COORD_X_2; + yCoordType = BATTLER_COORD_Y_PIC_OFFSET; } - v3 = GetBattlerSpriteCoord(battlerId, v1); - v4 = GetBattlerSpriteCoord(battlerId, v2); + + battlerX = GetBattlerSpriteCoord(battlerId, xCoordType); + battlerY = GetBattlerSpriteCoord(battlerId, yCoordType); if (IsDoubleBattle() && !IsContest()) { - v5 = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), v1); - v6 = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), v2); + partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), xCoordType); + partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), yCoordType); } else { - v5 = v3; - v6 = v4; + partnerX = battlerX; + partnerY = battlerY; } - *x = (v3 + v5) / 2; - *y = (v4 + v6) / 2; + + *x = (battlerX + partnerX) / 2; + *y = (battlerY + partnerY) / 2; } u8 sub_80A89C8(int battlerId, u8 spriteId, int species) diff --git a/src/battle_anim_80A9C70.c b/src/battle_anim_80A9C70.c index 2eea276a1..001f99d7f 100644 --- a/src/battle_anim_80A9C70.c +++ b/src/battle_anim_80A9C70.c @@ -71,8 +71,8 @@ u8 sub_80A9C70(u8 battlerId, bool8 b) u8 spriteId2; u8 i; - LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]); - LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]); + LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]); + LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]); gTasks[taskId].data[0] = battlerId; if (b) { diff --git a/src/battle_anim_8170478.c b/src/battle_anim_8170478.c index 34898899c..502c4cdbb 100755 --- a/src/battle_anim_8170478.c +++ b/src/battle_anim_8170478.c @@ -1376,8 +1376,8 @@ static void sub_8171D60(u8 ballId) if (GetSpriteTileStartByTag(gBallOpenParticleSpritesheets[ballId].tag) == 0xFFFF) { - LoadCompressedObjectPicUsingHeap(&gBallOpenParticleSpritesheets[ballId]); - LoadCompressedObjectPaletteUsingHeap(&gBallOpenParticlePalettes[ballId]); + LoadCompressedSpriteSheetUsingHeap(&gBallOpenParticleSpritesheets[ballId]); + LoadCompressedSpritePaletteUsingHeap(&gBallOpenParticlePalettes[ballId]); } } @@ -1971,7 +1971,7 @@ void sub_8172D98(u8 taskId) switch (gTasks[taskId].data[15]) { case 0: - if (sub_80A8364(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT) + if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT) SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); else SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); @@ -2032,8 +2032,8 @@ void sub_8172EF0(u8 battler, struct Pokemon *mon) { if (GetSpriteTileStartByTag(0x27F9) == 0xFFFF) { - LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[233]); - LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[233]); + LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[233]); + LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[233]); } taskId1 = CreateTask(sub_8172FEC, 10); @@ -2173,8 +2173,8 @@ void sub_81732B0(u8 taskId) { u8 paletteIndex; - LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[269]); - LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[269]); + LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[269]); + LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[269]); paletteIndex = IndexOfSpritePaletteTag(0x281D); // unused DestroyAnimVisualTask(taskId); } @@ -2188,7 +2188,7 @@ void sub_81732E4(u8 taskId) static void sub_817330C(struct Sprite *sprite) { - InitAnimSpritePos(sprite, 0); + InitSpritePosToAnimAttacker(sprite, 0); sprite->data[0] = 30; sprite->data[2] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 0) + gBattleAnimArgs[2]; sprite->data[4] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 1) + gBattleAnimArgs[3]; diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 3b1b49e34..e37d2b5b8 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -19,28 +19,28 @@ EWRAM_DATA s16 gUnknown_0203A0F8[4] = {0}; void AnimMovePowderParticle(struct Sprite *); -void sub_80FE8E0(struct Sprite *); -void sub_80FE930(struct Sprite *); -void sub_80FE988(struct Sprite *); -void sub_80FEAD8(struct Sprite *); -void sub_80FEB44(struct Sprite *); -void sub_80FED28(struct Sprite *); -void sub_80FEE78(struct Sprite *); -void sub_80FEF44(struct Sprite *); -void sub_80FEFFC(struct Sprite *); +void AnimPowerAbsorptionOrb(struct Sprite *); +void AnimSolarbeamBigOrb(struct Sprite *); +void AnimSolarbeamSmallOrb(struct Sprite *); +void AnimAbsorptionOrb(struct Sprite *); +void AnimHyperBeamOrb(struct Sprite *); +void AnimSporeParticle(struct Sprite *); +void AnimPetalDanceBigFlower(struct Sprite *); +void AnimPetalDanceSmallFlower(struct Sprite *); +void AnimRazorLeafParticle(struct Sprite *); void AnimLeechSeed(struct Sprite *); void AnimTranslateLinearSingleSineWave(struct Sprite *); void AnimMoveTwisterParticle(struct Sprite *); -void sub_80FF374(struct Sprite *); -void sub_80FF698(struct Sprite *); -void sub_80FF768(struct Sprite *); -void sub_80FF7EC(struct Sprite *); -void sub_80FF934(struct Sprite *); -void sub_80FFB18(struct Sprite *); -void sub_80FFBF4(struct Sprite *); -void sub_80FFC70(struct Sprite *); -void sub_80FFCB4(struct Sprite *); -void sub_80FFDBC(struct Sprite *); +void AnimConstrictBinding(struct Sprite *); +void AnimMimicOrb(struct Sprite *); +void AnimIngrainRoot(struct Sprite *); +void AnimFrenzyPlantRoot(struct Sprite *); +void AnimIngrainOrb(struct Sprite *); +void AnimPresent(struct Sprite *); +void AnimKnockOffItem(struct Sprite *); +void AnimPresentHealParticle(struct Sprite *); +void AnimItemSteal(struct Sprite *); +void AnimTrickBag(struct Sprite *); void sub_8100640(struct Sprite *); void sub_8100898(struct Sprite *); void sub_81009F8(struct Sprite *); @@ -79,27 +79,27 @@ void sub_8103208(struct Sprite *); void sub_8103284(struct Sprite *); void sub_8103390(struct Sprite *); static void AnimMovePowderParticleStep(struct Sprite *); -static void sub_80FE9E4(struct Sprite *); -static void sub_80FEB28(struct Sprite *); -static void sub_80FEBFC(struct Sprite *); +static void AnimSolarbeamSmallOrbStep(struct Sprite *); +static void AnimAbsorptionOrbStep(struct Sprite *); +static void AnimHyperBeamOrbStep(struct Sprite *); static void AnimLeechSeedStep(struct Sprite *); static void AnimLeechSeedSprouts(struct Sprite *); -static void sub_80FED74(struct Sprite *); -static void sub_80FEECC(struct Sprite *); -static void sub_80FEF98(struct Sprite *); -static void sub_80FF044(struct Sprite *); -static void sub_80FF090(struct Sprite *); +static void AnimSporeParticleStep(struct Sprite *); +static void AnimPetalDanceBigFlowerStep(struct Sprite *); +static void AnimPetalDanceSmallFlowerStep(struct Sprite *); +static void AnimRazorLeafParticleStep1(struct Sprite *); +static void AnimRazorLeafParticleStep2(struct Sprite *); static void AnimTranslateLinearSingleSineWaveStep(struct Sprite *); static void AnimMoveTwisterParticleStep(struct Sprite *); -static void sub_80FF3B0(struct Sprite *); -static void sub_80FF3EC(struct Sprite *); +static void AnimConstrictBindingStep1(struct Sprite *); +static void AnimConstrictBindingStep2(struct Sprite *); static void sub_80FF53C(u8); static void sub_80FF5CC(u8); -static void sub_80FFD2C(struct Sprite *); -static void sub_80FF8DC(struct Sprite *); -static void sub_80FFE58(struct Sprite *); -static void sub_80FFEC4(struct Sprite *); -static void sub_80FFF7C(struct Sprite *); +static void AnimItemStealStep(struct Sprite *); +static void AnimRootFlickerOut(struct Sprite *); +static void AnimTrickBagStep1(struct Sprite *); +static void AnimTrickBagStep2(struct Sprite *); +static void AnimTrickBagStep3(struct Sprite *); static void sub_8100128(u8); static s16 sub_8100504(struct Sprite *); static void sub_8100524(struct Task *, u8); @@ -285,7 +285,7 @@ const union AffineAnimCmd *const gUnknown_085921DC[] = { gUnknown_085921CC, }; -const struct SpriteTemplate gUnknown_085921E0 = +const struct SpriteTemplate gPowerAbsorptionOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, @@ -293,10 +293,10 @@ const struct SpriteTemplate gUnknown_085921E0 = .anims = gUnknown_085921C8, .images = NULL, .affineAnims = gUnknown_085921DC, - .callback = sub_80FE8E0, + .callback = AnimPowerAbsorptionOrb, }; -const struct SpriteTemplate gUnknown_085921F8 = +const struct SpriteTemplate gSolarbeamBigOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, @@ -304,10 +304,10 @@ const struct SpriteTemplate gUnknown_085921F8 = .anims = gUnknown_085921A8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80FE930, + .callback = AnimSolarbeamBigOrb, }; -const struct SpriteTemplate gUnknown_08592210 = +const struct SpriteTemplate gSolarbeamSmallOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, @@ -315,7 +315,7 @@ const struct SpriteTemplate gUnknown_08592210 = .anims = gUnknown_085921C4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80FE988, + .callback = AnimSolarbeamSmallOrb, }; const union AffineAnimCmd gUnknown_08592228[] = { @@ -328,7 +328,7 @@ const union AffineAnimCmd *const gUnknown_08592240[] = { gUnknown_08592228, }; -const struct SpriteTemplate gUnknown_08592244 = +const struct SpriteTemplate gStockpileAbsorptionOrbSpriteTemplate = { .tileTag = ANIM_TAG_GRAY_ORB, .paletteTag = ANIM_TAG_GRAY_ORB, @@ -336,7 +336,7 @@ const struct SpriteTemplate gUnknown_08592244 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08592240, - .callback = sub_80FE8E0, + .callback = AnimPowerAbsorptionOrb, }; const union AffineAnimCmd gUnknown_0859225C[] = { @@ -348,7 +348,7 @@ const union AffineAnimCmd *const gUnknown_0859226C[] = { gUnknown_0859225C, }; -const struct SpriteTemplate gUnknown_08592270 = +const struct SpriteTemplate gAbsorptionOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, @@ -356,10 +356,10 @@ const struct SpriteTemplate gUnknown_08592270 = .anims = gUnknown_085921C8, .images = NULL, .affineAnims = gUnknown_0859226C, - .callback = sub_80FEAD8, + .callback = AnimAbsorptionOrb, }; -const struct SpriteTemplate gUnknown_08592288 = +const struct SpriteTemplate gHyperBeamOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, @@ -367,7 +367,7 @@ const struct SpriteTemplate gUnknown_08592288 = .anims = gUnknown_085921A8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80FEB44, + .callback = AnimHyperBeamOrb, }; const union AnimCmd gUnknown_085922A0[] = @@ -418,7 +418,7 @@ const union AnimCmd *const gUnknown_085922E4[] = gUnknown_085922DC, }; -const struct SpriteTemplate gUnknown_085922EC = +const struct SpriteTemplate gSporeParticleSpriteTemplate = { .tileTag = ANIM_TAG_SPORE, .paletteTag = ANIM_TAG_SPORE, @@ -426,7 +426,7 @@ const struct SpriteTemplate gUnknown_085922EC = .anims = gUnknown_085922E4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80FED28, + .callback = AnimSporeParticle, }; const union AnimCmd gUnknown_08592304[] = @@ -451,7 +451,7 @@ const union AnimCmd *const gUnknown_08592318[] = gUnknown_0859230C, }; -const struct SpriteTemplate gUnknown_0859231C = +const struct SpriteTemplate gPetalDanceBigFlowerSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, @@ -459,10 +459,10 @@ const struct SpriteTemplate gUnknown_0859231C = .anims = gUnknown_08592314, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80FEE78, + .callback = AnimPetalDanceBigFlower, }; -const struct SpriteTemplate gUnknown_08592334 = +const struct SpriteTemplate gPetalDanceSmallFlowerSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, @@ -470,7 +470,7 @@ const struct SpriteTemplate gUnknown_08592334 = .anims = gUnknown_08592318, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80FEF44, + .callback = AnimPetalDanceSmallFlower, }; const union AnimCmd gUnknown_0859234C[] = @@ -502,7 +502,7 @@ const union AnimCmd *const gUnknown_08592388[] = gUnknown_08592378, }; -const struct SpriteTemplate gUnknown_08592390 = +const struct SpriteTemplate gRazorLeafParticleSpriteTemplate = { .tileTag = ANIM_TAG_LEAF, .paletteTag = ANIM_TAG_LEAF, @@ -510,10 +510,10 @@ const struct SpriteTemplate gUnknown_08592390 = .anims = gUnknown_08592388, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80FEFFC, + .callback = AnimRazorLeafParticle, }; -const struct SpriteTemplate gUnknown_085923A8 = +const struct SpriteTemplate gTwisterLeafParticleSpriteTemplate = { .tileTag = ANIM_TAG_LEAF, .paletteTag = ANIM_TAG_LEAF, @@ -538,7 +538,7 @@ const union AnimCmd *const gUnknown_085923D4[] = gUnknown_085923C0, }; -const struct SpriteTemplate gUnknown_085923D8 = +const struct SpriteTemplate gRazorLeafCutterSpriteTemplate = { .tileTag = ANIM_TAG_RAZOR_LEAF, .paletteTag = ANIM_TAG_RAZOR_LEAF, @@ -594,14 +594,14 @@ const union AnimCmd *const gUnknown_08592444[] = }; const union AffineAnimCmd gUnknown_0859244C[] = { - AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(-11, 0, 0, 6), AFFINEANIMCMD_FRAME(11, 0, 0, 6), AFFINEANIMCMD_END, }; const union AffineAnimCmd gUnknown_0859246C[] = { - AFFINEANIMCMD_FRAME(-256, 256, 0, 0), + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(11, 0, 0, 6), AFFINEANIMCMD_FRAME(-11, 0, 0, 6), AFFINEANIMCMD_END, @@ -612,7 +612,7 @@ const union AffineAnimCmd *const gUnknown_0859248C[] = { gUnknown_0859246C, }; -const struct SpriteTemplate gUnknown_08592494 = +const struct SpriteTemplate gConstrictBindingSpriteTemplate = { .tileTag = ANIM_TAG_TENDRILS, .paletteTag = ANIM_TAG_TENDRILS, @@ -620,7 +620,7 @@ const struct SpriteTemplate gUnknown_08592494 = .anims = gUnknown_08592444, .images = NULL, .affineAnims = gUnknown_0859248C, - .callback = sub_80FF374, + .callback = AnimConstrictBinding, }; const union AffineAnimCmd gUnknown_085924AC[] = { @@ -639,7 +639,7 @@ const union AffineAnimCmd *const gUnknown_085924D4[] = { gUnknown_085924C4, }; -const struct SpriteTemplate gUnknown_085924DC = +const struct SpriteTemplate gMimicOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, @@ -647,7 +647,7 @@ const struct SpriteTemplate gUnknown_085924DC = .anims = gUnknown_085921C8, .images = NULL, .affineAnims = gUnknown_085924D4, - .callback = sub_80FF698, + .callback = AnimMimicOrb, }; const union AnimCmd gUnknown_085924F4[] = @@ -692,7 +692,7 @@ const union AnimCmd *const gUnknown_0859253C[] = gUnknown_0859252C, }; -const struct SpriteTemplate gUnknown_0859254C = +const struct SpriteTemplate gIngrainRootSpriteTemplate = { .tileTag = ANIM_TAG_ROOTS, .paletteTag = ANIM_TAG_ROOTS, @@ -700,10 +700,10 @@ const struct SpriteTemplate gUnknown_0859254C = .anims = gUnknown_0859253C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80FF768, + .callback = AnimIngrainRoot, }; -const struct SpriteTemplate gUnknown_08592564 = +const struct SpriteTemplate gFrenzyPlantRootSpriteTemplate = { .tileTag = ANIM_TAG_ROOTS, .paletteTag = ANIM_TAG_ROOTS, @@ -711,7 +711,7 @@ const struct SpriteTemplate gUnknown_08592564 = .anims = gUnknown_0859253C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80FF7EC, + .callback = AnimFrenzyPlantRoot, }; const union AnimCmd gUnknown_0859257C[] = @@ -726,7 +726,7 @@ const union AnimCmd *const gUnknown_08592588[] = gUnknown_0859257C, }; -const struct SpriteTemplate gUnknown_0859258C = +const struct SpriteTemplate gIngrainOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, @@ -734,7 +734,7 @@ const struct SpriteTemplate gUnknown_0859258C = .anims = gUnknown_08592588, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80FF934, + .callback = AnimIngrainOrb, }; const union AnimCmd gUnknown_085925A4[] = @@ -770,7 +770,7 @@ const union AffineAnimCmd *const gUnknown_08592608[] = { gUnknown_085925D0, }; -const struct SpriteTemplate gUnknown_08592610 = +const struct SpriteTemplate gPresentSpriteTemplate = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, @@ -778,10 +778,10 @@ const struct SpriteTemplate gUnknown_08592610 = .anims = gUnknown_085925AC, .images = NULL, .affineAnims = gUnknown_08592608, - .callback = sub_80FFB18, + .callback = AnimPresent, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8592628 = +const struct SpriteTemplate gKnockOffItemSpriteTemplate = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, @@ -789,7 +789,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8592628 = .anims = gUnknown_085925AC, .images = NULL, .affineAnims = gUnknown_08592608, - .callback = sub_80FFBF4, + .callback = AnimKnockOffItem, }; const union AnimCmd gUnknown_08592640[] = @@ -806,7 +806,7 @@ const union AnimCmd *const gUnknown_08592654[] = gUnknown_08592640, }; -const struct SpriteTemplate gUnknown_08592658 = +const struct SpriteTemplate gPresentHealParticleSpriteTemplate = { .tileTag = ANIM_TAG_GREEN_SPARKLE, .paletteTag = ANIM_TAG_GREEN_SPARKLE, @@ -814,10 +814,10 @@ const struct SpriteTemplate gUnknown_08592658 = .anims = gUnknown_08592654, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80FFC70, + .callback = AnimPresentHealParticle, }; -const struct SpriteTemplate gUnknown_08592670 = +const struct SpriteTemplate gItemStealSpriteTemplate = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, @@ -825,7 +825,7 @@ const struct SpriteTemplate gUnknown_08592670 = .anims = gUnknown_085925AC, .images = NULL, .affineAnims = gUnknown_08592608, - .callback = sub_80FFCB4, + .callback = AnimItemSteal, }; const union AffineAnimCmd gUnknown_08592688[] = { @@ -851,7 +851,7 @@ const union AffineAnimCmd *const gUnknown_085926D8[] = { gUnknown_085925D0, }; -const struct SpriteTemplate gUnknown_085926E8 = +const struct SpriteTemplate gTrickBagSpriteTemplate = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, @@ -859,7 +859,7 @@ const struct SpriteTemplate gUnknown_085926E8 = .anims = gUnknown_085925AC, .images = NULL, .affineAnims = gUnknown_085926D8, - .callback = sub_80FFDBC, + .callback = AnimTrickBag, }; const s8 gUnknown_08592700[][3] = @@ -2219,44 +2219,59 @@ static void AnimMovePowderParticleStep(struct Sprite* sprite) } } -void sub_80FE8E0(struct Sprite* sprite) +// Moves an energy orb towards the center of the mon. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: duration +void AnimPowerAbsorptionOrb(struct Sprite* sprite) { - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->callback = StartAnimLinearTranslation; StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -void sub_80FE930(struct Sprite* sprite) +// Moves an orb in a straight line towards the target mon. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: duration +// arg 3: sprite anim number +void AnimSolarbeamBigOrb(struct Sprite* sprite) { - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); StartSpriteAnim(sprite, gBattleAnimArgs[3]); sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); sprite->callback = StartAnimLinearTranslation; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_80FE988(struct Sprite* sprite) +// Moves a small orb in a wavy pattern towards the target mon. +// The small orb "circles" the big orbs in AnimSolarbeamBigOrb. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: duration +// arg 3: initial wave offset +void AnimSolarbeamSmallOrb(struct Sprite* sprite) { - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); InitAnimLinearTranslation(sprite); sprite->data[5] = gBattleAnimArgs[3]; - sprite->callback = sub_80FE9E4; + sprite->callback = AnimSolarbeamSmallOrbStep; sprite->callback(sprite); } -static void sub_80FE9E4(struct Sprite* sprite) +static void AnimSolarbeamSmallOrbStep(struct Sprite* sprite) { - if (TranslateAnimLinear(sprite)) + if (AnimTranslateLinear(sprite)) { DestroySprite(sprite); } @@ -2273,10 +2288,12 @@ static void sub_80FE9E4(struct Sprite* sprite) } } -void sub_80FEA58(u8 taskId) +// Creates 15 small secondary orbs used in the solarbeam anim effect. +// There is a 7-frame delay between each of them. +// No args. +void AnimTask_CreateSmallSolarbeamOrbs(u8 taskId) { - gTasks[taskId].data[0]--; - if (gTasks[taskId].data[0] == -1) + if (--gTasks[taskId].data[0] == -1) { gTasks[taskId].data[1]++; gTasks[taskId].data[0] = 6; @@ -2284,63 +2301,66 @@ void sub_80FEA58(u8 taskId) gBattleAnimArgs[1] = 0; gBattleAnimArgs[2] = 80; gBattleAnimArgs[3] = 0; - CreateSpriteAndAnimate(&gUnknown_08592210, 0, 0, GetBattlerSpriteSubpriority(gBattleAnimTarget) + 1); + CreateSpriteAndAnimate(&gSolarbeamSmallOrbSpriteTemplate, 0, 0, GetBattlerSpriteSubpriority(gBattleAnimTarget) + 1); } if (gTasks[taskId].data[1] == 15) DestroyAnimVisualTask(taskId); } -void sub_80FEAD8(struct Sprite* sprite) +// Moves an orb from the target mon to the attacking mon in an arc-like fashion. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: wave amplitude +// arg 3: wave period (lower means faster wave) +void AnimAbsorptionOrb(struct Sprite* sprite) { - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[3]; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->data[5] = gBattleAnimArgs[2]; InitAnimArcTranslation(sprite); - sprite->callback = sub_80FEB28; + sprite->callback = AnimAbsorptionOrbStep; } -static void sub_80FEB28(struct Sprite* sprite) +static void AnimAbsorptionOrbStep(struct Sprite* sprite) { if (TranslateAnimArc(sprite)) DestroyAnimSprite(sprite); } -void sub_80FEB44(struct Sprite* sprite) +// Moves an orb in a wave-like fashion towards the target mon. The wave's +// properties and the sprite anim are randomly determined. +void AnimHyperBeamOrb(struct Sprite* sprite) { - u16 a = Random2(); - u16 b; + u16 speed; + u16 animNum = Random2(); - StartSpriteAnim(sprite, a & 7); - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); - if (GetBattlerSide(gBattleAnimAttacker)) - { + StartSpriteAnim(sprite, animNum % 8); + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) sprite->pos1.x -= 20; - } else - { sprite->pos1.x += 20; - } - b = Random2(); - sprite->data[0] = (b & 31) + 64; + speed = Random2(); + sprite->data[0] = (speed & 31) + 64; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - sub_80A7160(sprite); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); + InitAnimFastLinearTranslationWithSpeed(sprite); sprite->data[5] = Random2() & 0xFF; sprite->data[6] = sprite->subpriority; - sprite->callback = sub_80FEBFC; + sprite->callback = AnimHyperBeamOrbStep; sprite->callback(sprite); } -static void sub_80FEBFC(struct Sprite* sprite) +static void AnimHyperBeamOrbStep(struct Sprite* sprite) { - if (sub_80A70E8(sprite)) + if (AnimFastTranslateLinear(sprite)) { DestroyAnimSprite(sprite); } @@ -2352,7 +2372,8 @@ static void sub_80FEBFC(struct Sprite* sprite) else sprite->subpriority = sprite->data[6] + 1; - sprite->data[5] = (sprite->data[5] + 24) & 0xFF; + sprite->data[5] += 24; + sprite->data[5] &= 0xFF; } } @@ -2366,13 +2387,13 @@ static void sub_80FEBFC(struct Sprite* sprite) // arg 5: wave amplitude void AnimLeechSeed(struct Sprite* sprite) { - InitAnimSpritePos(sprite, 1); - if (GetBattlerSide(gBattleAnimAttacker)) + InitSpritePosToAnimAttacker(sprite, TRUE); + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; InitAnimArcTranslation(sprite); sprite->callback = AnimLeechSeedStep; @@ -2398,42 +2419,54 @@ static void AnimLeechSeedSprouts(struct Sprite* sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_80FED28(struct Sprite* sprite) +// Moves a spore particle in a halo around the target mon. +// The sprite's priority is updated to give the effect of going +// behind the mon's sprite. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: initial wave offset +// arg 3: duration +// arg 4: blend (0 = off, 1 = on) +void AnimSporeParticle(struct Sprite* sprite) { - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); StartSpriteAnim(sprite, gBattleAnimArgs[4]); if (gBattleAnimArgs[4] == 1) sprite->oam.objMode = ST_OAM_OBJ_BLEND; sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = gBattleAnimArgs[2]; - sprite->callback = sub_80FED74; + sprite->callback = AnimSporeParticleStep; sprite->callback(sprite); } -static void sub_80FED74(struct Sprite* sprite) +static void AnimSporeParticleStep(struct Sprite* sprite) { sprite->pos2.x = Sin(sprite->data[1], 32); sprite->pos2.y = Cos(sprite->data[1], -3) + ((sprite->data[2] += 24) >> 8); if ((u16)(sprite->data[1] - 0x40) < 0x80) { - sprite->oam.priority = (sub_80A8328(gBattleAnimTarget) & 3); + sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget); } else { - u8 priority = sub_80A8328(gBattleAnimTarget) + 1; + u8 priority = GetBattlerSpriteBGPriority(gBattleAnimTarget) + 1; if (priority > 3) priority = 3; sprite->oam.priority = priority; } - sprite->data[1] = (sprite->data[1] + 2) & 0xFF; + sprite->data[1] += 2; + sprite->data[1] &= 0xFF; if (--sprite->data[0] == -1) DestroyAnimSprite(sprite); } -void sub_80FEE1C(u8 taskId) +// In a double battle, Updates the mon sprite background priorities to allow +// the circling effect controlled by AnimSporeParticle. +// No args. +void AnimTask_SporeDoubleBattle(u8 taskId) { if (IsContest() || !IsDoubleBattle()) { @@ -2441,7 +2474,7 @@ void sub_80FEE1C(u8 taskId) } else { - if (sub_80A8364(gBattleAnimTarget) == 1) + if (GetBattlerSpriteBGPriorityRank(gBattleAnimTarget) == 1) SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 3); else SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); @@ -2450,23 +2483,29 @@ void sub_80FEE1C(u8 taskId) } } -void sub_80FEE78(struct Sprite* sprite) +// Rotates a big flower around the attacking mon, and slowly floats +// downward. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: target y pixel offset +// arg 3: duration +void AnimPetalDanceBigFlower(struct Sprite* sprite) { - InitAnimSpritePos(sprite, 0); + InitSpritePosToAnimAttacker(sprite, FALSE); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2]; InitAnimLinearTranslation(sprite); sprite->data[5] = 0x40; - sprite->callback = sub_80FEECC; + sprite->callback = AnimPetalDanceBigFlowerStep; sprite->callback(sprite); } -static void sub_80FEECC(struct Sprite* sprite) +static void AnimPetalDanceBigFlowerStep(struct Sprite* sprite) { - if (!TranslateAnimLinear(sprite)) + if (!AnimTranslateLinear(sprite)) { sprite->pos2.x += Sin(sprite->data[5], 32); sprite->pos2.y += Cos(sprite->data[5], -5); @@ -2483,9 +2522,14 @@ static void sub_80FEECC(struct Sprite* sprite) } } -void sub_80FEF44(struct Sprite* sprite) +// Slowly floats a small flower downard, while swaying from right to left. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: target y pixel offset +// arg 3: duration +void AnimPetalDanceSmallFlower(struct Sprite* sprite) { - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x; @@ -2493,19 +2537,20 @@ void sub_80FEF44(struct Sprite* sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2]; InitAnimLinearTranslation(sprite); sprite->data[5] = 0x40; - sprite->callback = sub_80FEF98; + sprite->callback = AnimPetalDanceSmallFlowerStep; sprite->callback(sprite); } -static void sub_80FEF98(struct Sprite* sprite) +static void AnimPetalDanceSmallFlowerStep(struct Sprite* sprite) { - if (!TranslateAnimLinear(sprite)) + if (!AnimTranslateLinear(sprite)) { sprite->pos2.x += Sin(sprite->data[5], 8); if ((u16)(sprite->data[5] - 59) < 5 || (u16)(sprite->data[5] - 187) < 5) - sprite->oam.matrixNum ^= 0x8; + sprite->oam.matrixNum ^= 0x8; // horizontal flip - sprite->data[5] = (sprite->data[5] + 5) & 0xFF; + sprite->data[5] += 5; + sprite->data[5] &= 0xFF; } else { @@ -2513,17 +2558,21 @@ static void sub_80FEF98(struct Sprite* sprite) } } -void sub_80FEFFC(struct Sprite* sprite) +// Shoots a leaf upward, then floats it downward while swaying back and forth. +// arg 0: upward x delta per frame +// arg 1: upward y delta per frame +// arg 2: upward duration +void AnimRazorLeafParticle(struct Sprite* sprite) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = gBattleAnimArgs[2]; - sprite->callback = sub_80FF044; + sprite->callback = AnimRazorLeafParticleStep1; } -static void sub_80FF044(struct Sprite* sprite) +static void AnimRazorLeafParticleStep1(struct Sprite* sprite) { if (!sprite->data[2]) { @@ -2535,11 +2584,11 @@ static void sub_80FF044(struct Sprite* sprite) } else { - sprite->data[0] = sprite->data[1] & 1; - sprite->data[1] = sprite->data[1] & 1; - sprite->data[2] = sprite->data[1] & 1; + sprite->data[0] = 0; + sprite->data[1] = 0; + sprite->data[2] = 0; } - sprite->callback = sub_80FF090; + sprite->callback = AnimRazorLeafParticleStep2; } else { @@ -2549,14 +2598,15 @@ static void sub_80FF044(struct Sprite* sprite) } } -static void sub_80FF090(struct Sprite* sprite) +static void AnimRazorLeafParticleStep2(struct Sprite* sprite) { if (GetBattlerSide(gBattleAnimAttacker)) sprite->pos2.x = -Sin(sprite->data[0], 25); else sprite->pos2.x = Sin(sprite->data[0], 25); - sprite->data[0] = (sprite->data[0] + 2) & 0xFF; + sprite->data[0] += 2; + sprite->data[0] &= 0xFF; sprite->data[1]++; if (!(sprite->data[1] & 1)) sprite->pos2.y++; @@ -2577,19 +2627,19 @@ static void sub_80FF090(struct Sprite* sprite) // arg 6: target between double battle opponents (boolean) void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) { - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; if (!gBattleAnimArgs[6]) { - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; } else { - SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]); + SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->data[2], &sprite->data[4]); sprite->data[2] += gBattleAnimArgs[2]; sprite->data[4] += gBattleAnimArgs[3]; } @@ -2676,38 +2726,45 @@ static void AnimMoveTwisterParticleStep(struct Sprite* sprite) sprite->pos2.x = Cos(sprite->data[5], sprite->data[3]); sprite->pos2.y = Sin(sprite->data[5], 5); if (sprite->data[5] < 0x80) - sprite->oam.priority = sub_80A8328(gBattleAnimTarget) - 1; + sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget) - 1; else - sprite->oam.priority = sub_80A8328(gBattleAnimTarget) + 1; + sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget) + 1; if (--sprite->data[0] == 0) DestroyAnimSprite(sprite); } -void sub_80FF374(struct Sprite* sprite) +// Squeezes a constricting "rope" several times via affine animations. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: affine anim num +// arg 3: num squeezes +void AnimConstrictBinding(struct Sprite* sprite) { - sub_80A6980(sprite, FALSE); + InitSpritePosToAnimTarget(sprite, FALSE); sprite->affineAnimPaused = 1; StartSpriteAffineAnim(sprite, gBattleAnimArgs[2]); sprite->data[6] = gBattleAnimArgs[2]; sprite->data[7] = gBattleAnimArgs[3]; - sprite->callback = sub_80FF3B0; + sprite->callback = AnimConstrictBindingStep1; } -static void sub_80FF3B0(struct Sprite* sprite) +static void AnimConstrictBindingStep1(struct Sprite* sprite) { + u8 spriteId; + if ((u16)gBattleAnimArgs[7] == 0xFFFF) { sprite->affineAnimPaused = 0; - GetAnimBattlerSpriteId(1); + spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); sprite->data[0] = 0x100; - sprite->callback = sub_80FF3EC; + sprite->callback = AnimConstrictBindingStep2; } } -static void sub_80FF3EC(struct Sprite* sprite) +static void AnimConstrictBindingStep2(struct Sprite* sprite) { - GetAnimBattlerSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); if (!sprite->data[2]) sprite->data[0] += 11; else @@ -2739,23 +2796,23 @@ void sub_80FF458(u8 taskId) { PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_BLEND); gTasks[taskId].data[14] = gSprites[spriteId].oam.priority; - gSprites[spriteId].oam.priority = sub_80A8328(gBattleAnimTarget); + gSprites[spriteId].oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget); spriteId = GetAnimBattlerSpriteId(ANIM_DEF_PARTNER); gTasks[taskId].data[15] = gSprites[spriteId].oam.priority; - gSprites[spriteId].oam.priority = sub_80A8328(BATTLE_PARTNER(gBattleAnimTarget)); + gSprites[spriteId].oam.priority = GetBattlerSpriteBGPriority(BATTLE_PARTNER(gBattleAnimTarget)); gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[1] = gBattleAnimArgs[1]; - gTasks[taskId].data[11] = 256; + gTasks[taskId].data[11] = 0x100; gTasks[taskId].func = sub_80FF53C; } } static void sub_80FF53C(u8 taskId) { - u8 spriteId = GetAnimBattlerSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); gTasks[taskId].data[10] += gTasks[taskId].data[0]; gSprites[spriteId].pos2.x = gTasks[taskId].data[10] >> 8; - if (GetBattlerSide(gBattleAnimTarget)) + if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER) gSprites[spriteId].pos2.x = -gSprites[spriteId].pos2.x; gTasks[taskId].data[11] += 16; @@ -2796,7 +2853,10 @@ static void sub_80FF5CC(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80FF698(struct Sprite* sprite) +// Moves an orb from the target mon to the attacking mon. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +void AnimMimicOrb(struct Sprite* sprite) { switch (sprite->data[0]) { @@ -2804,8 +2864,8 @@ void sub_80FF698(struct Sprite* sprite) if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) gBattleAnimArgs[0] *= -1; - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[1]; sprite->invisible = 1; sprite->data[0]++; break; @@ -2815,21 +2875,27 @@ void sub_80FF698(struct Sprite* sprite) { ChangeSpriteAffineAnim(sprite, 1); sprite->data[0] = 25; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); - sprite->callback = sub_80A70C0; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + sprite->callback = InitAndRunAnimFastLinearTranslation; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); break; } } } -void sub_80FF768(struct Sprite* sprite) +// Animates a root that flickers away after some time. +// arg 0: x pixel offset +// arg 1: y pixel offset +// arg 2: sprite subpriority offset +// arg 3: sprite anim num +// arg 4: duration +void AnimIngrainRoot(struct Sprite* sprite) { if (!sprite->data[0]) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y); sprite->pos2.x = gBattleAnimArgs[0]; sprite->pos2.y = gBattleAnimArgs[1]; sprite->subpriority = gBattleAnimArgs[2] + 30; @@ -2839,33 +2905,40 @@ void sub_80FF768(struct Sprite* sprite) if (sprite->pos1.y + sprite->pos2.y > 120) sprite->pos1.y += sprite->pos2.y + sprite->pos1.y - 120; } - sprite->callback = sub_80FF8DC; + sprite->callback = AnimRootFlickerOut; } -void sub_80FF7EC(struct Sprite *sprite) +// Places a root on the path to the target mon that flickers away after some time. +// arg 0: percent along the path to the target mon +// arg 1: x pixel offset +// arg 2: y pixel offset +// arg 3: sprite subpriority offset +// arg 4: sprite anum num +// arg 5: duration +void AnimFrenzyPlantRoot(struct Sprite *sprite) { - s16 p1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - s16 p2 = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); - s16 e1 = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - s16 e2 = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + s16 attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + s16 attackerY = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + s16 targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + s16 targetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); - e1 -= p1; - e2 -= p2; - sprite->pos1.x = p1 + e1 * gBattleAnimArgs[0] / 100; - sprite->pos1.y = p2 + e2 * gBattleAnimArgs[0] / 100; + targetX -= attackerX; + targetY -= attackerY; + sprite->pos1.x = attackerX + targetX * gBattleAnimArgs[0] / 100; + sprite->pos1.y = attackerY + targetY * gBattleAnimArgs[0] / 100; sprite->pos2.x = gBattleAnimArgs[1]; sprite->pos2.y = gBattleAnimArgs[2]; sprite->subpriority = gBattleAnimArgs[3] + 30; StartSpriteAnim(sprite, gBattleAnimArgs[4]); sprite->data[2] = gBattleAnimArgs[5]; - sprite->callback = sub_80FF8DC; + sprite->callback = AnimRootFlickerOut; gUnknown_0203A0F8[0] = sprite->pos1.x; gUnknown_0203A0F8[1] = sprite->pos1.y; - gUnknown_0203A0F8[2] = e1; - gUnknown_0203A0F8[3] = e2; + gUnknown_0203A0F8[2] = targetX; + gUnknown_0203A0F8[3] = targetY; } -static void sub_80FF8DC(struct Sprite* sprite) +static void AnimRootFlickerOut(struct Sprite* sprite) { if (++sprite->data[0] > (sprite->data[2] - 10)) sprite->invisible = sprite->data[0] % 2; @@ -2874,7 +2947,13 @@ static void sub_80FF8DC(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_80FF934(struct Sprite* sprite) +// Moves an orb in a fast wavy path. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: horizontal velocity +// arg 3: wave amplitude +// arg 4: duration +void AnimIngrainOrb(struct Sprite* sprite) { if (!sprite->data[0]) { @@ -2892,11 +2971,11 @@ void sub_80FF934(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_80FF9B8(struct Sprite* sprite, s16 c) +static void sub_80FF9B8(struct Sprite* sprite, s16 c) { - s32 a = (sprite->pos1.x * 256) | sprite->pos1.y; - s32 b = (sprite->data[6] * 256) | sprite->data[7]; - c *= 256; + int a = (sprite->pos1.x << 8) | sprite->pos1.y; + int b = (sprite->data[6] << 8) | sprite->data[7]; + c <<= 8; sprite->data[5] = a; sprite->data[6] = b; sprite->data[7] = c; @@ -2961,24 +3040,24 @@ static void sub_80FFAB4(struct Sprite* sprite) } } -void sub_80FFB18(struct Sprite* sprite) +void AnimPresent(struct Sprite* sprite) { - s16 e1; - s16 e2; - InitAnimSpritePos(sprite, 0); - e1 = GetBattlerSpriteCoord(gBattleAnimTarget, 0); - e2 = GetBattlerSpriteCoord(gBattleAnimTarget, 1); + s16 targetX; + s16 targetY; + InitSpritePosToAnimAttacker(sprite, FALSE); + targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); + targetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y); if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget) { - sprite->data[6] = e1; - sprite->data[7] = e2 + 10; + sprite->data[6] = targetX; + sprite->data[7] = targetY + 10; sub_80FF9B8(sprite, 60); sprite->data[3] = 1; } else { - sprite->data[6] = e1; - sprite->data[7] = e2 + 10; + sprite->data[6] = targetX; + sprite->data[7] = targetY + 10; sub_80FF9B8(sprite, 60); sprite->data[3] = 3; } @@ -3007,37 +3086,42 @@ static void sub_80FFB90(struct Sprite* sprite) } } -void sub_80FFBF4(struct Sprite* sprite) +void AnimKnockOffItem(struct Sprite* sprite) { - s16 e = GetBattlerSpriteCoord(gBattleAnimTarget, 1); + s16 targetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y); if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) { sprite->data[6] = 0; - sprite->data[7] = e + 10; + sprite->data[7] = targetY + 10; sub_80FF9B8(sprite, 40); sprite->data[3] = 3; - sprite->data[4] = 0x3C; + sprite->data[4] = 60; sprite->callback = sub_80FFAB4; } else { sprite->data[6] = 255; - sprite->data[7] = e + 10; + sprite->data[7] = targetY + 10; if (IsContest()) sprite->data[6] = 0; sub_80FF9B8(sprite, 40); sprite->data[3] = 3; - sprite->data[4] = 0x3C; + sprite->data[4] = 60; sprite->callback = sub_80FFB90; } } -void sub_80FFC70(struct Sprite* sprite) +// Animates a heal particle upward. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: vertical velocity +// arg 3: unused +void AnimPresentHealParticle(struct Sprite* sprite) { - if (sprite->data[0] == 0) + if (!sprite->data[0]) { - sub_80A6980(sprite, FALSE); + InitSpritePosToAnimTarget(sprite, FALSE); sprite->data[1] = gBattleAnimArgs[2]; } @@ -3047,33 +3131,33 @@ void sub_80FFC70(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_80FFCB4(struct Sprite* sprite) +void AnimItemSteal(struct Sprite* sprite) { - s16 p1; - s16 p2; - sub_80A6980(sprite, FALSE); - p1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); - p2 = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); + s16 attackerX; + s16 attackerY; + InitSpritePosToAnimTarget(sprite, FALSE); + attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X); + attackerY = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y); if (BATTLE_PARTNER(gBattleAnimTarget) == gBattleAnimAttacker) { - sprite->data[6] = p1; - sprite->data[7] = p2 + 10; + sprite->data[6] = attackerX; + sprite->data[7] = attackerY + 10; sub_80FF9B8(sprite, 60); sprite->data[3] = 1; } else { - sprite->data[6] = p1; - sprite->data[7] = p2 + 10; + sprite->data[6] = attackerX; + sprite->data[7] = attackerY + 10; sub_80FF9B8(sprite, 60); sprite->data[3] = 3; } sprite->data[4] = 60; - sprite->callback = sub_80FFD2C; + sprite->callback = AnimItemStealStep; } -static void sub_80FFD2C(struct Sprite* sprite) +static void AnimItemStealStep(struct Sprite* sprite) { int zero; sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]); @@ -3097,7 +3181,10 @@ static void sub_80FFD2C(struct Sprite* sprite) } } -void sub_80FFDBC(struct Sprite* sprite) +// Moves a bag in a circular motion. +// arg 0: y position +// arg 1: initial wave offset +void AnimTrickBag(struct Sprite* sprite) { int a; int b; @@ -3126,7 +3213,7 @@ void sub_80FFDBC(struct Sprite* sprite) sprite->data[4] = 20; sprite->pos2.x = Cos(sprite->data[1], 60); sprite->pos2.y = Sin(sprite->data[1], 20); - sprite->callback = sub_80FFE58; + sprite->callback = AnimTrickBagStep1; if (sprite->data[1] > 0 && sprite->data[1] < 192) sprite->subpriority = 31; else @@ -3134,7 +3221,7 @@ void sub_80FFDBC(struct Sprite* sprite) } } -static void sub_80FFE58(struct Sprite* sprite) +static void AnimTrickBagStep1(struct Sprite* sprite) { switch (sprite->data[3]) { @@ -3158,20 +3245,20 @@ static void sub_80FFE58(struct Sprite* sprite) { sprite->data[0] = 0; sprite->data[2] = 0; - sprite->callback = sub_80FFEC4; + sprite->callback = AnimTrickBagStep2; } break; } } -static void sub_80FFEC4(struct Sprite* sprite) +static void AnimTrickBagStep2(struct Sprite* sprite) { if (sprite->data[2] == gUnknown_08592700[sprite->data[0]][1]) { if (gUnknown_08592700[sprite->data[0]][2] == 127) { sprite->data[0] = 0; - sprite->callback = sub_80FFF7C; + sprite->callback = AnimTrickBagStep3; } sprite->data[2] = 0; @@ -3194,7 +3281,7 @@ static void sub_80FFEC4(struct Sprite* sprite) } } -static void sub_80FFF7C(struct Sprite* sprite) +static void AnimTrickBagStep3(struct Sprite* sprite) { if (sprite->data[0] > 20) DestroyAnimSprite(sprite); @@ -3493,20 +3580,20 @@ void sub_8100640(struct Sprite* sprite) { case 0: sprite->pos1.y = gBattleAnimArgs[0]; - sprite->oam.priority = sub_80A8328(battler); + sprite->oam.priority = GetBattlerSpriteBGPriority(battler); break; case 1: sprite->pos1.y = gBattleAnimArgs[0]; - sprite->oam.priority = sub_80A8328(battler) + 1; + sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1; break; case 2: sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[0]; - sprite->oam.priority = sub_80A8328(battler); + sprite->oam.priority = GetBattlerSpriteBGPriority(battler); break; case 3: sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[0]; GetAnimBattlerSpriteId(ANIM_TARGET); - sprite->oam.priority = sub_80A8328(battler) + 1; + sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1; break; } @@ -3665,7 +3752,7 @@ void sub_8100A50(struct Sprite* sprite) StartSpriteAnim(sprite, 1); sprite->callback = sub_81009DC; - sub_80A6864(sprite, gBattleAnimArgs[0]); + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; } @@ -3858,9 +3945,9 @@ void sub_8100EF0(struct Sprite* sprite) sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, 0) + gBattleAnimArgs[0]; sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, 1) + gBattleAnimArgs[1]; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER || IsContest()) - sprite->oam.priority = sub_80A8328(gBattleAnimAttacker) + 1; + sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker) + 1; else - sprite->oam.priority = sub_80A8328(gBattleAnimAttacker); + sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = (IndexOfSpritePaletteTag(ANIM_TAG_PROTECT) << 4) + 0x100; @@ -4028,13 +4115,13 @@ void sub_810130C(struct Sprite* sprite) if (!gBattleAnimArgs[2]) SetSpriteCoordsToAnimAttackerCoords(sprite); - sub_80A6864(sprite, gBattleAnimArgs[0]); + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; sprite->data[0] = gBattleAnimArgs[5]; sprite->data[1] = gBattleAnimArgs[3]; sprite->data[2] = gBattleAnimArgs[4]; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); - sprite->callback = TranslateAnimLinearSimple; + sprite->callback = AnimTranslateLinearSimple; } void sub_810135C(struct Sprite* sprite) @@ -4048,7 +4135,7 @@ void sub_810135C(struct Sprite* sprite) if (IsDoubleBattle() && IsBattlerSpriteVisible(BATTLE_PARTNER(battler))) { SetAverageBattlerPositions(battler, gBattleAnimArgs[6], &sprite->pos1.x, &sprite->pos1.y); - sub_80A6864(sprite, gBattleAnimArgs[0]); + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; } else @@ -4064,14 +4151,14 @@ void sub_810135C(struct Sprite* sprite) sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[1]; } - sub_80A6864(sprite, gBattleAnimArgs[0]); + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); } sprite->data[0] = gBattleAnimArgs[5]; sprite->data[1] = gBattleAnimArgs[3]; sprite->data[2] = gBattleAnimArgs[4]; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); - sprite->callback = TranslateAnimLinearSimple; + sprite->callback = AnimTranslateLinearSimple; } void sub_8101440(struct Sprite* sprite) @@ -4782,7 +4869,7 @@ void sub_81022D4(u8 taskId) void sub_810234C(struct Sprite* sprite) { - sub_80A6980(sprite, FALSE); + InitSpritePosToAnimTarget(sprite, FALSE); sprite->animPaused = 1; sprite->data[0] = gBattleAnimArgs[2]; sprite->callback = sub_810237C; @@ -5094,7 +5181,7 @@ void sub_81029B4(u8 taskId) } task->func = sub_8102AE0; - if (sub_80A8364(gBattleAnimAttacker) == 1) + if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON); else ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); @@ -5105,7 +5192,7 @@ static void sub_8102AE0(u8 taskId) struct Task* task = &gTasks[taskId]; if (!task->data[3]) { - if (sub_80A8364(gBattleAnimAttacker) == 1) + if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON); else SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); @@ -5345,7 +5432,7 @@ void sub_8103028(struct Sprite* sprite) static void sub_81030B0(struct Sprite* sprite) { - if (TranslateAnimLinear(sprite) == 0) + if (AnimTranslateLinear(sprite) == 0) { s16 xDiff; xDiff = Sin(sprite->data[5], 8); diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index ba124a6a3..1a7fb8736 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -1257,7 +1257,7 @@ const struct SpriteTemplate gUnknown_08593C64 = void sub_8103448(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); - sub_80A6864(sprite, gBattleAnimArgs[0]); + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; sprite->data[1] = gBattleAnimArgs[2]; sprite->data[2] = gBattleAnimArgs[4]; @@ -1339,7 +1339,7 @@ void sub_810358C(struct Sprite *sprite) void sub_8103620(struct Sprite *sprite) { - InitAnimSpritePos(sprite, TRUE); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[4]; @@ -1451,7 +1451,7 @@ void Anim_KinesisZapEnergy(struct Sprite *sprite) // arg 1: y pixel offset void Anim_SwordsDanceBlade(struct Sprite *sprite) { - InitAnimSpritePos(sprite, FALSE); + InitSpritePosToAnimAttacker(sprite, FALSE); sprite->callback = RunStoredCallbackWhenAffineAnimEnds; StoreSpriteCallbackInData6(sprite, Anim_SwordsDanceBladeStep); } @@ -1489,7 +1489,7 @@ void AnimSonicBoomProjectile(struct Sprite *sprite) gBattleAnimArgs[3] = -gBattleAnimArgs[3]; } - InitAnimSpritePos(sprite, TRUE); + InitSpritePosToAnimAttacker(sprite, TRUE); targetXPos = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; targetYPos = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; rotation = ArcTan2Neg(targetXPos - sprite->pos1.x, targetYPos - sprite->pos1.y); @@ -1732,7 +1732,7 @@ void sub_8103CF0(u8 taskId) void sub_8103FE8(struct Sprite *sprite) { - InitAnimSpritePos(sprite, FALSE); + InitSpritePosToAnimAttacker(sprite, FALSE); sprite->data[0] = 0x100 + (IndexOfSpritePaletteTag(gUnknown_085934A0.paletteTag) << 4); sprite->callback = sub_8104018; } @@ -1828,7 +1828,7 @@ void sub_8104088(struct Sprite *sprite) s16 r7; u16 var; - InitAnimSpritePos(sprite, TRUE); + InitSpritePosToAnimAttacker(sprite, TRUE); r6 = GetBattlerSpriteCoord(gBattleAnimTarget, 2); r7 = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -1872,7 +1872,7 @@ static void sub_8104154(struct Sprite *sprite) void sub_81041C4(struct Sprite *sprite) { - InitAnimSpritePos(sprite, TRUE); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = 20; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); @@ -1931,7 +1931,7 @@ static void sub_81042A0(struct Sprite *sprite) // arg 6: duration void Anim_RazorWindTornado(struct Sprite *sprite) { - InitAnimSpritePos(sprite, FALSE); + InitSpritePosToAnimAttacker(sprite, FALSE); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) sprite->pos1.y += 16; @@ -2009,7 +2009,7 @@ void Anim_GuillotinePincer(struct Sprite *sprite) static void Anim_GuillotinePincerStep1(struct Sprite *sprite) { - if (TranslateAnimLinear(sprite) && sprite->animEnded) + if (AnimTranslateLinear(sprite) && sprite->animEnded) { SeekSpriteAnim(sprite, 0); sprite->animPaused = 1; @@ -2049,7 +2049,7 @@ static void Anim_GuillotinePincerStep2(struct Sprite *sprite) static void Anim_GuillotinePincerStep3(struct Sprite *sprite) { - if (TranslateAnimLinear(sprite)) + if (AnimTranslateLinear(sprite)) DestroyAnimSprite(sprite); } @@ -2318,7 +2318,7 @@ void Anim_BreathPuff(struct Sprite *sprite) sprite->data[3] = 0; sprite->data[4] = 0; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); - sprite->callback = TranslateAnimLinearSimple; + sprite->callback = AnimTranslateLinearSimple; } // Animates an "angry" mark above a mon's head. @@ -2448,7 +2448,7 @@ void sub_8104E74(u8 taskId) task->data[5] = 0; task->data[15] = sub_80A861C(gBattleAnimTarget, 0); - if (sub_80A8364(gBattleAnimTarget) == 1) + if (GetBattlerSpriteBGPriorityRank(gBattleAnimTarget) == 1) { task->data[6] = gBattle_BG1_X; params.dmaDest = (u16 *)REG_ADDR_BG1HOFS; @@ -2628,7 +2628,7 @@ void sub_81051C4(struct Sprite *sprite) void sub_8105284(struct Sprite *sprite) { - if (TranslateAnimLinear(sprite)) + if (AnimTranslateLinear(sprite)) { FreeSpriteOamMatrix(sprite); DestroyAnimSprite(sprite); @@ -2736,7 +2736,7 @@ void sub_81054E8(struct Sprite *sprite) void sub_8105538(struct Sprite *sprite) { s16 r1; - InitAnimSpritePos(sprite, FALSE); + InitSpritePosToAnimAttacker(sprite, FALSE); r1 = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? -160 : 160; sprite->data[0] = 0x380; sprite->data[1] = r1; @@ -3098,7 +3098,7 @@ static void sub_8105D88(struct Sprite *sprite, u8 a, u8 b) void sub_8105DE8(struct Sprite *sprite) { - InitAnimSpritePos(sprite, FALSE); + InitSpritePosToAnimAttacker(sprite, FALSE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; @@ -3113,7 +3113,7 @@ void sub_8105DE8(struct Sprite *sprite) void sub_8105E60(struct Sprite *sprite) { if (++sprite->data[0] == 1) - InitAnimSpritePos(sprite, FALSE); + InitSpritePosToAnimAttacker(sprite, FALSE); sprite->pos2.x = Sin(sprite->data[1], 8); sprite->pos2.y = sprite->data[2] >> 8; @@ -3218,7 +3218,7 @@ void sub_81060B0(u8 taskId) void sub_8106140(struct Sprite *sprite) { - InitAnimSpritePos(sprite, TRUE); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = 95; sprite->data[1] = sprite->pos1.x; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); @@ -3230,7 +3230,7 @@ void sub_8106140(struct Sprite *sprite) static void sub_810618C(struct Sprite *sprite) { - if (!TranslateAnimLinear(sprite)) + if (!AnimTranslateLinear(sprite)) { sprite->pos2.y += Sin(sprite->data[5], 14); sprite->data[5] = (sprite->data[5] + 4) & 0xFF; @@ -3550,7 +3550,7 @@ static void sub_810699C(struct Sprite *sprite) void sub_81069B8(struct Sprite *sprite) { - InitAnimSpritePos(sprite, TRUE); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->callback = sub_810699C; } diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 4369bd0a5..72d9722b3 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -589,9 +589,9 @@ const union AffineAnimCmd gUnknown_085CE430[] = const s8 gUnknown_085CE460[] = { - 0xE8, - 0x18, - 0xFC, + 0xE8, + 0x18, + 0xFC, 0x00, }; @@ -1225,7 +1225,7 @@ void sub_815A254(struct Sprite *sprite) u8 x = GetBattlerSpriteCoord(gBattleAnimTarget, 2); u8 y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); rotation = ArcTan2Neg(sprite->pos1.x - x, sprite->pos1.y - y); rotation += 0x6000; @@ -1406,7 +1406,7 @@ void sub_815A6C4(struct Sprite *sprite) u16 x; u16 y; - InitAnimSpritePos(sprite, TRUE); + InitSpritePosToAnimAttacker(sprite, TRUE); SetAverageBattlerPositions(gBattleAnimTarget, FALSE, &x, &y); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -1444,7 +1444,7 @@ static void sub_815A76C(struct Sprite *sprite) void sub_815A7B0(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); - sub_80A6864(sprite, gBattleAnimArgs[0]); + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; sprite->callback = RunStoredCallbackWhenAnimEnds; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); @@ -1458,7 +1458,7 @@ void sub_815A7EC(struct Sprite *sprite) if (sprite->data[0] == 0) { SetSpriteCoordsToAnimAttackerCoords(sprite); - sub_80A6864(sprite, gBattleAnimArgs[0]); + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); if (!IsContest()) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) @@ -1528,7 +1528,7 @@ void sub_815A934(struct Sprite *sprite) SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H); SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V); - sub_80A6980(sprite, FALSE); + InitSpritePosToAnimTarget(sprite, FALSE); sprite->oam.objMode = ST_OAM_OBJ_WINDOW; sprite->invisible = 1; @@ -1745,12 +1745,12 @@ void sub_815ADB0(u8 taskId) if (!gBattleAnimArgs[0]) { var0 = GetBattlerYCoordWithElevation(gBattleAnimAttacker); - toBG2 = sub_80A8364(gBattleAnimAttacker); + toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); } else { var0 = GetBattlerYCoordWithElevation(gBattleAnimTarget); - toBG2 = sub_80A8364(gBattleAnimTarget); + toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget); } task->data[0] = var0 + 36; @@ -1846,7 +1846,7 @@ static void sub_815AED8(u8 taskId) if (task->data[7]) task->data[12] = task->data[8]; else - task->data[12] = task->data[9]; + task->data[12] = task->data[9]; } i = task->data[0]; @@ -2000,7 +2000,7 @@ static void sub_815B23C(struct Sprite *sprite) void sub_815B27C(struct Sprite *sprite) { if (sprite->data[0] == 0) - InitAnimSpritePos(sprite, FALSE); + InitSpritePosToAnimAttacker(sprite, FALSE); if (++sprite->data[0] < 40) { @@ -2204,7 +2204,7 @@ void sub_815B70C(struct Sprite *sprite) switch (sprite->data[0]) { case 0: - InitAnimSpritePos(sprite, FALSE); + InitSpritePosToAnimAttacker(sprite, FALSE); sprite->data[1] = 0x900; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); sprite->data[0]++; @@ -2246,7 +2246,7 @@ void sub_815B7D0(u8 taskId) { case 0: SetGpuReg(REG_OFFSET_MOSAIC, 0); - if (sub_80A8364(gBattleAnimAttacker) == 1) + if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) SetAnimBgAttribute(1, BG_ANIM_MOSAIC, 1); else SetAnimBgAttribute(2, BG_ANIM_MOSAIC, 1); @@ -2326,7 +2326,7 @@ void sub_815B7D0(u8 taskId) break; case 4: SetGpuReg(REG_OFFSET_MOSAIC, 0); - if (sub_80A8364(gBattleAnimAttacker) == 1) + if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) SetAnimBgAttribute(1, BG_ANIM_MOSAIC, 0); else SetAnimBgAttribute(2, BG_ANIM_MOSAIC, 0); @@ -2403,7 +2403,7 @@ void sub_815BB84(u8 taskId) gTasks[taskId].data[4] = 0; if (++gTasks[taskId].data[1] > 12) gTasks[taskId].data[1] = 12; - + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1])); if (gTasks[taskId].data[1] == 12) @@ -2459,7 +2459,7 @@ void sub_815BE04(struct Sprite *sprite) xOffset &= 0x3F; if (xOffset > 31) xOffset = 32 - xOffset; - + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + xOffset; sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 32; sprite->data[1] = gBattleAnimArgs[0]; @@ -2490,7 +2490,7 @@ static void sub_815BF44(struct Sprite *sprite) { int var0; s8 var1; - + var0 = (u16)sprite->data[2] + (u16)sprite->data[3]; var1 = var0 >> 8; sprite->pos2.y -= var1; @@ -2531,7 +2531,7 @@ static void sub_815C050(struct Sprite *sprite) register u16 d3 asm("r1"); int var0; s8 var1; - + if (!sprite->invisible) { d2 = sprite->data[2]; @@ -2637,7 +2637,7 @@ void sub_815C0A4(u8 taskId) sub_80A6C68(unknownStruct.bgId); if (!IsContest()) SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0); - + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); gBattle_BG1_X = 0; gBattle_BG1_Y = 0; @@ -2666,7 +2666,7 @@ void sub_815C400(struct Sprite *sprite) { if (sprite->data[0] == 0) { - InitAnimSpritePos(sprite, 0); + InitSpritePosToAnimAttacker(sprite, 0); sprite->data[0]++; } else if (sprite->data[0]++ > 20) @@ -2893,7 +2893,7 @@ static void sub_815C7C4(u8 taskId) SetSpriteRotScale(task->data[15], 0x100, 0x100, task->data[2]); SetBattlerSpriteYOffsetFromRotation(task->data[15]); gSprites[task->data[15]].pos2.x = -(((temp = task->data[2]) >= 0 ? task->data[2] : temp + 63) >> 6); - + if (++task->data[1] > 8) { if (task->data[12]) @@ -3064,7 +3064,7 @@ void sub_815CC94(struct Sprite *sprite) SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V); sprite->data[0] = gBattleAnimArgs[2]; - sub_80A6980(sprite, FALSE); + InitSpritePosToAnimTarget(sprite, FALSE); sprite->oam.objMode = ST_OAM_OBJ_WINDOW; sprite->invisible = 1; sprite->callback = sub_815CD0C; @@ -3166,7 +3166,7 @@ void sub_815CED8(u8 taskId) otId = gContestResources->field_18->unkC; species = gContestResources->field_18->unk2; xOffset = 20; - priority = sub_80A8328(gBattleAnimAttacker); + priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker); } else { @@ -3188,7 +3188,7 @@ void sub_815CED8(u8 taskId) } xOffset = 20; - priority = sub_80A8328(gBattleAnimAttacker); + priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker); } else { @@ -3208,7 +3208,7 @@ void sub_815CED8(u8 taskId) } xOffset = -20; - priority = sub_80A8328(gBattleAnimAttacker); + priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker); } } @@ -3290,7 +3290,7 @@ void sub_815D240(u8 taskId) task->data[14] = task->data[13] + 66; task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - if (sub_80A8364(battler) == 1) + if (GetBattlerSpriteBGPriorityRank(battler) == 1) { scanlineParams.dmaDest = ®_BG1HOFS; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); @@ -3333,7 +3333,7 @@ static void sub_815D398(u8 taskId) s16 var3; task = &gTasks[taskId]; - if (sub_80A8364(task->data[5]) == 1) + if (GetBattlerSpriteBGPriorityRank(task->data[5]) == 1) { bgX = gBattle_BG1_X; bgY = gBattle_BG1_Y; @@ -3679,7 +3679,7 @@ void sub_815DCA4(u8 taskId) if (!gBattleAnimArgs[1]) DestroyAnimVisualTask(taskId); - + task->data[0] = 0; task->data[1] = 0; task->data[2] = 0; @@ -3801,7 +3801,7 @@ static void sub_815DF64(u8 taskId) BlendPalette(gTasks[taskId].data[2], 16, 8, gUnknown_085CE784[gTasks[taskId].data[0]]); if (++gTasks[taskId].data[0] > 23) gTasks[taskId].data[0] = 0; - + gTasks[taskId].data[1]--; } else @@ -3831,7 +3831,7 @@ void sub_815E01C(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; - + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[0]; sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1]; if (gBattleAnimArgs[2] == 0) @@ -4009,7 +4009,7 @@ void sub_815E444(struct Sprite *sprite) sprite->data[4] = gBattleAnimArgs[3]; sprite->data[0] = gBattleAnimArgs[4]; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); - sprite->callback = sub_80A70C0; + sprite->callback = InitAndRunAnimFastLinearTranslation; } void sub_815E47C(u8 taskId) @@ -4030,7 +4030,7 @@ void sub_815E47C(u8 taskId) InitAnimArcTranslation(&gSprites[task->data[15]]); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) StartSpriteAffineAnim(&gSprites[task->data[15]], 1); - + task->func = sub_815E5CC; } else @@ -4303,7 +4303,7 @@ static void sub_815EA60(struct Sprite *sprite) sprite->pos2.x = sprite->data[7] * (gSineTable[sprite->data[1] * 10] >> 3); if (sprite->data[1] == 15) sprite->oam.tileNum += 16; - + if (sprite->data[1] == 18) { sprite->data[1] = 0; @@ -4452,7 +4452,7 @@ void sub_815EE84(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - InitAnimSpritePos(sprite, TRUE); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[7] = gBattleAnimAttacker; } else @@ -4463,7 +4463,7 @@ void sub_815EE84(struct Sprite *sprite) if (GetBattlerSide(sprite->data[7]) == B_SIDE_OPPONENT) sprite->oam.matrixNum = 8; - sprite->oam.priority = sub_80A8328(sprite->data[7]); + sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]); sprite->oam.objMode = ST_OAM_OBJ_BLEND; sprite->callback = sub_815EF08; } @@ -4517,7 +4517,7 @@ static void sub_815EF08(struct Sprite *sprite) sprite->data[5]++; break; case 1: - if (TranslateAnimLinear(sprite)) + if (AnimTranslateLinear(sprite)) { switch (sprite->data[6]) { @@ -4581,7 +4581,7 @@ static void sub_815F10C(struct Sprite *sprite) sprite->pos1.x + sprite->pos2.x, sprite->pos1.y + sprite->pos2.y, 5); } - + if (sprite->data[5] == sprite->data[4]) DestroyAnimSprite(sprite); @@ -4648,7 +4648,7 @@ void AnimTask_MonToSubstitute(u8 taskId) for (i = 0; i < 16; i++) gTasks[taskId].data[i] = 0; - + gTasks[taskId].func = sub_815F330; } } @@ -4837,7 +4837,7 @@ void sub_815F620(u8 taskId) gSprites[spriteId1].invisible = 1; } - + gSprites[spriteId2].oam.objMode = ST_OAM_OBJ_NORMAL; gSprites[spriteId1].oam.objMode = ST_OAM_OBJ_NORMAL; gSprites[spriteId2].callback = sub_815F7C4; @@ -4887,3 +4887,18 @@ static void sub_815F7C4(struct Sprite *sprite) break; } } + +void AnimTask_GetReturnPowerLevel(u8 taskId) +{ + gBattleAnimArgs[7] = 0; + if (gAnimFriendship < 60) + gBattleAnimArgs[7] = 0; + if (gAnimFriendship > 60 && gAnimFriendship < 92) + gBattleAnimArgs[7] = 1; + if (gAnimFriendship > 91 && gAnimFriendship < 201) + gBattleAnimArgs[7] = 2; + if (gAnimFriendship > 200) + gBattleAnimArgs[7] = 3; + + DestroyAnimVisualTask(taskId); +} diff --git a/src/battle_arena.c b/src/battle_arena.c index a4179eca8..39bb6936d 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -497,7 +497,7 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state) case 0: BeginNormalPaletteFade(0x7FFFFF1C, 4, 0, 8, 0); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); - LoadCompressedObjectPic(gUnknown_08611F74); + LoadCompressedSpriteSheet(gUnknown_08611F74); LoadCompressedPalette(gUnknown_08D855E8, 0x1F0, 0x20); gBattle_WIN0H = 0xFF; gBattle_WIN0V = 0x70; diff --git a/src/battle_bg.c b/src/battle_bg.c index bb66a41fd..a6919be1d 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -11,6 +11,7 @@ #include "link.h" #include "main.h" #include "menu.h" +#include "overworld.h" #include "palette.h" #include "sound.h" #include "sprite.h" @@ -31,8 +32,6 @@ struct BattleBackground const void *palette; }; -extern u8 GetCurrentMapBattleScene(void); - // .rodata static const u16 sUnrefArray[] = {0x0300, 0x0000}; //OamData? @@ -1103,7 +1102,7 @@ void DrawBattleEntryBackground(void) SetGpuReg(REG_OFFSET_WINOUT, 0x36); gBattle_BG1_Y = 0xFF5C; gBattle_BG2_Y = 0xFF5C; - LoadCompressedObjectPicUsingHeap(&gUnknown_0831AA00); + LoadCompressedSpriteSheetUsingHeap(&gUnknown_0831AA00); } else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER)) { diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index e81035fc7..85756309d 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -6,6 +6,7 @@ #include "battle_interface.h" #include "battle_message.h" #include "battle_setup.h" +#include "battle_tower.h" #include "battle_tv.h" #include "bg.h" #include "data2.h" @@ -33,7 +34,6 @@ extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); extern void sub_81851A8(u8 *); extern u16 sub_8068B48(void); -extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); // this file's functions static void LinkOpponentHandleGetMonData(void); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 533ec39de..ef18c14aa 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -6,6 +6,7 @@ #include "battle_interface.h" #include "battle_message.h" #include "battle_setup.h" +#include "battle_tower.h" #include "battle_tv.h" #include "bg.h" #include "data2.h" @@ -31,7 +32,6 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); extern void sub_81851A8(u8 *); -extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); // this file's functions static void LinkPartnerHandleGetMonData(void); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 2d8fba63a..e5f795266 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -34,9 +34,6 @@ #include "constants/songs.h" #include "constants/trainers.h" -extern u8 gUnknown_0203CEE8; -extern u8 gUnknown_0203CEE9; -extern u8 gUnknown_0203CF00[]; extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; diff --git a/src/battle_controllers.c b/src/battle_controllers.c index a6d6e9294..1b0ca6a73 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -6,6 +6,7 @@ #include "battle_message.h" #include "cable_club.h" #include "link.h" +#include "party_menu.h" #include "pokemon.h" #include "recorded_battle.h" #include "task.h" @@ -19,8 +20,6 @@ static EWRAM_DATA u8 sUnknown_02022D0A = 0; EWRAM_DATA struct UnusedControllerStruct gUnknown_02022D0C = {}; static EWRAM_DATA u8 sBattleBuffersTransferData[0x100] = {}; -extern void sub_81B8D64(u8 battlerId, u8 arg1); // party_menu - // this file's funcionts static void CreateTasksForSendRecvLinkBuffers(void); static void InitLinkBtlControllers(void); diff --git a/src/battle_dome.c b/src/battle_dome.c index 514b57c97..24e2cbfed 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -19,6 +19,7 @@ #include "window.h" #include "palette.h" #include "decompress.h" +#include "party_menu.h" #include "menu.h" #include "sound.h" #include "pokemon_icon.h" @@ -57,12 +58,6 @@ struct UnkStruct_860DD10 u16 src; }; -extern void sub_81B8558(void); - -extern u8 gSelectedOrderFromParty[]; - -extern const struct SpriteTemplate gUnknown_0860CFA8; - // text extern const u8 gTrainerClassNames[][0xD]; @@ -3536,7 +3531,7 @@ static void sub_8190400(u8 taskId) DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D83D50, 0x2000, 0, 0); DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D84970, 0x2000, 0, 1); DecompressAndLoadBgGfxUsingHeap(3, gUnknown_08D84F00, 0x800, 0, 1); - LoadCompressedObjectPic(gUnknown_0860CF50); + LoadCompressedSpriteSheet(gUnknown_0860CF50); LoadCompressedPalette(gUnknown_08D85358, 0, 0x200); LoadCompressedPalette(gUnknown_08D85444, 0x100, 0x200); LoadCompressedPalette(gUnknown_08D85600, 0xF0, 0x20); @@ -5707,7 +5702,7 @@ static void sub_8194220(u8 taskId) gTasks[taskId].data[0]++; break; case 3: - LoadCompressedObjectPic(gUnknown_0860CF50); + LoadCompressedSpriteSheet(gUnknown_0860CF50); if (r10 == 0) { for (i = 0; i < (unsigned) 31; i++) diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index 60b233daf..2571e7a92 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -131,12 +131,6 @@ struct FactorySwapMonsStruct bool8 unk30; }; -extern u8 gUnknown_0203CF20; - -extern const u16 gBattleFrontierHeldItems[]; -extern const struct FacilityMon gBattleFrontierMons[]; -extern const struct FacilityMon gSlateportBattleTentMons[]; -extern const struct BattleFrontierTrainer gBattleFrontierTrainers[]; extern const u32 gUnknown_085B18AC[]; // This file's functions. @@ -1167,7 +1161,7 @@ static void CB2_InitSelectScreen(void) case 4: LoadSpritePalettes(gUnknown_086103F4); LoadSpriteSheets(gUnknown_086103BC); - LoadCompressedObjectPic(gUnknown_086103E4); + LoadCompressedSpriteSheet(gUnknown_086103E4); ShowBg(0); ShowBg(1); SetVBlankCallback(Select_VblankCb); @@ -3171,7 +3165,7 @@ static void CB2_InitSwapScreen(void) case 4: LoadSpritePalettes(gUnknown_086106B0); LoadSpriteSheets(gUnknown_08610650); - LoadCompressedObjectPic(gUnknown_086106A0); + LoadCompressedSpriteSheet(gUnknown_086106A0); SetVBlankCallback(Swap_VblankCb); gMain.state++; break; diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index f53a6281d..3654cf6d4 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -15,6 +15,7 @@ #include "task.h" #include "sprite.h" #include "sound.h" +#include "party_menu.h" #include "m4a.h" #include "constants/species.h" #include "decompress.h" @@ -42,10 +43,6 @@ extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; extern const u8 gEnemyMonElevation[]; -extern u8 sub_80688F8(u8, u8 battlerId); -extern u8 pokemon_order_func(u8); // party menu -extern void sub_81B8C68(void); - // this file's functions static u8 sub_805D4A8(u16 move); static u16 BattlePalaceGetTargetRetValue(void); @@ -643,7 +640,7 @@ void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId) DecompressPicFromTable_2(&gTrainerFrontPicTable[frontPicId], gMonSpritesGfxPtr->sprites[position], SPECIES_NONE); - LoadCompressedObjectPalette(&gTrainerFrontPicPaletteTable[frontPicId]); + LoadCompressedSpritePalette(&gTrainerFrontPicPaletteTable[frontPicId]); } void DecompressTrainerBackPic(u16 backPicId, u8 battlerId) @@ -675,20 +672,20 @@ void BattleLoadAllHealthBoxesGfxAtOnce(void) LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[1]); if (!IsDoubleBattle()) { - LoadCompressedObjectPic(&sSpriteSheet_SinglesPlayerHealthbox); - LoadCompressedObjectPic(&sSpriteSheet_SinglesOpponentHealthbox); + LoadCompressedSpriteSheet(&sSpriteSheet_SinglesPlayerHealthbox); + LoadCompressedSpriteSheet(&sSpriteSheet_SinglesOpponentHealthbox); numberOfBattlers = 2; } else { - LoadCompressedObjectPic(&sSpriteSheets_DoublesPlayerHealthbox[0]); - LoadCompressedObjectPic(&sSpriteSheets_DoublesPlayerHealthbox[1]); - LoadCompressedObjectPic(&sSpriteSheets_DoublesOpponentHealthbox[0]); - LoadCompressedObjectPic(&sSpriteSheets_DoublesOpponentHealthbox[1]); + LoadCompressedSpriteSheet(&sSpriteSheets_DoublesPlayerHealthbox[0]); + LoadCompressedSpriteSheet(&sSpriteSheets_DoublesPlayerHealthbox[1]); + LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[0]); + LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[1]); numberOfBattlers = 4; } for (i = 0; i < numberOfBattlers; i++) - LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[i]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[i]]); } bool8 BattleLoadAllHealthBoxesGfx(u8 state) @@ -707,37 +704,37 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state) if (state == 2) { if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - LoadCompressedObjectPic(&sSpriteSheet_SafariHealthbox); + LoadCompressedSpriteSheet(&sSpriteSheet_SafariHealthbox); else - LoadCompressedObjectPic(&sSpriteSheet_SinglesPlayerHealthbox); + LoadCompressedSpriteSheet(&sSpriteSheet_SinglesPlayerHealthbox); } else if (state == 3) - LoadCompressedObjectPic(&sSpriteSheet_SinglesOpponentHealthbox); + LoadCompressedSpriteSheet(&sSpriteSheet_SinglesOpponentHealthbox); else if (state == 4) - LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[0]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[0]]); else if (state == 5) - LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[1]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[1]]); else retVal = TRUE; } else { if (state == 2) - LoadCompressedObjectPic(&sSpriteSheets_DoublesPlayerHealthbox[0]); + LoadCompressedSpriteSheet(&sSpriteSheets_DoublesPlayerHealthbox[0]); else if (state == 3) - LoadCompressedObjectPic(&sSpriteSheets_DoublesPlayerHealthbox[1]); + LoadCompressedSpriteSheet(&sSpriteSheets_DoublesPlayerHealthbox[1]); else if (state == 4) - LoadCompressedObjectPic(&sSpriteSheets_DoublesOpponentHealthbox[0]); + LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[0]); else if (state == 5) - LoadCompressedObjectPic(&sSpriteSheets_DoublesOpponentHealthbox[1]); + LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[1]); else if (state == 6) - LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[0]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[0]]); else if (state == 7) - LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[1]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[1]]); else if (state == 8) - LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[2]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[2]]); else if (state == 9) - LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[3]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[3]]); else retVal = TRUE; } @@ -1116,7 +1113,7 @@ void LoadAndCreateEnemyShadowSprites(void) { u8 battlerId; - LoadCompressedObjectPic(&gSpriteSheet_EnemyShadow); + LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBattlerSpriteCoord(battlerId, 0), GetBattlerSpriteCoord(battlerId, 1) + 29, 0xC8); diff --git a/src/battle_interface.c b/src/battle_interface.c index 9fd8e116a..4a8422091 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -1523,7 +1523,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, bar_data0 = 5; } - LoadCompressedObjectPicUsingHeap(&sStatusSummaryBarSpriteSheet); + LoadCompressedSpriteSheetUsingHeap(&sStatusSummaryBarSpriteSheet); LoadSpriteSheet(&sStatusSummaryBallsSpriteSheet); LoadSpritePalette(&sStatusSummaryBarSpritePal); LoadSpritePalette(&sStatusSummaryBallsSpritePal); diff --git a/src/battle_main.c b/src/battle_main.c index a71d8662d..9cd661d9e 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4,6 +4,7 @@ #include "battle_arena.h" #include "battle_controllers.h" #include "battle_interface.h" +#include "battle_main.h" #include "battle_message.h" #include "battle_pyramid.h" #include "battle_scripts.h" @@ -39,6 +40,7 @@ #include "sound.h" #include "sprite.h" #include "string_util.h" +#include "strings.h" #include "task.h" #include "text.h" #include "trig.h" @@ -56,23 +58,8 @@ #include "constants/species.h" #include "constants/trainers.h" -struct UnknownPokemonStruct4 -{ - /*0x00*/ u16 species; - /*0x02*/ u16 heldItem; - /*0x04*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; - /*0x0F*/ u8 level; - /*0x10*/ u16 hp; - /*0x12*/ u16 maxhp; - /*0x14*/ u32 status; - /*0x18*/ u32 personality; - /*0x1C*/ u8 gender; - /*0x1D*/ u8 language; -}; - extern struct MusicPlayerInfo gMPlayInfo_SE1; extern struct MusicPlayerInfo gMPlayInfo_SE2; -extern u8 gUnknown_0203CF00[]; extern const struct BgTemplate gBattleBgTemplates[]; extern const struct WindowTemplate *const gBattleWindowTemplates[]; @@ -81,25 +68,9 @@ extern const u8 *const gBattlescriptsForBallThrow[]; extern const u8 *const gBattlescriptsForRunningByItem[]; extern const u8 *const gBattlescriptsForUsingItem[]; extern const u8 *const gBattlescriptsForSafariActions[]; -extern const struct ScanlineEffectParams gBattleIntroSlideScanlineEffectParams; - -// strings -extern const u8 gText_LinkStandby3[]; -extern const u8 gText_BattleRecordCouldntBeSaved[]; -extern const u8 gText_ShedinjaJapaneseName[]; -extern const u8 gText_Poison[]; -extern const u8 gText_Sleep[]; -extern const u8 gText_Paralysis[]; -extern const u8 gText_Burn[]; -extern const u8 gText_Ice[]; -extern const u8 gText_Confusion[]; -extern const u8 gText_Love[]; // functions -extern void sub_81B9150(void); extern void sub_80B3AF8(u8 taskId); // cable club -extern void sub_81B8FB0(u8, u8); // party menu -extern u8 pokemon_order_func(u8); // party menu // this file's functions static void CB2_InitBattleInternal(void); @@ -117,9 +88,9 @@ static void sub_8038F34(void); static void sub_80392A8(void); static void sub_803937C(void); static void sub_803939C(void); -static void sub_803980C(struct Sprite *sprite); -static void sub_8039838(struct Sprite *sprite); -static void sub_8039894(struct Sprite *sprite); +static void SpriteCb_MoveWildMonToRight(struct Sprite *sprite); +static void SpriteCb_WildMonShowHealthbox(struct Sprite *sprite); +static void SpriteCb_WildMonAnimate(struct Sprite *sprite); static void sub_80398D0(struct Sprite *sprite); static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite); static void sub_8039AF4(struct Sprite *sprite); @@ -296,6 +267,70 @@ u8 gNumberOfMovesToChoose; u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT]; // rom const data +static const struct ScanlineEffectParams sIntroScanlineParams16Bit = +{ + (void *)REG_ADDR_BG3HOFS, SCANLINE_EFFECT_DMACNT_16BIT, 1 +}; + +// unused +static const struct ScanlineEffectParams sIntroScanlineParams32Bit = +{ + (void *)REG_ADDR_BG3HOFS, SCANLINE_EFFECT_DMACNT_32BIT, 1 +}; + +const struct SpriteTemplate gUnknown_0831AC88 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8038528, +}; + +static const u8 sText_ShedinjaJpnName[] = _("ヌケニン"); // Nukenin + +const struct OamData gOamData_831ACA8 = +{ + .y = 0, + .affineMode = 1, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct OamData gOamData_831ACB0 = +{ + .y = 0, + .affineMode = 1, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 2, + .paletteNum = 2, + .affineParam = 0 +}; + +// Unknown and unused data. Feel free to remove. +static const u16 gUnknown_0831ACB8[] = {0, 5, 0xfffe, 0}; +static const u16 *const gUnknown_0831ACC0 = gUnknown_0831ACB8; +static const u16 gUnknown_0831ACC4[] = {0xfff0, 0, 0x0400, 0, 0, 0, 0x3c00, 0, 0x7ffe, 1, 0, 0}; +static const u16 *const gUnknown_0831ACDC = gUnknown_0831ACC4; + static const s8 gUnknown_0831ACE0[] ={-32, -16, -16, -32, -32, 0, 0, 0}; // format: attacking type, defending type, damage multiplier @@ -633,7 +668,7 @@ static void CB2_InitBattleInternal(void) gScanlineEffectRegBuffers[1][i] = 0xFF10; } - ScanlineEffect_SetParams(gBattleIntroSlideScanlineEffectParams); + ScanlineEffect_SetParams(sIntroScanlineParams16Bit); } ResetPaletteFade(); @@ -2605,7 +2640,7 @@ static void TryCorrectShedinjaLanguage(struct Pokemon *mon) && GetMonData(mon, MON_DATA_LANGUAGE) != language) { GetMonData(mon, MON_DATA_NICKNAME, nickname); - if (StringCompareWithoutExtCtrlCodes(nickname, gText_ShedinjaJapaneseName) == 0) + if (StringCompareWithoutExtCtrlCodes(nickname, sText_ShedinjaJpnName) == 0) SetMonData(mon, MON_DATA_LANGUAGE, &language); } } @@ -2618,38 +2653,38 @@ u32 sub_80397C4(u32 setId, u32 tableId) #define sBattler data[0] #define sSpeciesId data[2] -void oac_poke_opponent(struct Sprite *sprite) +void SpriteCb_WildMon(struct Sprite *sprite) { - sprite->callback = sub_803980C; + sprite->callback = SpriteCb_MoveWildMonToRight; StartSpriteAnimIfDifferent(sprite, 0); BeginNormalPaletteFade(0x20000, 0, 10, 10, RGB(8, 8, 8)); } -static void sub_803980C(struct Sprite *sprite) +static void SpriteCb_MoveWildMonToRight(struct Sprite *sprite) { if ((gIntroSlideFlags & 1) == 0) { sprite->pos2.x += 2; if (sprite->pos2.x == 0) { - sprite->callback = sub_8039838; + sprite->callback = SpriteCb_WildMonShowHealthbox; } } } -static void sub_8039838(struct Sprite *sprite) +static void SpriteCb_WildMonShowHealthbox(struct Sprite *sprite) { if (sprite->animEnded) { sub_8076918(sprite->sBattler); SetHealthboxSpriteVisible(gHealthboxSpriteIds[sprite->sBattler]); - sprite->callback = sub_8039894; + sprite->callback = SpriteCb_WildMonAnimate; StartSpriteAnimIfDifferent(sprite, 0); BeginNormalPaletteFade(0x20000, 0, 10, 0, RGB(8, 8, 8)); } } -static void sub_8039894(struct Sprite *sprite) +static void SpriteCb_WildMonAnimate(struct Sprite *sprite) { if (!gPaletteFade.active) { diff --git a/src/battle_message.c b/src/battle_message.c index 75f9b1da8..f283d959c 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -14,6 +14,7 @@ #include "palette.h" #include "recorded_battle.h" #include "string_util.h" +#include "strings.h" #include "text.h" #include "window.h" #include "constants/battle_string_ids.h" @@ -40,15 +41,7 @@ extern u8 gUnknown_0203C7B4; extern const u8 gTrainerClassNames[][13]; extern const u16 gUnknown_08D85620[]; -// strings -extern const u8 gText_PkmnBoxSomeonesPCFull[]; -extern const u8 gText_PkmnBoxLanettesPCFull[]; -extern const u8 gText_PkmnTransferredSomeonesPC[]; -extern const u8 gText_PkmnTransferredLanettesPC[]; - -extern u8 GetFrontierBrainTrainerClass(void); // battle_frontier_2 extern u8 GetTrainerHillOpponentClass(u16 trainerId); // pokenav -extern void CopyFrontierBrainTrainerName(u8 *txtPtr); // battle_frontier_2 extern void GetTrainerHillTrainerName(u8 *txtPtr, u16 trainerId); // pokenav extern void CopyTrainerHillTrainerText(u8 arg0, u16 trainerId); // pokenav diff --git a/src/battle_pike.c b/src/battle_pike.c index 893796790..303146f6a 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -1611,7 +1611,7 @@ static void sub_81A8830(void) static bool8 CanEncounterWildMon(u8 enemyMonLevel) { - if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)) + if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) { u8 monAbility = GetMonAbility(&gPlayerParty[0]); if (monAbility == ABILITY_KEEN_EYE || monAbility == ABILITY_INTIMIDATE) diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index 45aca91c8..244e61d17 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -8,7 +8,9 @@ #include "save.h" #include "strings.h" #include "fieldmap.h" +#include "party_menu.h" #include "palette.h" +#include "field_screen_effect.h" #include "field_message_box.h" #include "random.h" #include "item.h" @@ -32,9 +34,6 @@ #include "constants/moves.h" #include "constants/species.h" -extern u8 gSelectedOrderFromParty[3]; -extern void door_upload_tiles(void); - extern const struct MapLayout *const gMapLayouts[]; extern const u16 gUnknown_08D856C8[][16]; diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 8a6348522..12f631155 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -547,7 +547,7 @@ static bool8 sub_81C5238(void) gPyramidBagResources->state++; break; case 3: - LoadCompressedObjectPic(&gUnknown_0861F3CC); + LoadCompressedSpriteSheet(&gUnknown_0861F3CC); gPyramidBagResources->state++; break; case 4: @@ -964,7 +964,7 @@ static void HandleMenuActionInput(u8 taskId) { if (sub_81221EC() != TRUE) { - s8 id = GetMenuCursorPos(); + s8 id = Menu_GetCursorPos(); if (gMain.newKeys & DPAD_UP) { if (id > 0 && IsValidMenuAction(id - 2)) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f1e7143dc..c71043958 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -46,22 +46,18 @@ #include "battle_arena.h" #include "battle_pike.h" #include "battle_pyramid.h" +#include "field_specials.h" +#include "pokemon_summary_screen.h" extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const u8* const gBattleScriptsForMoveEffects[]; // functions -extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon* party, u8 monPartyId, u8 monCount, void (*callback)(void), u16 move); // pokemon summary screen -extern u8 sub_81C1B94(void); // pokemon summary screen extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s -extern void sub_81D3640(u8 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s -extern void sub_81D3784(u8 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s -extern u8* GetMonNickname(struct Pokemon* mon, u8* dst); // party_menu -extern void sub_81B8E80(u8 battlerId, u8, u8); // party menu -extern bool8 sub_81B1250(void); // ? +extern void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s +extern void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s extern u8 sub_813B21C(void); -extern u16 get_unknown_box_id(void); #define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattlerTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) @@ -7609,7 +7605,7 @@ static void atk8F_forcerandomswitch(void) } *(gBattleStruct->monToSwitchIntoId + gBattlerTarget) = i; - if (!sub_81B1250()) + if (!IsMultiBattle()) sub_803BDA0(gBattlerTarget); if ((gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) diff --git a/src/battle_setup.c b/src/battle_setup.c index 5377f39b5..56bed77c8 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -24,6 +24,7 @@ #include "window.h" #include "event_object_movement.h" #include "event_scripts.h" +#include "tv.h" #include "trainer_see.h" #include "field_message_box.h" #include "sound.h" @@ -36,6 +37,9 @@ #include "gym_leader_rematch.h" #include "battle_pike.h" #include "battle_pyramid.h" +#include "fldeff.h" +#include "fldeff_misc.h" +#include "field_control_avatar.h" #include "constants/map_types.h" #include "constants/battle_frontier.h" @@ -57,12 +61,8 @@ struct TrainerBattleParameter }; extern bool32 InTrainerHill(void); -extern bool32 FieldPoisonEffectIsRunning(void); -extern void RestartWildEncounterImmunitySteps(void); extern void ClearPoisonStepCounter(void); -extern void sub_81BE72C(void); extern void sub_808BCF4(void); -extern void sub_80EECC8(void); extern void sub_80AF6F0(void); extern u16 sub_81D6180(u8 localId); extern bool8 GetTrainerHillTrainerFlag(u8 eventObjId); @@ -338,7 +338,7 @@ static void Task_BattleStart(u8 taskId) switch (tState) { case 0: - if (!FieldPoisonEffectIsRunning()) // is poison not active? + if (!FldEffPoison_IsActive()) // is poison not active? { BattleTransition_StartOnField(tTransition); sub_81BE72C(); diff --git a/src/battle_tower.c b/src/battle_tower.c index 4a9e0dbc4..5ff396a9e 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -31,8 +31,6 @@ #include "constants/species.h" #include "constants/easy_chat.h" -extern const u16 gUnknown_085DFA46[]; - extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224157[]; extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224166[]; @@ -942,55 +940,55 @@ struct const u8 *const *strings; } const gUnknown_085DD500[] = { - {FACILITY_CLASS_LASS, gUnknown_085DD118}, - {FACILITY_CLASS_YOUNGSTER, gUnknown_085DD12C}, - {FACILITY_CLASS_HIKER, gUnknown_085DD140}, - {FACILITY_CLASS_BEAUTY, gUnknown_085DD154}, - {FACILITY_CLASS_FISHERMAN, gUnknown_085DD168}, - {FACILITY_CLASS_LADY, gUnknown_085DD17C}, - {FACILITY_CLASS_CYCLING_TRIATHLETE_F, gUnknown_085DD190}, - {FACILITY_CLASS_BUG_CATCHER, gUnknown_085DD1A4}, - {FACILITY_CLASS_SCHOOL_KID_M, gUnknown_085DD1B8}, - {FACILITY_CLASS_RICH_BOY, gUnknown_085DD1CC}, - {FACILITY_CLASS_BLACK_BELT, gUnknown_085DD1E0}, - {FACILITY_CLASS_TUBER_F, gUnknown_085DD1F4}, - {FACILITY_CLASS_HEX_MANIAC, gUnknown_085DD208}, - {FACILITY_CLASS_PKMN_BREEDER_M, gUnknown_085DD21C}, - {FACILITY_CLASS_RUNNING_TRIATHLETE_F, gUnknown_085DD230}, - {FACILITY_CLASS_RUNNING_TRIATHLETE_M, gUnknown_085DD244}, - {FACILITY_CLASS_BATTLE_GIRL, gUnknown_085DD258}, - {FACILITY_CLASS_CYCLING_TRIATHLETE_M, gUnknown_085DD26C}, - {FACILITY_CLASS_TUBER_M, gUnknown_085DD280}, - {FACILITY_CLASS_GUITARIST, gUnknown_085DD294}, - {FACILITY_CLASS_GENTLEMAN, gUnknown_085DD2A8}, - {FACILITY_CLASS_POKEFAN_M, gUnknown_085DD2BC}, - {FACILITY_CLASS_EXPERT_M, gUnknown_085DD2D0}, - {FACILITY_CLASS_EXPERT_F, gUnknown_085DD2E4}, - {FACILITY_CLASS_DRAGON_TAMER, gUnknown_085DD2F8}, - {FACILITY_CLASS_BIRD_KEEPER, gUnknown_085DD30C}, - {FACILITY_CLASS_NINJA_BOY, gUnknown_085DD320}, - {FACILITY_CLASS_PARASOL_LADY, gUnknown_085DD334}, - {FACILITY_CLASS_BUG_MANIAC, gUnknown_085DD348}, - {FACILITY_CLASS_SAILOR, gUnknown_085DD35C}, - {FACILITY_CLASS_COLLECTOR, gUnknown_085DD370}, - {FACILITY_CLASS_PKMN_RANGER_M, gUnknown_085DD384}, - {FACILITY_CLASS_PKMN_RANGER_F, gUnknown_085DD398}, - {FACILITY_CLASS_AROMA_LADY, gUnknown_085DD3AC}, - {FACILITY_CLASS_RUIN_MANIAC, gUnknown_085DD3C0}, - {FACILITY_CLASS_COOLTRAINER_M, gUnknown_085DD3D4}, - {FACILITY_CLASS_COOLTRAINER_F, gUnknown_085DD3E8}, - {FACILITY_CLASS_POKEMANIAC, gUnknown_085DD3FC}, - {FACILITY_CLASS_KINDLER, gUnknown_085DD410}, - {FACILITY_CLASS_CAMPER, gUnknown_085DD424}, - {FACILITY_CLASS_PICNICKER, gUnknown_085DD438}, - {FACILITY_CLASS_PSYCHIC_M, gUnknown_085DD44C}, - {FACILITY_CLASS_PSYCHIC_F, gUnknown_085DD460}, - {FACILITY_CLASS_SCHOOL_KID_F, gUnknown_085DD474}, - {FACILITY_CLASS_POKEMON_BREEDER_F, gUnknown_085DD488}, - {FACILITY_CLASS_POKEFAN_F, gUnknown_085DD49C}, - {FACILITY_CLASS_SWIMMER_F, gUnknown_085DD4B0}, - {FACILITY_CLASS_SWIMMING_TRIATHLETE_M, gUnknown_085DD4C4}, - {FACILITY_CLASS_SWIMMING_TRIATHLETE_F, gUnknown_085DD4D8}, + {FACILITY_CLASS_LASS, gUnknown_085DD118}, + {FACILITY_CLASS_YOUNGSTER, gUnknown_085DD12C}, + {FACILITY_CLASS_HIKER, gUnknown_085DD140}, + {FACILITY_CLASS_BEAUTY, gUnknown_085DD154}, + {FACILITY_CLASS_FISHERMAN, gUnknown_085DD168}, + {FACILITY_CLASS_LADY, gUnknown_085DD17C}, + {FACILITY_CLASS_CYCLING_TRIATHLETE_F, gUnknown_085DD190}, + {FACILITY_CLASS_BUG_CATCHER, gUnknown_085DD1A4}, + {FACILITY_CLASS_SCHOOL_KID_M, gUnknown_085DD1B8}, + {FACILITY_CLASS_RICH_BOY, gUnknown_085DD1CC}, + {FACILITY_CLASS_BLACK_BELT, gUnknown_085DD1E0}, + {FACILITY_CLASS_TUBER_F, gUnknown_085DD1F4}, + {FACILITY_CLASS_HEX_MANIAC, gUnknown_085DD208}, + {FACILITY_CLASS_PKMN_BREEDER_M, gUnknown_085DD21C}, + {FACILITY_CLASS_RUNNING_TRIATHLETE_F, gUnknown_085DD230}, + {FACILITY_CLASS_RUNNING_TRIATHLETE_M, gUnknown_085DD244}, + {FACILITY_CLASS_BATTLE_GIRL, gUnknown_085DD258}, + {FACILITY_CLASS_CYCLING_TRIATHLETE_M, gUnknown_085DD26C}, + {FACILITY_CLASS_TUBER_M, gUnknown_085DD280}, + {FACILITY_CLASS_GUITARIST, gUnknown_085DD294}, + {FACILITY_CLASS_GENTLEMAN, gUnknown_085DD2A8}, + {FACILITY_CLASS_POKEFAN_M, gUnknown_085DD2BC}, + {FACILITY_CLASS_EXPERT_M, gUnknown_085DD2D0}, + {FACILITY_CLASS_EXPERT_F, gUnknown_085DD2E4}, + {FACILITY_CLASS_DRAGON_TAMER, gUnknown_085DD2F8}, + {FACILITY_CLASS_BIRD_KEEPER, gUnknown_085DD30C}, + {FACILITY_CLASS_NINJA_BOY, gUnknown_085DD320}, + {FACILITY_CLASS_PARASOL_LADY, gUnknown_085DD334}, + {FACILITY_CLASS_BUG_MANIAC, gUnknown_085DD348}, + {FACILITY_CLASS_SAILOR, gUnknown_085DD35C}, + {FACILITY_CLASS_COLLECTOR, gUnknown_085DD370}, + {FACILITY_CLASS_PKMN_RANGER_M, gUnknown_085DD384}, + {FACILITY_CLASS_PKMN_RANGER_F, gUnknown_085DD398}, + {FACILITY_CLASS_AROMA_LADY, gUnknown_085DD3AC}, + {FACILITY_CLASS_RUIN_MANIAC, gUnknown_085DD3C0}, + {FACILITY_CLASS_COOLTRAINER_M, gUnknown_085DD3D4}, + {FACILITY_CLASS_COOLTRAINER_F, gUnknown_085DD3E8}, + {FACILITY_CLASS_POKEMANIAC, gUnknown_085DD3FC}, + {FACILITY_CLASS_KINDLER, gUnknown_085DD410}, + {FACILITY_CLASS_CAMPER, gUnknown_085DD424}, + {FACILITY_CLASS_PICNICKER, gUnknown_085DD438}, + {FACILITY_CLASS_PSYCHIC_M, gUnknown_085DD44C}, + {FACILITY_CLASS_PSYCHIC_F, gUnknown_085DD460}, + {FACILITY_CLASS_SCHOOL_KID_F, gUnknown_085DD474}, + {FACILITY_CLASS_POKEMON_BREEDER_F, gUnknown_085DD488}, + {FACILITY_CLASS_POKEFAN_F, gUnknown_085DD49C}, + {FACILITY_CLASS_SWIMMER_F, gUnknown_085DD4B0}, + {FACILITY_CLASS_SWIMMING_TRIATHLETE_M, gUnknown_085DD4C4}, + {FACILITY_CLASS_SWIMMING_TRIATHLETE_F, gUnknown_085DD4D8}, {FACILITY_CLASS_SWIMMER_M, gUnknown_085DD4EC} }; @@ -2147,7 +2145,7 @@ static void FillFactoryTentTrainerParty(u16 trainerId, u8 firstMonId) void FrontierSpeechToString(const u16 *words) { ConvertEasyChatWordsToString(gStringVar4, words, 3, 2); - if (GetStringWidth(1, gStringVar4, -1) > 204) + if (GetStringWidth(1, gStringVar4, -1) > 204u) { s32 i = 0; diff --git a/src/battle_transition.c b/src/battle_transition.c index 37a8cd63f..786d5e869 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -3,8 +3,10 @@ #include "battle_transition.h" #include "bg.h" #include "decompress.h" +#include "event_object_movement.h" #include "field_camera.h" #include "field_effect.h" +#include "field_weather.h" #include "gpu_regs.h" #include "main.h" #include "alloc.h" @@ -57,10 +59,6 @@ struct StructRectangularSpiral typedef bool8 (*TransitionStateFunc)(struct Task *task); typedef bool8 (*TransitionSpriteCallback)(struct Sprite *sprite); -extern const struct OamData gEventObjectBaseOam_32x32; - -extern void SetWeatherScreenFadeOut(void); - // this file's functions static void LaunchBattleTransitionTask(u8 transitionId); static void Task_BattleTransitionMain(u8 taskId); diff --git a/src/battle_util2.c b/src/battle_util2.c index a9891814c..0a0f65b95 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -3,17 +3,14 @@ #include "battle_controllers.h" #include "alloc.h" #include "pokemon.h" +#include "party_menu.h" #include "event_data.h" #include "constants/abilities.h" #include "random.h" #include "battle_scripts.h" -extern u8 gUnknown_0203CF00[]; - extern void sub_81D55D0(void); extern void sub_81D5694(void); -extern u8 pokemon_order_func(u8); -extern void sub_81B8FB0(u8, u8); void AllocateBattleResources(void) { @@ -42,7 +39,7 @@ void AllocateBattleResources(void) if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE) { - u16 currSecretBaseId = VarGet(VAR_0x4054); + u16 currSecretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); CreateSecretBaseEnemyParty(&gSaveBlock1Ptr->secretBases[currSecretBaseId]); } } diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 22f99a426..6e968fc0a 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -349,11 +349,11 @@ static bool8 LoadBerryTagGfx(void) sBerryTag->gfxState++; break; case 5: - LoadCompressedObjectPic(&gUnknown_0857FDEC); + LoadCompressedSpriteSheet(&gUnknown_0857FDEC); sBerryTag->gfxState++; break; default: - LoadCompressedObjectPalette(&gUnknown_0857FDF4); + LoadCompressedSpritePalette(&gUnknown_0857FDF4); return TRUE; // done } @@ -33,8 +33,8 @@ struct BgConfig2 u32 unk_3:18; void* tilemap; - u32 bg_x; - u32 bg_y; + s32 bg_x; + s32 bg_y; }; static IWRAM_DATA struct BgControl sGpuBgConfigs; @@ -524,12 +524,12 @@ u16 GetBgAttribute(u8 bg, u8 attributeId) case 8: switch (GetBgType(bg)) { - case 0: - return GetBgMetricTextMode(bg, 0) * 0x800; - case 1: - return GetBgMetricAffineMode(bg, 0) * 0x100; - default: - return 0; + case 0: + return GetBgMetricTextMode(bg, 0) * 0x800; + case 1: + return GetBgMetricAffineMode(bg, 0) * 0x100; + default: + return 0; } case 9: return GetBgType(bg); @@ -540,7 +540,7 @@ u16 GetBgAttribute(u8 bg, u8 attributeId) } } -u32 ChangeBgX(u8 bg, u32 value, u8 op) +s32 ChangeBgX(u8 bg, s32 value, u8 op) { u8 mode; u16 temp1; @@ -610,7 +610,7 @@ u32 ChangeBgX(u8 bg, u32 value, u8 op) return sGpuBgConfigs2[bg].bg_x; } -u32 GetBgX(u8 bg) +s32 GetBgX(u8 bg) { if (IsInvalidBg32(bg) != FALSE) return -1; @@ -620,7 +620,7 @@ u32 GetBgX(u8 bg) return sGpuBgConfigs2[bg].bg_x; } -u32 ChangeBgY(u8 bg, u32 value, u8 op) +s32 ChangeBgY(u8 bg, s32 value, u8 op) { u8 mode; u16 temp1; @@ -690,7 +690,7 @@ u32 ChangeBgY(u8 bg, u32 value, u8 op) return sGpuBgConfigs2[bg].bg_y; } -u32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op) +s32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op) { u8 mode; u16 temp1; @@ -761,7 +761,7 @@ u32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op) return sGpuBgConfigs2[bg].bg_y; } -u32 GetBgY(u8 bg) +s32 GetBgY(u8 bg) { if (IsInvalidBg32(bg) != FALSE) return -1; @@ -778,14 +778,10 @@ void SetBgAffine(u8 bg, u32 srcCenterX, u32 srcCenterY, s16 dispCenterX, s16 dis u8 Unused_AdjustBgMosaic(u8 a1, u8 a2) { - u16 result; - s16 test1; - s16 test2; - - result = GetGpuReg(REG_OFFSET_MOSAIC); + u16 result = GetGpuReg(REG_OFFSET_MOSAIC); + s16 test1 = result & 0xF; + s16 test2 = (result >> 4) & 0xF; - test1 = result & 0xF; - test2 = (result >> 4) & 0xF; result &= 0xFF00; switch (a2) @@ -1039,47 +1035,43 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt u16 mode2; u16 attribute; u16 mode3; + u16 x16, y16; - u16 x16; - u16 y16; - - if (IsInvalidBg32(bg) == FALSE && IsTileMapOutsideWram(bg) == FALSE) + if (!IsInvalidBg32(bg) && !IsTileMapOutsideWram(bg)) { attribute = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE); mode = GetBgMetricTextMode(bg, 0x1) * 0x20; mode2 = GetBgMetricTextMode(bg, 0x2) * 0x20; switch (GetBgType(bg)) { - case 0: - for (y16 = y; y16 < (y + height); y16++) + case 0: + for (y16 = y; y16 < (y + height); y16++) + { + for (x16 = x; x16 < (x + width); x16++) { - for (x16 = x; x16 < (x + width); x16++) - { - CopyTileMapEntry(&firstTileNum, &((u16*)sGpuBgConfigs2[bg].tilemap)[(u16)GetTileMapIndexFromCoords(x16, y16, attribute, mode, mode2)], paletteSlot, 0, 0); - firstTileNum = (firstTileNum & 0xFC00) + ((firstTileNum + tileNumDelta) & 0x3FF); - } + CopyTileMapEntry(&firstTileNum, &((u16*)sGpuBgConfigs2[bg].tilemap)[(u16)GetTileMapIndexFromCoords(x16, y16, attribute, mode, mode2)], paletteSlot, 0, 0); + firstTileNum = (firstTileNum & 0xFC00) + ((firstTileNum + tileNumDelta) & 0x3FF); } - break; - case 1: - mode3 = GetBgMetricAffineMode(bg, 0x1); - for (y16 = y; y16 < (y + height); y16++) + } + break; + case 1: + mode3 = GetBgMetricAffineMode(bg, 0x1); + for (y16 = y; y16 < (y + height); y16++) + { + for (x16 = x; x16 < (x + width); x16++) { - for (x16 = x; x16 < (x + width); x16++) - { - ((u8*)sGpuBgConfigs2[bg].tilemap)[(y16 * mode3) + x16] = firstTileNum; - firstTileNum = (firstTileNum & 0xFC00) + ((firstTileNum + tileNumDelta) & 0x3FF); - } + ((u8*)sGpuBgConfigs2[bg].tilemap)[(y16 * mode3) + x16] = firstTileNum; + firstTileNum = (firstTileNum & 0xFC00) + ((firstTileNum + tileNumDelta) & 0x3FF); } - break; + } + break; } } } u16 GetBgMetricTextMode(u8 bg, u8 whichMetric) { - u8 attribute; - - attribute = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE); + u8 attribute = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE); switch (whichMetric) { @@ -1125,9 +1117,7 @@ u16 GetBgMetricTextMode(u8 bg, u8 whichMetric) u32 GetBgMetricAffineMode(u8 bg, u8 whichMetric) { - u8 attribute; - - attribute = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE); + u8 attribute = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE); switch (whichMetric) { diff --git a/src/bike.c b/src/bike.c index b9d247c5d..1e91baab0 100644 --- a/src/bike.c +++ b/src/bike.c @@ -19,8 +19,6 @@ extern u8 sub_808B9BC(u8 direction); extern u8 sub_808B9A4(u8 direction); extern u8 sub_808C1B4(u8 direction); extern u8 sub_808B9D4(u8 direction); -extern void Overworld_ClearSavedMusic(void); -extern void Overworld_PlaySpecialMapMusic(void); // this file's functions static void MovePlayerOnMachBike(u8, u16, u16); diff --git a/src/blit.c b/src/blit.c index b4d5f7de5..26a63fe9b 100644 --- a/src/blit.c +++ b/src/blit.c @@ -1,12 +1,12 @@ #include "global.h" #include "blit.h" -void BlitBitmapRect4BitWithoutColorKey(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height) +void BlitBitmapRect4BitWithoutColorKey(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height) { BlitBitmapRect4Bit(src, dst, srcX, srcY, dstX, dstY, width, height, 0xFF); } -void BlitBitmapRect4Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey) +void BlitBitmapRect4Bit(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey) { s32 xEnd; s32 yEnd; @@ -14,7 +14,7 @@ void BlitBitmapRect4Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 sr s32 multiplierDstY; s32 loopSrcY, loopDstY; s32 loopSrcX, loopDstX; - u8 *pixelsSrc; + const u8 *pixelsSrc; u8 *pixelsDst; s32 toOrr; s32 toAnd; @@ -103,7 +103,7 @@ void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 hei } } -void BlitBitmapRect4BitTo8Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey, u8 paletteOffset) +void BlitBitmapRect4BitTo8Bit(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey, u8 paletteOffset) { s32 palOffsetBits; s32 xEnd; @@ -112,7 +112,7 @@ void BlitBitmapRect4BitTo8Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, s32 multiplierDstY; s32 loopSrcY, loopDstY; s32 loopSrcX, loopDstX; - u8 *pixelsSrc; + const u8 *pixelsSrc; u8 *pixelsDst; s32 colorKeyBits; @@ -252,7 +252,7 @@ void sub_81104E4(struct Sprite *sprite) if (IsContest()) gBattleAnimArgs[2] /= 2; - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; @@ -274,7 +274,7 @@ void sub_81104E4(struct Sprite *sprite) static void sub_811057C(struct Sprite *sprite) { - if (TranslateAnimLinear(sprite)) + if (AnimTranslateLinear(sprite)) { DestroyAnimSprite(sprite); return; @@ -389,7 +389,7 @@ void AnimTranslateStinger(struct Sprite *sprite) } } - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); lVarX = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; lVarY = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; @@ -414,7 +414,7 @@ void AnimTranslateStinger(struct Sprite *sprite) // arg 5: wave amplitude void AnimMissileArc(struct Sprite *sprite) { - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); if (GetBattlerSide(gBattleAnimAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; diff --git a/src/cable_car.c b/src/cable_car.c index 00606c905..207a0c22d 100755 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -259,7 +259,7 @@ static void CableCarMainCallback_Setup(void) break; case 2: for (i = 0; i < 3; i++) - LoadCompressedObjectPic(&gUnknown_085CDB54[i]); + LoadCompressedSpriteSheet(&gUnknown_085CDB54[i]); LoadSpritePalettes(gUnknown_085CDB74); sCableCar->mtChimneyTilemap = malloc_and_decompress(gCableCarMtChimneyTilemap, &sizeOut); @@ -351,7 +351,7 @@ static void CableCarMainCallback_Run(void) static void CleanupCableCar(void) { u8 i = 0; - + HideBg(0); HideBg(1); HideBg(2); @@ -361,7 +361,7 @@ static void CleanupCableCar(void) sub_80AB130(WEATHER_NONE); for (i = 0; i < 20; i++) gWeatherPtr->sprites.s2.ashSprites[i] = NULL; - + ResetTasks(); ResetSpriteData(); ResetPaletteFade(); diff --git a/src/clock.c b/src/clock.c index aea6c2088..2d4da92ab 100644 --- a/src/clock.c +++ b/src/clock.c @@ -1,7 +1,8 @@ #include "global.h" -#include "rom6.h" #include "event_data.h" #include "rtc.h" +#include "time_events.h" +#include "field_specials.h" #include "lottery_corner.h" #include "dewford_trend.h" #include "tv.h" diff --git a/src/contest.c b/src/contest.c index b924f1032..7845dce45 100644 --- a/src/contest.c +++ b/src/contest.c @@ -2483,7 +2483,7 @@ u8 sub_80DB0C4(void) { u8 spriteId; - LoadCompressedObjectPic(&gUnknown_08587C00); + LoadCompressedSpriteSheet(&gUnknown_08587C00); LoadCompressedPalette(gContest2Pal, 0x110, 32); spriteId = CreateSprite(&gSpriteTemplate_8587BE8, 112, 36, 30); gSprites[spriteId].oam.paletteNum = 1; @@ -2495,8 +2495,8 @@ u8 sub_80DB120(void) { u8 spriteId; - LoadCompressedObjectPic(&gUnknown_08587C08); - LoadCompressedObjectPalette(&gUnknown_08587C10); + LoadCompressedSpriteSheet(&gUnknown_08587C08); + LoadCompressedSpritePalette(&gUnknown_08587C10); spriteId = CreateSprite(&gSpriteTemplate_8587C18, 96, 10, 29); gSprites[spriteId].invisible = TRUE; gSprites[spriteId].data[0] = gSprites[spriteId].oam.tileNum; diff --git a/src/credits.c b/src/credits.c index 67ab97481..5e52e5fb7 100644 --- a/src/credits.c +++ b/src/credits.c @@ -1102,7 +1102,6 @@ static const struct SpriteTemplate gUnknown_085E7068 = .callback = sub_81772B8, }; -void sub_8175620(void); static void sub_8175744(u8 taskIdA); static void sub_8175774(u8 taskIdA); static void sub_8175808(u8 taskIdA); @@ -1964,9 +1963,9 @@ static bool8 sub_8176AB0(u8 data, u8 taskIdA) case 2: if (gSaveBlock2Ptr->playerGender == MALE) { - LoadCompressedObjectPic(gUnknown_085F5334); - LoadCompressedObjectPic(gUnknown_085F53BC); - LoadCompressedObjectPic(gUnknown_085F5354); + LoadCompressedSpriteSheet(gUnknown_085F5334); + LoadCompressedSpriteSheet(gUnknown_085F53BC); + LoadCompressedSpriteSheet(gUnknown_085F5354); LoadSpritePalettes(gUnknown_085F5384); spriteId = intro_create_brendan_sprite(120, 46); @@ -1981,9 +1980,9 @@ static bool8 sub_8176AB0(u8 data, u8 taskIdA) } else { - LoadCompressedObjectPic(gUnknown_085F5344); - LoadCompressedObjectPic(gUnknown_085F53AC); - LoadCompressedObjectPic(gUnknown_085F5354); + LoadCompressedSpriteSheet(gUnknown_085F5344); + LoadCompressedSpriteSheet(gUnknown_085F53AC); + LoadCompressedSpriteSheet(gUnknown_085F5354); LoadSpritePalettes(gUnknown_085F5384); spriteId = intro_create_may_sprite(120, 46); diff --git a/src/dark.c b/src/dark.c index d4a4f0b8a..efa6e9498 100644 --- a/src/dark.c +++ b/src/dark.c @@ -1,11 +1,29 @@ #include "global.h" #include "battle_anim.h" +#include "contest.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "palette.h" +#include "scanline_effect.h" +#include "trig.h" +#include "util.h" #include "constants/rgb.h" -extern void sub_81138D4(struct Sprite *); -extern void sub_81139DC(struct Sprite *); -extern void sub_8113A90(struct Sprite *); -extern void sub_81144BC(struct Sprite *); +void sub_81138D4(struct Sprite *); +void sub_81139DC(struct Sprite *); +void sub_8113A90(struct Sprite *); +void sub_81144BC(struct Sprite *); +static void sub_811375C(u8); +static void sub_811381C(u8); +static void sub_8113950(struct Sprite *); +static void sub_8113A18(struct Sprite *); +static void sub_8113A58(struct Sprite *); +static void sub_8113B90(struct Sprite *); +static void sub_8113D60(u8); +static void sub_81140C8(u8); +static void sub_8114244(struct Task *); +static void sub_8114374(u8); +static void sub_8114748(u8); const struct SpriteTemplate gUnknown_08596FC8 = { @@ -167,3 +185,797 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 = .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_81144BC, }; + +void sub_81136E8(u8 taskId) +{ + int battler; + gTasks[taskId].data[0] = gBattleAnimArgs[0]; + battler = gBattleAnimAttacker; + gTasks[taskId].data[1] = 16; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); + if (GetBattlerSpriteBGPriorityRank(battler) == 1) + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); + else + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2); + + gTasks[taskId].func = sub_811375C; +} + +static void sub_811375C(u8 taskId) +{ + u8 blendA = gTasks[taskId].data[1] >> 8; + u8 blendB = gTasks[taskId].data[1]; + if (gTasks[taskId].data[2] == (u8)gTasks[taskId].data[0]) + { + blendA++; + blendB--; + gTasks[taskId].data[1] = BLDALPHA_BLEND(blendB, blendA); + SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].data[1]); + gTasks[taskId].data[2] = 0; + if (blendA == 16) + { + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = 1; + DestroyAnimVisualTask(taskId); + } + } + else + { + gTasks[taskId].data[2]++; + } +} + +void sub_81137E4(u8 taskId) +{ + gTasks[taskId].data[0] = gBattleAnimArgs[0]; + gTasks[taskId].data[1] = BLDALPHA_BLEND(0, 16); + gTasks[taskId].func = sub_811381C; + SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].data[1]); +} + +static void sub_811381C(u8 taskId) +{ + u8 blendA = gTasks[taskId].data[1] >> 8; + u8 blendB = gTasks[taskId].data[1]; + if (gTasks[taskId].data[2] == (u8)gTasks[taskId].data[0]) + { + blendA--; + blendB++; + gTasks[taskId].data[1] = (blendA << 8) | blendB; + SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].data[1]); + gTasks[taskId].data[2] = 0; + if (blendA == 0) + { + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimVisualTask(taskId); + } + } + else + { + gTasks[taskId].data[2]++; + } +} + +void sub_8113888(u8 taskId) +{ + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); + if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); + else + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2); + + DestroyAnimVisualTask(taskId); +} + +void sub_81138D4(struct Sprite *sprite) +{ + sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->data[3] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + sprite->data[0] = 0x7E; + InitSpriteDataForLinearTranslation(sprite); + sprite->data[3] = -sprite->data[1]; + sprite->data[4] = -sprite->data[2]; + sprite->data[6] = 0xFFD8; + sprite->callback = sub_8113950; + sprite->callback(sprite); +} + +static void sub_8113950(struct Sprite *sprite) +{ + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + sprite->pos2.x = sprite->data[3] >> 8; + sprite->pos2.y = sprite->data[4] >> 8; + if (sprite->data[7] == 0) + { + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + sprite->pos2.x = sprite->data[3] >> 8; + sprite->pos2.y = sprite->data[4] >> 8; + sprite->data[0]--; + } + + sprite->pos2.y += Sin(sprite->data[5], sprite->data[6]); + sprite->data[5] = (sprite->data[5] + 3) & 0xFF; + if (sprite->data[5] > 0x7F) + { + sprite->data[5] = 0; + sprite->data[6] += 20; + sprite->data[7]++; + } + + if (--sprite->data[0] == 0) + DestroyAnimSprite(sprite); +} + +void sub_81139DC(struct Sprite *sprite) +{ + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + StartSpriteAffineAnim(sprite, gBattleAnimArgs[2]); + sprite->data[0] = gBattleAnimArgs[3]; + sprite->data[1] = gBattleAnimArgs[4]; + sprite->data[2] = gBattleAnimArgs[5]; + sprite->callback = sub_8113A18; +} + +static void sub_8113A18(struct Sprite *sprite) +{ + sprite->data[4] += sprite->data[0]; + sprite->data[5] += sprite->data[1]; + sprite->pos2.x = sprite->data[4] >> 8; + sprite->pos2.y = sprite->data[5] >> 8; + if (++sprite->data[3] == sprite->data[2]) + sprite->callback = sub_8113A58; +} + +static void sub_8113A58(struct Sprite *sprite) +{ + sprite->data[4] -= sprite->data[0]; + sprite->data[5] -= sprite->data[1]; + sprite->pos2.x = sprite->data[4] >> 8; + sprite->pos2.y = sprite->data[5] >> 8; + if (--sprite->data[3] == 0) + DestroySpriteAndMatrix(sprite); +} + +void sub_8113A90(struct Sprite *sprite) +{ + u8 battler; + s8 xOffset; + + if (gBattleAnimArgs[0] == 0) + battler = gBattleAnimAttacker; + else + battler = gBattleAnimTarget; + + xOffset = 20; + sprite->oam.tileNum += 4; + + switch (gBattleAnimArgs[1]) + { + case 0: + sprite->pos1.x = sub_80A861C(battler, 5) - 8; + sprite->pos1.y = sub_80A861C(battler, 2) + 8; + break; + case 1: + sprite->pos1.x = sub_80A861C(battler, 5) - 14; + sprite->pos1.y = sub_80A861C(battler, 2) + 16; + break; + case 2: + sprite->pos1.x = sub_80A861C(battler, 4) + 8; + sprite->pos1.y = sub_80A861C(battler, 2) + 8; + StartSpriteAffineAnim(sprite, 1); + xOffset = -20; + break; + case 3: + sprite->pos1.x = sub_80A861C(battler, 4) + 14; + sprite->pos1.y = sub_80A861C(battler, 2) + 16; + StartSpriteAffineAnim(sprite, 1); + xOffset = -20; + break; + } + + sprite->data[0] = 32; + sprite->data[2] = sprite->pos1.x + xOffset; + sprite->data[4] = sprite->pos1.y + 12; + sprite->data[5] = -12; + + InitAnimArcTranslation(sprite); + sprite->callback = sub_8113B90; +} + +static void sub_8113B90(struct Sprite *sprite) +{ + if (TranslateAnimArc(sprite)) + DestroySpriteAndMatrix(sprite); +} + +void sub_8113BAC(u8 taskId) +{ + struct ScanlineEffectParams scanlineParams; + struct UnknownAnimStruct2 unknownStruct; + u16 i; + u8 pos; + int var0; + struct Task *task = &gTasks[taskId]; + + task->data[7] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 31; + task->data[6] = sub_80A861C(gBattleAnimAttacker, 2) - 7; + task->data[5] = task->data[7]; + task->data[4] = task->data[6]; + task->data[13] = (task->data[7] - task->data[6]) << 8; + + pos = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X); + task->data[14] = pos - 32; + task->data[15] = pos + 32; + + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + task->data[8] = -12; + else + task->data[8] = -64; + + task->data[3] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); + if (task->data[3] == 1) + { + sub_80A6B30(&unknownStruct); + task->data[10] = gBattle_BG1_Y; + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); + FillPalette(0, unknownStruct.unk8 << 4, 32); + scanlineParams.dmaDest = ®_BG1VOFS; + var0 = WINOUT_WIN01_BG1; + if (!IsContest()) + gBattle_BG2_X += 240; + } + else + { + task->data[10] = gBattle_BG2_Y; + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2); + FillPalette(0, 144, 32); + scanlineParams.dmaDest = ®_BG2VOFS; + var0 = WINOUT_WIN01_BG2; + if (!IsContest()) + gBattle_BG1_X += 240; + } + + scanlineParams.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; + scanlineParams.initState = 1; + scanlineParams.unused9 = 0; + task->data[11] = 0; + task->data[12] = 16; + task->data[0] = 0; + task->data[1] = 0; + task->data[2] = 0; + sub_8114374(3); + for (i = 0; i < 112; i++) + { + gScanlineEffectRegBuffers[0][i] = task->data[10]; + gScanlineEffectRegBuffers[1][i] = task->data[10]; + } + + ScanlineEffect_SetParams(scanlineParams); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | (var0 ^ (WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR))); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); + gBattle_WIN0H = (task->data[14] << 8) | task->data[15]; + gBattle_WIN0V = 160; + + task->func = sub_8113D60; +} + +static void sub_8113D60(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (++task->data[1] > 1) + { + task->data[1] = 0; + if (++task->data[2] & 1) + { + if (task->data[11] != 12) + task->data[11]++; + } + else + { + if (task->data[12] != 8) + task->data[12]--; + } + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[11], task->data[12])); + + if (task->data[11] == 12 && task->data[12] == 8) + task->data[0]++; + } + break; + case 1: + task->data[4] -= 8; + sub_8114244(task); + + if (task->data[4] < task->data[8]) + task->data[0]++; + break; + case 2: + task->data[4] -= 8; + sub_8114244(task); + task->data[14] += 4; + task->data[15] -= 4; + + if (task->data[14] >= task->data[15]) + task->data[14] = task->data[15]; + + gBattle_WIN0H = (task->data[14] << 8) | task->data[15]; + + if (task->data[14] == task->data[15]) + task->data[0]++; + break; + case 3: + gScanlineEffect.state = 3; + task->data[0]++; + break; + case 4: + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_8113E78(u8 taskId) +{ + struct UnknownAnimStruct2 unknownStruct; + struct ScanlineEffectParams scanlineParams; + u8 x; + u16 i; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (IsContest() == TRUE) + { + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); + DestroyAnimVisualTask(taskId); + } + else + { + task->data[3] = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget); + if (task->data[3] == 1) + { + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); + gBattle_BG2_X += 240; + } + else + { + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2); + gBattle_BG1_X += 240; + } + + task->data[0]++; + } + break; + case 1: + if (task->data[3] == 1) + { + sub_80A6B30(&unknownStruct); + task->data[10] = gBattle_BG1_Y; + FillPalette(0, unknownStruct.unk8 << 4, 32); + } + else + { + task->data[10] = gBattle_BG2_Y; + FillPalette(0, 144, 32); + } + + sub_8114374(3); + task->data[0]++; + break; + case 2: + task->data[7] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 31; + task->data[6] = sub_80A861C(gBattleAnimTarget, 2) - 7; + task->data[13] = (task->data[7] - task->data[6]) << 8; + x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); + task->data[14] = x - 4; + task->data[15] = x + 4; + + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) + task->data[8] = -12; + else + task->data[8] = -64; + + task->data[4] = task->data[8]; + task->data[5] = task->data[8]; + task->data[11] = 12; + task->data[12] = 8; + task->data[0]++; + break; + case 3: + if (task->data[3] == 1) + scanlineParams.dmaDest = ®_BG1VOFS; + else + scanlineParams.dmaDest = ®_BG2VOFS; + + for (i = 0; i < 112; i++) + { + gScanlineEffectRegBuffers[0][i] = task->data[10] + (159 - i); + gScanlineEffectRegBuffers[1][i] = task->data[10] + (159 - i); + } + + scanlineParams.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; + scanlineParams.initState = 1; + scanlineParams.unused9 = 0; + ScanlineEffect_SetParams(scanlineParams); + task->data[0]++; + break; + case 4: + if (task->data[3] == 1) + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); + else + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); + + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); + gBattle_WIN0H = (task->data[14] << 8) | task->data[15]; + gBattle_WIN0V = 160; + + task->data[0] = 0; + task->data[1] = 0; + task->data[2] = 0; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 8)); + task->func = sub_81140C8; + break; + } +} + +static void sub_81140C8(u8 taskId) +{ + u8 pos; + u16 i; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + task->data[5] += 8; + if (task->data[5] >= task->data[7]) + task->data[5] = task->data[7]; + + sub_8114244(task); + if (task->data[5] == task->data[7]) + task->data[0]++; + break; + case 1: + if (task->data[15] - task->data[14] < 0x40) + { + task->data[14] -= 4; + task->data[15] += 4; + } + else + { + task->data[1] = 1; + } + + gBattle_WIN0H = (task->data[14] << 8) | task->data[15]; + task->data[4] += 8; + if (task->data[4] >= task->data[6]) + task->data[4] = task->data[6]; + + sub_8114244(task); + if (task->data[4] == task->data[6] && task->data[1]) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 2: + if (++task->data[1] > 1) + { + task->data[1] = 0; + task->data[2]++; + if (task->data[2] & 1) + { + if (task->data[11]) + task->data[11]--; + } + else + { + if (task->data[12] < 16) + task->data[12]++; + } + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[11], task->data[12])); + if (task->data[11] == 0 && task->data[12] == 16) + task->data[0]++; + } + break; + case 3: + gScanlineEffect.state = 3; + task->data[0]++; + break; + case 4: + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); + DestroyAnimVisualTask(taskId); + break; + } +} + +static void sub_8114244(struct Task *task) +{ + int var0, var1; + s16 var2; + s16 i; + int var4; + + var2 = task->data[5] - task->data[4]; + if (var2 != 0) + { + var0 = task->data[13] / var2; + var1 = task->data[6] << 8; + + for (i = 0; i < task->data[4]; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[10] - (i - 159); + } + + for (i = task->data[4]; i <= task->data[5]; i++) + { + if (i >= 0) + { + s16 var3 = (var1 >> 8) - i; + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = var3 + task->data[10]; + } + + var1 += var0; + } + + var4 = task->data[10] - (i - 159); + for (i = i; i < task->data[7]; i++) + { + if (i >= 0) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = var4; + var4--; + } + } + } + else + { + var4 = task->data[10] + 159; + for (i = 0; i < 112; i++) + { + gScanlineEffectRegBuffers[0][i] = var4; + gScanlineEffectRegBuffers[1][i] = var4; + var4--; + } + } +} + +static void sub_8114374(u8 priority) +{ + u16 i; + + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + u8 spriteId = GetAnimBattlerSpriteId(i); + if (spriteId != 0xFF) + gSprites[spriteId].oam.priority = priority; + } +} + +void sub_81143C0(u8 taskId) +{ + u8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? 1 : 0; + MoveBattlerSpriteToBG(gBattleAnimAttacker, toBG2, TRUE); + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = 0; + + if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) + { + MoveBattlerSpriteToBG(gBattleAnimAttacker ^ 2, toBG2 ^ 1, TRUE); + gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].invisible = 0; + } + + DestroyAnimVisualTask(taskId); +} + +void sub_8114470(u8 taskId) +{ + u8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? 1 : 0; + sub_80A477C(toBG2); + + if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) + sub_80A477C(toBG2 ^ 1); + + DestroyAnimVisualTask(taskId); +} + +void sub_81144BC(struct Sprite *sprite) +{ + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + StartSpriteAnim(sprite, gBattleAnimArgs[2]); + sprite->callback = RunStoredCallbackWhenAnimEnds; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +void sub_81144F8(u8 taskId) +{ + u16 species; + u8 spriteId; + u8 newSpriteId; + u16 paletteNum; + struct UnknownAnimStruct2 unknownStruct; + int var0 = 0; + + gBattle_WIN0H = var0; + gBattle_WIN0V = var0; + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(8, 12)); + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 0); + SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0); + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); + + if (IsDoubleBattle() && !IsContest()) + { + if (GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_OPPONENT_RIGHT || GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_PLAYER_LEFT) + { + if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)) == TRUE) + { + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority--; + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); + var0 = 1; + } + } + } + + if (IsContest()) + { + species = gContestResources->field_18->species; + } + else + { + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES); + else + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES); + } + + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + newSpriteId = sub_80A89C8(gBattleAnimAttacker, spriteId, species); + + sub_80A6B30(&unknownStruct); + sub_80A6D48(unknownStruct.bgId, gUnknown_08C1D210); + sub_80A6CC0(unknownStruct.bgId, gUnknown_08C1D0AC, unknownStruct.tilesOffset); + LoadCompressedPalette(gUnknown_08C1D1E8, unknownStruct.unk8 << 4, 32); + + gBattle_BG1_X = -gSprites[spriteId].pos1.x + 96; + gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32; + paletteNum = 16 + gSprites[spriteId].oam.paletteNum; + + if (gBattleAnimArgs[1] == 0) + SetGreyscaleOrOriginalPalette(paletteNum, FALSE); + else + BlendPalette(paletteNum * 16, 16, 11, gBattleAnimArgs[2]); + + gTasks[taskId].data[0] = newSpriteId; + gTasks[taskId].data[1] = gBattleAnimArgs[0]; + gTasks[taskId].data[2] = gBattleAnimArgs[1]; + gTasks[taskId].data[3] = gBattleAnimArgs[2]; + gTasks[taskId].data[6] = var0; + gTasks[taskId].func = sub_8114748; +} + +static void sub_8114748(u8 taskId) +{ + struct UnknownAnimStruct2 unknownStruct; + u16 paletteNum; + u8 spriteId; + u8 taskIdCopy = taskId; + + gTasks[taskIdCopy].data[10] += 4; + gBattle_BG1_X -= 4; + if (gTasks[taskIdCopy].data[10] == 128) + { + gTasks[taskIdCopy].data[10] = 0; + gBattle_BG1_X += 128; + gTasks[taskIdCopy].data[11]++; + if (gTasks[taskIdCopy].data[11] == 2) + { + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + paletteNum = 16 + gSprites[spriteId].oam.paletteNum; + if (gTasks[taskIdCopy].data[1] == 0) + SetGreyscaleOrOriginalPalette(paletteNum, 1); + + DestroySprite(&gSprites[gTasks[taskIdCopy].data[0]]); + sub_80A6B30(&unknownStruct); + sub_80A6C68(unknownStruct.bgId); + if (gTasks[taskIdCopy].data[6] == 1) + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++; + } + else if (gTasks[taskIdCopy].data[11] == 3) + { + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0); + + SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimVisualTask(taskId); + } + } +} + +void sub_811489C(u8 taskId) +{ + u8 spriteId; + u8 battler; + bool8 calcSpriteId = FALSE; + u8 position = B_POSITION_PLAYER_LEFT; + + switch (gBattleAnimArgs[0]) + { + case 0: + case 1: + case 2: + case 3: + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + break; + case 4: + position = B_POSITION_PLAYER_LEFT; + calcSpriteId = TRUE; + break; + case 5: + position = B_POSITION_PLAYER_RIGHT; + calcSpriteId = TRUE; + break; + case 6: + position = B_POSITION_OPPONENT_LEFT; + calcSpriteId = TRUE; + break; + case 7: + position = B_POSITION_OPPONENT_RIGHT; + calcSpriteId = TRUE; + break; + default: + spriteId = 0xFF; + break; + } + + if (calcSpriteId) + { + battler = GetBattlerAtPosition(position); + if (IsBattlerSpriteVisible(battler)) + spriteId = gBattlerSpriteIds[battler]; + else + spriteId = 0xFF; + } + + if (spriteId != 0xFF) + SetGreyscaleOrOriginalPalette(gSprites[spriteId].oam.paletteNum + 16, gBattleAnimArgs[1]); + + DestroyAnimVisualTask(taskId); +} + +void sub_8114960(u8 taskId) +{ + if (gAnimMoveTurn < 2) + gBattleAnimArgs[7] = 0; + + if (gAnimMoveTurn == 2) + gBattleAnimArgs[7] = 1; + + DestroyAnimVisualTask(taskId); +} diff --git a/src/data/graphics/berry_fix.h b/src/data/graphics/berry_fix.h index aede748a4..07e2cbf51 100644 --- a/src/data/graphics/berry_fix.h +++ b/src/data/graphics/berry_fix.h @@ -20,4 +20,4 @@ const u32 gBerryFixGbaTransferError_Tilemap[] = INCBIN_U32("graphics/berry_fix/g const u16 gBerryFixWindow_Pal[] = INCBIN_U16("graphics/berry_fix/window.gbapal"); const u32 gBerryFixWindow_Gfx[] = INCBIN_U32("graphics/berry_fix/window.4bpp.lz"); -const u32 gBerryFixWindow_Tilemap[] = INCBIN_U32("graphics/berry_fix/window.bin.lz");
\ No newline at end of file +const u32 gBerryFixWindow_Tilemap[] = INCBIN_U32("graphics/berry_fix/window.bin.lz"); diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 078304888..86ebb620b 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -1,7 +1,40 @@ -// Maximum value for a female pokemon is 254 (MON_FEMALE) which is 100% female. -// 255 (MON_GENDERLESS) is reserved for genderless pokemon. +// Maximum value for a female Pokémon is 254 (MON_FEMALE) which is 100% female. +// 255 (MON_GENDERLESS) is reserved for genderless Pokémon. #define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100)) +#define OLD_UNOWN_BASE_STATS \ + { \ + .baseHP = 50, \ + .baseAttack = 150, \ + .baseDefense = 50, \ + .baseSpAttack = 150, \ + .baseSpDefense = 50, \ + .baseSpeed = 150, \ + .type1 = TYPE_NORMAL, \ + .type2 = TYPE_NORMAL, \ + .catchRate = 3, \ + .expYield = 1, \ + .evYield_HP = 2, \ + .evYield_Attack = 2, \ + .evYield_Defense = 2, \ + .evYield_Speed = 2, \ + .evYield_SpAttack = 2, \ + .evYield_SpDefense = 2, \ + .item1 = ITEM_NONE, \ + .item2 = ITEM_NONE, \ + .genderRatio = MON_GENDERLESS, \ + .eggCycles = 120, \ + .friendship = 0, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroup1 = EGG_GROUP_UNDISCOVERED,\ + .eggGroup2 = EGG_GROUP_UNDISCOVERED,\ + .ability1 = ABILITY_NONE, \ + .ability2 = ABILITY_NONE, \ + .safariZoneFleeRate = 0, \ + .bodyColor = BODY_COLOR_BLACK, \ + .noFlip = FALSE, \ + } + const struct BaseStats gBaseStats[] = { [SPECIES_NONE] = {0}, @@ -8289,830 +8322,55 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_OLD_UNOWN_B] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_B] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_C] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_C] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_D] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_D] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_E] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_E] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_F] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_F] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_G] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_G] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_H] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_H] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_I] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_I] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_J] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_J] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_K] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_K] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_L] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_L] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_M] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_M] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_N] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_N] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_O] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_O] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_P] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_P] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_Q] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_Q] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_R] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_R] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_S] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_S] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_T] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_T] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_U] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_U] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_V] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_V] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_W] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_W] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_X] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_X] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_Y] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_Y] = OLD_UNOWN_BASE_STATS, - [SPECIES_OLD_UNOWN_Z] = - { - .baseHP = 50, - .baseAttack = 150, - .baseDefense = 50, - .baseSpeed = 150, - .baseSpAttack = 150, - .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, - .catchRate = 3, - .expYield = 1, - .evYield_HP = 2, - .evYield_Attack = 2, - .evYield_Defense = 2, - .evYield_Speed = 2, - .evYield_SpAttack = 2, - .evYield_SpDefense = 2, - .item1 = ITEM_NONE, - .item2 = ITEM_NONE, - .genderRatio = MON_GENDERLESS, - .eggCycles = 120, - .friendship = 0, - .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NONE, - .ability2 = ABILITY_NONE, - .safariZoneFleeRate = 0, - .bodyColor = BODY_COLOR_BLACK, - .noFlip = FALSE, - }, + [SPECIES_OLD_UNOWN_Z] = OLD_UNOWN_BASE_STATS, [SPECIES_TREECKO] = { diff --git a/src/data/pokemon/tutor_learnsets.h b/src/data/pokemon/tutor_learnsets.h new file mode 100644 index 000000000..27fb40621 --- /dev/null +++ b/src/data/pokemon/tutor_learnsets.h @@ -0,0 +1,5783 @@ +#define TUTOR_MOVE_MEGA_PUNCH 0 +#define TUTOR_MOVE_SWORDS_DANCE 1 +#define TUTOR_MOVE_MEGA_KICK 2 +#define TUTOR_MOVE_BODY_SLAM 3 +#define TUTOR_MOVE_DOUBLE_EDGE 4 +#define TUTOR_MOVE_COUNTER 5 +#define TUTOR_MOVE_SEISMIC_TOSS 6 +#define TUTOR_MOVE_MIMIC 7 +#define TUTOR_MOVE_METRONOME 8 +#define TUTOR_MOVE_SOFT_BOILED 9 +#define TUTOR_MOVE_DREAM_EATER 10 +#define TUTOR_MOVE_THUNDER_WAVE 11 +#define TUTOR_MOVE_EXPLOSION 12 +#define TUTOR_MOVE_ROCK_SLIDE 13 +#define TUTOR_MOVE_SUBSTITUTE 14 +#define TUTOR_MOVE_DYNAMIC_PUNCH 15 +#define TUTOR_MOVE_ROLLOUT 16 +#define TUTOR_MOVE_PSYCH_UP 17 +#define TUTOR_MOVE_SNORE 18 +#define TUTOR_MOVE_ICY_WIND 19 +#define TUTOR_MOVE_ENDURE 20 +#define TUTOR_MOVE_MUD_SLAP 21 +#define TUTOR_MOVE_ICE_PUNCH 22 +#define TUTOR_MOVE_SWAGGER 23 +#define TUTOR_MOVE_SLEEP_TALK 24 +#define TUTOR_MOVE_SWIFT 25 +#define TUTOR_MOVE_DEFENSE_CURL 26 +#define TUTOR_MOVE_THUNDER_PUNCH 27 +#define TUTOR_MOVE_FIRE_PUNCH 28 +#define TUTOR_MOVE_FURY_CUTTER 29 + +const u16 gTutorMoves[] = +{ + [TUTOR_MOVE_MEGA_PUNCH] = MOVE_MEGA_PUNCH, + [TUTOR_MOVE_SWORDS_DANCE] = MOVE_SWORDS_DANCE, + [TUTOR_MOVE_MEGA_KICK] = MOVE_MEGA_KICK, + [TUTOR_MOVE_BODY_SLAM] = MOVE_BODY_SLAM, + [TUTOR_MOVE_DOUBLE_EDGE] = MOVE_DOUBLE_EDGE, + [TUTOR_MOVE_COUNTER] = MOVE_COUNTER, + [TUTOR_MOVE_SEISMIC_TOSS] = MOVE_SEISMIC_TOSS, + [TUTOR_MOVE_MIMIC] = MOVE_MIMIC, + [TUTOR_MOVE_METRONOME] = MOVE_METRONOME, + [TUTOR_MOVE_SOFT_BOILED] = MOVE_SOFT_BOILED, + [TUTOR_MOVE_DREAM_EATER] = MOVE_DREAM_EATER, + [TUTOR_MOVE_THUNDER_WAVE] = MOVE_THUNDER_WAVE, + [TUTOR_MOVE_EXPLOSION] = MOVE_EXPLOSION, + [TUTOR_MOVE_ROCK_SLIDE] = MOVE_ROCK_SLIDE, + [TUTOR_MOVE_SUBSTITUTE] = MOVE_SUBSTITUTE, + [TUTOR_MOVE_DYNAMIC_PUNCH] = MOVE_DYNAMIC_PUNCH, + [TUTOR_MOVE_ROLLOUT] = MOVE_ROLLOUT, + [TUTOR_MOVE_PSYCH_UP] = MOVE_PSYCH_UP, + [TUTOR_MOVE_SNORE] = MOVE_SNORE, + [TUTOR_MOVE_ICY_WIND] = MOVE_ICY_WIND, + [TUTOR_MOVE_ENDURE] = MOVE_ENDURE, + [TUTOR_MOVE_MUD_SLAP] = MOVE_MUD_SLAP, + [TUTOR_MOVE_ICE_PUNCH] = MOVE_ICE_PUNCH, + [TUTOR_MOVE_SWAGGER] = MOVE_SWAGGER, + [TUTOR_MOVE_SLEEP_TALK] = MOVE_SLEEP_TALK, + [TUTOR_MOVE_SWIFT] = MOVE_SWIFT, + [TUTOR_MOVE_DEFENSE_CURL] = MOVE_DEFENSE_CURL, + [TUTOR_MOVE_THUNDER_PUNCH] = MOVE_THUNDER_PUNCH, + [TUTOR_MOVE_FIRE_PUNCH] = MOVE_FIRE_PUNCH, + [TUTOR_MOVE_FURY_CUTTER] = MOVE_FURY_CUTTER, +}; + +#define TUTOR_LEARNSET(moves) ((u32)(moves)) +#define TUTOR(move) ((u64)1 << (TUTOR_##move)) + +static const u32 sTutorLearnsets[] = +{ + [SPECIES_NONE] = TUTOR_LEARNSET(0), + + [SPECIES_BULBASAUR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_IVYSAUR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_VENUSAUR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CHARMANDER] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CHARMELEON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CHARIZARD] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SQUIRTLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_WARTORTLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_BLASTOISE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_CATERPIE] = TUTOR_LEARNSET(0), + + [SPECIES_METAPOD] = TUTOR_LEARNSET(0), + + [SPECIES_BUTTERFREE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_WEEDLE] = TUTOR_LEARNSET(0), + + [SPECIES_KAKUNA] = TUTOR_LEARNSET(0), + + [SPECIES_BEEDRILL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_PIDGEY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_PIDGEOTTO] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_PIDGEOT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_RATTATA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_RATICATE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SPEAROW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_FEAROW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_EKANS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ARBOK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_PIKACHU] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_RAICHU] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_SANDSHREW] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SANDSLASH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_NIDORAN_F] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_NIDORINA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_NIDOQUEEN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_NIDORAN_M] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_NIDORINO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_NIDOKING] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CLEFAIRY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_CLEFABLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_VULPIX] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_NINETALES] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_JIGGLYPUFF] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_WIGGLYTUFF] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_ZUBAT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_GOLBAT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ODDISH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_GLOOM] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_VILEPLUME] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_PARAS] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_PARASECT] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_VENONAT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_VENOMOTH] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_DIGLETT] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_DUGTRIO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_MEOWTH] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_PERSIAN] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_PSYDUCK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_GOLDUCK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MANKEY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_PRIMEAPE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_GROWLITHE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ARCANINE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_POLIWAG] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_POLIWHIRL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_POLIWRATH] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_ABRA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_KADABRA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_ALAKAZAM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MACHOP] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MACHOKE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MACHAMP] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_BELLSPROUT] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_WEEPINBELL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_VICTREEBEL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_TENTACOOL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_TENTACRUEL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_GEODUDE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_GRAVELER] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_GOLEM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_PONYTA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_RAPIDASH] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SLOWPOKE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SLOWBRO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MAGNEMITE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MAGNETON] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_FARFETCHD] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_DODUO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_DODRIO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SEEL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_DEWGONG] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_GRIMER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MUK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_SHELLDER] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_CLOYSTER] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_GASTLY] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_HAUNTER] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_GENGAR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_ONIX] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_DROWZEE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_HYPNO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_KRABBY] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_KINGLER] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_VOLTORB] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ELECTRODE] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_EXEGGCUTE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_EXEGGUTOR] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_CUBONE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MAROWAK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_HITMONLEE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_HITMONCHAN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_LICKITUNG] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_KOFFING] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_WEEZING] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_RHYHORN] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_RHYDON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CHANSEY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_TANGELA] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_KANGASKHAN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_HORSEA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SEADRA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_GOLDEEN] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SEAKING] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_STARYU] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_STARMIE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MR_MIME] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_SCYTHER] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_JYNX] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ELECTABUZZ] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MAGMAR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_PINSIR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TAUROS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_MAGIKARP] = TUTOR_LEARNSET(0), + + [SPECIES_GYARADOS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_LAPRAS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_DITTO] = TUTOR_LEARNSET(0), + + [SPECIES_EEVEE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_VAPOREON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_JOLTEON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_FLAREON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_PORYGON] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_OMANYTE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_OMASTAR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_KABUTO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_KABUTOPS] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_AERODACTYL] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SNORLAX] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_ARTICUNO] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ZAPDOS] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MOLTRES] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_DRATINI] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_DRAGONAIR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_DRAGONITE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MEWTWO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MEW] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CHIKORITA] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_BAYLEEF] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MEGANIUM] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CYNDAQUIL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_QUILAVA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TYPHLOSION] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TOTODILE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_CROCONAW] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_FERALIGATR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SENTRET] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_FURRET] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_HOOTHOOT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_NOCTOWL] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_LEDYBA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_LEDIAN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_SPINARAK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ARIADOS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_CROBAT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_CHINCHOU] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_LANTURN] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_PICHU] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_CLEFFA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_IGGLYBUFF] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_TOGEPI] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_TOGETIC] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_NATU] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_XATU] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MAREEP] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_FLAAFFY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_AMPHAROS] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_BELLOSSOM] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_MARILL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_AZUMARILL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SUDOWOODO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_POLITOED] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_HOPPIP] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SKIPLOOM] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_JUMPLUFF] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_AIPOM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SUNKERN] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_SUNFLORA] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_YANMA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_WOOPER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_QUAGSIRE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_ESPEON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_UMBREON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MURKROW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SLOWKING] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MISDREAVUS] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_UNOWN] = TUTOR_LEARNSET(0), + + [SPECIES_WOBBUFFET] = TUTOR_LEARNSET(0), + + [SPECIES_GIRAFARIG] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_PINECO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_FORRETRESS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_DUNSPARCE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_GLIGAR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_STEELIX] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SNUBBULL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_GRANBULL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_QWILFISH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SCIZOR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SHUCKLE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_HERACROSS] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SNEASEL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TEDDIURSA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_URSARING] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SLUGMA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_MAGCARGO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SWINUB] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_PILOSWINE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_CORSOLA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_REMORAID] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_OCTILLERY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_DELIBIRD] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MANTINE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SKARMORY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_HOUNDOUR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_HOUNDOOM] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_KINGDRA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_PHANPY] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_DONPHAN] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_PORYGON2] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_STANTLER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SMEARGLE] = TUTOR_LEARNSET(0), + + [SPECIES_TYROGUE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_HITMONTOP] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SMOOCHUM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ELEKID] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MAGBY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MILTANK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_BLISSEY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_RAIKOU] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ENTEI] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SUICUNE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_LARVITAR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_PUPITAR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_TYRANITAR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_LUGIA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_HO_OH] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_CELEBI] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_TREECKO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_GROVYLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SCEPTILE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TORCHIC] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_COMBUSKEN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_BLAZIKEN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MUDKIP] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_MARSHTOMP] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SWAMPERT] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_POOCHYENA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_MIGHTYENA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ZIGZAGOON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_LINOONE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_WURMPLE] = TUTOR_LEARNSET(0), + + [SPECIES_SILCOON] = TUTOR_LEARNSET(0), + + [SPECIES_BEAUTIFLY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_CASCOON] = TUTOR_LEARNSET(0), + + [SPECIES_DUSTOX] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_LOTAD] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_LOMBRE] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_LUDICOLO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_SEEDOT] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_NUZLEAF] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SHIFTRY] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_NINCADA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_NINJASK] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SHEDINJA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TAILLOW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SWELLOW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SHROOMISH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_BRELOOM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SPINDA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_WINGULL] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_PELIPPER] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SURSKIT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MASQUERAIN] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_WAILMER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_WAILORD] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SKITTY] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_DELCATTY] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_KECLEON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_BALTOY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_CLAYDOL] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_NOSEPASS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_TORKOAL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_SABLEYE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_BARBOACH] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_WHISCASH] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_LUVDISC] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_CORPHISH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CRAWDAUNT] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_FEEBAS] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MILOTIC] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_CARVANHA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SHARPEDO] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TRAPINCH] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_VIBRAVA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_FLYGON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MAKUHITA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_HARIYAMA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_ELECTRIKE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MANECTRIC] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_NUMEL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_CAMERUPT] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SPHEAL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SEALEO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_WALREIN] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_CACNEA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CACTURNE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SNORUNT] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_GLALIE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_LUNATONE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SOLROCK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_AZURILL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SPOINK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_GRUMPIG] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_PLUSLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_MINUN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_MAWILE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_MEDITITE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MEDICHAM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_SWABLU] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ALTARIA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_WYNAUT] = TUTOR_LEARNSET(0), + + [SPECIES_DUSKULL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_DUSCLOPS] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_ROSELIA] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SLAKOTH] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_VIGOROTH] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SLAKING] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_GULPIN] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_SWALOT] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_TROPIUS] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_WHISMUR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_LOUDRED] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_EXPLOUD] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_CLAMPERL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_HUNTAIL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_GOREBYSS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ABSOL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SHUPPET] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_BANETTE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_SEVIPER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_ZANGOOSE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_RELICANTH] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ARON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_LAIRON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_AGGRON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CASTFORM] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_VOLBEAT] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_ILLUMISE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_LILEEP] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_CRADILY] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ANORITH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_ARMALDO] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_RALTS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_KIRLIA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_GARDEVOIR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_BAGON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SHELGON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SALAMENCE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_BELDUM] = TUTOR_LEARNSET(0), + + [SPECIES_METANG] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_METAGROSS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_REGIROCK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_REGICE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_REGISTEEL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_KYOGRE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_GROUDON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_RAYQUAZA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_LATIAS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_LATIOS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_JIRACHI] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_DEOXYS] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_CHIMECHO] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + +}; + diff --git a/src/data/wild_encounters.h b/src/data/wild_encounters.h new file mode 100644 index 000000000..d1f2eb616 --- /dev/null +++ b/src/data/wild_encounters.h @@ -0,0 +1,4573 @@ +// const rom data + +/*This file consists of several parts. + *First, the actual tables that define the available Pokemon and their level ranges. + *Second, the headers for each area that links the tables to the actual maps. + *Third, Battle Pyramid-specific tables and headers. + *Fourth, Battle Pike-specific tables and headers. + *And then finally, Feebas-related data. + *You can search for // to jump between the sections. + */ + + //Start of regular Pokemon tables. + +const struct WildPokemon gRoute101_LandMons[] = +{ + {2, 2, SPECIES_WURMPLE}, + {2, 2, SPECIES_POOCHYENA}, + {2, 2, SPECIES_WURMPLE}, + {3, 3, SPECIES_WURMPLE}, + {3, 3, SPECIES_POOCHYENA}, + {3, 3, SPECIES_POOCHYENA}, + {3, 3, SPECIES_WURMPLE}, + {3, 3, SPECIES_POOCHYENA}, + {2, 2, SPECIES_ZIGZAGOON}, + {2, 2, SPECIES_ZIGZAGOON}, + {3, 3, SPECIES_ZIGZAGOON}, + {3, 3, SPECIES_ZIGZAGOON}, +}; + +const struct WildPokemonInfo gRoute101_LandMonsInfo = {20, gRoute101_LandMons}; + +const struct WildPokemon gRoute102_LandMons[] = +{ + {3, 3, SPECIES_POOCHYENA}, + {3, 3, SPECIES_WURMPLE}, + {4, 4, SPECIES_POOCHYENA}, + {4, 4, SPECIES_WURMPLE}, + {3, 3, SPECIES_LOTAD}, + {4, 4, SPECIES_LOTAD}, + {3, 3, SPECIES_ZIGZAGOON}, + {3, 3, SPECIES_ZIGZAGOON}, + {4, 4, SPECIES_ZIGZAGOON}, + {4, 4, SPECIES_RALTS}, + {4, 4, SPECIES_ZIGZAGOON}, + {3, 3, SPECIES_SEEDOT}, +}; + +const struct WildPokemonInfo gRoute102_LandMonsInfo = {20, gRoute102_LandMons}; + +const struct WildPokemon gRoute102_WaterMons[] = +{ + {20, 30, SPECIES_MARILL}, + {10, 20, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, + {20, 30, SPECIES_GOLDEEN}, +}; + +const struct WildPokemonInfo gRoute102_WaterMonsInfo = {4, gRoute102_WaterMons}; + +const struct WildPokemon gRoute102_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_CORPHISH}, + {25, 30, SPECIES_CORPHISH}, + {30, 35, SPECIES_CORPHISH}, + {20, 25, SPECIES_CORPHISH}, + {35, 40, SPECIES_CORPHISH}, + {40, 45, SPECIES_CORPHISH}, +}; + +const struct WildPokemonInfo gRoute102_FishingMonsInfo = {30, gRoute102_FishingMons}; + +const struct WildPokemon gRoute103_LandMons[] = +{ + {2, 2, SPECIES_POOCHYENA}, + {3, 3, SPECIES_POOCHYENA}, + {3, 3, SPECIES_POOCHYENA}, + {4, 4, SPECIES_POOCHYENA}, + {2, 2, SPECIES_WINGULL}, + {3, 3, SPECIES_ZIGZAGOON}, + {3, 3, SPECIES_ZIGZAGOON}, + {4, 4, SPECIES_ZIGZAGOON}, + {3, 3, SPECIES_WINGULL}, + {3, 3, SPECIES_WINGULL}, + {2, 2, SPECIES_WINGULL}, + {4, 4, SPECIES_WINGULL}, +}; + +const struct WildPokemonInfo gRoute103_LandMonsInfo = {20, gRoute103_LandMons}; + +const struct WildPokemon gRoute103_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute103_WaterMonsInfo = {4, gRoute103_WaterMons}; + +const struct WildPokemon gRoute103_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute103_FishingMonsInfo = {30, gRoute103_FishingMons}; + +const struct WildPokemon gRoute104_LandMons[] = +{ + {4, 4, SPECIES_POOCHYENA}, + {4, 4, SPECIES_WURMPLE}, + {5, 5, SPECIES_POOCHYENA}, + {5, 5, SPECIES_MARILL}, + {4, 4, SPECIES_MARILL}, + {5, 5, SPECIES_POOCHYENA}, + {4, 4, SPECIES_TAILLOW}, + {5, 5, SPECIES_TAILLOW}, + {4, 4, SPECIES_WINGULL}, + {4, 4, SPECIES_WINGULL}, + {3, 3, SPECIES_WINGULL}, + {5, 5, SPECIES_WINGULL}, +}; + +const struct WildPokemonInfo gRoute104_LandMonsInfo = {20, gRoute104_LandMons}; + +const struct WildPokemon gRoute104_WaterMons[] = +{ + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute104_WaterMonsInfo = {4, gRoute104_WaterMons}; + +const struct WildPokemon gRoute104_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_MAGIKARP}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_MAGIKARP}, + {25, 30, SPECIES_MAGIKARP}, + {30, 35, SPECIES_MAGIKARP}, + {20, 25, SPECIES_MAGIKARP}, + {35, 40, SPECIES_MAGIKARP}, + {40, 45, SPECIES_MAGIKARP}, +}; + +const struct WildPokemonInfo gRoute104_FishingMonsInfo = {30, gRoute104_FishingMons}; + +const struct WildPokemon gRoute105_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute105_WaterMonsInfo = {4, gRoute105_WaterMons}; + +const struct WildPokemon gRoute105_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute105_FishingMonsInfo = {30, gRoute105_FishingMons}; + +const struct WildPokemon gRoute110_LandMons[] = +{ + {12, 12, SPECIES_POOCHYENA}, + {12, 12, SPECIES_ELECTRIKE}, + {12, 12, SPECIES_GULPIN}, + {13, 13, SPECIES_ELECTRIKE}, + {13, 13, SPECIES_MINUN}, + {13, 13, SPECIES_ODDISH}, + {13, 13, SPECIES_MINUN}, + {13, 13, SPECIES_GULPIN}, + {12, 12, SPECIES_WINGULL}, + {12, 12, SPECIES_WINGULL}, + {12, 12, SPECIES_PLUSLE}, + {13, 13, SPECIES_PLUSLE}, +}; + +const struct WildPokemonInfo gRoute110_LandMonsInfo = {20, gRoute110_LandMons}; + +const struct WildPokemon gRoute110_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute110_WaterMonsInfo = {4, gRoute110_WaterMons}; + +const struct WildPokemon gRoute110_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute110_FishingMonsInfo = {30, gRoute110_FishingMons}; + +const struct WildPokemon gRoute111_LandMons[] = +{ + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {21, 21, SPECIES_SANDSHREW}, + {21, 21, SPECIES_TRAPINCH}, + {19, 19, SPECIES_BALTOY}, + {21, 21, SPECIES_BALTOY}, + {19, 19, SPECIES_SANDSHREW}, + {19, 19, SPECIES_TRAPINCH}, + {20, 20, SPECIES_BALTOY}, + {20, 20, SPECIES_CACNEA}, + {22, 22, SPECIES_CACNEA}, + {22, 22, SPECIES_CACNEA}, +}; + +const struct WildPokemonInfo gRoute111_LandMonsInfo = {10, gRoute111_LandMons}; + +const struct WildPokemon gRoute111_WaterMons[] = +{ + {20, 30, SPECIES_MARILL}, + {10, 20, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, + {20, 30, SPECIES_GOLDEEN}, +}; + +const struct WildPokemonInfo gRoute111_WaterMonsInfo = {4, gRoute111_WaterMons}; + +const struct WildPokemon gRoute111_RockSmashMons[] = +{ + {10, 15, SPECIES_GEODUDE}, + {5, 10, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, +}; + +const struct WildPokemonInfo gRoute111_RockSmashMonsInfo = {20, gRoute111_RockSmashMons}; + +const struct WildPokemon gRoute111_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {20, 25, SPECIES_BARBOACH}, + {35, 40, SPECIES_BARBOACH}, + {40, 45, SPECIES_BARBOACH}, +}; + +const struct WildPokemonInfo gRoute111_FishingMonsInfo = {30, gRoute111_FishingMons}; + +const struct WildPokemon gRoute112_LandMons[] = +{ + {15, 15, SPECIES_NUMEL}, + {15, 15, SPECIES_NUMEL}, + {15, 15, SPECIES_MARILL}, + {14, 14, SPECIES_NUMEL}, + {14, 14, SPECIES_NUMEL}, + {14, 14, SPECIES_MARILL}, + {16, 16, SPECIES_NUMEL}, + {16, 16, SPECIES_MARILL}, + {16, 16, SPECIES_NUMEL}, + {16, 16, SPECIES_NUMEL}, + {16, 16, SPECIES_NUMEL}, + {16, 16, SPECIES_NUMEL}, +}; + +const struct WildPokemonInfo gRoute112_LandMonsInfo = {20, gRoute112_LandMons}; + +const struct WildPokemon gRoute113_LandMons[] = +{ + {15, 15, SPECIES_SPINDA}, + {15, 15, SPECIES_SPINDA}, + {15, 15, SPECIES_SLUGMA}, + {14, 14, SPECIES_SPINDA}, + {14, 14, SPECIES_SPINDA}, + {14, 14, SPECIES_SLUGMA}, + {16, 16, SPECIES_SPINDA}, + {16, 16, SPECIES_SLUGMA}, + {16, 16, SPECIES_SPINDA}, + {16, 16, SPECIES_SKARMORY}, + {16, 16, SPECIES_SPINDA}, + {16, 16, SPECIES_SKARMORY}, +}; + +const struct WildPokemonInfo gRoute113_LandMonsInfo = {20, gRoute113_LandMons}; + +const struct WildPokemon gRoute114_LandMons[] = +{ + {16, 16, SPECIES_SWABLU}, + {16, 16, SPECIES_LOTAD}, + {17, 17, SPECIES_SWABLU}, + {15, 15, SPECIES_SWABLU}, + {15, 15, SPECIES_LOTAD}, + {16, 16, SPECIES_LOMBRE}, + {16, 16, SPECIES_LOMBRE}, + {18, 18, SPECIES_LOMBRE}, + {17, 17, SPECIES_SEVIPER}, + {15, 15, SPECIES_SEVIPER}, + {17, 17, SPECIES_SEVIPER}, + {15, 15, SPECIES_NUZLEAF}, +}; + +const struct WildPokemonInfo gRoute114_LandMonsInfo = {20, gRoute114_LandMons}; + +const struct WildPokemon gRoute114_WaterMons[] = +{ + {20, 30, SPECIES_MARILL}, + {10, 20, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, + {20, 30, SPECIES_GOLDEEN}, +}; + +const struct WildPokemonInfo gRoute114_WaterMonsInfo = {4, gRoute114_WaterMons}; + +const struct WildPokemon gRoute114_RockSmashMons[] = +{ + {10, 15, SPECIES_GEODUDE}, + {5, 10, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, +}; + +const struct WildPokemonInfo gRoute114_RockSmashMonsInfo = {20, gRoute114_RockSmashMons}; + +const struct WildPokemon gRoute114_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {20, 25, SPECIES_BARBOACH}, + {35, 40, SPECIES_BARBOACH}, + {40, 45, SPECIES_BARBOACH}, +}; + +const struct WildPokemonInfo gRoute114_FishingMonsInfo = {30, gRoute114_FishingMons}; + +const struct WildPokemon gRoute116_LandMons[] = +{ + {6, 6, SPECIES_POOCHYENA}, + {6, 6, SPECIES_WHISMUR}, + {6, 6, SPECIES_NINCADA}, + {7, 7, SPECIES_ABRA}, + {7, 7, SPECIES_NINCADA}, + {6, 6, SPECIES_TAILLOW}, + {7, 7, SPECIES_TAILLOW}, + {8, 8, SPECIES_TAILLOW}, + {7, 7, SPECIES_POOCHYENA}, + {8, 8, SPECIES_POOCHYENA}, + {7, 7, SPECIES_SKITTY}, + {8, 8, SPECIES_SKITTY}, +}; + +const struct WildPokemonInfo gRoute116_LandMonsInfo = {20, gRoute116_LandMons}; + +const struct WildPokemon gRoute117_LandMons[] = +{ + {13, 13, SPECIES_POOCHYENA}, + {13, 13, SPECIES_ODDISH}, + {14, 14, SPECIES_POOCHYENA}, + {14, 14, SPECIES_ODDISH}, + {13, 13, SPECIES_MARILL}, + {13, 13, SPECIES_ODDISH}, + {13, 13, SPECIES_ILLUMISE}, + {13, 13, SPECIES_ILLUMISE}, + {14, 14, SPECIES_ILLUMISE}, + {14, 14, SPECIES_ILLUMISE}, + {13, 13, SPECIES_VOLBEAT}, + {13, 13, SPECIES_SEEDOT}, +}; + +const struct WildPokemonInfo gRoute117_LandMonsInfo = {20, gRoute117_LandMons}; + +const struct WildPokemon gRoute117_WaterMons[] = +{ + {20, 30, SPECIES_MARILL}, + {10, 20, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, + {20, 30, SPECIES_GOLDEEN}, +}; + +const struct WildPokemonInfo gRoute117_WaterMonsInfo = {4, gRoute117_WaterMons}; + +const struct WildPokemon gRoute117_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_CORPHISH}, + {25, 30, SPECIES_CORPHISH}, + {30, 35, SPECIES_CORPHISH}, + {20, 25, SPECIES_CORPHISH}, + {35, 40, SPECIES_CORPHISH}, + {40, 45, SPECIES_CORPHISH}, +}; + +const struct WildPokemonInfo gRoute117_FishingMonsInfo = {30, gRoute117_FishingMons}; + +const struct WildPokemon gRoute118_LandMons[] = +{ + {24, 24, SPECIES_ZIGZAGOON}, + {24, 24, SPECIES_ELECTRIKE}, + {26, 26, SPECIES_ZIGZAGOON}, + {26, 26, SPECIES_ELECTRIKE}, + {26, 26, SPECIES_LINOONE}, + {26, 26, SPECIES_MANECTRIC}, + {25, 25, SPECIES_WINGULL}, + {25, 25, SPECIES_WINGULL}, + {26, 26, SPECIES_WINGULL}, + {26, 26, SPECIES_WINGULL}, + {27, 27, SPECIES_WINGULL}, + {25, 25, SPECIES_KECLEON}, +}; + +const struct WildPokemonInfo gRoute118_LandMonsInfo = {20, gRoute118_LandMons}; + +const struct WildPokemon gRoute118_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute118_WaterMonsInfo = {4, gRoute118_WaterMons}; + +const struct WildPokemon gRoute118_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_CARVANHA}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_CARVANHA}, + {20, 25, SPECIES_CARVANHA}, + {35, 40, SPECIES_CARVANHA}, + {40, 45, SPECIES_CARVANHA}, +}; + +const struct WildPokemonInfo gRoute118_FishingMonsInfo = {30, gRoute118_FishingMons}; + +const struct WildPokemon gRoute124_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute124_WaterMonsInfo = {4, gRoute124_WaterMons}; + +const struct WildPokemon gRoute124_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute124_FishingMonsInfo = {30, gRoute124_FishingMons}; + +const struct WildPokemon gPetalburgWoods_LandMons[] = +{ + {5, 5, SPECIES_POOCHYENA}, + {5, 5, SPECIES_WURMPLE}, + {5, 5, SPECIES_SHROOMISH}, + {6, 6, SPECIES_POOCHYENA}, + {5, 5, SPECIES_SILCOON}, + {5, 5, SPECIES_CASCOON}, + {6, 6, SPECIES_WURMPLE}, + {6, 6, SPECIES_SHROOMISH}, + {5, 5, SPECIES_TAILLOW}, + {5, 5, SPECIES_SLAKOTH}, + {6, 6, SPECIES_TAILLOW}, + {6, 6, SPECIES_SLAKOTH}, +}; + +const struct WildPokemonInfo gPetalburgWoods_LandMonsInfo = {20, gPetalburgWoods_LandMons}; + +const struct WildPokemon gRusturfTunnel_LandMons[] = +{ + {6, 6, SPECIES_WHISMUR}, + {7, 7, SPECIES_WHISMUR}, + {6, 6, SPECIES_WHISMUR}, + {6, 6, SPECIES_WHISMUR}, + {7, 7, SPECIES_WHISMUR}, + {7, 7, SPECIES_WHISMUR}, + {5, 5, SPECIES_WHISMUR}, + {8, 8, SPECIES_WHISMUR}, + {5, 5, SPECIES_WHISMUR}, + {8, 8, SPECIES_WHISMUR}, + {5, 5, SPECIES_WHISMUR}, + {8, 8, SPECIES_WHISMUR}, +}; + +const struct WildPokemonInfo gRusturfTunnel_LandMonsInfo = {10, gRusturfTunnel_LandMons}; + +const struct WildPokemon gGraniteCave_1F_LandMons[] = +{ + {7, 7, SPECIES_ZUBAT}, + {8, 8, SPECIES_MAKUHITA}, + {7, 7, SPECIES_MAKUHITA}, + {8, 8, SPECIES_ZUBAT}, + {9, 9, SPECIES_MAKUHITA}, + {8, 8, SPECIES_ABRA}, + {10, 10, SPECIES_MAKUHITA}, + {6, 6, SPECIES_MAKUHITA}, + {7, 7, SPECIES_GEODUDE}, + {8, 8, SPECIES_GEODUDE}, + {6, 6, SPECIES_GEODUDE}, + {9, 9, SPECIES_GEODUDE}, +}; + +const struct WildPokemonInfo gGraniteCave_1F_LandMonsInfo = {10, gGraniteCave_1F_LandMons}; + +const struct WildPokemon gGraniteCave_B1F_LandMons[] = +{ + {9, 9, SPECIES_ZUBAT}, + {10, 10, SPECIES_ARON}, + {9, 9, SPECIES_ARON}, + {11, 11, SPECIES_ARON}, + {10, 10, SPECIES_ZUBAT}, + {9, 9, SPECIES_ABRA}, + {10, 10, SPECIES_MAKUHITA}, + {11, 11, SPECIES_MAKUHITA}, + {10, 10, SPECIES_SABLEYE}, + {10, 10, SPECIES_SABLEYE}, + {9, 9, SPECIES_SABLEYE}, + {11, 11, SPECIES_SABLEYE}, +}; + +const struct WildPokemonInfo gGraniteCave_B1F_LandMonsInfo = {10, gGraniteCave_B1F_LandMons}; + +const struct WildPokemon gMtPyre_1F_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {23, 23, SPECIES_SHUPPET}, + {22, 22, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, +}; + +const struct WildPokemonInfo gMtPyre_1F_LandMonsInfo = {10, gMtPyre_1F_LandMons}; + +const struct WildPokemon gVictoryRoad_1F_LandMons[] = +{ + {40, 40, SPECIES_GOLBAT}, + {40, 40, SPECIES_HARIYAMA}, + {40, 40, SPECIES_LAIRON}, + {40, 40, SPECIES_LOUDRED}, + {36, 36, SPECIES_ZUBAT}, + {36, 36, SPECIES_MAKUHITA}, + {38, 38, SPECIES_GOLBAT}, + {38, 38, SPECIES_HARIYAMA}, + {36, 36, SPECIES_ARON}, + {36, 36, SPECIES_WHISMUR}, + {36, 36, SPECIES_ARON}, + {36, 36, SPECIES_WHISMUR}, +}; + +const struct WildPokemonInfo gVictoryRoad_1F_LandMonsInfo = {10, gVictoryRoad_1F_LandMons}; + +const struct WildPokemon gSafariZone_South_LandMons[] = +{ + {25, 25, SPECIES_ODDISH}, + {27, 27, SPECIES_ODDISH}, + {25, 25, SPECIES_GIRAFARIG}, + {27, 27, SPECIES_GIRAFARIG}, + {25, 25, SPECIES_NATU}, + {25, 25, SPECIES_DODUO}, + {25, 25, SPECIES_GLOOM}, + {27, 27, SPECIES_WOBBUFFET}, + {25, 25, SPECIES_PIKACHU}, + {27, 27, SPECIES_WOBBUFFET}, + {27, 27, SPECIES_PIKACHU}, + {29, 29, SPECIES_WOBBUFFET}, +}; + +const struct WildPokemonInfo gSafariZone_South_LandMonsInfo = {25, gSafariZone_South_LandMons}; + +const struct WildPokemon gUnderwater2_WaterMons[] = +{ + {20, 30, SPECIES_CLAMPERL}, + {20, 30, SPECIES_CHINCHOU}, + {30, 35, SPECIES_CLAMPERL}, + {30, 35, SPECIES_RELICANTH}, + {30, 35, SPECIES_RELICANTH}, +}; + +const struct WildPokemonInfo gUnderwater2_WaterMonsInfo = {4, gUnderwater2_WaterMons}; + +const struct WildPokemon gAbandonedShip_Rooms_B1F_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_TENTACOOL}, + {30, 35, SPECIES_TENTACRUEL}, +}; + +const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_WaterMonsInfo = {4, gAbandonedShip_Rooms_B1F_WaterMons}; + +const struct WildPokemon gAbandonedShip_Rooms_B1F_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_TENTACOOL}, + {25, 30, SPECIES_TENTACOOL}, + {30, 35, SPECIES_TENTACOOL}, + {30, 35, SPECIES_TENTACRUEL}, + {25, 30, SPECIES_TENTACRUEL}, + {20, 25, SPECIES_TENTACRUEL}, +}; + +const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_FishingMonsInfo = {20, gAbandonedShip_Rooms_B1F_FishingMons}; + +const struct WildPokemon gGraniteCave_B2F_LandMons[] = +{ + {10, 10, SPECIES_ZUBAT}, + {11, 11, SPECIES_ARON}, + {10, 10, SPECIES_ARON}, + {11, 11, SPECIES_ZUBAT}, + {12, 12, SPECIES_ARON}, + {10, 10, SPECIES_ABRA}, + {10, 10, SPECIES_SABLEYE}, + {11, 11, SPECIES_SABLEYE}, + {12, 12, SPECIES_SABLEYE}, + {10, 10, SPECIES_SABLEYE}, + {12, 12, SPECIES_SABLEYE}, + {10, 10, SPECIES_SABLEYE}, +}; + +const struct WildPokemonInfo gGraniteCave_B2F_LandMonsInfo = {10, gGraniteCave_B2F_LandMons}; + +const struct WildPokemon gGraniteCave_B2F_RockSmashMons[] = +{ + {10, 15, SPECIES_GEODUDE}, + {10, 20, SPECIES_NOSEPASS}, + {5, 10, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, +}; + +const struct WildPokemonInfo gGraniteCave_B2F_RockSmashMonsInfo = {20, gGraniteCave_B2F_RockSmashMons}; + +const struct WildPokemon gFieryPath_LandMons[] = +{ + {15, 15, SPECIES_NUMEL}, + {15, 15, SPECIES_KOFFING}, + {16, 16, SPECIES_NUMEL}, + {15, 15, SPECIES_MACHOP}, + {15, 15, SPECIES_TORKOAL}, + {15, 15, SPECIES_SLUGMA}, + {16, 16, SPECIES_KOFFING}, + {16, 16, SPECIES_MACHOP}, + {14, 14, SPECIES_TORKOAL}, + {16, 16, SPECIES_TORKOAL}, + {14, 14, SPECIES_GRIMER}, + {14, 14, SPECIES_GRIMER}, +}; + +const struct WildPokemonInfo gFieryPath_LandMonsInfo = {10, gFieryPath_LandMons}; + +const struct WildPokemon gMeteorFalls_B1F_2R_LandMons[] = +{ + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {30, 30, SPECIES_BAGON}, + {35, 35, SPECIES_SOLROCK}, + {35, 35, SPECIES_BAGON}, + {37, 37, SPECIES_SOLROCK}, + {25, 25, SPECIES_BAGON}, + {39, 39, SPECIES_SOLROCK}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gMeteorFalls_B1F_2R_LandMonsInfo = {10, gMeteorFalls_B1F_2R_LandMons}; + +const struct WildPokemon gMeteorFalls_B1F_2R_WaterMons[] = +{ + {30, 35, SPECIES_GOLBAT}, + {30, 35, SPECIES_GOLBAT}, + {25, 35, SPECIES_SOLROCK}, + {15, 25, SPECIES_SOLROCK}, + {5, 15, SPECIES_SOLROCK}, +}; + +const struct WildPokemonInfo gMeteorFalls_B1F_2R_WaterMonsInfo = {4, gMeteorFalls_B1F_2R_WaterMons}; + +const struct WildPokemon gMeteorFalls_B1F_2R_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {30, 35, SPECIES_WHISCASH}, + {35, 40, SPECIES_WHISCASH}, + {40, 45, SPECIES_WHISCASH}, +}; + +const struct WildPokemonInfo gMeteorFalls_B1F_2R_FishingMonsInfo = {30, gMeteorFalls_B1F_2R_FishingMons}; + +const struct WildPokemon gJaggedPass_LandMons[] = +{ + {21, 21, SPECIES_NUMEL}, + {21, 21, SPECIES_NUMEL}, + {21, 21, SPECIES_MACHOP}, + {20, 20, SPECIES_NUMEL}, + {20, 20, SPECIES_SPOINK}, + {20, 20, SPECIES_MACHOP}, + {21, 21, SPECIES_SPOINK}, + {22, 22, SPECIES_MACHOP}, + {22, 22, SPECIES_NUMEL}, + {22, 22, SPECIES_SPOINK}, + {22, 22, SPECIES_NUMEL}, + {22, 22, SPECIES_SPOINK}, +}; + +const struct WildPokemonInfo gJaggedPass_LandMonsInfo = {20, gJaggedPass_LandMons}; + +const struct WildPokemon gRoute106_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute106_WaterMonsInfo = {4, gRoute106_WaterMons}; + +const struct WildPokemon gRoute106_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute106_FishingMonsInfo = {30, gRoute106_FishingMons}; + +const struct WildPokemon gRoute107_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute107_WaterMonsInfo = {4, gRoute107_WaterMons}; + +const struct WildPokemon gRoute107_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute107_FishingMonsInfo = {30, gRoute107_FishingMons}; + +const struct WildPokemon gRoute108_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute108_WaterMonsInfo = {4, gRoute108_WaterMons}; + +const struct WildPokemon gRoute108_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute108_FishingMonsInfo = {30, gRoute108_FishingMons}; + +const struct WildPokemon gRoute109_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute109_WaterMonsInfo = {4, gRoute109_WaterMons}; + +const struct WildPokemon gRoute109_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute109_FishingMonsInfo = {30, gRoute109_FishingMons}; + +const struct WildPokemon gRoute115_LandMons[] = +{ + {23, 23, SPECIES_SWABLU}, + {23, 23, SPECIES_TAILLOW}, + {25, 25, SPECIES_SWABLU}, + {24, 24, SPECIES_TAILLOW}, + {25, 25, SPECIES_TAILLOW}, + {25, 25, SPECIES_SWELLOW}, + {24, 24, SPECIES_JIGGLYPUFF}, + {25, 25, SPECIES_JIGGLYPUFF}, + {24, 24, SPECIES_WINGULL}, + {24, 24, SPECIES_WINGULL}, + {26, 26, SPECIES_WINGULL}, + {25, 25, SPECIES_WINGULL}, +}; + +const struct WildPokemonInfo gRoute115_LandMonsInfo = {20, gRoute115_LandMons}; + +const struct WildPokemon gRoute115_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute115_WaterMonsInfo = {4, gRoute115_WaterMons}; + +const struct WildPokemon gRoute115_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute115_FishingMonsInfo = {30, gRoute115_FishingMons}; + +const struct WildPokemon gNewMauville_Inside_LandMons[] = +{ + {24, 24, SPECIES_VOLTORB}, + {24, 24, SPECIES_MAGNEMITE}, + {25, 25, SPECIES_VOLTORB}, + {25, 25, SPECIES_MAGNEMITE}, + {23, 23, SPECIES_VOLTORB}, + {23, 23, SPECIES_MAGNEMITE}, + {26, 26, SPECIES_VOLTORB}, + {26, 26, SPECIES_MAGNEMITE}, + {22, 22, SPECIES_VOLTORB}, + {22, 22, SPECIES_MAGNEMITE}, + {26, 26, SPECIES_ELECTRODE}, + {26, 26, SPECIES_MAGNETON}, +}; + +const struct WildPokemonInfo gNewMauville_Inside_LandMonsInfo = {10, gNewMauville_Inside_LandMons}; + +const struct WildPokemon gRoute119_LandMons[] = +{ + {25, 25, SPECIES_ZIGZAGOON}, + {25, 25, SPECIES_LINOONE}, + {27, 27, SPECIES_ZIGZAGOON}, + {25, 25, SPECIES_ODDISH}, + {27, 27, SPECIES_LINOONE}, + {26, 26, SPECIES_ODDISH}, + {27, 27, SPECIES_ODDISH}, + {24, 24, SPECIES_ODDISH}, + {25, 25, SPECIES_TROPIUS}, + {26, 26, SPECIES_TROPIUS}, + {27, 27, SPECIES_TROPIUS}, + {25, 25, SPECIES_KECLEON}, +}; + +const struct WildPokemonInfo gRoute119_LandMonsInfo = {15, gRoute119_LandMons}; + +const struct WildPokemon gRoute119_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute119_WaterMonsInfo = {4, gRoute119_WaterMons}; + +const struct WildPokemon gRoute119_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_CARVANHA}, + {25, 30, SPECIES_CARVANHA}, + {30, 35, SPECIES_CARVANHA}, + {20, 25, SPECIES_CARVANHA}, + {35, 40, SPECIES_CARVANHA}, + {40, 45, SPECIES_CARVANHA}, +}; + +const struct WildPokemonInfo gRoute119_FishingMonsInfo = {30, gRoute119_FishingMons}; + +const struct WildPokemon gRoute120_LandMons[] = +{ + {25, 25, SPECIES_POOCHYENA}, + {25, 25, SPECIES_MIGHTYENA}, + {27, 27, SPECIES_MIGHTYENA}, + {25, 25, SPECIES_ODDISH}, + {25, 25, SPECIES_MARILL}, + {26, 26, SPECIES_ODDISH}, + {27, 27, SPECIES_ODDISH}, + {27, 27, SPECIES_MARILL}, + {25, 25, SPECIES_ABSOL}, + {27, 27, SPECIES_ABSOL}, + {25, 25, SPECIES_KECLEON}, + {25, 25, SPECIES_SEEDOT}, +}; + +const struct WildPokemonInfo gRoute120_LandMonsInfo = {20, gRoute120_LandMons}; + +const struct WildPokemon gRoute120_WaterMons[] = +{ + {20, 30, SPECIES_MARILL}, + {10, 20, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, + {20, 30, SPECIES_GOLDEEN}, +}; + +const struct WildPokemonInfo gRoute120_WaterMonsInfo = {4, gRoute120_WaterMons}; + +const struct WildPokemon gRoute120_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {20, 25, SPECIES_BARBOACH}, + {35, 40, SPECIES_BARBOACH}, + {40, 45, SPECIES_BARBOACH}, +}; + +const struct WildPokemonInfo gRoute120_FishingMonsInfo = {30, gRoute120_FishingMons}; + +const struct WildPokemon gRoute121_LandMons[] = +{ + {26, 26, SPECIES_POOCHYENA}, + {26, 26, SPECIES_SHUPPET}, + {26, 26, SPECIES_MIGHTYENA}, + {28, 28, SPECIES_SHUPPET}, + {28, 28, SPECIES_MIGHTYENA}, + {26, 26, SPECIES_ODDISH}, + {28, 28, SPECIES_ODDISH}, + {28, 28, SPECIES_GLOOM}, + {26, 26, SPECIES_WINGULL}, + {27, 27, SPECIES_WINGULL}, + {28, 28, SPECIES_WINGULL}, + {25, 25, SPECIES_KECLEON}, +}; + +const struct WildPokemonInfo gRoute121_LandMonsInfo = {20, gRoute121_LandMons}; + +const struct WildPokemon gRoute121_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute121_WaterMonsInfo = {4, gRoute121_WaterMons}; + +const struct WildPokemon gRoute121_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute121_FishingMonsInfo = {30, gRoute121_FishingMons}; + +const struct WildPokemon gRoute122_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute122_WaterMonsInfo = {4, gRoute122_WaterMons}; + +const struct WildPokemon gRoute122_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute122_FishingMonsInfo = {30, gRoute122_FishingMons}; + +const struct WildPokemon gRoute123_LandMons[] = +{ + {26, 26, SPECIES_POOCHYENA}, + {26, 26, SPECIES_SHUPPET}, + {26, 26, SPECIES_MIGHTYENA}, + {28, 28, SPECIES_SHUPPET}, + {28, 28, SPECIES_MIGHTYENA}, + {26, 26, SPECIES_ODDISH}, + {28, 28, SPECIES_ODDISH}, + {28, 28, SPECIES_GLOOM}, + {26, 26, SPECIES_WINGULL}, + {27, 27, SPECIES_WINGULL}, + {28, 28, SPECIES_WINGULL}, + {25, 25, SPECIES_KECLEON}, +}; + +const struct WildPokemonInfo gRoute123_LandMonsInfo = {20, gRoute123_LandMons}; + +const struct WildPokemon gRoute123_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute123_WaterMonsInfo = {4, gRoute123_WaterMons}; + +const struct WildPokemon gRoute123_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute123_FishingMonsInfo = {30, gRoute123_FishingMons}; + +const struct WildPokemon gMtPyre_2F_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {23, 23, SPECIES_SHUPPET}, + {22, 22, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, +}; + +const struct WildPokemonInfo gMtPyre_2F_LandMonsInfo = {10, gMtPyre_2F_LandMons}; + +const struct WildPokemon gMtPyre_3F_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {23, 23, SPECIES_SHUPPET}, + {22, 22, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, +}; + +const struct WildPokemonInfo gMtPyre_3F_LandMonsInfo = {10, gMtPyre_3F_LandMons}; + +const struct WildPokemon gMtPyre_4F_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {23, 23, SPECIES_SHUPPET}, + {22, 22, SPECIES_SHUPPET}, + {27, 27, SPECIES_DUSKULL}, + {27, 27, SPECIES_DUSKULL}, + {25, 25, SPECIES_DUSKULL}, + {29, 29, SPECIES_DUSKULL}, +}; + +const struct WildPokemonInfo gMtPyre_4F_LandMonsInfo = {10, gMtPyre_4F_LandMons}; + +const struct WildPokemon gMtPyre_5F_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {23, 23, SPECIES_SHUPPET}, + {22, 22, SPECIES_SHUPPET}, + {27, 27, SPECIES_DUSKULL}, + {27, 27, SPECIES_DUSKULL}, + {25, 25, SPECIES_DUSKULL}, + {29, 29, SPECIES_DUSKULL}, +}; + +const struct WildPokemonInfo gMtPyre_5F_LandMonsInfo = {10, gMtPyre_5F_LandMons}; + +const struct WildPokemon gMtPyre_6F_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {23, 23, SPECIES_SHUPPET}, + {22, 22, SPECIES_SHUPPET}, + {27, 27, SPECIES_DUSKULL}, + {27, 27, SPECIES_DUSKULL}, + {25, 25, SPECIES_DUSKULL}, + {29, 29, SPECIES_DUSKULL}, +}; + +const struct WildPokemonInfo gMtPyre_6F_LandMonsInfo = {10, gMtPyre_6F_LandMons}; + +const struct WildPokemon gMtPyre_Exterior_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {29, 29, SPECIES_VULPIX}, + {27, 27, SPECIES_VULPIX}, + {29, 29, SPECIES_VULPIX}, + {25, 25, SPECIES_VULPIX}, + {27, 27, SPECIES_WINGULL}, + {27, 27, SPECIES_WINGULL}, + {26, 26, SPECIES_WINGULL}, + {28, 28, SPECIES_WINGULL}, +}; + +const struct WildPokemonInfo gMtPyre_Exterior_LandMonsInfo = {10, gMtPyre_Exterior_LandMons}; + +const struct WildPokemon gMtPyre_Summit_LandMons[] = +{ + {28, 28, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {27, 27, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {30, 30, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {28, 28, SPECIES_DUSKULL}, + {26, 26, SPECIES_DUSKULL}, + {30, 30, SPECIES_DUSKULL}, + {28, 28, SPECIES_CHIMECHO}, + {28, 28, SPECIES_CHIMECHO}, +}; + +const struct WildPokemonInfo gMtPyre_Summit_LandMonsInfo = {10, gMtPyre_Summit_LandMons}; + +const struct WildPokemon gGraniteCave_StevensRoom_LandMons[] = +{ + {7, 7, SPECIES_ZUBAT}, + {8, 8, SPECIES_MAKUHITA}, + {7, 7, SPECIES_MAKUHITA}, + {8, 8, SPECIES_ZUBAT}, + {9, 9, SPECIES_MAKUHITA}, + {8, 8, SPECIES_ABRA}, + {10, 10, SPECIES_MAKUHITA}, + {6, 6, SPECIES_MAKUHITA}, + {7, 7, SPECIES_ARON}, + {8, 8, SPECIES_ARON}, + {7, 7, SPECIES_ARON}, + {8, 8, SPECIES_ARON}, +}; + +const struct WildPokemonInfo gGraniteCave_StevensRoom_LandMonsInfo = {10, gGraniteCave_StevensRoom_LandMons}; + +const struct WildPokemon gRoute125_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute125_WaterMonsInfo = {4, gRoute125_WaterMons}; + +const struct WildPokemon gRoute125_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute125_FishingMonsInfo = {30, gRoute125_FishingMons}; + +const struct WildPokemon gRoute126_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute126_WaterMonsInfo = {4, gRoute126_WaterMons}; + +const struct WildPokemon gRoute126_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute126_FishingMonsInfo = {30, gRoute126_FishingMons}; + +const struct WildPokemon gRoute127_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute127_WaterMonsInfo = {4, gRoute127_WaterMons}; + +const struct WildPokemon gRoute127_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute127_FishingMonsInfo = {30, gRoute127_FishingMons}; + +const struct WildPokemon gRoute128_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute128_WaterMonsInfo = {4, gRoute128_WaterMons}; + +const struct WildPokemon gRoute128_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_LUVDISC}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_LUVDISC}, + {30, 35, SPECIES_WAILMER}, + {30, 35, SPECIES_CORSOLA}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute128_FishingMonsInfo = {30, gRoute128_FishingMons}; + +const struct WildPokemon gRoute129_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_WAILORD}, +}; + +const struct WildPokemonInfo gRoute129_WaterMonsInfo = {4, gRoute129_WaterMons}; + +const struct WildPokemon gRoute129_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute129_FishingMonsInfo = {30, gRoute129_FishingMons}; + +const struct WildPokemon gRoute130_LandMons[] = +{ + {30, 30, SPECIES_WYNAUT}, + {35, 35, SPECIES_WYNAUT}, + {25, 25, SPECIES_WYNAUT}, + {40, 40, SPECIES_WYNAUT}, + {20, 20, SPECIES_WYNAUT}, + {45, 45, SPECIES_WYNAUT}, + {15, 15, SPECIES_WYNAUT}, + {50, 50, SPECIES_WYNAUT}, + {10, 10, SPECIES_WYNAUT}, + {5, 5, SPECIES_WYNAUT}, + {10, 10, SPECIES_WYNAUT}, + {5, 5, SPECIES_WYNAUT}, +}; + +const struct WildPokemonInfo gRoute130_LandMonsInfo = {20, gRoute130_LandMons}; + +const struct WildPokemon gRoute130_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute130_WaterMonsInfo = {4, gRoute130_WaterMons}; + +const struct WildPokemon gRoute130_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute130_FishingMonsInfo = {30, gRoute130_FishingMons}; + +const struct WildPokemon gRoute131_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute131_WaterMonsInfo = {4, gRoute131_WaterMons}; + +const struct WildPokemon gRoute131_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute131_FishingMonsInfo = {30, gRoute131_FishingMons}; + +const struct WildPokemon gRoute132_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute132_WaterMonsInfo = {4, gRoute132_WaterMons}; + +const struct WildPokemon gRoute132_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_HORSEA}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute132_FishingMonsInfo = {30, gRoute132_FishingMons}; + +const struct WildPokemon gRoute133_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute133_WaterMonsInfo = {4, gRoute133_WaterMons}; + +const struct WildPokemon gRoute133_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_HORSEA}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute133_FishingMonsInfo = {30, gRoute133_FishingMons}; + +const struct WildPokemon gRoute134_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute134_WaterMonsInfo = {4, gRoute134_WaterMons}; + +const struct WildPokemon gRoute134_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_HORSEA}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute134_FishingMonsInfo = {30, gRoute134_FishingMons}; + +const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_TENTACOOL}, + {30, 35, SPECIES_TENTACRUEL}, +}; + +const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo = {4, gAbandonedShip_HiddenFloorCorridors_WaterMons}; + +const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_TENTACOOL}, + {25, 30, SPECIES_TENTACOOL}, + {30, 35, SPECIES_TENTACOOL}, + {30, 35, SPECIES_TENTACRUEL}, + {25, 30, SPECIES_TENTACRUEL}, + {20, 25, SPECIES_TENTACRUEL}, +}; + +const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo = {20, gAbandonedShip_HiddenFloorCorridors_FishingMons}; + +const struct WildPokemon gSeafloorCavern_Room1_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room1_LandMonsInfo = {4, gSeafloorCavern_Room1_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room2_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room2_LandMonsInfo = {4, gSeafloorCavern_Room2_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room3_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room3_LandMonsInfo = {4, gSeafloorCavern_Room3_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room4_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room4_LandMonsInfo = {4, gSeafloorCavern_Room4_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room5_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room5_LandMonsInfo = {4, gSeafloorCavern_Room5_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room6_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room6_LandMonsInfo = {4, gSeafloorCavern_Room6_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room6_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_GOLBAT}, + {30, 35, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room6_WaterMonsInfo = {4, gSeafloorCavern_Room6_WaterMons}; + +const struct WildPokemon gSeafloorCavern_Room6_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room6_FishingMonsInfo = {10, gSeafloorCavern_Room6_FishingMons}; + +const struct WildPokemon gSeafloorCavern_Room7_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room7_LandMonsInfo = {4, gSeafloorCavern_Room7_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room7_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_GOLBAT}, + {30, 35, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room7_WaterMonsInfo = {4, gSeafloorCavern_Room7_WaterMons}; + +const struct WildPokemon gSeafloorCavern_Room7_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room7_FishingMonsInfo = {10, gSeafloorCavern_Room7_FishingMons}; + +const struct WildPokemon gSeafloorCavern_Room8_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room8_LandMonsInfo = {4, gSeafloorCavern_Room8_LandMons}; + +const struct WildPokemon gSeafloorCavern_Entrance_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_GOLBAT}, + {30, 35, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Entrance_WaterMonsInfo = {4, gSeafloorCavern_Entrance_WaterMons}; + +const struct WildPokemon gSeafloorCavern_Entrance_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Entrance_FishingMonsInfo = {10, gSeafloorCavern_Entrance_FishingMons}; + +const struct WildPokemon gCaveOfOrigin_Entrance_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gCaveOfOrigin_Entrance_LandMonsInfo = {4, gCaveOfOrigin_Entrance_LandMons}; + +const struct WildPokemon gCaveOfOrigin_1F_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {30, 30, SPECIES_SABLEYE}, + {32, 32, SPECIES_SABLEYE}, + {34, 34, SPECIES_SABLEYE}, + {33, 33, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gCaveOfOrigin_1F_LandMonsInfo = {4, gCaveOfOrigin_1F_LandMons}; + +const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap1_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {30, 30, SPECIES_SABLEYE}, + {32, 32, SPECIES_SABLEYE}, + {34, 34, SPECIES_SABLEYE}, + {33, 33, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap1_LandMons}; + +const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap2_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {30, 30, SPECIES_SABLEYE}, + {32, 32, SPECIES_SABLEYE}, + {34, 34, SPECIES_SABLEYE}, + {33, 33, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap2_LandMons}; + +const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap3_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {30, 30, SPECIES_SABLEYE}, + {32, 32, SPECIES_SABLEYE}, + {34, 34, SPECIES_SABLEYE}, + {33, 33, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap3_LandMons}; + +const struct WildPokemon gNewMauville_Entrance_LandMons[] = +{ + {24, 24, SPECIES_VOLTORB}, + {24, 24, SPECIES_MAGNEMITE}, + {25, 25, SPECIES_VOLTORB}, + {25, 25, SPECIES_MAGNEMITE}, + {23, 23, SPECIES_VOLTORB}, + {23, 23, SPECIES_MAGNEMITE}, + {26, 26, SPECIES_VOLTORB}, + {26, 26, SPECIES_MAGNEMITE}, + {22, 22, SPECIES_VOLTORB}, + {22, 22, SPECIES_MAGNEMITE}, + {22, 22, SPECIES_VOLTORB}, + {22, 22, SPECIES_MAGNEMITE}, +}; + +const struct WildPokemonInfo gNewMauville_Entrance_LandMonsInfo = {10, gNewMauville_Entrance_LandMons}; + +const struct WildPokemon gSafariZone_Southwest_LandMons[] = +{ + {25, 25, SPECIES_ODDISH}, + {27, 27, SPECIES_ODDISH}, + {25, 25, SPECIES_GIRAFARIG}, + {27, 27, SPECIES_GIRAFARIG}, + {25, 25, SPECIES_NATU}, + {27, 27, SPECIES_DODUO}, + {25, 25, SPECIES_GLOOM}, + {27, 27, SPECIES_WOBBUFFET}, + {25, 25, SPECIES_PIKACHU}, + {27, 27, SPECIES_WOBBUFFET}, + {27, 27, SPECIES_PIKACHU}, + {29, 29, SPECIES_WOBBUFFET}, +}; + +const struct WildPokemonInfo gSafariZone_Southwest_LandMonsInfo = {25, gSafariZone_Southwest_LandMons}; + +const struct WildPokemon gSafariZone_Southwest_WaterMons[] = +{ + {20, 30, SPECIES_PSYDUCK}, + {20, 30, SPECIES_PSYDUCK}, + {30, 35, SPECIES_PSYDUCK}, + {30, 35, SPECIES_PSYDUCK}, + {30, 35, SPECIES_PSYDUCK}, +}; + +const struct WildPokemonInfo gSafariZone_Southwest_WaterMonsInfo = {9, gSafariZone_Southwest_WaterMons}; + +const struct WildPokemon gSafariZone_Southwest_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 25, SPECIES_GOLDEEN}, + {10, 30, SPECIES_GOLDEEN}, + {25, 30, SPECIES_GOLDEEN}, + {30, 35, SPECIES_GOLDEEN}, + {30, 35, SPECIES_SEAKING}, + {35, 40, SPECIES_SEAKING}, + {25, 30, SPECIES_SEAKING}, +}; + +const struct WildPokemonInfo gSafariZone_Southwest_FishingMonsInfo = {35, gSafariZone_Southwest_FishingMons}; + +const struct WildPokemon gSafariZone_North_LandMons[] = +{ + {27, 27, SPECIES_PHANPY}, + {27, 27, SPECIES_ODDISH}, + {29, 29, SPECIES_PHANPY}, + {29, 29, SPECIES_ODDISH}, + {27, 27, SPECIES_NATU}, + {29, 29, SPECIES_GLOOM}, + {31, 31, SPECIES_GLOOM}, + {29, 29, SPECIES_NATU}, + {29, 29, SPECIES_XATU}, + {27, 27, SPECIES_HERACROSS}, + {31, 31, SPECIES_XATU}, + {29, 29, SPECIES_HERACROSS}, +}; + +const struct WildPokemonInfo gSafariZone_North_LandMonsInfo = {25, gSafariZone_North_LandMons}; + +const struct WildPokemon gSafariZone_North_RockSmashMons[] = +{ + {10, 15, SPECIES_GEODUDE}, + {5, 10, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, + {20, 25, SPECIES_GEODUDE}, + {25, 30, SPECIES_GEODUDE}, +}; + +const struct WildPokemonInfo gSafariZone_North_RockSmashMonsInfo = {25, gSafariZone_North_RockSmashMons}; + +const struct WildPokemon gSafariZone_Northwest_LandMons[] = +{ + {27, 27, SPECIES_RHYHORN}, + {27, 27, SPECIES_ODDISH}, + {29, 29, SPECIES_RHYHORN}, + {29, 29, SPECIES_ODDISH}, + {27, 27, SPECIES_DODUO}, + {29, 29, SPECIES_GLOOM}, + {31, 31, SPECIES_GLOOM}, + {29, 29, SPECIES_DODUO}, + {29, 29, SPECIES_DODRIO}, + {27, 27, SPECIES_PINSIR}, + {31, 31, SPECIES_DODRIO}, + {29, 29, SPECIES_PINSIR}, +}; + +const struct WildPokemonInfo gSafariZone_Northwest_LandMonsInfo = {25, gSafariZone_Northwest_LandMons}; + +const struct WildPokemon gSafariZone_Northwest_WaterMons[] = +{ + {20, 30, SPECIES_PSYDUCK}, + {20, 30, SPECIES_PSYDUCK}, + {30, 35, SPECIES_PSYDUCK}, + {30, 35, SPECIES_GOLDUCK}, + {25, 40, SPECIES_GOLDUCK}, +}; + +const struct WildPokemonInfo gSafariZone_Northwest_WaterMonsInfo = {9, gSafariZone_Northwest_WaterMons}; + +const struct WildPokemon gSafariZone_Northwest_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 25, SPECIES_GOLDEEN}, + {10, 30, SPECIES_GOLDEEN}, + {25, 30, SPECIES_GOLDEEN}, + {30, 35, SPECIES_GOLDEEN}, + {30, 35, SPECIES_SEAKING}, + {35, 40, SPECIES_SEAKING}, + {25, 30, SPECIES_SEAKING}, +}; + +const struct WildPokemonInfo gSafariZone_Northwest_FishingMonsInfo = {35, gSafariZone_Northwest_FishingMons}; + +const struct WildPokemon gVictoryRoad_B1F_LandMons[] = +{ + {40, 40, SPECIES_GOLBAT}, + {40, 40, SPECIES_HARIYAMA}, + {40, 40, SPECIES_LAIRON}, + {40, 40, SPECIES_LAIRON}, + {38, 38, SPECIES_GOLBAT}, + {38, 38, SPECIES_HARIYAMA}, + {42, 42, SPECIES_GOLBAT}, + {42, 42, SPECIES_HARIYAMA}, + {42, 42, SPECIES_LAIRON}, + {38, 38, SPECIES_MAWILE}, + {42, 42, SPECIES_LAIRON}, + {38, 38, SPECIES_MAWILE}, +}; + +const struct WildPokemonInfo gVictoryRoad_B1F_LandMonsInfo = {10, gVictoryRoad_B1F_LandMons}; + +const struct WildPokemon gVictoryRoad_B1F_RockSmashMons[] = +{ + {30, 40, SPECIES_GRAVELER}, + {30, 40, SPECIES_GEODUDE}, + {35, 40, SPECIES_GRAVELER}, + {35, 40, SPECIES_GRAVELER}, + {35, 40, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gVictoryRoad_B1F_RockSmashMonsInfo = {20, gVictoryRoad_B1F_RockSmashMons}; + +const struct WildPokemon gVictoryRoad_B2F_LandMons[] = +{ + {40, 40, SPECIES_GOLBAT}, + {40, 40, SPECIES_SABLEYE}, + {40, 40, SPECIES_LAIRON}, + {40, 40, SPECIES_LAIRON}, + {42, 42, SPECIES_GOLBAT}, + {42, 42, SPECIES_SABLEYE}, + {44, 44, SPECIES_GOLBAT}, + {44, 44, SPECIES_SABLEYE}, + {42, 42, SPECIES_LAIRON}, + {42, 42, SPECIES_MAWILE}, + {44, 44, SPECIES_LAIRON}, + {44, 44, SPECIES_MAWILE}, +}; + +const struct WildPokemonInfo gVictoryRoad_B2F_LandMonsInfo = {10, gVictoryRoad_B2F_LandMons}; + +const struct WildPokemon gVictoryRoad_B2F_WaterMons[] = +{ + {30, 35, SPECIES_GOLBAT}, + {25, 30, SPECIES_GOLBAT}, + {35, 40, SPECIES_GOLBAT}, + {35, 40, SPECIES_GOLBAT}, + {35, 40, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gVictoryRoad_B2F_WaterMonsInfo = {4, gVictoryRoad_B2F_WaterMons}; + +const struct WildPokemon gVictoryRoad_B2F_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {30, 35, SPECIES_WHISCASH}, + {35, 40, SPECIES_WHISCASH}, + {40, 45, SPECIES_WHISCASH}, +}; + +const struct WildPokemonInfo gVictoryRoad_B2F_FishingMonsInfo = {30, gVictoryRoad_B2F_FishingMons}; + +const struct WildPokemon gMeteorFalls_1F_1R_LandMons[] = +{ + {16, 16, SPECIES_ZUBAT}, + {17, 17, SPECIES_ZUBAT}, + {18, 18, SPECIES_ZUBAT}, + {15, 15, SPECIES_ZUBAT}, + {14, 14, SPECIES_ZUBAT}, + {16, 16, SPECIES_SOLROCK}, + {18, 18, SPECIES_SOLROCK}, + {14, 14, SPECIES_SOLROCK}, + {19, 19, SPECIES_ZUBAT}, + {20, 20, SPECIES_ZUBAT}, + {19, 19, SPECIES_ZUBAT}, + {20, 20, SPECIES_ZUBAT}, +}; + +const struct WildPokemonInfo gMeteorFalls_1F_1R_LandMonsInfo = {10, gMeteorFalls_1F_1R_LandMons}; + +const struct WildPokemon gMeteorFalls_1F_1R_WaterMons[] = +{ + {5, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_ZUBAT}, + {25, 35, SPECIES_SOLROCK}, + {15, 25, SPECIES_SOLROCK}, + {5, 15, SPECIES_SOLROCK}, +}; + +const struct WildPokemonInfo gMeteorFalls_1F_1R_WaterMonsInfo = {4, gMeteorFalls_1F_1R_WaterMons}; + +const struct WildPokemon gMeteorFalls_1F_1R_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {20, 25, SPECIES_BARBOACH}, + {35, 40, SPECIES_BARBOACH}, + {40, 45, SPECIES_BARBOACH}, +}; + +const struct WildPokemonInfo gMeteorFalls_1F_1R_FishingMonsInfo = {30, gMeteorFalls_1F_1R_FishingMons}; + +const struct WildPokemon gMeteorFalls_1F_2R_LandMons[] = +{ + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_SOLROCK}, + {33, 33, SPECIES_SOLROCK}, + {37, 37, SPECIES_SOLROCK}, + {35, 35, SPECIES_GOLBAT}, + {39, 39, SPECIES_SOLROCK}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gMeteorFalls_1F_2R_LandMonsInfo = {10, gMeteorFalls_1F_2R_LandMons}; + +const struct WildPokemon gMeteorFalls_1F_2R_WaterMons[] = +{ + {30, 35, SPECIES_GOLBAT}, + {30, 35, SPECIES_GOLBAT}, + {25, 35, SPECIES_SOLROCK}, + {15, 25, SPECIES_SOLROCK}, + {5, 15, SPECIES_SOLROCK}, +}; + +const struct WildPokemonInfo gMeteorFalls_1F_2R_WaterMonsInfo = {4, gMeteorFalls_1F_2R_WaterMons}; + +const struct WildPokemon gMeteorFalls_1F_2R_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {30, 35, SPECIES_WHISCASH}, + {35, 40, SPECIES_WHISCASH}, + {40, 45, SPECIES_WHISCASH}, +}; + +const struct WildPokemonInfo gMeteorFalls_1F_2R_FishingMonsInfo = {30, gMeteorFalls_1F_2R_FishingMons}; + +const struct WildPokemon gMeteorFalls_B1F_1R_LandMons[] = +{ + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_SOLROCK}, + {33, 33, SPECIES_SOLROCK}, + {37, 37, SPECIES_SOLROCK}, + {35, 35, SPECIES_GOLBAT}, + {39, 39, SPECIES_SOLROCK}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gMeteorFalls_B1F_1R_LandMonsInfo = {10, gMeteorFalls_B1F_1R_LandMons}; + +const struct WildPokemon gMeteorFalls_B1F_1R_WaterMons[] = +{ + {30, 35, SPECIES_GOLBAT}, + {30, 35, SPECIES_GOLBAT}, + {25, 35, SPECIES_SOLROCK}, + {15, 25, SPECIES_SOLROCK}, + {5, 15, SPECIES_SOLROCK}, +}; + +const struct WildPokemonInfo gMeteorFalls_B1F_1R_WaterMonsInfo = {4, gMeteorFalls_B1F_1R_WaterMons}; + +const struct WildPokemon gMeteorFalls_B1F_1R_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {30, 35, SPECIES_WHISCASH}, + {35, 40, SPECIES_WHISCASH}, + {40, 45, SPECIES_WHISCASH}, +}; + +const struct WildPokemonInfo gMeteorFalls_B1F_1R_FishingMonsInfo = {30, gMeteorFalls_B1F_1R_FishingMons}; + +const struct WildPokemon gShoalCave_LowTideStairsRoom_LandMons[] = +{ + {26, 26, SPECIES_ZUBAT}, + {26, 26, SPECIES_SPHEAL}, + {28, 28, SPECIES_ZUBAT}, + {28, 28, SPECIES_SPHEAL}, + {30, 30, SPECIES_ZUBAT}, + {30, 30, SPECIES_SPHEAL}, + {32, 32, SPECIES_ZUBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideStairsRoom_LandMonsInfo = {10, gShoalCave_LowTideStairsRoom_LandMons}; + +const struct WildPokemon gShoalCave_LowTideLowerRoom_LandMons[] = +{ + {26, 26, SPECIES_ZUBAT}, + {26, 26, SPECIES_SPHEAL}, + {28, 28, SPECIES_ZUBAT}, + {28, 28, SPECIES_SPHEAL}, + {30, 30, SPECIES_ZUBAT}, + {30, 30, SPECIES_SPHEAL}, + {32, 32, SPECIES_ZUBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideLowerRoom_LandMonsInfo = {10, gShoalCave_LowTideLowerRoom_LandMons}; + +const struct WildPokemon gShoalCave_LowTideInnerRoom_LandMons[] = +{ + {26, 26, SPECIES_ZUBAT}, + {26, 26, SPECIES_SPHEAL}, + {28, 28, SPECIES_ZUBAT}, + {28, 28, SPECIES_SPHEAL}, + {30, 30, SPECIES_ZUBAT}, + {30, 30, SPECIES_SPHEAL}, + {32, 32, SPECIES_ZUBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_LandMonsInfo = {10, gShoalCave_LowTideInnerRoom_LandMons}; + +const struct WildPokemon gShoalCave_LowTideInnerRoom_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_ZUBAT}, + {25, 30, SPECIES_SPHEAL}, + {25, 30, SPECIES_SPHEAL}, + {25, 35, SPECIES_SPHEAL}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_WaterMonsInfo = {4, gShoalCave_LowTideInnerRoom_WaterMons}; + +const struct WildPokemon gShoalCave_LowTideInnerRoom_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_FishingMonsInfo = {10, gShoalCave_LowTideInnerRoom_FishingMons}; + +const struct WildPokemon gShoalCave_LowTideEntranceRoom_LandMons[] = +{ + {26, 26, SPECIES_ZUBAT}, + {26, 26, SPECIES_SPHEAL}, + {28, 28, SPECIES_ZUBAT}, + {28, 28, SPECIES_SPHEAL}, + {30, 30, SPECIES_ZUBAT}, + {30, 30, SPECIES_SPHEAL}, + {32, 32, SPECIES_ZUBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_LandMonsInfo = {10, gShoalCave_LowTideEntranceRoom_LandMons}; + +const struct WildPokemon gShoalCave_LowTideEntranceRoom_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_ZUBAT}, + {25, 30, SPECIES_SPHEAL}, + {25, 30, SPECIES_SPHEAL}, + {25, 35, SPECIES_SPHEAL}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_WaterMonsInfo = {4, gShoalCave_LowTideEntranceRoom_WaterMons}; + +const struct WildPokemon gShoalCave_LowTideEntranceRoom_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_FishingMonsInfo = {10, gShoalCave_LowTideEntranceRoom_FishingMons}; + +const struct WildPokemon gLilycoveCity_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gLilycoveCity_WaterMonsInfo = {4, gLilycoveCity_WaterMons}; + +const struct WildPokemon gLilycoveCity_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_STARYU}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gLilycoveCity_FishingMonsInfo = {10, gLilycoveCity_FishingMons}; + +const struct WildPokemon gDewfordTown_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gDewfordTown_WaterMonsInfo = {4, gDewfordTown_WaterMons}; + +const struct WildPokemon gDewfordTown_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gDewfordTown_FishingMonsInfo = {10, gDewfordTown_FishingMons}; + +const struct WildPokemon gSlateportCity_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gSlateportCity_WaterMonsInfo = {4, gSlateportCity_WaterMons}; + +const struct WildPokemon gSlateportCity_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gSlateportCity_FishingMonsInfo = {10, gSlateportCity_FishingMons}; + +const struct WildPokemon gMossdeepCity_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gMossdeepCity_WaterMonsInfo = {4, gMossdeepCity_WaterMons}; + +const struct WildPokemon gMossdeepCity_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gMossdeepCity_FishingMonsInfo = {10, gMossdeepCity_FishingMons}; + +const struct WildPokemon gPacifidlogTown_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gPacifidlogTown_WaterMonsInfo = {4, gPacifidlogTown_WaterMons}; + +const struct WildPokemon gPacifidlogTown_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gPacifidlogTown_FishingMonsInfo = {10, gPacifidlogTown_FishingMons}; + +const struct WildPokemon gEverGrandeCity_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gEverGrandeCity_WaterMonsInfo = {4, gEverGrandeCity_WaterMons}; + +const struct WildPokemon gEverGrandeCity_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_LUVDISC}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_LUVDISC}, + {30, 35, SPECIES_WAILMER}, + {30, 35, SPECIES_CORSOLA}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gEverGrandeCity_FishingMonsInfo = {10, gEverGrandeCity_FishingMons}; + +const struct WildPokemon gPetalburgCity_WaterMons[] = +{ + {20, 30, SPECIES_MARILL}, + {10, 20, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, +}; + +const struct WildPokemonInfo gPetalburgCity_WaterMonsInfo = {1, gPetalburgCity_WaterMons}; + +const struct WildPokemon gPetalburgCity_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_CORPHISH}, + {25, 30, SPECIES_CORPHISH}, + {30, 35, SPECIES_CORPHISH}, + {20, 25, SPECIES_CORPHISH}, + {35, 40, SPECIES_CORPHISH}, + {40, 45, SPECIES_CORPHISH}, +}; + +const struct WildPokemonInfo gPetalburgCity_FishingMonsInfo = {10, gPetalburgCity_FishingMons}; + +const struct WildPokemon gUnderwater1_WaterMons[] = +{ + {20, 30, SPECIES_CLAMPERL}, + {20, 30, SPECIES_CHINCHOU}, + {30, 35, SPECIES_CLAMPERL}, + {30, 35, SPECIES_RELICANTH}, + {30, 35, SPECIES_RELICANTH}, +}; + +const struct WildPokemonInfo gUnderwater1_WaterMonsInfo = {4, gUnderwater1_WaterMons}; + +const struct WildPokemon gShoalCave_LowTideIceRoom_LandMons[] = +{ + {26, 26, SPECIES_ZUBAT}, + {26, 26, SPECIES_SPHEAL}, + {28, 28, SPECIES_ZUBAT}, + {28, 28, SPECIES_SPHEAL}, + {30, 30, SPECIES_ZUBAT}, + {30, 30, SPECIES_SPHEAL}, + {26, 26, SPECIES_SNORUNT}, + {32, 32, SPECIES_SPHEAL}, + {30, 30, SPECIES_GOLBAT}, + {28, 28, SPECIES_SNORUNT}, + {32, 32, SPECIES_GOLBAT}, + {30, 30, SPECIES_SNORUNT}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideIceRoom_LandMonsInfo = {10, gShoalCave_LowTideIceRoom_LandMons}; + +const struct WildPokemon gSkyPillar_1F_LandMons[] = +{ + {33, 33, SPECIES_SABLEYE}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {34, 34, SPECIES_SABLEYE}, + {36, 36, SPECIES_CLAYDOL}, + {37, 37, SPECIES_BANETTE}, + {38, 38, SPECIES_BANETTE}, + {36, 36, SPECIES_CLAYDOL}, + {37, 37, SPECIES_CLAYDOL}, + {38, 38, SPECIES_CLAYDOL}, + {37, 37, SPECIES_CLAYDOL}, + {38, 38, SPECIES_CLAYDOL}, +}; + +const struct WildPokemonInfo gSkyPillar_1F_LandMonsInfo = {10, gSkyPillar_1F_LandMons}; + +const struct WildPokemon gSootopolisCity_WaterMons[] = +{ + {5, 35, SPECIES_MAGIKARP}, + {10, 30, SPECIES_MAGIKARP}, + {15, 25, SPECIES_MAGIKARP}, + {25, 30, SPECIES_MAGIKARP}, + {25, 30, SPECIES_MAGIKARP}, +}; + +const struct WildPokemonInfo gSootopolisCity_WaterMonsInfo = {1, gSootopolisCity_WaterMons}; + +const struct WildPokemon gSootopolisCity_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_MAGIKARP}, + {30, 35, SPECIES_MAGIKARP}, + {30, 35, SPECIES_MAGIKARP}, + {35, 40, SPECIES_GYARADOS}, + {35, 45, SPECIES_GYARADOS}, + {5, 45, SPECIES_GYARADOS}, +}; + +const struct WildPokemonInfo gSootopolisCity_FishingMonsInfo = {10, gSootopolisCity_FishingMons}; + +const struct WildPokemon gSkyPillar_3F_LandMons[] = +{ + {33, 33, SPECIES_SABLEYE}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {34, 34, SPECIES_SABLEYE}, + {36, 36, SPECIES_CLAYDOL}, + {37, 37, SPECIES_BANETTE}, + {38, 38, SPECIES_BANETTE}, + {36, 36, SPECIES_CLAYDOL}, + {37, 37, SPECIES_CLAYDOL}, + {38, 38, SPECIES_CLAYDOL}, + {37, 37, SPECIES_CLAYDOL}, + {38, 38, SPECIES_CLAYDOL}, +}; + +const struct WildPokemonInfo gSkyPillar_3F_LandMonsInfo = {10, gSkyPillar_3F_LandMons}; + +const struct WildPokemon gSkyPillar_5F_LandMons[] = +{ + {33, 33, SPECIES_SABLEYE}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {34, 34, SPECIES_SABLEYE}, + {36, 36, SPECIES_CLAYDOL}, + {37, 37, SPECIES_BANETTE}, + {38, 38, SPECIES_BANETTE}, + {36, 36, SPECIES_CLAYDOL}, + {37, 37, SPECIES_CLAYDOL}, + {38, 38, SPECIES_ALTARIA}, + {39, 39, SPECIES_ALTARIA}, + {39, 39, SPECIES_ALTARIA}, +}; + +const struct WildPokemonInfo gSkyPillar_5F_LandMonsInfo = {10, gSkyPillar_5F_LandMons}; + +const struct WildPokemon gSafariZone_Southeast_LandMons[] = +{ + {33, 33, SPECIES_SUNKERN}, + {34, 34, SPECIES_MAREEP}, + {35, 35, SPECIES_SUNKERN}, + {36, 36, SPECIES_MAREEP}, + {34, 34, SPECIES_AIPOM}, + {33, 33, SPECIES_SPINARAK}, + {35, 35, SPECIES_HOOTHOOT}, + {34, 34, SPECIES_SNUBBULL}, + {36, 36, SPECIES_STANTLER}, + {37, 37, SPECIES_GLIGAR}, + {39, 39, SPECIES_STANTLER}, + {40, 40, SPECIES_GLIGAR}, +}; + +const struct WildPokemonInfo gSafariZone_Southeast_LandMonsInfo = {25, gSafariZone_Southeast_LandMons}; + +const struct WildPokemon gSafariZone_Southeast_WaterMons[] = +{ + {25, 30, SPECIES_WOOPER}, + {25, 30, SPECIES_MARILL}, + {25, 30, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {35, 40, SPECIES_QUAGSIRE}, +}; + +const struct WildPokemonInfo gSafariZone_Southeast_WaterMonsInfo = {9, gSafariZone_Southeast_WaterMons}; + +const struct WildPokemon gSafariZone_Southeast_FishingMons[] = +{ + {25, 30, SPECIES_MAGIKARP}, + {25, 30, SPECIES_GOLDEEN}, + {25, 30, SPECIES_MAGIKARP}, + {25, 30, SPECIES_GOLDEEN}, + {30, 35, SPECIES_REMORAID}, + {25, 30, SPECIES_GOLDEEN}, + {25, 30, SPECIES_REMORAID}, + {30, 35, SPECIES_REMORAID}, + {30, 35, SPECIES_REMORAID}, + {35, 40, SPECIES_OCTILLERY}, +}; + +const struct WildPokemonInfo gSafariZone_Southeast_FishingMonsInfo = {35, gSafariZone_Southeast_FishingMons}; + +const struct WildPokemon gSafariZone_Northeast_LandMons[] = +{ + {33, 33, SPECIES_AIPOM}, + {34, 34, SPECIES_TEDDIURSA}, + {35, 35, SPECIES_AIPOM}, + {36, 36, SPECIES_TEDDIURSA}, + {34, 34, SPECIES_SUNKERN}, + {33, 33, SPECIES_LEDYBA}, + {35, 35, SPECIES_HOOTHOOT}, + {34, 34, SPECIES_PINECO}, + {36, 36, SPECIES_HOUNDOUR}, + {37, 37, SPECIES_MILTANK}, + {39, 39, SPECIES_HOUNDOUR}, + {40, 40, SPECIES_MILTANK}, +}; + +const struct WildPokemonInfo gSafariZone_Northeast_LandMonsInfo = {25, gSafariZone_Northeast_LandMons}; + +const struct WildPokemon gSafariZone_Northeast_RockSmashMons[] = +{ + {25, 30, SPECIES_SHUCKLE}, + {20, 25, SPECIES_SHUCKLE}, + {30, 35, SPECIES_SHUCKLE}, + {30, 35, SPECIES_SHUCKLE}, + {35, 40, SPECIES_SHUCKLE}, +}; + +const struct WildPokemonInfo gSafariZone_Northeast_RockSmashMonsInfo = {25, gSafariZone_Northeast_RockSmashMons}; + +const struct WildPokemon gMagmaHideout_1F_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_1F_LandMonsInfo = {10, gMagmaHideout_1F_LandMons}; + +const struct WildPokemon gMagmaHideout_2F_1R_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_2F_1R_LandMonsInfo = {10, gMagmaHideout_2F_1R_LandMons}; + +const struct WildPokemon gMagmaHideout_2F_2R_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_2F_2R_LandMonsInfo = {10, gMagmaHideout_2F_2R_LandMons}; + +const struct WildPokemon gMagmaHideout_3F_1R_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_3F_1R_LandMonsInfo = {10, gMagmaHideout_3F_1R_LandMons}; + +const struct WildPokemon gMagmaHideout_3F_2R_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_3F_2R_LandMonsInfo = {10, gMagmaHideout_3F_2R_LandMons}; + +const struct WildPokemon gMagmaHideout_4F_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_4F_LandMonsInfo = {10, gMagmaHideout_4F_LandMons}; + +const struct WildPokemon gMagmaHideout_3F_3R_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_3F_3R_LandMonsInfo = {10, gMagmaHideout_3F_3R_LandMons}; + +const struct WildPokemon gMagmaHideout_2F_3R_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_2F_3R_LandMonsInfo = {10, gMagmaHideout_2F_3R_LandMons}; + +const struct WildPokemon gMirageTower_1F_LandMons[] = +{ + {21, 21, SPECIES_SANDSHREW}, + {21, 21, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {22, 22, SPECIES_SANDSHREW}, + {22, 22, SPECIES_TRAPINCH}, + {23, 23, SPECIES_SANDSHREW}, + {23, 23, SPECIES_TRAPINCH}, + {24, 24, SPECIES_SANDSHREW}, + {24, 24, SPECIES_TRAPINCH}, +}; + +const struct WildPokemonInfo gMirageTower_1F_LandMonsInfo = {10, gMirageTower_1F_LandMons}; + +const struct WildPokemon gMirageTower_2F_LandMons[] = +{ + {21, 21, SPECIES_SANDSHREW}, + {21, 21, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {22, 22, SPECIES_SANDSHREW}, + {22, 22, SPECIES_TRAPINCH}, + {23, 23, SPECIES_SANDSHREW}, + {23, 23, SPECIES_TRAPINCH}, + {24, 24, SPECIES_SANDSHREW}, + {24, 24, SPECIES_TRAPINCH}, +}; + +const struct WildPokemonInfo gMirageTower_2F_LandMonsInfo = {10, gMirageTower_2F_LandMons}; + +const struct WildPokemon gMirageTower_3F_LandMons[] = +{ + {21, 21, SPECIES_SANDSHREW}, + {21, 21, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {22, 22, SPECIES_SANDSHREW}, + {22, 22, SPECIES_TRAPINCH}, + {23, 23, SPECIES_SANDSHREW}, + {23, 23, SPECIES_TRAPINCH}, + {24, 24, SPECIES_SANDSHREW}, + {24, 24, SPECIES_TRAPINCH}, +}; + +const struct WildPokemonInfo gMirageTower_3F_LandMonsInfo = {10, gMirageTower_3F_LandMons}; + +const struct WildPokemon gMirageTower_4F_LandMons[] = +{ + {21, 21, SPECIES_SANDSHREW}, + {21, 21, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {22, 22, SPECIES_SANDSHREW}, + {22, 22, SPECIES_TRAPINCH}, + {23, 23, SPECIES_SANDSHREW}, + {23, 23, SPECIES_TRAPINCH}, + {24, 24, SPECIES_SANDSHREW}, + {24, 24, SPECIES_TRAPINCH}, +}; + +const struct WildPokemonInfo gMirageTower_4F_LandMonsInfo = {10, gMirageTower_4F_LandMons}; + +const struct WildPokemon gDesertUnderpass_LandMons[] = +{ + {38, 38, SPECIES_DITTO}, + {35, 35, SPECIES_WHISMUR}, + {40, 40, SPECIES_DITTO}, + {40, 40, SPECIES_LOUDRED}, + {41, 41, SPECIES_DITTO}, + {36, 36, SPECIES_WHISMUR}, + {38, 38, SPECIES_LOUDRED}, + {42, 42, SPECIES_DITTO}, + {38, 38, SPECIES_WHISMUR}, + {43, 43, SPECIES_DITTO}, + {44, 44, SPECIES_LOUDRED}, + {45, 45, SPECIES_DITTO}, +}; + +const struct WildPokemonInfo gDesertUnderpass_LandMonsInfo = {10, gDesertUnderpass_LandMons}; + +const struct WildPokemon gArtisanCave_B1F_LandMons[] = +{ + {40, 40, SPECIES_SMEARGLE}, + {41, 41, SPECIES_SMEARGLE}, + {42, 42, SPECIES_SMEARGLE}, + {43, 43, SPECIES_SMEARGLE}, + {44, 44, SPECIES_SMEARGLE}, + {45, 45, SPECIES_SMEARGLE}, + {46, 46, SPECIES_SMEARGLE}, + {47, 47, SPECIES_SMEARGLE}, + {48, 48, SPECIES_SMEARGLE}, + {49, 49, SPECIES_SMEARGLE}, + {50, 50, SPECIES_SMEARGLE}, + {50, 50, SPECIES_SMEARGLE}, +}; + +const struct WildPokemonInfo gArtisanCave_B1F_LandMonsInfo = {10, gArtisanCave_B1F_LandMons}; + +const struct WildPokemon gArtisanCave_1F_LandMons[] = +{ + {40, 40, SPECIES_SMEARGLE}, + {41, 41, SPECIES_SMEARGLE}, + {42, 42, SPECIES_SMEARGLE}, + {43, 43, SPECIES_SMEARGLE}, + {44, 44, SPECIES_SMEARGLE}, + {45, 45, SPECIES_SMEARGLE}, + {46, 46, SPECIES_SMEARGLE}, + {47, 47, SPECIES_SMEARGLE}, + {48, 48, SPECIES_SMEARGLE}, + {49, 49, SPECIES_SMEARGLE}, + {50, 50, SPECIES_SMEARGLE}, + {50, 50, SPECIES_SMEARGLE}, +}; + +const struct WildPokemonInfo gArtisanCave_1F_LandMonsInfo = {10, gArtisanCave_1F_LandMons}; + +const struct WildPokemon gAlteringCave1_LandMons[] = +{ + {10, 10, SPECIES_ZUBAT}, + {12, 12, SPECIES_ZUBAT}, + {8, 8, SPECIES_ZUBAT}, + {14, 14, SPECIES_ZUBAT}, + {10, 10, SPECIES_ZUBAT}, + {12, 12, SPECIES_ZUBAT}, + {16, 16, SPECIES_ZUBAT}, + {6, 6, SPECIES_ZUBAT}, + {8, 8, SPECIES_ZUBAT}, + {14, 14, SPECIES_ZUBAT}, + {8, 8, SPECIES_ZUBAT}, + {14, 14, SPECIES_ZUBAT}, +}; + +const struct WildPokemonInfo gAlteringCave1_LandMonsInfo = {7, gAlteringCave1_LandMons}; + +const struct WildPokemon gAlteringCave2_LandMons[] = +{ + {7, 7, SPECIES_MAREEP}, + {9, 9, SPECIES_MAREEP}, + {5, 5, SPECIES_MAREEP}, + {11, 11, SPECIES_MAREEP}, + {7, 7, SPECIES_MAREEP}, + {9, 9, SPECIES_MAREEP}, + {13, 13, SPECIES_MAREEP}, + {3, 3, SPECIES_MAREEP}, + {5, 5, SPECIES_MAREEP}, + {11, 11, SPECIES_MAREEP}, + {5, 5, SPECIES_MAREEP}, + {11, 11, SPECIES_MAREEP}, +}; + +const struct WildPokemonInfo gAlteringCave2_LandMonsInfo = {7, gAlteringCave2_LandMons}; + +const struct WildPokemon gAlteringCave3_LandMons[] = +{ + {23, 23, SPECIES_PINECO}, + {25, 25, SPECIES_PINECO}, + {22, 22, SPECIES_PINECO}, + {27, 27, SPECIES_PINECO}, + {23, 23, SPECIES_PINECO}, + {25, 25, SPECIES_PINECO}, + {29, 29, SPECIES_PINECO}, + {19, 19, SPECIES_PINECO}, + {21, 21, SPECIES_PINECO}, + {27, 27, SPECIES_PINECO}, + {21, 21, SPECIES_PINECO}, + {27, 27, SPECIES_PINECO}, +}; + +const struct WildPokemonInfo gAlteringCave3_LandMonsInfo = {7, gAlteringCave3_LandMons}; + +const struct WildPokemon gAlteringCave4_LandMons[] = +{ + {16, 16, SPECIES_HOUNDOUR}, + {18, 18, SPECIES_HOUNDOUR}, + {14, 14, SPECIES_HOUNDOUR}, + {20, 20, SPECIES_HOUNDOUR}, + {16, 16, SPECIES_HOUNDOUR}, + {18, 18, SPECIES_HOUNDOUR}, + {22, 22, SPECIES_HOUNDOUR}, + {12, 12, SPECIES_HOUNDOUR}, + {14, 14, SPECIES_HOUNDOUR}, + {20, 20, SPECIES_HOUNDOUR}, + {14, 14, SPECIES_HOUNDOUR}, + {20, 20, SPECIES_HOUNDOUR}, +}; + +const struct WildPokemonInfo gAlteringCave4_LandMonsInfo = {7, gAlteringCave4_LandMons}; + +const struct WildPokemon gAlteringCave5_LandMons[] = +{ + {10, 10, SPECIES_TEDDIURSA}, + {12, 12, SPECIES_TEDDIURSA}, + {8, 8, SPECIES_TEDDIURSA}, + {14, 14, SPECIES_TEDDIURSA}, + {10, 10, SPECIES_TEDDIURSA}, + {12, 12, SPECIES_TEDDIURSA}, + {16, 16, SPECIES_TEDDIURSA}, + {6, 6, SPECIES_TEDDIURSA}, + {8, 8, SPECIES_TEDDIURSA}, + {14, 14, SPECIES_TEDDIURSA}, + {8, 8, SPECIES_TEDDIURSA}, + {14, 14, SPECIES_TEDDIURSA}, +}; + +const struct WildPokemonInfo gAlteringCave5_LandMonsInfo = {7, gAlteringCave5_LandMons}; + +const struct WildPokemon gAlteringCave6_LandMons[] = +{ + {22, 22, SPECIES_AIPOM}, + {24, 24, SPECIES_AIPOM}, + {20, 20, SPECIES_AIPOM}, + {26, 26, SPECIES_AIPOM}, + {22, 22, SPECIES_AIPOM}, + {24, 24, SPECIES_AIPOM}, + {28, 28, SPECIES_AIPOM}, + {18, 18, SPECIES_AIPOM}, + {20, 20, SPECIES_AIPOM}, + {26, 26, SPECIES_AIPOM}, + {20, 20, SPECIES_AIPOM}, + {26, 26, SPECIES_AIPOM}, +}; + +const struct WildPokemonInfo gAlteringCave6_LandMonsInfo = {7, gAlteringCave6_LandMons}; + +const struct WildPokemon gAlteringCave7_LandMons[] = +{ + {22, 22, SPECIES_SHUCKLE}, + {24, 24, SPECIES_SHUCKLE}, + {20, 20, SPECIES_SHUCKLE}, + {26, 26, SPECIES_SHUCKLE}, + {22, 22, SPECIES_SHUCKLE}, + {24, 24, SPECIES_SHUCKLE}, + {28, 28, SPECIES_SHUCKLE}, + {18, 18, SPECIES_SHUCKLE}, + {20, 20, SPECIES_SHUCKLE}, + {26, 26, SPECIES_SHUCKLE}, + {20, 20, SPECIES_SHUCKLE}, + {26, 26, SPECIES_SHUCKLE}, +}; + +const struct WildPokemonInfo gAlteringCave7_LandMonsInfo = {7, gAlteringCave7_LandMons}; + +const struct WildPokemon gAlteringCave8_LandMons[] = +{ + {22, 22, SPECIES_STANTLER}, + {24, 24, SPECIES_STANTLER}, + {20, 20, SPECIES_STANTLER}, + {26, 26, SPECIES_STANTLER}, + {22, 22, SPECIES_STANTLER}, + {24, 24, SPECIES_STANTLER}, + {28, 28, SPECIES_STANTLER}, + {18, 18, SPECIES_STANTLER}, + {20, 20, SPECIES_STANTLER}, + {26, 26, SPECIES_STANTLER}, + {20, 20, SPECIES_STANTLER}, + {26, 26, SPECIES_STANTLER}, +}; + +const struct WildPokemonInfo gAlteringCave8_LandMonsInfo = {7, gAlteringCave8_LandMons}; + +const struct WildPokemon gAlteringCave9_LandMons[] = +{ + {22, 22, SPECIES_SMEARGLE}, + {24, 24, SPECIES_SMEARGLE}, + {20, 20, SPECIES_SMEARGLE}, + {26, 26, SPECIES_SMEARGLE}, + {22, 22, SPECIES_SMEARGLE}, + {24, 24, SPECIES_SMEARGLE}, + {28, 28, SPECIES_SMEARGLE}, + {18, 18, SPECIES_SMEARGLE}, + {20, 20, SPECIES_SMEARGLE}, + {26, 26, SPECIES_SMEARGLE}, + {20, 20, SPECIES_SMEARGLE}, + {26, 26, SPECIES_SMEARGLE}, +}; + +const struct WildPokemonInfo gAlteringCave9_LandMonsInfo = {7, gAlteringCave9_LandMons}; + +const struct WildPokemon gMeteorFalls_StevensCave_LandMons[] = +{ + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_SOLROCK}, + {33, 33, SPECIES_SOLROCK}, + {37, 37, SPECIES_SOLROCK}, + {35, 35, SPECIES_GOLBAT}, + {39, 39, SPECIES_SOLROCK}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gMeteorFalls_StevensCave_LandMonsInfo = {10, gMeteorFalls_StevensCave_LandMons}; + +//The actual headers that link the encounter tables to particular maps start here. + +const struct WildPokemonHeader gWildMonHeaders[] = +{ + { + .mapGroup = MAP_GROUP(ROUTE101), + .mapNum = MAP_NUM(ROUTE101), + .landMonsInfo = &gRoute101_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE102), + .mapNum = MAP_NUM(ROUTE102), + .landMonsInfo = &gRoute102_LandMonsInfo, + .waterMonsInfo = &gRoute102_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute102_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE103), + .mapNum = MAP_NUM(ROUTE103), + .landMonsInfo = &gRoute103_LandMonsInfo, + .waterMonsInfo = &gRoute103_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute103_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE104), + .mapNum = MAP_NUM(ROUTE104), + .landMonsInfo = &gRoute104_LandMonsInfo, + .waterMonsInfo = &gRoute104_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute104_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE105), + .mapNum = MAP_NUM(ROUTE105), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute105_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute105_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE110), + .mapNum = MAP_NUM(ROUTE110), + .landMonsInfo = &gRoute110_LandMonsInfo, + .waterMonsInfo = &gRoute110_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute110_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE111), + .mapNum = MAP_NUM(ROUTE111), + .landMonsInfo = &gRoute111_LandMonsInfo, + .waterMonsInfo = &gRoute111_WaterMonsInfo, + .rockSmashMonsInfo = &gRoute111_RockSmashMonsInfo, + .fishingMonsInfo = &gRoute111_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE112), + .mapNum = MAP_NUM(ROUTE112), + .landMonsInfo = &gRoute112_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE113), + .mapNum = MAP_NUM(ROUTE113), + .landMonsInfo = &gRoute113_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE114), + .mapNum = MAP_NUM(ROUTE114), + .landMonsInfo = &gRoute114_LandMonsInfo, + .waterMonsInfo = &gRoute114_WaterMonsInfo, + .rockSmashMonsInfo = &gRoute114_RockSmashMonsInfo, + .fishingMonsInfo = &gRoute114_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE116), + .mapNum = MAP_NUM(ROUTE116), + .landMonsInfo = &gRoute116_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE117), + .mapNum = MAP_NUM(ROUTE117), + .landMonsInfo = &gRoute117_LandMonsInfo, + .waterMonsInfo = &gRoute117_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute117_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE118), + .mapNum = MAP_NUM(ROUTE118), + .landMonsInfo = &gRoute118_LandMonsInfo, + .waterMonsInfo = &gRoute118_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute118_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE124), + .mapNum = MAP_NUM(ROUTE124), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute124_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute124_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(PETALBURG_WOODS), + .mapNum = MAP_NUM(PETALBURG_WOODS), + .landMonsInfo = &gPetalburgWoods_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(RUSTURF_TUNNEL), + .mapNum = MAP_NUM(RUSTURF_TUNNEL), + .landMonsInfo = &gRusturfTunnel_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(GRANITE_CAVE_1F), + .mapNum = MAP_NUM(GRANITE_CAVE_1F), + .landMonsInfo = &gGraniteCave_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(GRANITE_CAVE_B1F), + .mapNum = MAP_NUM(GRANITE_CAVE_B1F), + .landMonsInfo = &gGraniteCave_B1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_1F), + .mapNum = MAP_NUM(MT_PYRE_1F), + .landMonsInfo = &gMtPyre_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(VICTORY_ROAD_1F), + .mapNum = MAP_NUM(VICTORY_ROAD_1F), + .landMonsInfo = &gVictoryRoad_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTH), + .mapNum = MAP_NUM(SAFARI_ZONE_SOUTH), + .landMonsInfo = &gSafariZone_South_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(UNDERWATER2), + .mapNum = MAP_NUM(UNDERWATER2), + .landMonsInfo = NULL, + .waterMonsInfo = &gUnderwater2_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ABANDONED_SHIP_ROOMS_B1F), + .mapNum = MAP_NUM(ABANDONED_SHIP_ROOMS_B1F), + .landMonsInfo = NULL, + .waterMonsInfo = &gAbandonedShip_Rooms_B1F_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gAbandonedShip_Rooms_B1F_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(GRANITE_CAVE_B2F), + .mapNum = MAP_NUM(GRANITE_CAVE_B2F), + .landMonsInfo = &gGraniteCave_B2F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = &gGraniteCave_B2F_RockSmashMonsInfo, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(FIERY_PATH), + .mapNum = MAP_NUM(FIERY_PATH), + .landMonsInfo = &gFieryPath_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_2R), + .mapNum = MAP_NUM(METEOR_FALLS_B1F_2R), + .landMonsInfo = &gMeteorFalls_B1F_2R_LandMonsInfo, + .waterMonsInfo = &gMeteorFalls_B1F_2R_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gMeteorFalls_B1F_2R_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(JAGGED_PASS), + .mapNum = MAP_NUM(JAGGED_PASS), + .landMonsInfo = &gJaggedPass_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE106), + .mapNum = MAP_NUM(ROUTE106), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute106_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute106_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE107), + .mapNum = MAP_NUM(ROUTE107), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute107_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute107_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE108), + .mapNum = MAP_NUM(ROUTE108), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute108_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute108_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE109), + .mapNum = MAP_NUM(ROUTE109), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute109_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute109_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE115), + .mapNum = MAP_NUM(ROUTE115), + .landMonsInfo = &gRoute115_LandMonsInfo, + .waterMonsInfo = &gRoute115_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute115_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(NEW_MAUVILLE_INSIDE), + .mapNum = MAP_NUM(NEW_MAUVILLE_INSIDE), + .landMonsInfo = &gNewMauville_Inside_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE119), + .mapNum = MAP_NUM(ROUTE119), + .landMonsInfo = &gRoute119_LandMonsInfo, + .waterMonsInfo = &gRoute119_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute119_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE120), + .mapNum = MAP_NUM(ROUTE120), + .landMonsInfo = &gRoute120_LandMonsInfo, + .waterMonsInfo = &gRoute120_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute120_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE121), + .mapNum = MAP_NUM(ROUTE121), + .landMonsInfo = &gRoute121_LandMonsInfo, + .waterMonsInfo = &gRoute121_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute121_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE122), + .mapNum = MAP_NUM(ROUTE122), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute122_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute122_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE123), + .mapNum = MAP_NUM(ROUTE123), + .landMonsInfo = &gRoute123_LandMonsInfo, + .waterMonsInfo = &gRoute123_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute123_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_2F), + .mapNum = MAP_NUM(MT_PYRE_2F), + .landMonsInfo = &gMtPyre_2F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_3F), + .mapNum = MAP_NUM(MT_PYRE_3F), + .landMonsInfo = &gMtPyre_3F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_4F), + .mapNum = MAP_NUM(MT_PYRE_4F), + .landMonsInfo = &gMtPyre_4F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_5F), + .mapNum = MAP_NUM(MT_PYRE_5F), + .landMonsInfo = &gMtPyre_5F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_6F), + .mapNum = MAP_NUM(MT_PYRE_6F), + .landMonsInfo = &gMtPyre_6F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_EXTERIOR), + .mapNum = MAP_NUM(MT_PYRE_EXTERIOR), + .landMonsInfo = &gMtPyre_Exterior_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_SUMMIT), + .mapNum = MAP_NUM(MT_PYRE_SUMMIT), + .landMonsInfo = &gMtPyre_Summit_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(GRANITE_CAVE_STEVENS_ROOM), + .mapNum = MAP_NUM(GRANITE_CAVE_STEVENS_ROOM), + .landMonsInfo = &gGraniteCave_StevensRoom_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE125), + .mapNum = MAP_NUM(ROUTE125), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute125_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute125_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE126), + .mapNum = MAP_NUM(ROUTE126), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute126_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute126_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE127), + .mapNum = MAP_NUM(ROUTE127), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute127_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute127_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE128), + .mapNum = MAP_NUM(ROUTE128), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute128_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute128_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE129), + .mapNum = MAP_NUM(ROUTE129), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute129_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute129_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE130), + .mapNum = MAP_NUM(ROUTE130), + .landMonsInfo = &gRoute130_LandMonsInfo, + .waterMonsInfo = &gRoute130_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute130_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE131), + .mapNum = MAP_NUM(ROUTE131), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute131_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute131_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE132), + .mapNum = MAP_NUM(ROUTE132), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute132_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute132_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE133), + .mapNum = MAP_NUM(ROUTE133), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute133_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute133_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE134), + .mapNum = MAP_NUM(ROUTE134), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute134_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute134_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS), + .mapNum = MAP_NUM(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS), + .landMonsInfo = NULL, + .waterMonsInfo = &gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM1), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM1), + .landMonsInfo = &gSeafloorCavern_Room1_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM2), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM2), + .landMonsInfo = &gSeafloorCavern_Room2_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM3), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM3), + .landMonsInfo = &gSeafloorCavern_Room3_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM4), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM4), + .landMonsInfo = &gSeafloorCavern_Room4_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM5), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM5), + .landMonsInfo = &gSeafloorCavern_Room5_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM6), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM6), + .landMonsInfo = &gSeafloorCavern_Room6_LandMonsInfo, + .waterMonsInfo = &gSeafloorCavern_Room6_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSeafloorCavern_Room6_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM7), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM7), + .landMonsInfo = &gSeafloorCavern_Room7_LandMonsInfo, + .waterMonsInfo = &gSeafloorCavern_Room7_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSeafloorCavern_Room7_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM8), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM8), + .landMonsInfo = &gSeafloorCavern_Room8_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ENTRANCE), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ENTRANCE), + .landMonsInfo = NULL, + .waterMonsInfo = &gSeafloorCavern_Entrance_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSeafloorCavern_Entrance_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_ENTRANCE), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_ENTRANCE), + .landMonsInfo = &gCaveOfOrigin_Entrance_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_1F), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_1F), + .landMonsInfo = &gCaveOfOrigin_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1), + .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2), + .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3), + .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(NEW_MAUVILLE_ENTRANCE), + .mapNum = MAP_NUM(NEW_MAUVILLE_ENTRANCE), + .landMonsInfo = &gNewMauville_Entrance_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHWEST), + .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHWEST), + .landMonsInfo = &gSafariZone_Southwest_LandMonsInfo, + .waterMonsInfo = &gSafariZone_Southwest_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSafariZone_Southwest_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTH), + .mapNum = MAP_NUM(SAFARI_ZONE_NORTH), + .landMonsInfo = &gSafariZone_North_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = &gSafariZone_North_RockSmashMonsInfo, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHWEST), + .mapNum = MAP_NUM(SAFARI_ZONE_NORTHWEST), + .landMonsInfo = &gSafariZone_Northwest_LandMonsInfo, + .waterMonsInfo = &gSafariZone_Northwest_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSafariZone_Northwest_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(VICTORY_ROAD_B1F), + .mapNum = MAP_NUM(VICTORY_ROAD_B1F), + .landMonsInfo = &gVictoryRoad_B1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = &gVictoryRoad_B1F_RockSmashMonsInfo, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(VICTORY_ROAD_B2F), + .mapNum = MAP_NUM(VICTORY_ROAD_B2F), + .landMonsInfo = &gVictoryRoad_B2F_LandMonsInfo, + .waterMonsInfo = &gVictoryRoad_B2F_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gVictoryRoad_B2F_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(METEOR_FALLS_1F_1R), + .mapNum = MAP_NUM(METEOR_FALLS_1F_1R), + .landMonsInfo = &gMeteorFalls_1F_1R_LandMonsInfo, + .waterMonsInfo = &gMeteorFalls_1F_1R_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gMeteorFalls_1F_1R_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(METEOR_FALLS_1F_2R), + .mapNum = MAP_NUM(METEOR_FALLS_1F_2R), + .landMonsInfo = &gMeteorFalls_1F_2R_LandMonsInfo, + .waterMonsInfo = &gMeteorFalls_1F_2R_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gMeteorFalls_1F_2R_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_1R), + .mapNum = MAP_NUM(METEOR_FALLS_B1F_1R), + .landMonsInfo = &gMeteorFalls_B1F_1R_LandMonsInfo, + .waterMonsInfo = &gMeteorFalls_B1F_1R_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gMeteorFalls_B1F_1R_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM), + .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM), + .landMonsInfo = &gShoalCave_LowTideStairsRoom_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM), + .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM), + .landMonsInfo = &gShoalCave_LowTideLowerRoom_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_INNER_ROOM), + .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_INNER_ROOM), + .landMonsInfo = &gShoalCave_LowTideInnerRoom_LandMonsInfo, + .waterMonsInfo = &gShoalCave_LowTideInnerRoom_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gShoalCave_LowTideInnerRoom_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM), + .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM), + .landMonsInfo = &gShoalCave_LowTideEntranceRoom_LandMonsInfo, + .waterMonsInfo = &gShoalCave_LowTideEntranceRoom_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gShoalCave_LowTideEntranceRoom_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(LILYCOVE_CITY), + .mapNum = MAP_NUM(LILYCOVE_CITY), + .landMonsInfo = NULL, + .waterMonsInfo = &gLilycoveCity_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gLilycoveCity_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(DEWFORD_TOWN), + .mapNum = MAP_NUM(DEWFORD_TOWN), + .landMonsInfo = NULL, + .waterMonsInfo = &gDewfordTown_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gDewfordTown_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SLATEPORT_CITY), + .mapNum = MAP_NUM(SLATEPORT_CITY), + .landMonsInfo = NULL, + .waterMonsInfo = &gSlateportCity_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSlateportCity_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(MOSSDEEP_CITY), + .mapNum = MAP_NUM(MOSSDEEP_CITY), + .landMonsInfo = NULL, + .waterMonsInfo = &gMossdeepCity_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gMossdeepCity_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(PACIFIDLOG_TOWN), + .mapNum = MAP_NUM(PACIFIDLOG_TOWN), + .landMonsInfo = NULL, + .waterMonsInfo = &gPacifidlogTown_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gPacifidlogTown_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(EVER_GRANDE_CITY), + .mapNum = MAP_NUM(EVER_GRANDE_CITY), + .landMonsInfo = NULL, + .waterMonsInfo = &gEverGrandeCity_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gEverGrandeCity_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(PETALBURG_CITY), + .mapNum = MAP_NUM(PETALBURG_CITY), + .landMonsInfo = NULL, + .waterMonsInfo = &gPetalburgCity_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gPetalburgCity_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(UNDERWATER1), + .mapNum = MAP_NUM(UNDERWATER1), + .landMonsInfo = NULL, + .waterMonsInfo = &gUnderwater1_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ICE_ROOM), + .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ICE_ROOM), + .landMonsInfo = &gShoalCave_LowTideIceRoom_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SKY_PILLAR_1F), + .mapNum = MAP_NUM(SKY_PILLAR_1F), + .landMonsInfo = &gSkyPillar_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SOOTOPOLIS_CITY), + .mapNum = MAP_NUM(SOOTOPOLIS_CITY), + .landMonsInfo = NULL, + .waterMonsInfo = &gSootopolisCity_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSootopolisCity_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SKY_PILLAR_3F), + .mapNum = MAP_NUM(SKY_PILLAR_3F), + .landMonsInfo = &gSkyPillar_3F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SKY_PILLAR_5F), + .mapNum = MAP_NUM(SKY_PILLAR_5F), + .landMonsInfo = &gSkyPillar_5F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHEAST), + .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHEAST), + .landMonsInfo = &gSafariZone_Southeast_LandMonsInfo, + .waterMonsInfo = &gSafariZone_Southeast_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSafariZone_Southeast_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHEAST), + .mapNum = MAP_NUM(SAFARI_ZONE_NORTHEAST), + .landMonsInfo = &gSafariZone_Northeast_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = &gSafariZone_Northeast_RockSmashMonsInfo, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_1F), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_1F), + .landMonsInfo = &gMagmaHideout_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_1R), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_1R), + .landMonsInfo = &gMagmaHideout_2F_1R_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_2R), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_2R), + .landMonsInfo = &gMagmaHideout_2F_2R_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_1R), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_1R), + .landMonsInfo = &gMagmaHideout_3F_1R_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_2R), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_2R), + .landMonsInfo = &gMagmaHideout_3F_2R_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_4F), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_4F), + .landMonsInfo = &gMagmaHideout_4F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_3R), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_3R), + .landMonsInfo = &gMagmaHideout_3F_3R_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_3R), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_3R), + .landMonsInfo = &gMagmaHideout_2F_3R_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MIRAGE_TOWER_1F), + .mapNum = MAP_NUM(MIRAGE_TOWER_1F), + .landMonsInfo = &gMirageTower_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MIRAGE_TOWER_2F), + .mapNum = MAP_NUM(MIRAGE_TOWER_2F), + .landMonsInfo = &gMirageTower_2F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MIRAGE_TOWER_3F), + .mapNum = MAP_NUM(MIRAGE_TOWER_3F), + .landMonsInfo = &gMirageTower_3F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MIRAGE_TOWER_4F), + .mapNum = MAP_NUM(MIRAGE_TOWER_4F), + .landMonsInfo = &gMirageTower_4F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(DESERT_UNDERPASS), + .mapNum = MAP_NUM(DESERT_UNDERPASS), + .landMonsInfo = &gDesertUnderpass_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ARTISAN_CAVE_B1F), + .mapNum = MAP_NUM(ARTISAN_CAVE_B1F), + .landMonsInfo = &gArtisanCave_B1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ARTISAN_CAVE_1F), + .mapNum = MAP_NUM(ARTISAN_CAVE_1F), + .landMonsInfo = &gArtisanCave_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave1_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave2_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave3_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave4_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave5_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave6_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave7_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave8_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave9_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(METEOR_FALLS_STEVENS_CAVE), + .mapNum = MAP_NUM(METEOR_FALLS_STEVENS_CAVE), + .landMonsInfo = &gMeteorFalls_StevensCave_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(UNDEFINED), + .mapNum = MAP_NUM(UNDEFINED), + .landMonsInfo = NULL, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, +}; + +//Battle Pyramid-specific tables and headers start here. + +const struct WildPokemon gBattlePyramidPlaceholders_1[] = +{ + {5, 5, SPECIES_BULBASAUR}, + {5, 5, SPECIES_BULBASAUR}, + {5, 5, SPECIES_BULBASAUR}, + {5, 5, SPECIES_BULBASAUR}, + {5, 5, SPECIES_IVYSAUR}, + {5, 5, SPECIES_IVYSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_CHARMANDER}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_1Info = {4, gBattlePyramidPlaceholders_1}; + +const struct WildPokemon gBattlePyramidPlaceholders_2[] = +{ + {5, 5, SPECIES_IVYSAUR}, + {5, 5, SPECIES_IVYSAUR}, + {5, 5, SPECIES_IVYSAUR}, + {5, 5, SPECIES_IVYSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMANDER}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_2Info = {4, gBattlePyramidPlaceholders_2}; + +const struct WildPokemon gBattlePyramidPlaceholders_3[] = +{ + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARIZARD}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_3Info = {4, gBattlePyramidPlaceholders_3}; + +const struct WildPokemon gBattlePyramidPlaceholders_4[] = +{ + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_SQUIRTLE}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_4Info = {4, gBattlePyramidPlaceholders_4}; + +const struct WildPokemon gBattlePyramidPlaceholders_5[] = +{ + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_WARTORTLE}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_5Info = {4, gBattlePyramidPlaceholders_5}; + +const struct WildPokemon gBattlePyramidPlaceholders_6[] = +{ + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_WARTORTLE}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_6Info = {4, gBattlePyramidPlaceholders_6}; + +const struct WildPokemon gBattlePyramidPlaceholders_7[] = +{ + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_7Info = {8, gBattlePyramidPlaceholders_7}; + +const struct WildPokemonHeader gBattlePyramidWildMonHeaders[] = +{ + { + .mapGroup = 0, + .mapNum = 1, + .landMonsInfo = &gBattlePyramidPlaceholders_1Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 2, + .landMonsInfo = &gBattlePyramidPlaceholders_2Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 3, + .landMonsInfo = &gBattlePyramidPlaceholders_3Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 4, + .landMonsInfo = &gBattlePyramidPlaceholders_4Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 5, + .landMonsInfo = &gBattlePyramidPlaceholders_5Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 6, + .landMonsInfo = &gBattlePyramidPlaceholders_6Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 7, + .landMonsInfo = &gBattlePyramidPlaceholders_7Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 255, + .mapNum = 255, + .landMonsInfo = NULL, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, +}; + +//Battle Pike-specific tables and headers start here. + +const struct WildPokemon gBattlePikeMons_1[] = +{ + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_DUSCLOPS}, + {5, 5, SPECIES_DUSCLOPS}, + {5, 5, SPECIES_DUSCLOPS}, + {5, 5, SPECIES_DUSCLOPS}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_DUSCLOPS}, + {5, 5, SPECIES_DUSCLOPS}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, +}; + +const struct WildPokemonInfo gBattlePikeMonsInfo_1 = {10, gBattlePikeMons_1}; + +const struct WildPokemon gBattlePikeMons_2[] = +{ + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_ELECTRODE}, + {5, 5, SPECIES_ELECTRODE}, + {5, 5, SPECIES_ELECTRODE}, + {5, 5, SPECIES_ELECTRODE}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_ELECTRODE}, + {5, 5, SPECIES_ELECTRODE}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, +}; + +const struct WildPokemonInfo gBattlePikeMonsInfo_2 = {10, gBattlePikeMons_2}; + +const struct WildPokemon gBattlePikeMons_3[] = +{ + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_BRELOOM}, + {5, 5, SPECIES_BRELOOM}, + {5, 5, SPECIES_BRELOOM}, + {5, 5, SPECIES_BRELOOM}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_BRELOOM}, + {5, 5, SPECIES_BRELOOM}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, +}; + +const struct WildPokemonInfo gBattlePikeMonsInfo_3 = {10, gBattlePikeMons_3}; + +const struct WildPokemon gBattlePikeMons_4[] = +{ + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_WOBBUFFET}, + {5, 5, SPECIES_WOBBUFFET}, + {5, 5, SPECIES_WOBBUFFET}, + {5, 5, SPECIES_WOBBUFFET}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_WOBBUFFET}, + {5, 5, SPECIES_WOBBUFFET}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, +}; + +const struct WildPokemonInfo gBattlePikeMonsInfo_4 = {10, gBattlePikeMons_4}; + +const struct WildPokemonHeader gBattlePikeWildMonHeaders[] = +{ + { + .mapGroup = 0, + .mapNum = 1, + .landMonsInfo = &gBattlePikeMonsInfo_1, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 2, + .landMonsInfo = &gBattlePikeMonsInfo_2, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 3, + .landMonsInfo = &gBattlePikeMonsInfo_3, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 4, + .landMonsInfo = &gBattlePikeMonsInfo_4, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 255, + .mapNum = 255, + .landMonsInfo = NULL, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, +}; + +//Special Feebas-related data. + +const struct WildPokemon gWildFeebasRoute119Data = {20, 25, SPECIES_FEEBAS}; + +const u16 gRoute119WaterTileData[] = +{ + 0, 0x2D, 0, + 0x2E, 0x5B, 0x83, + 0x5C, 0x8B, 0x12A, +}; + diff --git a/src/daycare.c b/src/daycare.c index 131540f6e..26fa0251e 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -16,33 +16,16 @@ #include "menu.h" #include "international_string_util.h" #include "script.h" +#include "strings.h" #include "task.h" #include "window.h" +#include "party_menu.h" #include "list_menu.h" #include "overworld.h" #define EGG_MOVES_ARRAY_COUNT 10 #define EGG_LVL_UP_MOVES_ARRAY_COUNT 50 -// text -extern const u8 gText_MaleSymbol4[]; -extern const u8 gText_FemaleSymbol4[]; -extern const u8 gText_GenderlessSymbol[]; -extern const u8 gText_NewLine2[]; -extern const u8 gText_Exit4[]; -extern const u8 gText_Lv[]; -extern const u8 gExpandedPlaceholder_Empty[]; -extern const u8 gText_Exit[]; -extern const u8 gDaycareText_GetAlongVeryWell[]; -extern const u8 gDaycareText_GetAlong[]; -extern const u8 gDaycareText_DontLikeOther[]; -extern const u8 gDaycareText_PlayOther[]; - -extern u8 GetCursorSelectionMonId(void); -extern u16 ItemIdToBattleMoveId(u16); -extern void sub_819746C(u8, bool8); -extern void sub_81B9328(void); - // this file's functions static void ClearDaycareMonMail(struct DayCareMail *mail); static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *daycare); @@ -901,7 +884,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) for (i = 0; i < DAYCARE_MON_COUNT; i++) { - if (GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SANITY_BIT2)) + if (GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SANITY_HAS_SPECIES)) daycare->mons[i].steps++, validEggs++; } @@ -922,7 +905,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) { if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) continue; - if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT1)) + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG)) continue; steps = GetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP); diff --git a/src/decompress.c b/src/decompress.c index 24d23209f..ed2f7a0bb 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -22,7 +22,7 @@ void LZDecompressVram(const u32 *src, void *dest) LZ77UnCompVram(src, dest); } -u16 LoadCompressedObjectPic(const struct CompressedSpriteSheet *src) +u16 LoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src) { struct SpriteSheet dest; @@ -33,7 +33,7 @@ u16 LoadCompressedObjectPic(const struct CompressedSpriteSheet *src) return LoadSpriteSheet(&dest); } -void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer) +void LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer) { struct SpriteSheet dest; @@ -44,7 +44,7 @@ void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *s LoadSpriteSheet(&dest); } -void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src) +void LoadCompressedSpritePalette(const struct CompressedSpritePalette *src) { struct SpritePalette dest; @@ -54,7 +54,7 @@ void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src) LoadSpritePalette(&dest); } -void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer) +void LoadCompressedSpritePaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer) { struct SpritePalette dest; @@ -465,7 +465,7 @@ u32 GetDecompressedDataSize(const u32 *ptr) return (ptr8[3] << 16) | (ptr8[2] << 8) | (ptr8[1]); } -bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src) +bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet* src) { struct SpriteSheet dest; void* buffer; @@ -482,7 +482,7 @@ bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src) return FALSE; } -bool8 LoadCompressedObjectPaletteUsingHeap(const struct CompressedSpritePalette *src) +bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette *src) { struct SpritePalette dest; void* buffer; diff --git a/src/decoration.c b/src/decoration.c index dd691721a..addca6954 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -519,7 +519,7 @@ void sub_8126B80(u8 taskId) if (!gPaletteFade.active) { - menuPos = GetMenuCursorPos(); + menuPos = Menu_GetCursorPos(); switch (Menu_ProcessInput()) { default: @@ -527,7 +527,7 @@ void sub_8126B80(u8 taskId) sSecretBasePCMenuActions[sSecretBasePCMenuCursorPos].func.void_u8(taskId); break; case -2: - sSecretBasePCMenuCursorPos = GetMenuCursorPos(); + sSecretBasePCMenuCursorPos = Menu_GetCursorPos(); if ((s8)menuPos != sSecretBasePCMenuCursorPos) { sub_8126C08(); @@ -2065,7 +2065,7 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor) LoadSpriteSheet(&sheet); palette.data = GetDecorationIconPicOrPalette(decor, 1); palette.tag = paletteTag; - LoadCompressedObjectPalette(&palette); + LoadCompressedSpritePalette(&palette); template = malloc(sizeof(struct SpriteTemplate)); *template = gItemIconSpriteTemplate; template->tileTag = tilesTag; diff --git a/src/dma3_manager.c b/src/dma3_manager.c index 28df9d932..51fa7072d 100644 --- a/src/dma3_manager.c +++ b/src/dma3_manager.c @@ -1,9 +1,6 @@ #include "global.h" #include "dma3.h" -// Maximum amount of data we will transfer in one operation -#define MAX_DMA_BLOCK_SIZE 0x1000 - #define MAX_DMA_REQUESTS 128 #define DMA_REQUEST_COPY32 1 @@ -40,49 +37,6 @@ void ClearDma3Requests(void) gDma3ManagerLocked = FALSE; } -#define Dma3CopyLarge_(src, dest, size, bit) \ -{ \ - const void *_src = src; \ - void *_dest = dest; \ - u32 _size = size; \ - while (1) \ - { \ - if (_size <= MAX_DMA_BLOCK_SIZE) \ - { \ - DmaCopy##bit(3, _src, _dest, _size); \ - break; \ - } \ - DmaCopy##bit(3, _src, _dest, MAX_DMA_BLOCK_SIZE); \ - _src += MAX_DMA_BLOCK_SIZE; \ - _dest += MAX_DMA_BLOCK_SIZE; \ - _size -= MAX_DMA_BLOCK_SIZE; \ - } \ -} - -#define Dma3CopyLarge16_(src, dest, size) Dma3CopyLarge_(src, dest, size, 16) -#define Dma3CopyLarge32_(src, dest, size) Dma3CopyLarge_(src, dest, size, 32) - -#define Dma3FillLarge_(value, dest, size, bit) \ -{ \ - void *_dest = dest; \ - u32 _size = size; \ - while (1) \ - { \ - if (_size <= MAX_DMA_BLOCK_SIZE) \ - { \ - DmaFill##bit(3, value, _dest, _size); \ - break; \ - } \ - DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \ - _dest += MAX_DMA_BLOCK_SIZE; \ - _size -= MAX_DMA_BLOCK_SIZE; \ - } \ -} - -#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16) -#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32) - - void ProcessDma3Requests(void) { u16 bytesTransferred; diff --git a/src/dragon.c b/src/dragon.c index 156d10ce1..68577988e 100644 --- a/src/dragon.c +++ b/src/dragon.c @@ -251,7 +251,7 @@ void sub_81131B4(struct Sprite *sprite) sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1); } - sub_80A6864(sprite, gBattleAnimArgs[1]); + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[1]); sprite->pos1.y += gBattleAnimArgs[2]; sprite->callback = RunStoredCallbackWhenAnimEnds; StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); @@ -329,7 +329,7 @@ void sub_81133E8(u8 taskId) struct Task *task = &gTasks[taskId]; u16 i; u8 r1; - if (sub_80A8364(gBattleAnimAttacker) == 1) + if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) { sp.dmaDest = ®_BG1HOFS; task->data[2] = gBattle_BG1_X; diff --git a/src/egg_hatch.c b/src/egg_hatch.c index e94069279..eb7772a3c 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -31,6 +31,7 @@ #include "field_weather.h" #include "international_string_util.h" #include "naming_screen.h" +#include "pokemon_storage_system.h" #include "field_screen_effect.h" #include "battle.h" // to get rid of later @@ -56,10 +57,6 @@ extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle extern const u8 gText_HatchedFromEgg[]; extern const u8 gText_NickHatchPrompt[]; -extern void PlayRainSoundEffect(void); -extern u16 sub_80D22D0(void); -extern u8 CountPartyAliveNonEggMonsExcept(u8); - static void Task_EggHatch(u8 taskID); static void CB2_EggHatch_0(void); static void CB2_EggHatch_1(void); @@ -438,7 +435,7 @@ static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID, u16* speciesLoc HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[(a0 * 2) + 1], species, pid); - LoadCompressedObjectPalette(GetMonSpritePalStruct(mon)); + LoadCompressedSpritePalette(GetMonSpritePalStruct(mon)); *speciesLoc = species; } break; @@ -872,7 +869,7 @@ u8 GetEggStepsToSubtract(void) u8 count, i; for (count = CalculatePlayerPartyCount(), i = 0; i < count; i++) { - if (!GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT3)) + if (!GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_EGG)) { u8 ability = GetMonAbility(&gPlayerParty[i]); if (ability == ABILITY_MAGMA_ARMOR || ability == ABILITY_FLAME_BODY) @@ -884,7 +881,7 @@ u8 GetEggStepsToSubtract(void) u16 sub_80722E0(void) { - u16 value = sub_80D22D0(); - value += CountPartyAliveNonEggMonsExcept(6); - return value; + u16 aliveNonEggMonsCount = CountStorageNonEggMons(); + aliveNonEggMonsCount += CountPartyAliveNonEggMonsExcept(6); + return aliveNonEggMonsCount; } diff --git a/src/electric.c b/src/electric.c index 5d772e042..142a9ca09 100644 --- a/src/electric.c +++ b/src/electric.c @@ -6,7 +6,6 @@ #include "sound.h" extern void sub_810E2C8(struct Sprite *); -extern bool8 sub_810B614(struct Task *task, u8 taskId); extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *); static void sub_810A1A8(struct Sprite *); @@ -38,6 +37,8 @@ static void sub_810B1F0(struct Sprite *); static void sub_810B23C(struct Sprite *); static bool8 sub_810B430(struct Task *task, u8 taskId); static void sub_810B51C(struct Sprite *); +static bool8 sub_810B614(struct Task *task, u8 taskId); +static void sub_810B684(struct Sprite *sprite); const union AnimCmd gUnknown_085956A4[] = { @@ -462,7 +463,7 @@ static void sub_810A1A8(struct Sprite *sprite) sprite->pos1.x -= gBattleAnimArgs[0]; else sprite->pos1.x += gBattleAnimArgs[0]; - + sprite->pos1.y += gBattleAnimArgs[1]; sprite->callback = sub_810A1F8; } @@ -479,7 +480,7 @@ static void sub_810A214(struct Sprite *sprite) sprite->pos1.x -= gBattleAnimArgs[0]; else sprite->pos1.x += gBattleAnimArgs[0]; - + sprite->callback = sub_810A258; } @@ -493,7 +494,7 @@ static void sub_810A274(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); - + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { sprite->pos1.x -= gBattleAnimArgs[0]; @@ -556,7 +557,7 @@ static void sub_810A308(struct Sprite *sprite) sprite->pos2.y = (gSineTable[gBattleAnimArgs[0] + 64] * gBattleAnimArgs[1]) >> 8; if (gBattleAnimArgs[6] & 1) - sprite->oam.priority = sub_80A8328(battler) + 1; + sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1; matrixNum = sprite->oam.matrixNum; sineVal = gSineTable[gBattleAnimArgs[2]]; @@ -571,7 +572,7 @@ static void sub_810A308(struct Sprite *sprite) static void sub_810A46C(struct Sprite *sprite) { - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = sprite->pos1.x; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); @@ -588,7 +589,7 @@ static void sub_810A46C(struct Sprite *sprite) static void sub_810A4F4(struct Sprite *sprite) { - if (!TranslateAnimLinear(sprite)) + if (!AnimTranslateLinear(sprite)) { sprite->pos2.x += Sin(sprite->data[7], sprite->data[5]); sprite->pos2.y += Cos(sprite->data[7], sprite->data[5]); @@ -615,7 +616,7 @@ static void sub_810A5BC(struct Sprite *sprite) { if (IsContest() || GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[1]; sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2]; sprite->data[3] = gBattleAnimArgs[0]; @@ -665,7 +666,7 @@ static void sub_810A6EC(struct Sprite *sprite) static void sub_810A75C(struct Sprite *sprite) { - sub_80A6980(sprite, FALSE); + InitSpritePosToAnimTarget(sprite, FALSE); sprite->oam.tileNum += gBattleAnimArgs[3] * 4; if (gBattleAnimArgs[3] == 1) @@ -686,17 +687,16 @@ void sub_810A7DC(u8 taskId) gTasks[taskId].func = sub_810A834; } -#ifdef NONMATCHING // couldn't get the proper tail merging in the "CreateSprite" switch cases.(ported from ruby) static void sub_810A834(u8 taskId) { u16 r8; + u16 r2; s16 r12; - s16 r2; u8 spriteId = 0; u8 r7 = 0; u8 sp = gTasks[taskId].data[2]; - s16 r4 = gTasks[taskId].data[0]; - s16 r6 = gTasks[taskId].data[1]; + s16 x = gTasks[taskId].data[0]; + s16 y = gTasks[taskId].data[1]; if (!gTasks[taskId].data[2]) { @@ -714,27 +714,31 @@ static void sub_810A834(u8 taskId) switch (gTasks[taskId].data[10]) { case 0: - r8 += r2 * 0; - spriteId = CreateSprite(&gUnknown_08595828, r4, r6 + (r12 * 1), 2); + r12 *= 1; + spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2); r7++; break; case 2: + r12 *= 2; r8 += r2; - spriteId = CreateSprite(&gUnknown_08595828, r4, r6 + (r12 * 2), 2); + spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2); r7++; break; case 4: + r12 *= 3; r8 += r2 * 2; - spriteId = CreateSprite(&gUnknown_08595828, r4, r6 + (r12 * 3), 2); + spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2); r7++; break; case 6: + r12 *= 4; r8 += r2 * 3; - spriteId = CreateSprite(&gUnknown_08595828, r4, r6 + (r12 * 4), 2); + spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2); r7++; break; case 8: - spriteId = CreateSprite(&gUnknown_08595828, r4, r6 + (r12 * 5), 2); + r12 *= 5; + spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2); r7++; break; case 10: @@ -751,211 +755,6 @@ static void sub_810A834(u8 taskId) gTasks[taskId].data[10]++; } -#else -NAKED -static void sub_810A834(u8 taskId) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x4\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ - movs r5, 0\n\ - movs r7, 0\n\ - ldr r1, =gTasks\n\ - lsls r0, 2\n\ - add r0, r9\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - ldrb r2, [r0, 0xC]\n\ - str r2, [sp]\n\ - ldrh r4, [r0, 0x8]\n\ - ldrh r6, [r0, 0xA]\n\ - movs r3, 0xC\n\ - ldrsh r0, [r0, r3]\n\ - mov r10, r1\n\ - cmp r0, 0\n\ - bne _0810A878\n\ - movs r0, 0\n\ - mov r8, r0\n\ - movs r2, 0x1\n\ - movs r1, 0x10\n\ - mov r12, r1\n\ - b _0810A882\n\ - .pool\n\ -_0810A878:\n\ - movs r2, 0x10\n\ - mov r12, r2\n\ - movs r3, 0x8\n\ - mov r8, r3\n\ - movs r2, 0x4\n\ -_0810A882:\n\ - mov r0, r9\n\ - lsls r1, r0, 2\n\ - adds r0, r1, r0\n\ - lsls r0, 3\n\ - add r0, r10\n\ - movs r3, 0x1C\n\ - ldrsh r0, [r0, r3]\n\ - mov r10, r1\n\ - cmp r0, 0xA\n\ - bhi _0810A978\n\ - lsls r0, 2\n\ - ldr r1, =_0810A8A4\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .pool\n\ - .align 2, 0\n\ -_0810A8A4:\n\ - .4byte _0810A8D0\n\ - .4byte _0810A978\n\ - .4byte _0810A8E4\n\ - .4byte _0810A978\n\ - .4byte _0810A904\n\ - .4byte _0810A978\n\ - .4byte _0810A91A\n\ - .4byte _0810A978\n\ - .4byte _0810A93C\n\ - .4byte _0810A978\n\ - .4byte _0810A970\n\ -_0810A8D0:\n\ - ldr r0, =gUnknown_08595828\n\ - lsls r1, r4, 16\n\ - asrs r1, 16\n\ - lsls r2, r6, 16\n\ - asrs r2, 16\n\ - mov r4, r12\n\ - lsls r3, r4, 16\n\ - b _0810A952\n\ - .pool\n\ -_0810A8E4:\n\ - mov r0, r12\n\ - lsls r3, r0, 17\n\ - mov r1, r8\n\ - adds r0, r1, r2\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - mov r8, r0\n\ - ldr r0, =gUnknown_08595828\n\ - lsls r1, r4, 16\n\ - asrs r1, 16\n\ - lsls r2, r6, 16\n\ - asrs r2, 16\n\ - b _0810A952\n\ - .pool\n\ -_0810A904:\n\ - mov r3, r12\n\ - lsls r0, r3, 16\n\ - asrs r0, 16\n\ - lsls r3, r0, 1\n\ - adds r3, r0\n\ - lsls r0, r2, 1\n\ - add r0, r8\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - mov r8, r0\n\ - b _0810A946\n\ -_0810A91A:\n\ - mov r0, r12\n\ - lsls r3, r0, 18\n\ - lsls r0, r2, 1\n\ - adds r0, r2\n\ - add r0, r8\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - mov r8, r0\n\ - ldr r0, =gUnknown_08595828\n\ - lsls r1, r4, 16\n\ - asrs r1, 16\n\ - lsls r2, r6, 16\n\ - asrs r2, 16\n\ - b _0810A952\n\ - .pool\n\ -_0810A93C:\n\ - mov r1, r12\n\ - lsls r0, r1, 16\n\ - asrs r0, 16\n\ - lsls r3, r0, 2\n\ - adds r3, r0\n\ -_0810A946:\n\ - ldr r0, =gUnknown_08595828\n\ - lsls r1, r4, 16\n\ - asrs r1, 16\n\ - lsls r2, r6, 16\n\ - asrs r2, 16\n\ - lsls r3, 16\n\ -_0810A952:\n\ - asrs r3, 16\n\ - adds r2, r3\n\ - lsls r2, 16\n\ - asrs r2, 16\n\ - movs r3, 0x2\n\ - bl CreateSprite\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - adds r0, r7, 0x1\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - b _0810A978\n\ - .pool\n\ -_0810A970:\n\ - mov r0, r9\n\ - bl DestroyAnimVisualTask\n\ - b _0810A9BC\n\ -_0810A978:\n\ - cmp r7, 0\n\ - beq _0810A9AC\n\ - ldr r4, =gSprites\n\ - lsls r3, r5, 4\n\ - adds r3, r5\n\ - lsls r3, 2\n\ - adds r0, r3, r4\n\ - ldrh r5, [r0, 0x4]\n\ - lsls r2, r5, 22\n\ - lsrs r2, 22\n\ - add r2, r8\n\ - ldr r6, =0x000003ff\n\ - adds r1, r6, 0\n\ - ands r2, r1\n\ - ldr r1, =0xfffffc00\n\ - ands r1, r5\n\ - orrs r1, r2\n\ - strh r1, [r0, 0x4]\n\ - mov r1, sp\n\ - ldrh r1, [r1]\n\ - strh r1, [r0, 0x2E]\n\ - adds r4, 0x1C\n\ - adds r3, r4\n\ - ldr r1, [r3]\n\ - bl _call_via_r1\n\ -_0810A9AC:\n\ - ldr r0, =gTasks\n\ - mov r1, r10\n\ - add r1, r9\n\ - lsls r1, 3\n\ - adds r1, r0\n\ - ldrh r0, [r1, 0x1C]\n\ - adds r0, 0x1\n\ - strh r0, [r1, 0x1C]\n\ -_0810A9BC:\n\ - add sp, 0x4\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - "); -} -#endif static void sub_810A9DC(struct Sprite *sprite) { @@ -1002,7 +801,7 @@ void sub_810AAFC(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (!gBattleAnimArgs[0]) + if (!gBattleAnimArgs[0]) { task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -1073,7 +872,7 @@ void sub_810AB78(u8 taskId) static void sub_810AC8C(struct Sprite *sprite) { - if (TranslateAnimLinear(sprite)) + if (AnimTranslateLinear(sprite)) { gTasks[sprite->data[5]].data[7]--; DestroySprite(sprite); @@ -1188,7 +987,7 @@ void sub_810AE5C(u8 taskId) } else task->data[0]++; - + } break; case 2: @@ -1334,6 +1133,7 @@ static void sub_810B23C(struct Sprite *sprite) case 1: if (sprite->affineAnimEnded) DestroySpriteAndMatrix(sprite); + break; } } @@ -1493,3 +1293,29 @@ void sub_810B55C(u8 taskId) break; } } + +bool8 sub_810B614(struct Task *task, u8 taskId) +{ + u8 spriteId = CreateSprite(&gUnknown_085956C0, task->data[13], task->data[14], task->data[12]); + + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].callback = sub_810B684; + gSprites[spriteId].data[6] = taskId; + gSprites[spriteId].data[7] = 10; + task->data[10]++; + } + if (task->data[14] >= task->data[15]) + return TRUE; + task->data[14] += 32; + return FALSE; +} + +static void sub_810B684(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + DestroySprite(sprite); + } +} diff --git a/src/event_object_movement.c b/src/event_object_movement.c index ef125e564..ffa8f53c9 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1144,7 +1144,7 @@ u8 GetFirstInactiveEventObjectId(void) u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId) { - if (localId < 0xFF) + if (localId < EVENT_OBJ_ID_PLAYER) { return GetEventObjectIdByLocalIdAndMapInternal(localId, mapNum, mapGroupId); } diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c index 022599dfb..bfd46978c 100644 --- a/src/evolution_graphics.c +++ b/src/evolution_graphics.c @@ -251,7 +251,7 @@ static void CreatePostEvoSparkleSet2(u8 arg0) void LoadEvoSparkleSpriteAndPal(void) { - LoadCompressedObjectPicUsingHeap(&sEvoSparkleSpriteSheets[0]); + LoadCompressedSpriteSheetUsingHeap(&sEvoSparkleSpriteSheets[0]); LoadSpritePalettes(sEvoSparkleSpritePals); } diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 829d72c34..3774ef2b3 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -12,7 +12,7 @@ #include "field_poison.h" #include "field_screen_effect.h" #include "field_specials.h" -#include "fldeff_80F9BCC.h" +#include "fldeff_misc.h" #include "item_menu.h" #include "link.h" #include "metatile_behavior.h" @@ -521,13 +521,13 @@ static bool8 TryStartMiscWalkingScripts(u16 metatileBehavior) } else if (MetatileBehavior_IsSecretBaseGlitterMat(metatileBehavior) == TRUE) { - sub_80FA9D0(); + DoSecretBaseGlitterMatSparkle(); return FALSE; } else if (MetatileBehavior_IsSecretBaseSoundMat(metatileBehavior) == TRUE) { PlayerGetDestCoords(&x, &y); - sub_80FA970(MapGridGetMetatileIdAt(x, y)); + PlaySecretBaseMusicNoteMatSound(MapGridGetMetatileIdAt(x, y)); return FALSE; } return FALSE; diff --git a/src/field_effect.c b/src/field_effect.c index 1442c611a..4e6f81484 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -9,7 +9,7 @@ #include "field_screen_effect.h" #include "field_weather.h" #include "fieldmap.h" -#include "fldeff_groundshake.h" +#include "fldeff.h" #include "gpu_regs.h" #include "main.h" #include "menu.h" @@ -733,8 +733,8 @@ bool8 FieldEffectActiveListContains(u8 id) u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer) { struct SpriteTemplate spriteTemplate; - LoadCompressedObjectPaletteOverrideBuffer(&gTrainerFrontPicPaletteTable[trainerSpriteID], buffer); - LoadCompressedObjectPicOverrideBuffer(&gTrainerFrontPicTable[trainerSpriteID], buffer); + LoadCompressedSpritePaletteOverrideBuffer(&gTrainerFrontPicPaletteTable[trainerSpriteID], buffer); + LoadCompressedSpriteSheetOverrideBuffer(&gTrainerFrontPicTable[trainerSpriteID], buffer); spriteTemplate.tileTag = gTrainerFrontPicTable[trainerSpriteID].tag; spriteTemplate.paletteTag = gTrainerFrontPicPaletteTable[trainerSpriteID].tag; spriteTemplate.oam = &gNewGameBirchOamAttributes; diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 3046eccd5..53fd87e61 100755 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -1228,13 +1228,11 @@ u32 ShowTreeDisguiseFieldEffect(void) return ShowDisguiseFieldEffect(FLDEFF_TREE_DISGUISE, 24, 4); } - u32 ShowMountainDisguiseFieldEffect(void) { return ShowDisguiseFieldEffect(FLDEFF_MOUNTAIN_DISGUISE, 25, 3); } - u32 ShowSandDisguiseFieldEffect(void) { return ShowDisguiseFieldEffect(FLDEFF_SAND_DISGUISE, 28, 2); @@ -1579,3 +1577,19 @@ static void sub_81561FC(struct Sprite *sprite, u8 z, u8 offset) } } } + +// Unused data. Feel free to remove. +static const u8 gUnknown_085CDC6E[] = +{ + 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, + 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, + 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, + 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00 +}; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index a5aa23e32..f14ac8329 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1310,7 +1310,7 @@ bool8 PartyHasMonWithSurf(void) { if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) == SPECIES_NONE) break; - if (pokemon_has_move(&gPlayerParty[i], MOVE_SURF)) + if (MonKnowsMove(&gPlayerParty[i], MOVE_SURF)) return TRUE; } } @@ -1845,7 +1845,7 @@ static bool8 Fishing6(struct Task *task) } else { - if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)) + if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) { u8 ability = GetMonAbility(&gPlayerParty[0]); if (ability == ABILITY_SUCTION_CUPS || ability == ABILITY_STICKY_HOLD) diff --git a/src/field_poison.c b/src/field_poison.c index 02f37f69f..fac17dea9 100644 --- a/src/field_poison.c +++ b/src/field_poison.c @@ -4,7 +4,7 @@ #include "event_data.h" #include "field_message_box.h" #include "field_poison.h" -#include "fldeff_80F9BCC.h" +#include "fldeff_misc.h" #include "frontier_util.h" #include "party_menu.h" #include "pokenav.h" @@ -122,7 +122,7 @@ s32 DoPoisonFieldEffect(void) u32 numFainted = 0; for (i = 0; i < PARTY_SIZE; i++) { - if (GetMonData(pokemon, MON_DATA_SANITY_BIT2) && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN) + if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN) { hp = GetMonData(pokemon, MON_DATA_HP); if (hp == 0 || --hp == 0) @@ -136,7 +136,7 @@ s32 DoPoisonFieldEffect(void) } if (numFainted != 0 || numPoisoned != 0) { - FldeffPoison_Start(); + FldEffPoison_Start(); } if (numFainted != 0) { diff --git a/src/field_specials.c b/src/field_specials.c index 3a50e272e..5e1c86dfe 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1266,7 +1266,7 @@ void IsGrassTypeInParty(void) for (i = 0; i < PARTY_SIZE; i++) { pokemon = &gPlayerParty[i]; - if (GetMonData(pokemon, MON_DATA_SANITY_BIT2) && !GetMonData(pokemon, MON_DATA_IS_EGG)) + if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && !GetMonData(pokemon, MON_DATA_IS_EGG)) { species = GetMonData(pokemon, MON_DATA_SPECIES); if (gBaseStats[species].type1 == TYPE_GRASS || gBaseStats[species].type2 == TYPE_GRASS) @@ -1279,17 +1279,17 @@ void IsGrassTypeInParty(void) gSpecialVar_Result = FALSE; } -void SpawnScriptEventObject(void) +void SpawnCameraObject(void) { - u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, 8, 0x7F, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, 8, EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); gEventObjects[obj].invisible = TRUE; CameraObjectSetFollowedObjectId(gEventObjects[obj].spriteId); } -void RemoveScriptEventObject(void) +void RemoveCameraObject(void) { CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId()); - RemoveEventObjectByLocalIdAndMap(0x7F, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + RemoveEventObjectByLocalIdAndMap(EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } u8 GetPokeblockNameByMonNature(void) @@ -1658,7 +1658,7 @@ bool8 sub_813990C(void) for (i = 0; i < partyCount; i++) { - if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT1) == 1) + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG) == 1) return TRUE; } @@ -3193,7 +3193,7 @@ void sub_813AEB4(void) i = 0; do { - if (gUnknown_0861500C[i] == gUnknown_085B320C[temp2]) + if (gTutorMoves[i] == gUnknown_085B320C[temp2]) { gSpecialVar_0x8005 = i; break; @@ -3206,7 +3206,7 @@ void sub_813AEB4(void) i = 0; do { - if (gUnknown_0861500C[i] == gUnknown_085B31F8[temp2]) + if (gTutorMoves[i] == gUnknown_085B31F8[temp2]) { gSpecialVar_0x8005 = i; break; @@ -3817,7 +3817,7 @@ void sub_813B9A0(void) } } -bool32 sub_813B9C0(void) +bool8 sub_813B9C0(void) { static const u16 gUnknown_085B3444[] = { MAP_OLDALE_TOWN_POKEMON_CENTER_1F, diff --git a/src/fieldmap.c b/src/fieldmap.c index cab200208..abdddb373 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -1,9 +1,8 @@ #include "global.h" #include "bg.h" #include "fieldmap.h" -#include "fldeff_80F9BCC.h" -#include "fldeff_cut.h" -#include "fldeff_groundshake.h" +#include "fldeff.h" +#include "fldeff_misc.h" #include "frontier_util.h" #include "menu.h" #include "overworld.h" diff --git a/src/fight.c b/src/fight.c index fb1c01b78..b7ca2e87a 100644 --- a/src/fight.c +++ b/src/fight.c @@ -416,7 +416,7 @@ const struct SpriteTemplate gUnknown_08596104 = void unc_080B08A0(struct Sprite *sprite) { - sub_80A6864(sprite, gBattleAnimArgs[0]); + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; sprite->data[0] = 15; sprite->callback = WaitAnimForDuration; @@ -459,9 +459,9 @@ void AnimBasicFistOrFoot(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[4]); if (gBattleAnimArgs[3] == 0) - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); else - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; sprite->callback = WaitAnimForDuration; @@ -534,7 +534,7 @@ static void sub_810D0B8(struct Sprite *sprite) void sub_810D10C(struct Sprite *sprite) { - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = 30; if (gBattleAnimArgs[2] == 0) @@ -574,7 +574,7 @@ void sub_810D1B4(struct Sprite *sprite) if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget && GetBattlerPosition(gBattleAnimTarget) < B_POSITION_PLAYER_RIGHT) gBattleAnimArgs[0] *= -1; - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; @@ -596,7 +596,7 @@ void sub_810D1B4(struct Sprite *sprite) static void sub_810D240(struct Sprite *sprite) { - if (!TranslateAnimLinear(sprite)) + if (!AnimTranslateLinear(sprite)) { sprite->pos2.y += Sin(sprite->data[7] >> 8, sprite->data[5]); sprite->data[7] += sprite->data[6]; @@ -615,7 +615,7 @@ static void sub_810D240(struct Sprite *sprite) // arg 3: spin duration void AnimSpinningKickOrPunch(struct Sprite *sprite) { - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); StartSpriteAnim(sprite, gBattleAnimArgs[2]); sprite->data[0] = gBattleAnimArgs[3]; @@ -639,7 +639,7 @@ static void AnimSpinningKickOrPunchFinish(struct Sprite *sprite) // arg 2: initial wait duration void AnimStompFoot(struct Sprite *sprite) { - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; sprite->callback = AnimStompFootStep; @@ -670,7 +670,7 @@ void sub_810D37C(struct Sprite *sprite) { if (sprite->data[0] == 0) { - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[1] = gBattleAnimArgs[2]; sprite->data[2] = gBattleAnimArgs[3]; sprite->data[0]++; @@ -800,12 +800,12 @@ void sub_810D608(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3); - sprite->oam.priority = sub_80A8328(gBattleAnimAttacker); + sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker); sprite->data[7] = gBattleAnimTarget; } else { - sprite->oam.priority = sub_80A8328(gBattleAnimTarget); + sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget); sprite->data[7] = gBattleAnimAttacker; } @@ -903,12 +903,12 @@ void sub_810D874(struct Sprite *sprite) sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3); battler = gBattleAnimTarget; - sprite->oam.priority = sub_80A8328(gBattleAnimAttacker); + sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker); } else { battler = gBattleAnimAttacker; - sprite->oam.priority = sub_80A8328(gBattleAnimTarget); + sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget); } if (IsContest()) @@ -965,9 +965,9 @@ void sub_810D984(struct Sprite *sprite) void sub_810DA10(struct Sprite *sprite) { if (gBattleAnimArgs[2] == 0) - InitAnimSpritePos(sprite, 0); + InitSpritePosToAnimAttacker(sprite, 0); else - sub_80A6980(sprite, FALSE); + InitSpritePosToAnimTarget(sprite, FALSE); if (IsContest()) { diff --git a/src/fire.c b/src/fire.c index 18ec7b95c..5f501a340 100644 --- a/src/fire.c +++ b/src/fire.c @@ -472,14 +472,14 @@ static void sub_8108EC8(struct Sprite *sprite) static void sub_8108F08(struct Sprite *sprite) { - sub_80A6864(sprite, gBattleAnimArgs[0]); + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; sprite->data[0] = gBattleAnimArgs[4]; sprite->data[1] = gBattleAnimArgs[2]; sprite->data[2] = gBattleAnimArgs[3]; - sprite->callback = TranslateAnimLinearSimple; + sprite->callback = AnimTranslateLinearSimple; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } @@ -644,7 +644,7 @@ static void sub_8109200(struct Sprite *sprite) //void AnimFireRing(struct Sprite *sprite) void AnimFireRing(struct Sprite *sprite) { - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); sprite->data[7] = gBattleAnimArgs[2]; sprite->data[0] = 0; @@ -672,7 +672,7 @@ static void AnimFireRingStep1(struct Sprite *sprite) static void AnimFireRingStep2(struct Sprite *sprite) { - if (TranslateAnimLinear(sprite)) + if (AnimTranslateLinear(sprite)) { sprite->data[0] = 0; @@ -731,7 +731,7 @@ static void AnimFireCross(struct Sprite *sprite) static void sub_81093A4(struct Sprite *sprite) { - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); sprite->data[1] = gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[3]; @@ -1054,7 +1054,7 @@ static void sub_8109AFC(struct Sprite *sprite) switch (sprite->data[0]) { case 0: - InitAnimSpritePos(sprite, 0); + InitSpritePosToAnimAttacker(sprite, 0); StartSpriteAnim(sprite, gBattleAnimArgs[2]); sprite->data[7] = gBattleAnimArgs[2]; @@ -1067,7 +1067,7 @@ static void sub_8109AFC(struct Sprite *sprite) sprite->data[4] = -4; } - sprite->oam.priority = sub_80A8328(gBattleAnimTarget); + sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget); sprite->data[0]++; break; case 1: @@ -1119,7 +1119,7 @@ static void sub_8109C4C(struct Sprite *sprite) s16 initialData5; s16 newData5; - if (!TranslateAnimLinear(sprite)) + if (!AnimTranslateLinear(sprite)) { sprite->pos2.x += Sin(sprite->data[5], 16); initialData5 = sprite->data[5]; @@ -1157,9 +1157,9 @@ void sub_8109CB0(struct Sprite *sprite) if (!IsContest()) { if (sprite->data[1] < 64 || sprite->data[1] > 195) - sprite->oam.priority = sub_80A8328(gBattleAnimTarget); + sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget); else - sprite->oam.priority = sub_80A8328(gBattleAnimTarget) + 1; + sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget) + 1; } else { @@ -1318,4 +1318,4 @@ void sub_810A094(u8 taskId) gSprites[spriteId].pos2.y = 0; DestroyAnimVisualTask(taskId); } -}
\ No newline at end of file +} diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 6a310efd2..60887a5cc 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -5,12 +5,11 @@ #include "field_effect.h" #include "field_player_avatar.h" #include "fieldmap.h" -#include "fldeff_cut.h" +#include "fldeff.h" #include "alloc.h" #include "metatile_behavior.h" #include "overworld.h" #include "party_menu.h" -#include "rom6.h" #include "script.h" #include "sound.h" #include "sprite.h" diff --git a/src/fldeff_dig.c b/src/fldeff_dig.c new file mode 100644 index 000000000..b39d25182 --- /dev/null +++ b/src/fldeff_dig.c @@ -0,0 +1,63 @@ +#include "global.h" +#include "braille_puzzles.h" +#include "field_effect.h" +#include "field_player_avatar.h" +#include "fldeff.h" +#include "item_use.h" +#include "overworld.h" +#include "party_menu.h" +#include "sprite.h" +#include "constants/field_effects.h" + +// static functions +static void hm2_dig(void); +static void sub_8135780(void); + +// text +bool8 SetUpFieldMove_Dig(void) +{ + if (CanUseEscapeRopeOnCurrMap() == TRUE) + { + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = hm2_dig; + return TRUE; + } + else + { + return FALSE; + } +} + +static void hm2_dig(void) +{ + Overworld_ResetStateAfterDigEscRope(); + FieldEffectStart(FLDEFF_USE_DIG); + gFieldEffectArguments[0] = GetCursorSelectionMonId(); +} + +bool8 FldEff_UseDig(void) +{ + u8 taskId = oei_task_add(); + + gTasks[taskId].data[8] = (u32)sub_8135780 >> 16; + gTasks[taskId].data[9] = (u32)sub_8135780; + if (!ShouldDoBrailleDigEffect()) + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); + return FALSE; +} + +static void sub_8135780(void) +{ + u8 taskId; + + FieldEffectActiveListRemove(FLDEFF_USE_DIG); + if (ShouldDoBrailleDigEffect()) + { + DoBrailleDigEffect(); + } + else + { + taskId = CreateTask(task08_080A1C44, 8); + gTasks[taskId].data[0] = 0; + } +} diff --git a/src/fldeff_escalator.c b/src/fldeff_escalator.c index 7d3e07123..3d00fb162 100644 --- a/src/fldeff_escalator.c +++ b/src/fldeff_escalator.c @@ -2,18 +2,19 @@ #include "field_camera.h" #include "field_player_avatar.h" #include "fieldmap.h" +#include "fldeff.h" #include "task.h" static EWRAM_DATA u8 sEscalatorAnim_TaskId = 0; -void sub_80E12E8(u8 taskId, const s16 *list, u16 c) +static void sub_80E12E8(u8 taskId, const s16 *list, u16 c) { s16 r5 = gTasks[taskId].data[4] - 1; s16 r3 = gTasks[taskId].data[5] - 1; s16 r4 = gTasks[taskId].data[1]; s16 y; s16 x; - + if (gTasks[taskId].data[2] == 0) { for (y = 0; y < 3; y++) @@ -21,7 +22,7 @@ void sub_80E12E8(u8 taskId, const s16 *list, u16 c) for (x = 0; x < 3; x++) { s16 metatileId = MapGridGetMetatileIdAt(r5 + x, r3 + y); - + if (list[r4] == metatileId) { if (r4 != 2) @@ -39,7 +40,7 @@ void sub_80E12E8(u8 taskId, const s16 *list, u16 c) for (x = 0; x < 3; x++) { s16 metatileId = MapGridGetMetatileIdAt(r5 + x, r3 + y); - + if (list[2 - r4] == metatileId) { if (r4 != 2) @@ -60,7 +61,7 @@ static const u16 gUnknown_08589AD2[] = {0x2A0, 0x2A2, 0x2A4}; static const u16 gUnknown_08589AD8[] = {0x2A1, 0x2A3, 0x2A5}; static const u16 gUnknown_08589ADE[] = {0x2A8, 0x2AA, 0x2AC}; -void sub_80E1444(u8 taskId) +static void sub_80E1444(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -100,7 +101,7 @@ void sub_80E1444(u8 taskId) } } -u8 sub_80E150C(u16 var) +static u8 sub_80E150C(u16 var) { u8 taskId = CreateTask(sub_80E1444, 0); s16 *data = gTasks[taskId].data; diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 8862caa9f..69d198c84 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -3,12 +3,12 @@ #include "event_data.h" #include "event_scripts.h" #include "field_effect.h" +#include "fldeff.h" #include "gpu_regs.h" #include "main.h" #include "overworld.h" #include "palette.h" #include "party_menu.h" -#include "rom6.h" #include "script.h" #include "sound.h" #include "sprite.h" diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c index 866606a06..bfd583981 100644 --- a/src/fldeff_groundshake.c +++ b/src/fldeff_groundshake.c @@ -2,6 +2,7 @@ #include "event_data.h" #include "event_object_movement.h" #include "field_camera.h" +#include "fldeff.h" #include "alloc.h" #include "random.h" #include "roulette_util.h" @@ -10,6 +11,7 @@ #include "sprite.h" #include "task.h" #include "constants/flags.h" +#include "constants/maps.h" #include "constants/songs.h" // structures @@ -73,7 +75,13 @@ static const struct OamData gUnknown_08617E2C = }; static const struct SpriteTemplate gUnknown_08617E34 = { - 0x0FA0, 0xFFFF, &gUnknown_08617E2C, gSpriteAnimTable_8617E28, NULL, gDummySpriteAffineAnimTable, sub_81BEAD8 + .tileTag = 0x0FA0, + .paletteTag = 0xFFFF, + .oam = &gUnknown_08617E2C, + .anims = gSpriteAnimTable_8617E28, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81BEAD8 }; static const union AnimCmd gSpriteAnim_8617E4C[] = @@ -105,7 +113,13 @@ static const struct OamData gSpriteAnim_8617E58 = }; static const struct SpriteTemplate gUnknown_08617E60 = { - 0x0FA0, 0xFFFF, &gSpriteAnim_8617E58, gSpriteAnim_8617E54, NULL, gDummySpriteAffineAnimTable, sub_81BEAD8 + .tileTag = 0x0FA0, + .paletteTag = 0xFFFF, + .oam = &gSpriteAnim_8617E58, + .anims = gSpriteAnim_8617E54, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81BEAD8 }; // ewram @@ -114,12 +128,13 @@ EWRAM_DATA struct Struct203CF18 *gUnknown_0203CF18 = NULL; // text bool8 sub_81BE66C(void) { - if (!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A)) - return 0; - return FlagGet(FLAG_0x14E); + if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE111) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE111))) + return FALSE; + else + return FlagGet(FLAG_0x14E); } -void sub_81BE698(u8 taskId) +static void sub_81BE698(u8 taskId) { sub_8151E50(&(gUnknown_0203CF18->unk4)); } @@ -131,12 +146,13 @@ void sub_81BE6AC(void) void sub_81BE6B8(void) { - if(gUnknown_0203CF18 != NULL) + if (gUnknown_0203CF18 != NULL) { gUnknown_0203CF18 = NULL; return; } - if(!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A) || !FlagGet(FLAG_0x14E)) + + if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(ROUTE111) || gSaveBlock1Ptr->location.mapNum != MAP_NUM(ROUTE111) || !FlagGet(FLAG_0x14E)) return; gUnknown_0203CF18 = (struct Struct203CF18 *)AllocZeroed(sizeof(struct Struct203CF18)); @@ -148,10 +164,13 @@ void sub_81BE6B8(void) void sub_81BE72C(void) { - if(!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A) || !FlagGet(FLAG_0x14E) || gUnknown_0203CF18 == NULL) + if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(ROUTE111) || gSaveBlock1Ptr->location.mapNum != MAP_NUM(ROUTE111) + || !FlagGet(FLAG_0x14E) || gUnknown_0203CF18 == NULL) return; - if(FuncIsActiveTask(sub_81BE698)) + + if( FuncIsActiveTask(sub_81BE698)) DestroyTask(gUnknown_0203CF18->taskId); + sub_8151D28(&(gUnknown_0203CF18->unk4), 1, 1); sub_8151C50(&(gUnknown_0203CF18->unk4), 1, 1); Free(gUnknown_0203CF18); @@ -163,16 +182,16 @@ void sub_81BE79C(void) u16 rand; bool8 chance; - if(VarGet(VAR_0x40CB) != 0) + if (VarGet(VAR_0x40CB) != 0) { FlagClear(FLAG_0x14E); return; } rand = Random(); chance = rand & 1; - if(FlagGet(FLAG_0x09D) == TRUE) + if (FlagGet(FLAG_0x09D) == TRUE) chance = TRUE; - if(chance) + if (chance) { FlagSet(FLAG_0x14E); sub_81BE6B8(); @@ -221,18 +240,17 @@ static void sp136_strengh_sound(u8 a, u8 b, u8 c, u8 d) static void sub_81BE900(u8 taskId) { - s16 *data; + s16 *data = gTasks[taskId].data; - data = gTasks[taskId].data; data[1]++; - if((data[1] % data[3]) == 0) + if ((data[1] % data[3]) == 0) { data[1] = 0; data[2]--; data[0] = -data[0]; data[4] = -data[4]; SetCameraPanning(data[0], data[4]); - if(!data[2]) + if (!data[2]) { sub_81BE968(); DestroyTask(taskId); @@ -243,10 +261,8 @@ static void sub_81BE900(u8 taskId) static void sub_81BE968(void) { - u8 taskId; - - taskId = FindTaskIdByFunc(sub_81BE9C0); - if(taskId != 0xFF) + u8 taskId = FindTaskIdByFunc(sub_81BE9C0); + if (taskId != 0xFF) gTasks[taskId].data[0]++; } @@ -260,11 +276,9 @@ void sub_81BE994(void) static void sub_81BE9C0(u8 taskId) { - u16 *data; + u16 *data = gTasks[taskId].data; - data = gTasks[taskId].data; - data[1]++; - if(data[1] == 1000 || data[0] == 17) + if (++data[1] == 1000 || data[0] == 17) gTasks[taskId].func = sub_81BEA00; } @@ -280,14 +294,14 @@ static void sub_81BEA20(void) u8 i; u8 spriteId; - for(i = 0; i < 8; i++) + for (i = 0; i < 8; i++) { spriteId = CreateSprite(&gUnknown_08617E60, gUnknown_08617D64[i][0] + 120, gUnknown_08617D64[i][1], 8); gSprites[spriteId].oam.priority = 0; gSprites[spriteId].oam.paletteNum = 0; gSprites[spriteId].data[0] = i; } - for(i = 0; i < 8; i++) + for (i = 0; i < 8; i++) { spriteId = CreateSprite(&gUnknown_08617E34, gUnknown_08617D64[i][0] + 115, gUnknown_08617D64[i][1] - 3, 8); gSprites[spriteId].oam.priority = 0; @@ -300,7 +314,7 @@ static void sub_81BEAD8(struct Sprite* sprite) { sprite->data[1] += 2; sprite->pos2.y = (sprite->data[1] / 2); - if(((sprite->pos1.y) + (sprite->pos2.y)) > gUnknown_08617D64[sprite->data[0]][2]) + if (((sprite->pos1.y) + (sprite->pos2.y)) > gUnknown_08617D64[sprite->data[0]][2]) { DestroySprite(sprite); sub_81BE968(); diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c new file mode 100644 index 000000000..9d77383ae --- /dev/null +++ b/src/fldeff_misc.c @@ -0,0 +1,1307 @@ +#include "global.h" +#include "gpu_regs.h" +#include "palette.h" +#include "script.h" +#include "sound.h" +#include "task.h" +#include "strings.h" +#include "party_menu.h" +#include "fieldmap.h" +#include "field_effect.h" +#include "field_camera.h" +#include "field_player_avatar.h" +#include "fldeff.h" +#include "fldeff_misc.h" +#include "secret_base.h" +#include "event_data.h" +#include "event_scripts.h" +#include "event_object_movement.h" +#include "metatile_behavior.h" +#include "string_util.h" +#include "constants/field_effects.h" +#include "constants/metatile_behaviors.h" +#include "constants/songs.h" +#include "constants/vars.h" + +extern struct MapPosition gPlayerFacingPosition; + +static void sub_80F9C90(u8); +static void sub_80F9DFC(u8); + +static void Task_SecretBasePCTurnOn(u8); + +static void Task_PopSecretBaseBalloon(u8); +static void DoBalloonSoundEffect(s16); + +static void Task_WateringBerryTreeAnim_1(u8); +static void Task_WateringBerryTreeAnim_2(u8); +static void Task_WateringBerryTreeAnim_3(u8); + +static void sub_80F9C44(TaskFunc, u16, u16, u8); + +static void FieldCallback_SecretBaseCave(void); +static void CaveEntranceSpriteCallback1(struct Sprite *); +static void CaveEntranceSpriteCallback2(struct Sprite *); +static void CaveEntranceSpriteCallbackEnd(struct Sprite *); +static void StartSecretBaseCaveFieldEffect(void); + +static void FieldCallback_SecretBaseTree(void); +static void TreeEntranceSpriteCallback1(struct Sprite *); +static void TreeEntranceSpriteCallback2(struct Sprite *); +static void TreeEntranceSpriteCallbackEnd(struct Sprite *); +static void StartSecretBaseTreeFieldEffect(void); + +static void FieldCallback_SecretBaseShrub(void); +static void ShrubEntranceSpriteCallback1(struct Sprite *); +static void ShrubEntranceSpriteCallback2(struct Sprite *); +static void ShrubEntranceSpriteCallbackEnd(struct Sprite *); +static void StartSecretBaseShrubFieldEffect(void); + +static void SpriteCB_SandPillar_0(struct Sprite *); +static void SpriteCB_SandPillar_1(struct Sprite *); +static void SpriteCB_SandPillar_2(struct Sprite *); + +static const u8 gSpriteImage_858D978[] = INCBIN_U8("graphics/unknown/858E588/0.4bpp"); +static const u8 gSpriteImage_858D9F8[] = INCBIN_U8("graphics/unknown/858E588/1.4bpp"); +static const u8 gSpriteImage_858DA78[] = INCBIN_U8("graphics/unknown/858E588/2.4bpp"); +static const u8 gSpriteImage_858DAF8[] = INCBIN_U8("graphics/unknown/858E588/3.4bpp"); +static const u8 gSpriteImage_858DB78[] = INCBIN_U8("graphics/unknown/858E588/4.4bpp"); + +static const u8 gUnusedEmptySpace_858DBF8[32] = {0}; + +static const u16 gFieldEffectObjectPalette7[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_07.gbapal"); +static const u8 gSpriteImage_858DC38[] = INCBIN_U8("graphics/unknown/858E5D8/0.4bpp"); +static const u8 gSpriteImage_858DCB8[] = INCBIN_U8("graphics/unknown/858E5D8/1.4bpp"); +static const u8 gSpriteImage_858DD38[] = INCBIN_U8("graphics/unknown/858E5D8/2.4bpp"); +static const u8 gSpriteImage_858DDB8[] = INCBIN_U8("graphics/unknown/858E5D8/3.4bpp"); +static const u8 gSpriteImage_858DE38[] = INCBIN_U8("graphics/unknown/858E5D8/4.4bpp"); +static const u8 gSpriteImage_858DEB8[] = INCBIN_U8("graphics/unknown/858E5B0/0.4bpp"); +static const u8 gSpriteImage_858DF38[] = INCBIN_U8("graphics/unknown/858E5B0/1.4bpp"); +static const u8 gSpriteImage_858DFB8[] = INCBIN_U8("graphics/unknown/858E5B0/2.4bpp"); +static const u8 gSpriteImage_858E038[] = INCBIN_U8("graphics/unknown/858E5B0/3.4bpp"); +static const u8 gSpriteImage_858E0B8[] = INCBIN_U8("graphics/unknown/858E5B0/4.4bpp"); +static const u8 gSpriteImage_858E138[] = INCBIN_U8("graphics/unknown/858E5B0/5.4bpp"); +static const u16 gFieldEffectObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_08.gbapal"); +static const u8 gSpriteImage_858E1D8[] = INCBIN_U8("graphics/unknown/858E674/0.4bpp"); +static const u8 gSpriteImage_858E2D8[] = INCBIN_U8("graphics/unknown/858E674/1.4bpp"); +static const u8 gSpriteImage_858E3D8[] = INCBIN_U8("graphics/unknown/858E674/2.4bpp"); + +static const struct OamData gOamData_858E4D8 = +{ + .y = 0, + .x = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_SQUARE, + .size = 1, + .priority = 2, +}; + +static const union AnimCmd gSpriteAnim_858E4E0[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_END, +}; + +static const union AnimCmd gSpriteAnim_858E4F8[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_END, +}; + +static const union AnimCmd gSpriteAnim_858E510[] = +{ + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd gSpriteAnim_858E528[] = +{ + ANIMCMD_FRAME(0, 8, .hFlip = TRUE), + ANIMCMD_FRAME(1, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_FRAME(3, 8, .hFlip = TRUE), + ANIMCMD_FRAME(4, 8, .hFlip = TRUE), + ANIMCMD_END, +}; + +static const union AnimCmd gSpriteAnim_858E540[] = +{ + ANIMCMD_FRAME(4, 8, .hFlip = TRUE), + ANIMCMD_FRAME(3, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_FRAME(1, 8, .hFlip = TRUE), + ANIMCMD_FRAME(0, 8, .hFlip = TRUE), + ANIMCMD_END, +}; + +static const union AnimCmd gSpriteAnim_858E558[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_END, +}; + +static const union AnimCmd *const gSpriteAnimTable_858E570[] = +{ + gSpriteAnim_858E4E0, +}; + +static const union AnimCmd *const gSpriteAnimTable_858E574[] = +{ + gSpriteAnim_858E4F8, + gSpriteAnim_858E510, + gSpriteAnim_858E528, + gSpriteAnim_858E540, +}; + +static const union AnimCmd *const gSpriteAnimTable_858E584[] = +{ + gSpriteAnim_858E558, +}; + +static const struct SpriteFrameImage gUnknown_858E588[] = +{ + {gSpriteImage_858D978, 0x80}, + {gSpriteImage_858D9F8, 0x80}, + {gSpriteImage_858DA78, 0x80}, + {gSpriteImage_858DAF8, 0x80}, + {gSpriteImage_858DB78, 0x80}, +}; + +static const struct SpriteFrameImage gUnknown_858E5B0[] = +{ + {gSpriteImage_858DEB8, 0x80}, + {gSpriteImage_858DF38, 0x80}, + {gSpriteImage_858DFB8, 0x80}, + {gSpriteImage_858E038, 0x80}, + {gSpriteImage_858E0B8, 0x80}, +}; + +static const struct SpriteFrameImage gUnknown_858E5D8[] = +{ + {gSpriteImage_858DC38, 0x80}, + {gSpriteImage_858DCB8, 0x80}, + {gSpriteImage_858DD38, 0x80}, + {gSpriteImage_858DDB8, 0x80}, + {gSpriteImage_858DE38, 0x80}, +}; + +static const struct SpriteTemplate gUnknown_0858E600 = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x1003, + .oam = &gOamData_858E4D8, + .anims = gSpriteAnimTable_858E570, + .images = gUnknown_858E588, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = CaveEntranceSpriteCallback1, +}; + +static const struct SpriteTemplate gUnknown_0858E618 = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x1008, + .oam = &gOamData_858E4D8, + .anims = gSpriteAnimTable_858E574, + .images = gUnknown_858E5B0, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = TreeEntranceSpriteCallback1, +}; + +static const struct SpriteTemplate gUnknown_0858E630 = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x1008, + .oam = &gOamData_858E4D8, + .anims = gSpriteAnimTable_858E584, + .images = gUnknown_858E5D8, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = ShrubEntranceSpriteCallback1, +}; + +const struct SpritePalette gFieldEffectObjectPaletteInfo7 = {gFieldEffectObjectPalette7, 0x1003}; +const struct SpritePalette gFieldEffectObjectPaletteInfo8 = {gFieldEffectObjectPalette8, 0x1008}; + +static const struct OamData gOamData_858E658 = +{ + .x = 0, + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_V_RECTANGLE, + .size = 2, + .priority = 2, +}; + +static const union AnimCmd gSpriteAnim_858E660[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_END, +}; + +static const union AnimCmd *const gSpriteAnimTable_858E670[] = +{ + gSpriteAnim_858E660, +}; + +static const struct SpriteFrameImage gUnknown_0858E674[] = +{ + {gSpriteImage_858E1D8, 0x100}, + {gSpriteImage_858E2D8, 0x100}, + {gSpriteImage_858E3D8, 0x100}, +}; + +static const struct SpriteTemplate gUnknown_0858E68C = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x100E, + .oam = &gOamData_858E658, + .anims = gSpriteAnimTable_858E670, + .images = gUnknown_0858E674, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_SandPillar_0, +}; + +// This uses one of the secret base palettes, so there is no "field_effect_object_palette_09.pal" file. +const struct SpritePalette gFieldEffectObjectPaletteInfo9 = {gTilesetPalettes_SecretBase[5], 0x100E}; + +static const u8 gSpriteImage_858E6AC[] = INCBIN_U8("graphics/unknown/858E84C/0.4bpp"); +static const u8 gSpriteImage_858E72C[] = INCBIN_U8("graphics/unknown/858E84C/1.4bpp"); +static const u8 gSpriteImage_858E7AC[] = INCBIN_U8("graphics/unknown/858E84C/2.4bpp"); +static const u16 gUnknown_0858E82C[] = INCBIN_U16("graphics/unknown/unknown_58E82C.gbapal"); + +static const struct SpriteFrameImage gUnknown_0858E84C[] = +{ + {gSpriteImage_858E6AC, sizeof(gSpriteImage_858E6AC)}, + {gSpriteImage_858E72C, sizeof(gSpriteImage_858E72C)}, + {gSpriteImage_858E7AC, sizeof(gSpriteImage_858E7AC)}, +}; + +static const struct SpritePalette gUnknown_0858E864 = {gUnknown_0858E82C, 0x1000}; + +static const union AnimCmd gSpriteAnim_858E86C[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(2, 30), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const gSpriteAnimTable_858E87C[] = +{ + gSpriteAnim_858E86C, +}; + +static const struct SpriteTemplate gUnknown_0858E880 = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x1000, + .oam = &gEventObjectBaseOam_32x8, + .anims = gSpriteAnimTable_858E87C, + .images = gUnknown_0858E84C, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +void sub_80F9BCC(u16 a0, u16 a1, u8 a2) +{ + sub_80F9C44(sub_80F9C90, a0, a1, a2); +} + +void sub_80F9BF4(u16 a0, u16 a1, u8 a2) +{ + sub_80F9C44(sub_80F9DFC, a0, a1, a2); +} + +bool8 sub_80F9C1C(void) +{ + return FuncIsActiveTask(sub_80F9C90); +} + +bool8 sub_80F9C30(void) +{ + return FuncIsActiveTask(sub_80F9DFC); +} + +static void sub_80F9C44(void (*taskfunc) (u8), u16 a1, u16 a2, u8 a3) +{ + u8 taskId = CreateTask(taskfunc, a3); + + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = a1 == 0 ? 16 : a1; + gTasks[taskId].data[2] = a1 == 0 ? 20 : a1; + gTasks[taskId].func(taskId); +} + +static void sub_80F9C90(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + task->data[3] = 0x78; + task->data[4] = 0x78; + task->data[5] = 0x50; + task->data[6] = 0x51; + + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[4])); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[6])); + SetGpuReg(REG_OFFSET_WININ, 0x3F); + SetGpuReg(REG_OFFSET_WINOUT, 0); + + break; + case 1: + task->data[7] = GetGpuReg(REG_OFFSET_BLDCNT); + task->data[8] = GetGpuReg(REG_OFFSET_BLDY); + + SetGpuReg(REG_OFFSET_BLDCNT, 0xBF); + SetGpuReg(REG_OFFSET_BLDY, 0x10); + + break; + case 2: + task->data[3] -= task->data[1]; + task->data[4] += task->data[1]; + + if (task->data[3] < 1 || task->data[4] > 0xEF) + { + task->data[3] = 0; + task->data[4] = 0xF0; + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_BLDCNT, task->data[7]); + BlendPalettes(0xFFFFFFFF, 0, 0); + gPlttBufferFaded[0] = 0; + } + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[4])); + + if (task->data[3] != 0) + return; + break; + case 3: + task->data[5] -= task->data[2]; + task->data[6] += task->data[2]; + + if (task->data[5] < 1 || task->data[6] > 0x9F) + { + task->data[5] = 0; + task->data[6] = 0xA0; + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + } + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[6])); + + if (task->data[5] != 0) + return; + break; + default: + SetGpuReg(REG_OFFSET_BLDCNT, task->data[7]); + DestroyTask(taskId); + return; + } + task->data[0]++; +} + +static void sub_80F9DFC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + int temp = task->data[0]; + + switch (temp) + { + case 0: + gPlttBufferFaded[0] = temp; + break; + case 1: + task->data[3] = 0; + task->data[4] = 0xF0; + task->data[5] = 0; + task->data[6] = 0xA0; + + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[4])); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[6])); + SetGpuReg(REG_OFFSET_WININ, 0x3F); + SetGpuReg(REG_OFFSET_WINOUT, 0); + break; + case 2: + task->data[5] += task->data[2]; + task->data[6] -= task->data[2]; + + if (task->data[5] > 0x4F || task->data[6] < 0x52) + { + task->data[5] = 0x50; + task->data[6] = 0x51; + SetGpuReg(REG_OFFSET_BLDCNT, 0xBF); + SetGpuReg(REG_OFFSET_BLDY, 0x10); + } + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[6])); + + if (task->data[5] != 0x50) + return; + break; + case 3: + task->data[3] += task->data[1]; + task->data[4] -= task->data[1]; + + if (task->data[3] > 0x77 || task->data[4] < 0x79) + { + task->data[3] = 0x78; + task->data[4] = 0x78; + BlendPalettes(-1, 0x10, 0); + gPlttBufferFaded[0] = 0; + } + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[4])); + + if (task->data[3] != 0x78) + return; + break; + default: + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + DestroyTask(taskId); + return; + } + task->data[0]++; +} + +static void SetCurrentSecretBase(void) +{ + sub_80E9608(&gPlayerFacingPosition, gMapHeader.events); + sub_80E8B6C(); +} + +static void AdjustSecretPowerSpritePixelOffsets(void) +{ + if (gPlayerAvatar.flags & 0x6) + { + switch (gFieldEffectArguments[1]) + { + case DIR_SOUTH: + gFieldEffectArguments[5] = 16; + gFieldEffectArguments[6] = 40; + break; + case DIR_NORTH: + gFieldEffectArguments[5] = 16; + gFieldEffectArguments[6] = 8; + break; + case DIR_WEST: + gFieldEffectArguments[5] = -8; + gFieldEffectArguments[6] = 24; + break; + case DIR_EAST: + gFieldEffectArguments[5] = 24; + gFieldEffectArguments[6] = 24; + break; + } + } + else + { + switch (gFieldEffectArguments[1]) + { + case DIR_SOUTH: + gFieldEffectArguments[5] = 8; + gFieldEffectArguments[6] = 40; + break; + case DIR_NORTH: + gFieldEffectArguments[5] = 8; + gFieldEffectArguments[6] = 8; + break; + case DIR_WEST: + gFieldEffectArguments[5] = -8; + gFieldEffectArguments[6] = 24; + break; + case DIR_EAST: + gFieldEffectArguments[5] = 24; + gFieldEffectArguments[6] = 24; + break; + } + } +} + +bool8 SetUpFieldMove_SecretPower(void) +{ + u8 mb; + + sub_80E8BC8(); + + if (gSpecialVar_Result == 1 || GetPlayerFacingDirection() != DIR_NORTH) + return FALSE; + + GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + mb = MapGridGetMetatileBehaviorAt(gPlayerFacingPosition.x, gPlayerFacingPosition.y); + + if (MetatileBehavior_IsSecretBaseCave(mb) == TRUE) + { + SetCurrentSecretBase(); + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_SecretBaseCave; + return TRUE; + } + + if (MetatileBehavior_IsSecretBaseTree(mb) == TRUE) + { + SetCurrentSecretBase(); + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_SecretBaseTree; + return TRUE; + } + + if (MetatileBehavior_IsSecretBaseShrub(mb) == TRUE) + { + SetCurrentSecretBase(); + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_SecretBaseShrub; + return TRUE; + } + + return FALSE; +} + +static void FieldCallback_SecretBaseCave(void) +{ + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + ScriptContext1_SetupScript(EventScript_275A86); +} + +bool8 FldEff_UseSecretPowerCave(void) +{ + u8 taskId = oei_task_add(); + + gTasks[taskId].data[8] = (u32)StartSecretBaseCaveFieldEffect >> 16; + gTasks[taskId].data[9] = (u32)StartSecretBaseCaveFieldEffect; + + return FALSE; +} + +static void StartSecretBaseCaveFieldEffect(void) +{ + FieldEffectActiveListRemove(FLDEFF_USE_SECRET_POWER_CAVE); + FieldEffectStart(FLDEFF_SECRET_POWER_CAVE); +} + +bool8 FldEff_SecretPowerCave(void) +{ + AdjustSecretPowerSpritePixelOffsets(); + CreateSprite(&gUnknown_0858E600, + gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5], + gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6], + 148); + return FALSE; +} + +static void CaveEntranceSpriteCallback1(struct Sprite *sprite) +{ + PlaySE(SE_W088); + + sprite->data[0] = 0; + sprite->callback = CaveEntranceSpriteCallback2; +} + +static void CaveEntranceSpriteCallback2(struct Sprite *sprite) +{ + if (sprite->data[0] < 40) + { + sprite->data[0]++; + + if (sprite->data[0] == 20) + sub_80E8D4C(); + } + else + { + sprite->data[0] = 0; + sprite->callback = CaveEntranceSpriteCallbackEnd; + } +} + +static void CaveEntranceSpriteCallbackEnd(struct Sprite *sprite) +{ + FieldEffectStop(sprite, FLDEFF_SECRET_POWER_CAVE); + EnableBothScriptContexts(); +} + +static void FieldCallback_SecretBaseTree(void) +{ + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + ScriptContext1_SetupScript(EventScript_275ADF); +} + +bool8 FldEff_UseSecretPowerTree(void) +{ + u8 taskId = oei_task_add(); + + gTasks[taskId].data[8] = (u32)StartSecretBaseTreeFieldEffect >> 16; + gTasks[taskId].data[9] = (u32)StartSecretBaseTreeFieldEffect; + + return FALSE; +} + +static void StartSecretBaseTreeFieldEffect(void) +{ + FieldEffectActiveListRemove(FLDEFF_USE_SECRET_POWER_TREE); + FieldEffectStart(FLDEFF_SECRET_POWER_TREE); +} + +bool8 FldEff_SecretPowerTree(void) +{ + s16 mb = MapGridGetMetatileBehaviorAt(gPlayerFacingPosition.x, gPlayerFacingPosition.y) & 0xFFF; + + if (mb == MB_SECRET_BASE_SPOT_TREE_LEFT) + gFieldEffectArguments[7] = 0; + + if (mb == MB_SECRET_BASE_SPOT_TREE_RIGHT) + gFieldEffectArguments[7] = 2; + + AdjustSecretPowerSpritePixelOffsets(); + + CreateSprite(&gUnknown_0858E618, + gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5], + gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6], + 148); + + if (gFieldEffectArguments[7] == 1 || gFieldEffectArguments[7] == 3) + sub_80E8D4C(); + + return FALSE; +} + +static void TreeEntranceSpriteCallback1(struct Sprite *sprite) +{ + PlaySE(SE_W010); + + sprite->animNum = gFieldEffectArguments[7]; + sprite->data[0] = 0; + sprite->callback = TreeEntranceSpriteCallback2; +} + +static void TreeEntranceSpriteCallback2(struct Sprite *sprite) +{ + sprite->data[0]++; + + if (sprite->data[0] >= 40) + { + if (gFieldEffectArguments[7] == 0 || gFieldEffectArguments[7] == 2) + sub_80E8D4C(); + + sprite->data[0] = 0; + sprite->callback = TreeEntranceSpriteCallbackEnd; + } +} + +static void TreeEntranceSpriteCallbackEnd(struct Sprite *sprite) +{ + FieldEffectStop(sprite, FLDEFF_SECRET_POWER_TREE); + EnableBothScriptContexts(); +} + +static void FieldCallback_SecretBaseShrub(void) +{ + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + ScriptContext1_SetupScript(EventScript_275B38); +} + +bool8 FldEff_UseSecretPowerShrub(void) +{ + u8 taskId = oei_task_add(); + + gTasks[taskId].data[8] = (u32)StartSecretBaseShrubFieldEffect >> 16; + gTasks[taskId].data[9] = (u32)StartSecretBaseShrubFieldEffect; + + return FALSE; +} + +static void StartSecretBaseShrubFieldEffect(void) +{ + FieldEffectActiveListRemove(FLDEFF_USE_SECRET_POWER_SHRUB); + FieldEffectStart(FLDEFF_SECRET_POWER_SHRUB); +} + +bool8 FldEff_SecretPowerShrub(void) +{ + AdjustSecretPowerSpritePixelOffsets(); + + CreateSprite(&gUnknown_0858E630, + gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5], + gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6], + 148); + + return FALSE; +} + +static void ShrubEntranceSpriteCallback1(struct Sprite *sprite) +{ + PlaySE(SE_W077); + + sprite->data[0] = 0; + sprite->callback = ShrubEntranceSpriteCallback2; +} + +static void ShrubEntranceSpriteCallback2(struct Sprite *sprite) +{ + if (sprite->data[0] < 40) + { + sprite->data[0]++; + + if (sprite->data[0] == 20) + sub_80E8D4C(); + } + else + { + sprite->data[0] = 0; + sprite->callback = ShrubEntranceSpriteCallbackEnd; + } +} + +static void ShrubEntranceSpriteCallbackEnd(struct Sprite *sprite) +{ + FieldEffectStop(sprite, FLDEFF_SECRET_POWER_SHRUB); + EnableBothScriptContexts(); +} + +bool8 FldEff_SecretBasePCTurnOn(void) +{ + s16 x, y; + u8 taskId; + + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + + taskId = CreateTask(Task_SecretBasePCTurnOn, 0); + gTasks[taskId].data[0] = x; + gTasks[taskId].data[1] = y; + gTasks[taskId].data[2] = 0; + + return FALSE; +} + +static void Task_SecretBasePCTurnOn(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (data[2]) + { + case 4: + case 12: + MapGridSetMetatileIdAt(data[0], data[1], 548); + CurrentMapDrawMetatileAt(data[0], data[1]); + break; + case 8: + case 16: + MapGridSetMetatileIdAt(data[0], data[1], 544); + CurrentMapDrawMetatileAt(data[0], data[1]); + break; + case 20: + MapGridSetMetatileIdAt(data[0], data[1], 548); + CurrentMapDrawMetatileAt(data[0], data[1]); + FieldEffectActiveListRemove(FLDEFF_PCTURN_ON); + EnableBothScriptContexts(); + DestroyTask(taskId); + return; + } + + data[2]++; +} + +void DoSecretBasePCTurnOffEffect(void) +{ + s16 x, y; + + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + PlaySE(SE_PC_OFF); + + if (!VarGet(VAR_CURRENT_SECRET_BASE)) + MapGridSetMetatileIdAt(x, y, 3616); + else + MapGridSetMetatileIdAt(x, y, 3617); + + CurrentMapDrawMetatileAt(x, y); +} + +void PopSecretBaseBalloon(s16 metatileId, s16 x, s16 y) +{ + u8 taskId = CreateTask(Task_PopSecretBaseBalloon, 0); + + gTasks[taskId].data[0] = metatileId; + gTasks[taskId].data[1] = x; + gTasks[taskId].data[2] = y; + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[4] = 1; +} + +static void Task_PopSecretBaseBalloon(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (data[3] == 6) + data[3] = 0; + else + data[3]++; + + if (data[3] == 0) + { + if (data[4] == 2) + DoBalloonSoundEffect(data[0]); + + MapGridSetMetatileIdAt(data[1], data[2], data[0] + data[4]); + CurrentMapDrawMetatileAt(data[1], data[2]); + + if (data[4] == 3) + DestroyTask(taskId); + else + data[4]++; + } +} + +static void DoBalloonSoundEffect(s16 metatileId) +{ + switch (metatileId) + { + case 824: + PlaySE(SE_FUUSEN1); + break; + case 828: + PlaySE(SE_FUUSEN2); + break; + case 832: + PlaySE(SE_FUUSEN3); + break; + case 552: + PlaySE(SE_TOY_DANGO); + break; + } +} + +bool8 FldEff_NopA6FC(void) +{ + return FALSE; +} + +bool8 FldEff_NopA700(void) +{ + return FALSE; +} + +static void DoSecretBaseBreakableDoorEffect(s16 x, s16 y) +{ + PlaySE(SE_TOY_KABE); + MapGridSetMetatileIdAt(x, y, 630); + MapGridSetMetatileIdAt(x, y - 1, 622); + CurrentMapDrawMetatileAt(x, y); + CurrentMapDrawMetatileAt(x, y - 1); +} + +static void Task_ShatterSecretBaseBreakableDoor(u8 taskId) +{ + if (gTasks[taskId].data[0] == 7) + { + DoSecretBaseBreakableDoorEffect(gTasks[taskId].data[1], gTasks[taskId].data[2]); + DestroyTask(taskId); + } + else + { + gTasks[taskId].data[0]++; + } +} + +void ShatterSecretBaseBreakableDoor(s16 x, s16 y) +{ + u8 dir = GetPlayerFacingDirection(); + + if (dir == DIR_SOUTH) + { + DoSecretBaseBreakableDoorEffect(x, y); + } + else if (dir == DIR_NORTH) + { + u8 taskId = CreateTask(Task_ShatterSecretBaseBreakableDoor, 5); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = x; + gTasks[taskId].data[2] = y; + } +} + +#define tMetatileID data[0] +static void Task_SecretBaseMusicNoteMatSound(u8 taskId) +{ + if (gTasks[taskId].data[1] == 7) + { + switch (gTasks[taskId].tMetatileID) + { + case 632: + PlaySE(SE_TOY_C); + break; + case 633: + PlaySE(SE_TOY_D); + break; + case 634: + PlaySE(SE_TOY_E); + break; + case 635: + PlaySE(SE_TOY_F); + break; + case 636: + PlaySE(SE_TOY_G); + break; + case 637: + PlaySE(SE_TOY_A); + break; + case 638: + PlaySE(SE_TOY_B); + break; + case 691: + PlaySE(SE_TOY_C1); + break; + } + + DestroyTask(taskId); + } + else + { + gTasks[taskId].data[1]++; + } +} + +void PlaySecretBaseMusicNoteMatSound(s16 metatileId) +{ + u8 taskId = CreateTask(Task_SecretBaseMusicNoteMatSound, 5); + + gTasks[taskId].tMetatileID = metatileId; + gTasks[taskId].data[1] = 0; +} +#undef tMetatileID + +static void SpriteCB_GlitterMatSparkle(struct Sprite *sprite) +{ + sprite->data[0]++; + + if (sprite->data[0] == 8) + PlaySE(SE_W215); + + if (sprite->data[0] >= 32) + DestroySprite(sprite); +} + +void DoSecretBaseGlitterMatSparkle(void) +{ + s16 x = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x; + s16 y = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y; + u8 spriteId; + + sub_80930E0(&x, &y, 8, 4); + + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[22], x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].oam.paletteNum = 5; + gSprites[spriteId].callback = SpriteCB_GlitterMatSparkle; + gSprites[spriteId].data[0] = 0; + } +} + +bool8 FldEff_SandPillar(void) +{ + s16 x, y; + + ScriptContext2_Enable(); + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + + gFieldEffectArguments[5] = x; + gFieldEffectArguments[6] = y; + + switch (GetPlayerFacingDirection()) + { + case DIR_SOUTH: + CreateSprite(&gUnknown_0858E68C, + gSprites[gPlayerAvatar.spriteId].oam.x + 8, + gSprites[gPlayerAvatar.spriteId].oam.y + 32, + 0); + + break; + + case DIR_NORTH: + CreateSprite(&gUnknown_0858E68C, + gSprites[gPlayerAvatar.spriteId].oam.x + 8, + gSprites[gPlayerAvatar.spriteId].oam.y, + 148); + + break; + + case DIR_WEST: + CreateSprite(&gUnknown_0858E68C, + gSprites[gPlayerAvatar.spriteId].oam.x - 8, + gSprites[gPlayerAvatar.spriteId].oam.y + 16, + 148); + + break; + + case DIR_EAST: + CreateSprite(&gUnknown_0858E68C, + gSprites[gPlayerAvatar.spriteId].oam.x + 24, + gSprites[gPlayerAvatar.spriteId].oam.y + 16, + 148); + + break; + } + + return FALSE; +} + +static void SpriteCB_SandPillar_0(struct Sprite *sprite) +{ + PlaySE(SE_W088); + + if (MapGridGetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1) == 646) + MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 3586); + else + MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 644); + + MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 522); + CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1); + CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]); + + sprite->data[0] = 0; + sprite->callback = SpriteCB_SandPillar_1; +} + +static void SpriteCB_SandPillar_1(struct Sprite *sprite) +{ + if (sprite->data[0] < 18) + { + sprite->data[0]++; + } + else + { + MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 3724); + CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]); + sprite->data[0] = 0; + sprite->callback = SpriteCB_SandPillar_2; + } +} + +static void SpriteCB_SandPillar_2(struct Sprite *sprite) +{ + FieldEffectStop(sprite, FLDEFF_SAND_PILLAR); + EnableBothScriptContexts(); +} + +void GetShieldToyTVDecorationInfo(void) +{ + s16 x, y; + s32 metatileId; + + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + + metatileId = MapGridGetMetatileIdAt(x, y); + + switch (metatileId) + { + case 822: + ConvertIntToDecimalStringN(gStringVar1, 100, STR_CONV_MODE_LEFT_ALIGN, 3); + StringCopy(gStringVar2, gText_Gold); + + gSpecialVar_Result = 0; + + if (!VarGet(VAR_CURRENT_SECRET_BASE)) + return; + + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x10); + break; + case 734: + ConvertIntToDecimalStringN(gStringVar1, 50, STR_CONV_MODE_LEFT_ALIGN, 2); + StringCopy(gStringVar2, gText_Silver); + + gSpecialVar_Result = 0; + + if (!VarGet(VAR_CURRENT_SECRET_BASE)) + return; + + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x20); + break; + case 756: + gSpecialVar_Result = 1; + + if (!VarGet(VAR_CURRENT_SECRET_BASE)) + return; + + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x80); + break; + case 757: + gSpecialVar_Result = 2; + + if (!VarGet(VAR_CURRENT_SECRET_BASE)) + return; + + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x80); + break; + case 758: + gSpecialVar_Result = 3; + + if (!VarGet(VAR_CURRENT_SECRET_BASE)) + return; + + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x80); + break; + } +} + +bool8 sub_80FADE4(u16 arg0, u8 arg1) +{ + if (!CurrentMapIsSecretBase()) + return FALSE; + + if (!arg1) + { + if (arg0 == 0x285 || arg0 == 0x286) + return TRUE; + if (arg0 == 0x237) + return TRUE; + } + else + { + if (arg0 == 0x28d) + return TRUE; + if (arg0 == 0x23F) + return TRUE; + } + + return FALSE; +} + +static void Task_FieldPoisonEffect(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + data[1] += 2; + if (data[1] > 8) + data[0]++; + break; + case 1: + data[1] -= 2; + if (data[1] == 0) + data[0]++; + break; + case 2: + DestroyTask(taskId); + return; + } + SetGpuReg(REG_OFFSET_MOSAIC, (data[1] << 4) | data[1]); +} + +void FldEffPoison_Start(void) +{ + PlaySE(SE_DOKU); + CreateTask(Task_FieldPoisonEffect, 80); +} + +bool32 FldEffPoison_IsActive(void) +{ + return FuncIsActiveTask(Task_FieldPoisonEffect); +} + +static void Task_WateringBerryTreeAnim_0(u8 taskId) +{ + gTasks[taskId].func = Task_WateringBerryTreeAnim_1; +} + +static void Task_WateringBerryTreeAnim_1(u8 taskId) +{ + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + + if (!EventObjectIsMovementOverridden(playerEventObj) + || EventObjectClearHeldMovementIfFinished(playerEventObj)) + { + sub_808C228(GetPlayerFacingDirection()); + EventObjectSetHeldMovement(playerEventObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); + gTasks[taskId].func = Task_WateringBerryTreeAnim_2; + } +} + +static void Task_WateringBerryTreeAnim_2(u8 taskId) +{ + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + + if (EventObjectClearHeldMovementIfFinished(playerEventObj)) + { + s16 value = gTasks[taskId].data[1]++; + + if (value < 10) + EventObjectSetHeldMovement(playerEventObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); + + else + gTasks[taskId].func = Task_WateringBerryTreeAnim_3; + } +} + +static void Task_WateringBerryTreeAnim_3(u8 taskId) +{ + SetPlayerAvatarTransitionFlags(sub_808BCD0()); + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +void DoWateringBerryTreeAnim(void) +{ + CreateTask(Task_WateringBerryTreeAnim_0, 80); +} + +u8 CreateRecordMixingSprite(void) +{ + u8 spriteId; + + LoadSpritePalette(&gUnknown_0858E864); + + spriteId = CreateSprite(&gUnknown_0858E880, 0, 0, 82); + + if (spriteId == MAX_SPRITES) + { + return MAX_SPRITES; + } + else + { + struct Sprite *sprite = &gSprites[spriteId]; + sub_8092FF0(16, 13, &sprite->pos1.x, &sprite->pos1.y); + sprite->coordOffsetEnabled = TRUE; + sprite->pos1.x += 16; + sprite->pos1.y += 2; + } + return spriteId; +} + +void DestroyRecordMixingSprite(void) +{ + int i; + + for (i = 0; i < MAX_SPRITES; i++) + { + if (gSprites[i].template == &gUnknown_0858E880) + { + FreeSpritePalette(&gSprites[i]); + DestroySprite(&gSprites[i]); + } + } +} diff --git a/src/rom6.c b/src/fldeff_rocksmash.c index 8043730d2..9181b5532 100644 --- a/src/rom6.c +++ b/src/fldeff_rocksmash.c @@ -5,10 +5,10 @@ #include "event_scripts.h" #include "field_effect.h" #include "field_player_avatar.h" +#include "fldeff.h" #include "item_use.h" #include "overworld.h" #include "party_menu.h" -#include "rom6.h" #include "script.h" #include "sound.h" #include "sprite.h" @@ -26,8 +26,6 @@ static void sub_813552C(u8 taskId); static void sub_813561C(u8 taskId); static void sub_81356C4(void); static void sub_8135714(void); -static void hm2_dig(void); -static void sub_8135780(void); // extern RAM loc extern struct MapPosition gPlayerFacingPosition; @@ -162,51 +160,3 @@ static void sub_8135714(void) FieldEffectActiveListRemove(FLDEFF_USE_ROCK_SMASH); EnableBothScriptContexts(); } - -bool8 SetUpFieldMove_Dig(void) -{ - if (CanUseEscapeRopeOnCurrMap() == TRUE) - { - gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; - gPostMenuFieldCallback = hm2_dig; - return TRUE; - } - else - { - return FALSE; - } -} - -static void hm2_dig(void) -{ - Overworld_ResetStateAfterDigEscRope(); - FieldEffectStart(FLDEFF_USE_DIG); - gFieldEffectArguments[0] = GetCursorSelectionMonId(); -} - -bool8 FldEff_UseDig(void) -{ - u8 taskId = oei_task_add(); - - gTasks[taskId].data[8] = (u32)sub_8135780 >> 16; - gTasks[taskId].data[9] = (u32)sub_8135780; - if (!ShouldDoBrailleDigEffect()) - SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); - return FALSE; -} - -static void sub_8135780(void) -{ - u8 taskId; - - FieldEffectActiveListRemove(FLDEFF_USE_DIG); - if (ShouldDoBrailleDigEffect()) - { - DoBrailleDigEffect(); - } - else - { - taskId = CreateTask(task08_080A1C44, 8); - gTasks[taskId].data[0] = 0; - } -} diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c index 471a83c61..adec780b3 100644 --- a/src/fldeff_softboiled.c +++ b/src/fldeff_softboiled.c @@ -103,7 +103,7 @@ static void sub_8161784(u8 taskId) static void sub_81617B8(u8 taskId) { PlaySE(SE_SELECT); - sub_81B1B5C(&gText_CantBeUsedOnPkmn, 0); + sub_81B1B5C(gText_CantBeUsedOnPkmn, 0); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_8161784; } diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index f796ecea6..c57ab8cdc 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -2,8 +2,8 @@ #include "event_data.h" #include "event_scripts.h" #include "field_effect.h" +#include "fldeff.h" #include "party_menu.h" -#include "rom6.h" #include "script.h" #include "string_util.h" #include "task.h" diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index cd8fa400d..2363e8162 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -5,9 +5,9 @@ #include "field_player_avatar.h" #include "field_screen_effect.h" #include "field_weather.h" +#include "fldeff.h" #include "palette.h" #include "party_menu.h" -#include "rom6.h" #include "script.h" #include "sound.h" #include "sprite.h" @@ -21,8 +21,6 @@ static void FieldCallback_SweetScent(void); static void StartSweetScentFieldEffect(void); static void TrySweetScentEncounter(u8 taskId); static void FailSweetScentEncounter(u8 taskId); -void sub_81BE6B8(void); -void sub_81BE72C(void); bool8 SetUpFieldMove_SweetScent(void) { diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index 8562908bd..cbf8ee6cc 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -1,9 +1,9 @@ #include "global.h" #include "field_effect.h" #include "field_player_avatar.h" +#include "fldeff.h" #include "party_menu.h" #include "overworld.h" -#include "rom6.h" #include "task.h" #include "constants/field_effects.h" diff --git a/src/ghost.c b/src/ghost.c index d4f6512a8..a755783b7 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -217,7 +217,7 @@ const struct SpriteTemplate gUnknown_08596E48 = static void sub_811160C(struct Sprite *sprite) { - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); @@ -235,7 +235,7 @@ static void sub_8111674(struct Sprite *sprite) s16 r0; s16 r2; sub_8111764(sprite); - if (TranslateAnimLinear(sprite)) + if (AnimTranslateLinear(sprite)) { sprite->callback = sub_81116E8; return; @@ -258,7 +258,7 @@ static void sub_81116E8(struct Sprite *sprite) s16 r2; s16 r0; sprite->data[0] = 1; - TranslateAnimLinear(sprite); + AnimTranslateLinear(sprite); sprite->pos2.x += Sin(sprite->data[5], 10); sprite->pos2.y += Cos(sprite->data[5], 15); @@ -313,7 +313,7 @@ static void sub_8111764(struct Sprite *sprite) static void sub_81117F4(struct Sprite *sprite) { - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); sprite->callback = sub_8111814; sprite->callback(sprite); } @@ -461,7 +461,7 @@ static void AnimShadowBallStep(struct Sprite *sprite) static void sub_8111B9C(struct Sprite *sprite) { - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); sprite->callback = sub_8111BB4; } @@ -536,7 +536,7 @@ void sub_8111C50(u8 taskId) gSprites[task->data[0]].data[3] = 0; gSprites[task->data[0]].data[4] = 0; StoreSpriteCallbackInData6(&gSprites[task->data[0]], SpriteCallbackDummy); - gSprites[task->data[0]].callback = TranslateAnimLinearSimple; + gSprites[task->data[0]].callback = AnimTranslateLinearSimple; task->func = sub_8111D78; } @@ -590,7 +590,7 @@ static void sub_8111E78(u8 taskId) { s16 startLine; struct Task *task = &gTasks[taskId]; - u8 position = sub_80A8364(gBattleAnimTarget); + u8 position = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget); switch (task->data[15]) { @@ -698,7 +698,7 @@ static void sub_81120DC(u8 taskId) static void sub_8112170(u8 taskId) { struct Task *task = &gTasks[taskId]; - u8 position = sub_80A8364(gBattleAnimTarget); + u8 position = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget); switch (task->data[15]) { @@ -1026,7 +1026,7 @@ static void sub_81129F0(struct Sprite *sprite) s16 xDelta; s16 xDelta2; - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { xDelta = 24; @@ -1170,7 +1170,7 @@ void sub_8112C6C(u8 taskId) task->data[10] = GetBattlerYCoordWithElevation(gBattleAnimAttacker); task->data[11] = (sub_80A861C(gBattleAnimAttacker, 1) / 2) + 8; task->data[7] = 0; - task->data[5] = sub_80A8328(gBattleAnimAttacker); + task->data[5] = GetBattlerSpriteBGPriority(gBattleAnimAttacker); task->data[6] = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 2; task->data[3] = 0; task->data[4] = 16; diff --git a/src/gpu_regs.c b/src/gpu_regs.c index 2d48b304a..e5ff4fe8f 100644 --- a/src/gpu_regs.c +++ b/src/gpu_regs.c @@ -72,16 +72,20 @@ void SetGpuReg(u8 regOffset, u16 value) GPU_REG_BUF(regOffset) = value; vcount = REG_VCOUNT & 0xFF; - if ((vcount >= 161 && vcount <= 225) - || (REG_DISPCNT & DISPCNT_FORCED_BLANK)) { + if ((vcount >= 161 && vcount <= 225) || (REG_DISPCNT & DISPCNT_FORCED_BLANK)) + { CopyBufferedValueToGpuReg(regOffset); - } else { + } + else + { s32 i; sGpuRegBufferLocked = TRUE; - for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) { - if (sGpuRegWaitingList[i] == regOffset) { + for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) + { + if (sGpuRegWaitingList[i] == regOffset) + { sGpuRegBufferLocked = FALSE; return; } @@ -99,15 +103,20 @@ void SetGpuReg_ForcedBlank(u8 regOffset, u16 value) { GPU_REG_BUF(regOffset) = value; - if (REG_DISPCNT & DISPCNT_FORCED_BLANK) { + if (REG_DISPCNT & DISPCNT_FORCED_BLANK) + { CopyBufferedValueToGpuReg(regOffset); - } else { + } + else + { s32 i; sGpuRegBufferLocked = TRUE; - for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) { - if (sGpuRegWaitingList[i] == regOffset) { + for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) + { + if (sGpuRegWaitingList[i] == regOffset) + { sGpuRegBufferLocked = FALSE; return; } @@ -144,7 +153,8 @@ void ClearGpuRegBits(u8 regOffset, u16 mask) static void SyncRegIE(void) { - if (sShouldSyncRegIE) { + if (sShouldSyncRegIE) + { u16 temp = REG_IME; REG_IME = 0; REG_IE = sRegIE; diff --git a/src/ground.c b/src/ground.c index 77acd3919..807205ad8 100644 --- a/src/ground.c +++ b/src/ground.c @@ -183,7 +183,7 @@ static void AnimBonemerangProjectileEnd(struct Sprite *sprite) // arg 4: duration void AnimBoneHitProjectile(struct Sprite *sprite) { - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; @@ -205,7 +205,7 @@ void AnimDirtScatter(struct Sprite *sprite) u8 targetXPos, targetYPos; s16 xOffset, yOffset; - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); targetXPos = GetBattlerSpriteCoord2(gBattleAnimTarget, 2); targetYPos = GetBattlerSpriteCoord2(gBattleAnimTarget, 3); @@ -306,7 +306,7 @@ static void sub_8114CFC(u8 taskId) { case 0: task->data[10] = GetAnimBattlerSpriteId(0); - task->data[11] = sub_80A8364(gBattleAnimAttacker); + task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); if (task->data[11] == 1) { task->data[12] = gBattle_BG1_X; @@ -375,7 +375,7 @@ static void sub_8114EB4(u8 taskId) gSprites[spriteId].pos2.x = 0; gSprites[spriteId].pos2.y = 0; - if (sub_80A8364(gBattleAnimAttacker) == 1) + if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) gBattle_BG1_Y = 0; else gBattle_BG2_Y = 0; @@ -422,7 +422,7 @@ static void sub_8114FD8(u8 taskId) { case 0: task->data[10] = GetAnimBattlerSpriteId(0); - task->data[11] = sub_80A8364(gBattleAnimAttacker); + task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); if (task->data[11] == 1) task->data[12] = gBattle_BG1_X; else diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index f7792e935..b973798f6 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -14,7 +14,9 @@ #include "constants/songs.h" #include "decompress.h" #include "save.h" +#include "strings.h" #include "window.h" +#include "credits.h" #include "bg.h" #include "constants/species.h" #include "constants/game_stat.h" @@ -28,6 +30,7 @@ #include "event_data.h" #include "overworld.h" #include "menu.h" +#include "fldeff_misc.h" #include "trainer_pokemon_sprites.h" #include "data2.h" #include "rom_81520A8.h" @@ -59,37 +62,11 @@ static EWRAM_DATA u32 sUnknown_0203BCD4 = 0; static EWRAM_DATA struct HallofFameTeam *sHofMonPtr = NULL; static EWRAM_DATA struct HofGfx *sHofGfxPtr = NULL; -extern bool8 gHasHallOfFameRecords; extern struct MusicPlayerInfo gMPlayInfo_BGM; #define HALL_OF_FAME_MAX_TEAMS 50 -// strings -extern const u8 gText_SavingDontTurnOffPower[]; -extern const u8 gText_LeagueChamp[]; -extern const u8 gText_HOFNumber[]; -extern const u8 gText_PickNextCancel[]; -extern const u8 gText_PickCancel[]; -extern const u8 gText_UnkCtrlF800Exit[]; -extern const u8 gText_HOFCorrupted[]; -extern const u8 gText_WelcomeToHOF[]; -extern const u8 gText_Number[]; -extern const u8 gText_Level[]; -extern const u8 gText_IDNumber[]; -extern const u8 gText_Name[]; -extern const u8 gText_MainMenuTime[]; - -extern void sub_8175620(void); -extern bool8 sub_80F9C30(void); -extern void sub_8198314(void); extern void ReturnFromHallOfFamePC(void); -extern void sub_8198180(const u8 *src, u8, u8); -extern void sub_80F9BF4(u16, u16, u8); -extern void sub_81980F0(u8, u8, u8, u8, u16); -extern void sub_80F9BCC(u16, u16, u8); -extern bool8 sub_80F9C1C(void); -extern void sub_81971D0(void); -extern void sub_8197200(void); // this file's functions static void ClearVramOamPltt_LoadHofPal(void); @@ -1088,7 +1065,7 @@ static void Task_HofPC_HandleExit(u8 taskId) static void Task_HofPC_PrintDataIsCorrupted(u8 taskId) { - sub_8198180(gText_UnkCtrlF800Exit, 8, 1); + sub_8198180(gText_UnkCtrlF800Exit, 8, TRUE); NewMenuHelpers_DrawDialogueFrame(0, 0); AddTextPrinterParameterized2(0, 1, gText_HOFCorrupted, 0, NULL, 2, 1, 3); CopyWindowToVram(0, 3); @@ -1283,8 +1260,8 @@ static void sub_8174F70(void) ResetAllPicSprites(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 8; - LoadCompressedObjectPic(sHallOfFame_ConfettiSpriteSheet); - LoadCompressedObjectPalette(sHallOfFame_ConfettiSpritePalette); + LoadCompressedSpriteSheet(sHallOfFame_ConfettiSpriteSheet); + LoadCompressedSpritePalette(sHallOfFame_ConfettiSpritePalette); } static void sub_8174FAC(void) @@ -1475,8 +1452,8 @@ static void sub_8175364(u8 taskId) gSpecialVar_0x8004 = var; gSpecialVar_0x8005 = 0xFFFF; } - LoadCompressedObjectPic(sHallOfFame_ConfettiSpriteSheet); - LoadCompressedObjectPalette(sHallOfFame_ConfettiSpritePalette); + LoadCompressedSpriteSheet(sHallOfFame_ConfettiSpriteSheet); + LoadCompressedSpritePalette(sHallOfFame_ConfettiSpritePalette); data[0]++; break; case 1: @@ -1,21 +1,54 @@ #include "global.h" #include "battle_anim.h" +#include "bg.h" +#include "field_weather.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "main.h" +#include "palette.h" +#include "random.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" +#include "constants/battle_anim.h" #include "constants/rgb.h" -extern void sub_810B6C4(struct Sprite *); -extern void sub_810B8AC(struct Sprite *); -extern void sub_810B8EC(struct Sprite *); -extern void sub_810B974(struct Sprite *); -extern void sub_810BA24(struct Sprite *); -extern void sub_810BC94(struct Sprite *); -extern void sub_810BE48(struct Sprite *); -extern void sub_810BED0(struct Sprite *); -extern void sub_810C2F0(struct Sprite *); -extern void sub_810C560(struct Sprite *); -extern void sub_810CB58(struct Sprite *); +struct HailStruct { + s32 unk0:10; + s32 unk1:10; + s32 unk2:8; + s32 unk3:4; +}; + +static void sub_810B6C4(struct Sprite *); +extern void sub_810B848(struct Sprite *); +extern void AnimIcePunchSwirlingParticle(struct Sprite *); +extern void AnimIceBeamParticle(struct Sprite *); +extern void AnimIceEffectParticle(struct Sprite *); +extern void AnimFlickerIceEffectParticle(struct Sprite *); +extern void AnimSwirlingSnowball_Step1(struct Sprite *); +extern void AnimSwirlingSnowball_Step2(struct Sprite *); +extern void AnimSwirlingSnowball_Step3(struct Sprite *); +extern void AnimSwirlingSnowball_End(struct Sprite *); +extern void AnimMoveParticleBeyondTarget(struct Sprite *); +extern void AnimWiggleParticleTowardsTarget(struct Sprite *); +extern void AnimWaveFromCenterOfTarget(struct Sprite *); +extern void InitSwirlingFogAnim(struct Sprite *); +extern void AnimSwirlingFogAnim(struct Sprite *); +extern void AnimThrowMistBall(struct Sprite *); +extern void InitPoisonGasCloudAnim(struct Sprite *); +extern void MovePoisonGasCloud(struct Sprite *); +extern void AnimHailBegin(struct Sprite *); +extern void AnimHailContinue(struct Sprite *); extern void sub_80A8EE4(struct Sprite *); -extern void unc_080B06FC(struct Sprite *); -extern void sub_810CD4C(struct Sprite *); +extern void InitIceBallAnim(struct Sprite *); +extern void AnimThrowIceBall(struct Sprite *); +extern void InitIceBallParticle(struct Sprite *); +extern void AnimIceBallParticle(struct Sprite *); +void AnimTask_Haze2(u8); +void AnimTask_OverlayFogTiles(u8); +void AnimTask_Hail2(u8); +bool8 GenerateHailParticle(u8, u8, u8, u8); const union AnimCmd gUnknown_08595A48[] = { @@ -127,7 +160,7 @@ const struct SpriteTemplate gUnknown_08595AD0 = .anims = gUnknown_08595AA8, .images = NULL, .affineAnims = gUnknown_08595ACC, - .callback = sub_810B8AC, + .callback = AnimIcePunchSwirlingParticle, }; const struct SpriteTemplate gUnknown_08595AE8 = @@ -138,7 +171,7 @@ const struct SpriteTemplate gUnknown_08595AE8 = .anims = gUnknown_08595AAC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810B8AC, + .callback = AnimIcePunchSwirlingParticle, }; const union AffineAnimCmd gUnknown_08595B00[] = @@ -160,7 +193,7 @@ const struct SpriteTemplate gUnknown_08595B14 = .anims = gUnknown_08595AA8, .images = NULL, .affineAnims = gUnknown_08595B10, - .callback = sub_810B8EC, + .callback = AnimIceBeamParticle, }; const struct SpriteTemplate gUnknown_08595B2C = @@ -171,7 +204,7 @@ const struct SpriteTemplate gUnknown_08595B2C = .anims = gUnknown_08595AAC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810B8EC, + .callback = AnimIceBeamParticle, }; const union AffineAnimCmd gUnknown_08595B44[] = @@ -195,7 +228,7 @@ const struct SpriteTemplate gUnknown_08595B68 = .anims = gUnknown_08595AA8, .images = NULL, .affineAnims = gUnknown_08595B64, - .callback = sub_810B974, + .callback = AnimIceEffectParticle, }; const struct SpriteTemplate gUnknown_08595B80 = @@ -206,7 +239,7 @@ const struct SpriteTemplate gUnknown_08595B80 = .anims = gUnknown_08595AAC, .images = NULL, .affineAnims = gUnknown_08595B64, - .callback = sub_810B974, + .callback = AnimIceEffectParticle, }; const struct SpriteTemplate gUnknown_08595B98 = @@ -217,7 +250,7 @@ const struct SpriteTemplate gUnknown_08595B98 = .anims = gUnknown_08595AB0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810BA24, + .callback = AnimSwirlingSnowball_Step1, }; const struct SpriteTemplate gUnknown_08595BB0 = @@ -228,7 +261,7 @@ const struct SpriteTemplate gUnknown_08595BB0 = .anims = gUnknown_08595AB4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810BC94, + .callback = AnimMoveParticleBeyondTarget, }; const struct SpriteTemplate gUnknown_08595BC8 = @@ -239,7 +272,7 @@ const struct SpriteTemplate gUnknown_08595BC8 = .anims = gUnknown_08595AB0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810BC94, + .callback = AnimMoveParticleBeyondTarget, }; const union AnimCmd gUnknown_08595BE0[] = @@ -267,7 +300,7 @@ const struct SpriteTemplate gUnknown_08595C04 = .anims = gUnknown_08595C00, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810BE48, + .callback = AnimWaveFromCenterOfTarget, }; const union AnimCmd gUnknown_08595C1C[] = @@ -290,7 +323,7 @@ const struct SpriteTemplate gUnknown_08595C2C = .anims = gUnknown_08595C28, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810BED0, + .callback = InitSwirlingFogAnim, }; const struct SpriteTemplate gUnknown_08595C44 = @@ -301,7 +334,7 @@ const struct SpriteTemplate gUnknown_08595C44 = .anims = gUnknown_08595C28, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810BED0, + .callback = InitSwirlingFogAnim, }; const u8 gUnknown_08595C5C[] = @@ -317,7 +350,7 @@ const struct SpriteTemplate gUnknown_08595C70 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810C2F0, + .callback = AnimThrowMistBall, }; const u8 gUnknown_08595C88[] = @@ -333,21 +366,21 @@ const struct SpriteTemplate gUnknown_08595C9C = .anims = gUnknown_08595C28, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810C560, + .callback = InitPoisonGasCloudAnim, }; -const u8 gUnknown_08595CB4[][4] = +const struct HailStruct gUnknown_08595CB4[] = { - {0x64, 0xE0, 0x01, 0x20}, - {0x55, 0xE0, 0x01, 0x00}, - {0xF2, 0xE0, 0x11, 0x10}, - {0x42, 0xE0, 0x21, 0x10}, - {0xB6, 0xE0, 0x31, 0x00}, - {0x3C, 0xE0, 0x01, 0x20}, - {0xD6, 0xE0, 0x11, 0x00}, - {0x71, 0xE0, 0x01, 0x10}, - {0xD2, 0xE0, 0x31, 0x10}, - {0x26, 0xE0, 0x21, 0x00}, + {100, 120, 0, 2}, + {85, 120, 0, 0}, + {242, 120, 1, 1}, + {66, 120, 2, 1}, + {182, 120, 3, 0}, + {60, 120, 0, 2}, + {214, 120, 1, 0}, + {113, 120, 0, 1}, + {210, 120, 3, 1}, + {38, 120, 2, 0}, }; const union AffineAnimCmd gUnknown_08595CDC[] = @@ -394,7 +427,7 @@ const struct SpriteTemplate gUnknown_08595D2C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595D1C, - .callback = sub_810CB58, + .callback = AnimHailBegin, }; const struct SpriteTemplate gUnknown_08595D44 = @@ -476,7 +509,7 @@ const struct SpriteTemplate gUnknown_08595DE4 = .anims = gUnknown_08595D78, .images = NULL, .affineAnims = gUnknown_08595DD0, - .callback = unc_080B06FC, + .callback = InitIceBallAnim, }; const struct SpriteTemplate gUnknown_08595DFC = @@ -487,5 +520,1421 @@ const struct SpriteTemplate gUnknown_08595DFC = .anims = gUnknown_08595AAC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810CD4C, + .callback = InitIceBallParticle, }; + + +// probably unused +#ifdef NONMATCHING +static void sub_810B6C4(struct Sprite *sprite) +{ + s16 targetX, targetY, attackerX, attackerY; + s16 i; + + sprite->oam.tileNum += 7; + targetX = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + targetY = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + attackerY = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[1] = gBattleAnimArgs[0] + attackerX; + sprite->data[2] = gBattleAnimArgs[2] + targetX; + sprite->data[3] = gBattleAnimArgs[1] + attackerY; + sprite->data[4] = gBattleAnimArgs[3] + targetY; + sub_80A64EC(sprite); + while ((targetX >= -32 && targetX <= 272) && (targetY >= -32 && targetY <= 192)) + { + targetX += sprite->data[1]; + targetY += sprite->data[2]; + } + sprite->data[1] = -sprite->data[1]; + sprite->data[2] = -sprite->data[2]; + while ((attackerX >= -32 && attackerX <= 272) && (attackerY >= -32 && attackerY <= 192)) + { + attackerX += sprite->data[1]; + attackerY += sprite->data[2]; + } + sprite->pos1.x = attackerX; + sprite->pos1.y = attackerY; + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[1] = attackerX; + sprite->data[2] = targetX; + sprite->data[3] = attackerY; + sprite->data[4] = targetY; + sub_80A64EC(sprite); + sprite->data[3] = gBattleAnimArgs[5]; + sprite->data[4] = gBattleAnimArgs[6]; + sprite->callback = sub_810B848; +} +#else +NAKED +static void sub_810B6C4(struct Sprite *sprite) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x4\n\ + adds r5, r0, 0\n\ + ldrh r2, [r5, 0x4]\n\ + lsls r1, r2, 22\n\ + lsrs r1, 22\n\ + adds r1, 0x7\n\ + ldr r3, =0x000003ff\n\ + adds r0, r3, 0\n\ + ands r1, r0\n\ + ldr r0, =0xfffffc00\n\ + ands r0, r2\n\ + orrs r0, r1\n\ + strh r0, [r5, 0x4]\n\ + ldr r4, =gBattleAnimTarget\n\ + ldrb r0, [r4]\n\ + movs r1, 0x2\n\ + bl GetBattlerSpriteCoord\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r9, r0\n\ + ldrb r0, [r4]\n\ + movs r1, 0x3\n\ + bl GetBattlerSpriteCoord\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ + ldr r4, =gBattleAnimAttacker\n\ + ldrb r0, [r4]\n\ + movs r1, 0x2\n\ + bl GetBattlerSpriteCoord\n\ + lsls r0, 24\n\ + lsrs r3, r0, 24\n\ + ldrb r0, [r4]\n\ + movs r1, 0x3\n\ + str r3, [sp]\n\ + bl GetBattlerSpriteCoord\n\ + lsls r0, 24\n\ + lsrs r6, r0, 24\n\ + ldr r1, =gBattleAnimArgs\n\ + ldrh r0, [r1, 0x8]\n\ + strh r0, [r5, 0x2E]\n\ + ldrh r0, [r1]\n\ + ldr r3, [sp]\n\ + adds r0, r3\n\ + strh r0, [r5, 0x30]\n\ + ldrh r0, [r1, 0x4]\n\ + mov r4, r9\n\ + adds r0, r4, r0\n\ + strh r0, [r5, 0x32]\n\ + ldrh r0, [r1, 0x2]\n\ + adds r0, r6\n\ + strh r0, [r5, 0x34]\n\ + ldrh r0, [r1, 0x6]\n\ + mov r7, r8\n\ + adds r0, r7, r0\n\ + strh r0, [r5, 0x36]\n\ + adds r0, r5, 0\n\ + bl sub_80A64EC\n\ + adds r4, 0x20\n\ + movs r0, 0x98\n\ + lsls r0, 1\n\ + mov r12, r0\n\ + ldr r3, [sp]\n\ + cmp r4, r12\n\ + bhi _0810B79E\n\ + adds r0, r7, 0\n\ + adds r0, 0x20\n\ + ldrh r1, [r5, 0x30]\n\ + ldrh r2, [r5, 0x32]\n\ + cmp r0, 0xE0\n\ + bhi _0810B79E\n\ + adds r4, r1, 0\n\ + mov r10, r12\n\ +_0810B76A:\n\ + mov r7, r9\n\ + lsls r1, r7, 16\n\ + asrs r1, 16\n\ + adds r1, r4\n\ + lsls r1, 16\n\ + mov r7, r8\n\ + lsls r0, r7, 16\n\ + asrs r0, 16\n\ + adds r0, r2\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ + lsrs r0, r1, 16\n\ + mov r9, r0\n\ + movs r7, 0x80\n\ + lsls r7, 14\n\ + adds r1, r7\n\ + lsrs r1, 16\n\ + cmp r1, r10\n\ + bhi _0810B79E\n\ + mov r1, r8\n\ + lsls r0, r1, 16\n\ + adds r0, r7\n\ + lsrs r0, 16\n\ + cmp r0, 0xE0\n\ + bls _0810B76A\n\ +_0810B79E:\n\ + ldrh r0, [r5, 0x30]\n\ + negs r7, r0\n\ + strh r7, [r5, 0x30]\n\ + ldrh r0, [r5, 0x32]\n\ + negs r4, r0\n\ + strh r4, [r5, 0x32]\n\ + lsls r0, r3, 16\n\ + movs r1, 0x80\n\ + lsls r1, 14\n\ + adds r0, r1\n\ + lsrs r0, 16\n\ + movs r2, 0x98\n\ + lsls r2, 1\n\ + mov r12, r2\n\ + ldr r1, =gBattleAnimArgs\n\ + mov r10, r1\n\ + cmp r0, r12\n\ + bhi _0810B80A\n\ + lsls r1, r6, 16\n\ + movs r2, 0x80\n\ + lsls r2, 14\n\ + adds r0, r1, r2\n\ + b _0810B802\n\ + .pool\n\ +_0810B7E0:\n\ + lsls r1, r3, 16\n\ + asrs r1, 16\n\ + adds r1, r7\n\ + lsls r1, 16\n\ + asrs r0, r2, 16\n\ + adds r0, r4\n\ + lsls r0, 16\n\ + lsrs r6, r0, 16\n\ + lsrs r3, r1, 16\n\ + movs r0, 0x80\n\ + lsls r0, 14\n\ + adds r1, r0\n\ + lsrs r1, 16\n\ + cmp r1, r12\n\ + bhi _0810B80A\n\ + lsls r1, r6, 16\n\ + adds r0, r1, r0\n\ +_0810B802:\n\ + lsrs r0, 16\n\ + adds r2, r1, 0\n\ + cmp r0, 0xE0\n\ + bls _0810B7E0\n\ +_0810B80A:\n\ + strh r3, [r5, 0x20]\n\ + strh r6, [r5, 0x22]\n\ + mov r1, r10\n\ + ldrh r0, [r1, 0x8]\n\ + strh r0, [r5, 0x2E]\n\ + strh r3, [r5, 0x30]\n\ + mov r2, r9\n\ + strh r2, [r5, 0x32]\n\ + strh r6, [r5, 0x34]\n\ + mov r3, r8\n\ + strh r3, [r5, 0x36]\n\ + adds r0, r5, 0\n\ + bl sub_80A64EC\n\ + mov r7, r10\n\ + ldrh r0, [r7, 0xA]\n\ + strh r0, [r5, 0x34]\n\ + ldrh r0, [r7, 0xC]\n\ + strh r0, [r5, 0x36]\n\ + ldr r0, =sub_810B848\n\ + str r0, [r5, 0x1C]\n\ + add sp, 0x4\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); +} +#endif + +void sub_810B848(struct Sprite *sprite) +{ + if (sprite->data[0] != 0) + { + sprite->data[5] += sprite->data[1]; + sprite->data[6] += sprite->data[2]; + sprite->pos2.x = sprite->data[5]; + sprite->pos2.y = sprite->data[6]; + sprite->pos2.x += Sin(sprite->data[7], sprite->data[3]); + sprite->pos2.y += Sin(sprite->data[7], sprite->data[3]); + sprite->data[7] = (sprite->data[7] + sprite->data[4]) & 0xFF; + sprite->data[0]--; + } + else + { + DestroyAnimSprite(sprite); + } +} + +// Animates the swirling ice crystals in Ice Punch. +// arg 0: initial position angle around circle (0-256) +void AnimIcePunchSwirlingParticle(struct Sprite *sprite) +{ + sprite->data[0] = gBattleAnimArgs[0]; + sprite->data[1] = 60; + sprite->data[2] = 9; + sprite->data[3] = 30; + sprite->data[4] = -512; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); + sprite->callback = TranslateSpriteInGrowingCircleOverDuration; + sprite->callback(sprite); +} + +// Animates the ice particles in Ice Beam. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: target x offset +// arg 3: target y offset +// arg 4: duration +void AnimIceBeamParticle(struct Sprite *sprite) +{ + InitSpritePosToAnimAttacker(sprite, TRUE); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + sprite->data[2] -= gBattleAnimArgs[2]; + else + sprite->data[2] += gBattleAnimArgs[2]; + + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + sprite->data[0] = gBattleAnimArgs[4]; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); + sprite->callback = StartAnimLinearTranslation; +} + +// Animates the ice crystals at the end of Ice Punch, Ice Beam, Tri Attack, +// Weather Ball (Hail), Blizzard, and Powder Snow. +// arg 0: target x offset +// arg 1: target y offset +// arg 2: ??? unknown boolean +void AnimIceEffectParticle(struct Sprite *sprite) +{ + if (gBattleAnimArgs[2] == 0) + { + InitSpritePosToAnimTarget(sprite, TRUE); + } + else + { + SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->pos1.x, &sprite->pos1.y); + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[0] = -gBattleAnimArgs[0]; + + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + } + + StoreSpriteCallbackInData6(sprite, AnimFlickerIceEffectParticle); + sprite->callback = RunStoredCallbackWhenAffineAnimEnds; +} + +void AnimFlickerIceEffectParticle(struct Sprite *sprite) +{ + sprite->invisible ^= 1; + sprite->data[0] += 1; + if (sprite->data[0] == 20) + DestroySpriteAndMatrix(sprite); +} + +// Animates the small snowballs that swirl around the target in Blizzard and Icy Wind. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: target x offset +// arg 3: target y offset +// arg 4: particle speed +// arg 5: multiple targets? (boolean) +void AnimSwirlingSnowball_Step1(struct Sprite *sprite) +{ + int i; + s16 tempDataHolder[8]; + + InitSpritePosToAnimAttacker(sprite, TRUE); + + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + + if (!gBattleAnimArgs[5]) + { + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + } + else + { + SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]); + } + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + sprite->data[2] -= gBattleAnimArgs[2]; + else + sprite->data[2] += gBattleAnimArgs[2]; + + for (i = 0; i < 8; i++) + tempDataHolder[i] = sprite->data[i]; + + InitAnimFastLinearTranslationWithSpeed(sprite); + sprite->data[1] ^= 1; + sprite->data[2] ^= 1; + + while (1) + { + sprite->data[0] = 1; + AnimFastTranslateLinear(sprite); + + if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > 272 + || sprite->pos1.y + sprite->pos2.y > 160 + || sprite->pos1.y + sprite->pos2.y < -16) + break; + } + + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.y = 0; + sprite->pos2.x = 0; + + for (i = 0; i < 8; i++) + sprite->data[i] = tempDataHolder[i]; + + sprite->callback = sub_80A718C; + StoreSpriteCallbackInData6(sprite, AnimSwirlingSnowball_Step2); +} + +void AnimSwirlingSnowball_Step2(struct Sprite *sprite) +{ + s16 tempVar; + + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.y = 0; + sprite->pos2.x = 0; + sprite->data[0] = 128; + + tempVar = GetBattlerSide(gBattleAnimAttacker) != 0 ? 20 : -20; + + sprite->data[3] = Sin(sprite->data[0], tempVar); + sprite->data[4] = Cos(sprite->data[0], 0xF); + sprite->data[5] = 0; + sprite->callback = AnimSwirlingSnowball_Step3; + sprite->callback(sprite); +} + +void AnimSwirlingSnowball_Step3(struct Sprite *sprite) +{ + s16 tempVar; + tempVar = GetBattlerSide(gBattleAnimAttacker) != 0 ? 20 : -20; + + if (sprite->data[5] <= 31) + { + sprite->pos2.x = Sin(sprite->data[0], tempVar) - sprite->data[3]; + sprite->pos2.y = Cos(sprite->data[0], 15) - sprite->data[4]; + sprite->data[0] = (sprite->data[0] + 16) & 0xFF; + sprite->data[5] += 1; + } + else + { + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.y = 0; + sprite->pos2.x = 0; + sprite->data[4] = 0; + sprite->data[3] = 0; + sprite->callback = AnimSwirlingSnowball_End; + } +} + +void AnimSwirlingSnowball_End(struct Sprite *sprite) +{ + sprite->data[0] = 1; + AnimFastTranslateLinear(sprite); + + if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > 272 + || sprite->pos1.y + sprite->pos2.y > 256 + || sprite->pos1.y + sprite->pos2.y < -16) + DestroyAnimSprite(sprite); +} + +// Moves particles towards the target mon and off the screen. Used to animate +// the large snowballs in Blizzard and the small snowballs in Powder Snow. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: target x offset +// arg 3: target y offset +// arg 4: speed +// arg 5: wave amplitude +// arg 6: wave frequency +// arg 7: multiple targets? (boolean) +void AnimMoveParticleBeyondTarget(struct Sprite *sprite) +{ + int i; + s16 tempDataHolder[8]; + + InitSpritePosToAnimAttacker(sprite, TRUE); + + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + + if (!gBattleAnimArgs[7]) + { + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + } + else + { + SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]); + } + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + sprite->data[2] -= gBattleAnimArgs[2]; + else + sprite->data[2] += gBattleAnimArgs[2]; + + sprite->data[4] += gBattleAnimArgs[3]; + InitAnimFastLinearTranslationWithSpeed(sprite); + for (i = 0; i < 8; i++) + tempDataHolder[i] = sprite->data[i]; + + sprite->data[1] ^= 1; + sprite->data[2] ^= 1; + + while (1) + { + sprite->data[0] = 1; + AnimFastTranslateLinear(sprite); + if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > 272 + || sprite->pos1.y + sprite->pos2.y > 160 + || sprite->pos1.y + sprite->pos2.y < -16) + break; + } + + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.y = 0; + sprite->pos2.x = 0; + + for (i = 0; i < 8; i++) + sprite->data[i] = tempDataHolder[i]; + + sprite->data[5] = gBattleAnimArgs[5]; + sprite->data[6] = gBattleAnimArgs[6]; + sprite->callback = AnimWiggleParticleTowardsTarget; +} + +// Moves particles in a sine wave towards the target. +void AnimWiggleParticleTowardsTarget(struct Sprite *sprite) +{ + AnimFastTranslateLinear(sprite); + if (sprite->data[0] == 0) + sprite->data[0] = 1; + + sprite->pos2.y += Sin(sprite->data[7], sprite->data[5]); + sprite->data[7] = (sprite->data[7] + sprite->data[6]) & 0xFF; + if (sprite->data[0] == 1) + { + if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > 272 + || sprite->pos1.y + sprite->pos2.y > 160 + || sprite->pos1.y + sprite->pos2.y < -16) + DestroyAnimSprite(sprite); + } +} + +// Animates the ice pilar wave used by Icy Wind. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: ??? unknown boolean +void AnimWaveFromCenterOfTarget(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + if (gBattleAnimArgs[2] == 0) + { + InitSpritePosToAnimTarget(sprite, FALSE); + } + else + { + SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y); + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[0] = -gBattleAnimArgs[0]; + + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + } + + sprite->data[0]++; + } + else + { + if (sprite->animEnded) + DestroyAnimSprite(sprite); + } +} + +// Animates the fog that swirls around the mon in Mist and Smog. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: change in y pixels per rotation +// arg 3: duration +// arg 4: animate on opponent? (boolean) +// arg 5: ??? unknown boolean +void InitSwirlingFogAnim(struct Sprite *sprite) +{ + s16 tempVar; + u8 battler; + + if (gBattleAnimArgs[4] == 0) + { + if (gBattleAnimArgs[5] == 0) + { + InitSpritePosToAnimAttacker(sprite, FALSE); + } + else + { + SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->pos1.x, &sprite->pos1.y); + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + sprite->pos1.x -= gBattleAnimArgs[0]; + else + sprite->pos1.x += gBattleAnimArgs[0]; + + sprite->pos1.y += gBattleAnimArgs[1]; + } + + battler = gBattleAnimAttacker; + } + else + { + if (gBattleAnimArgs[5] == 0) + { + InitSpritePosToAnimTarget(sprite, FALSE); + } + else + { + SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y); + if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER) + sprite->pos1.x -= gBattleAnimArgs[0]; + else + sprite->pos1.x += gBattleAnimArgs[0]; + + sprite->pos1.y += gBattleAnimArgs[1]; + } + + battler = gBattleAnimTarget; + } + + sprite->data[7] = battler; + if (gBattleAnimArgs[5] == 0 || !IsDoubleBattle()) + tempVar = 0x20; + else + tempVar = 0x40; + + sprite->data[6] = tempVar; + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) + sprite->pos1.y += 8; + + sprite->data[0] = gBattleAnimArgs[3]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[2]; + + InitAnimLinearTranslation(sprite); + + sprite->data[5] = 64; + sprite->callback = AnimSwirlingFogAnim; + sprite->callback(sprite); +} + +// Animates swirling fog initialized by InitSwirlingFogAnim. +void AnimSwirlingFogAnim(struct Sprite *sprite) +{ + if (!AnimTranslateLinear(sprite)) + { + sprite->pos2.x += Sin(sprite->data[5], sprite->data[6]); + sprite->pos2.y += Cos(sprite->data[5], -6); + + if ((u16)(sprite->data[5] - 64) <= 0x7F) + sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]); + else + sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]) + 1; + + sprite->data[5] = (sprite->data[5] + 3) & 0xFF; + } + else + { + DestroyAnimSprite(sprite); + } +} + +// Fades mons to black and places foggy overlay in Haze. +void AnimTask_Haze1(u8 taskId) +{ + struct UnknownAnimStruct2 subStruct; + + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); + SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0); + + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); + + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); + SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); + + sub_80A6B30(&subStruct); + LoadBgTiles(subStruct.bgId, gWeatherFog1Tiles, 0x800, subStruct.tilesOffset); + sub_80A6D60(&subStruct, gBattleAnimFogTilemap, 0); + LoadPalette(&gUnknown_083970E8, subStruct.unk8 * 16, 32); + + gTasks[taskId].func = AnimTask_Haze2; +} + +void AnimTask_Haze2(u8 taskId) +{ + struct UnknownAnimStruct2 subStruct; + + gBattle_BG1_X += -1; + gBattle_BG1_Y += 0; + + switch (gTasks[taskId].data[12]) + { + case 0: + if (++gTasks[taskId].data[10] == 4) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[9]++; + gTasks[taskId].data[11] = gUnknown_08595C5C[gTasks[taskId].data[9]]; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11])); + if (gTasks[taskId].data[11] == 9) + { + gTasks[taskId].data[12]++; + gTasks[taskId].data[11] = 0; + } + } + break; + case 1: + if (++gTasks[taskId].data[11] == 0x51) + { + gTasks[taskId].data[11] = 9; + gTasks[taskId].data[12]++; + } + break; + case 2: + if (++gTasks[taskId].data[10] == 4) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[11]--; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11])); + if (gTasks[taskId].data[11] == 0) + { + gTasks[taskId].data[12]++; + gTasks[taskId].data[11] = 0; + } + } + break; + case 3: + sub_80A6B30(&subStruct); + sub_80A6C68(1); + sub_80A6C68(2); + + gTasks[taskId].data[12]++; + + // fall through + case 4: + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0); + + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); + DestroyAnimVisualTask(taskId); + } +} + +// Throws the ball in Mist Ball. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: targey x offset +// arg 3: target y offset +// arg 4: duration +// arg 5: ??? unknown (seems to vibrate target mon somehow) +void AnimThrowMistBall(struct Sprite *sprite) +{ + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->callback = TranslateAnimSpriteToTargetMonLocation; +} + +// Displays misty background in Mist Ball. +void AnimTask_LoadMistTiles(u8 taskId) +{ + struct UnknownAnimStruct2 subStruct; + + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); + SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0); + + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); + + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); + SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); + + sub_80A6B30(&subStruct); + LoadBgTiles(subStruct.bgId, gWeatherFog1Tiles, 0x800, subStruct.tilesOffset); + sub_80A6D60(&subStruct, gBattleAnimFogTilemap, 0); + LoadPalette(&gUnknown_083970E8, subStruct.unk8 * 16, 32); + + gTasks[taskId].data[15] = -1; + gTasks[taskId].func = AnimTask_OverlayFogTiles; +} + +void AnimTask_OverlayFogTiles(u8 taskId) +{ + struct UnknownAnimStruct2 subStruct; + + gBattle_BG1_X += gTasks[taskId].data[15]; + gBattle_BG1_Y += 0; + + switch (gTasks[taskId].data[12]) + { + case 0: + gTasks[taskId].data[9] += 1; + gTasks[taskId].data[11] = gUnknown_08595C88[gTasks[taskId].data[9]]; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 17 - gTasks[taskId].data[11])); + if (gTasks[taskId].data[11] == 5) + { + gTasks[taskId].data[12]++; + gTasks[taskId].data[11] = 0; + } + break; + case 1: + if (++gTasks[taskId].data[11] == 0x51) + { + gTasks[taskId].data[11] = 5; + gTasks[taskId].data[12]++; + } + break; + case 2: + if (++gTasks[taskId].data[10] == 4) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[11] -= 1; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11])); + if (gTasks[taskId].data[11] == 0) + { + gTasks[taskId].data[12]++; + gTasks[taskId].data[11] = 0; + } + } + break; + case 3: + sub_80A6B30(&subStruct); + sub_80A6C68(1); + sub_80A6C68(2); + + gTasks[taskId].data[12]++; + + // fall through + case 4: + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0); + + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); + DestroyAnimVisualTask(taskId); + } +} + +// Initializes gas clouds in the Poison Gas animation. +// arg 0: duration +// arg 1: ? target x offset +// arg 2: ? target y offset +// arg 3: ? swirl start x +// arg 4: ? swirl start y +// arg 5: ??? unknown +// arg 6: ??? unknown +// arg 7: ??? unknown boolean +void InitPoisonGasCloudAnim(struct Sprite *sprite) +{ + sprite->data[0] = gBattleAnimArgs[0]; + + if (GetBattlerSpriteCoord(gBattleAnimAttacker, 2) < GetBattlerSpriteCoord(gBattleAnimTarget, 2)) + sprite->data[7] = 0x8000; + + if (!(gBattlerPositions[gBattleAnimTarget] & 1)) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + gBattleAnimArgs[3] = -gBattleAnimArgs[3]; + + if ((sprite->data[7] & 0x8000) && !(gBattlerPositions[gBattleAnimAttacker] & 1)) + sprite->subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1; + + sprite->data[6] = 1; + } + + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + if (gBattleAnimArgs[7]) + { + sprite->data[1] = sprite->pos1.x + gBattleAnimArgs[1]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[3]; + sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[4]; + sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8; + } + else + { + sprite->data[1] = sprite->pos1.x + gBattleAnimArgs[1]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[3]; + sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[4]; + sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8; + } + + if (IsContest()) + { + sprite->data[6] = 1; + sprite->subpriority = 0x80; + } + + InitAnimLinearTranslation(sprite); + sprite->callback = MovePoisonGasCloud; +} + +void MovePoisonGasCloud(struct Sprite *sprite) +{ + int value; + register s16 value2 asm("r5"); + int unused; + + switch (sprite->data[7] & 0xFF) + { + case 0: + AnimTranslateLinear(sprite); + value = gSineTable[sprite->data[5]]; + sprite->pos2.x += value >> 4; + if (sprite->data[6]) + sprite->data[5] = (sprite->data[5] - 8) & 0xFF; + else + sprite->data[5] = (sprite->data[5] + 8) & 0xFF; + + if (sprite->data[0] <= 0) + { + value2 = 80; + sprite->data[0] = value2; + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0); + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = sprite->pos1.x; + sprite->pos1.y += sprite->pos2.y; + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = sprite->pos1.y + 29; + sprite->data[7]++; + if (!IsContest() && gBattlerPositions[gBattleAnimTarget] & 1) + sprite->data[5] = 204; + else + sprite->data[5] = value2; + + sprite->pos2.y = 0; + value = gSineTable[sprite->data[5]]; + sprite->pos2.x = value >> 3; + sprite->data[5] = (sprite->data[5] + 2) & 0xFF; + InitAnimLinearTranslation(sprite); + } + break; + case 1: + AnimTranslateLinear(sprite); + value = gSineTable[sprite->data[5]]; + sprite->pos2.x += value >> 3; + sprite->pos2.y += (gSineTable[sprite->data[5] + 0x40] * -3) >> 8; + if (!IsContest()) + { + u16 var0 = sprite->data[5] - 0x40; + if (var0 <= 0x7F) + sprite->oam.priority = sprite->data[7] >> 8; + else + sprite->oam.priority = (sprite->data[7] >> 8) + 1; + + sprite->data[5] = (sprite->data[5] + 4) & 0xFF; + } + else + { + u16 var0 = sprite->data[5] - 0x40; + if (var0 <= 0x7F) + sprite->subpriority = 128; + else + sprite->subpriority = 140; + + sprite->data[5] = (sprite->data[5] - 4) & 0xFF; + } + + if (sprite->data[0] <= 0) + { + asm("mov r5, #0"); // unused local variable? + unused = 0; + sprite->data[0] = 0x300; + sprite->data[1] = sprite->pos1.x += sprite->pos2.x; + sprite->data[3] = sprite->pos1.y += sprite->pos2.y; + sprite->data[4] = sprite->pos1.y + 4; + if (!IsContest() && gBattlerPositions[gBattleAnimTarget] & 1) + sprite->data[2] = 0x100; + else + sprite->data[2] = -0x10; + + sprite->data[7]++; + sprite->pos2.x = sprite->pos2.y = 0; + sub_80A6FD4(sprite); + } + break; + case 2: + if (AnimTranslateLinear(sprite)) + { + if (sprite->oam.affineMode & 1) + { + FreeOamMatrix(sprite->oam.matrixNum); + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; + } + + DestroySprite(sprite); + gAnimVisualTaskCount--; + } + break; + } +} + +// Creates Hail. +void AnimTask_Hail1(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->func = AnimTask_Hail2; +} + +void AnimTask_Hail2(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + switch (task->data[0]) + { + case 0: + if (++task->data[4] > 2) + { + task->data[4] = 0; + task->data[5] = 0; + task->data[2] = 0; + task->data[0]++; + } + break; + case 1: + if (task->data[5] == 0) + { + if (GenerateHailParticle(task->data[3], task->data[2], taskId, 1)) + task->data[1]++; + + if (++task->data[2] == 3) + { + if (++task->data[3] == 10) + task->data[0]++; + else + task->data[0]--; + } + else + { + task->data[5] = 1; + } + + } + else + { + task->data[5]--; + } + break; + case 2: + if (task->data[1] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +#ifdef NONMATCHING +bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c) +{ + bool8 possibleBool = FALSE; + // s8 unk = gUnknown_08595CB4[a].unk3; + const struct HailStruct *hailData = &gUnknown_08595CB4[a]; + s8 unk = hailData->unk3; + u8 battler; + s16 battlerX, battlerY; + u8 spriteId; + // struct Sprite *sprite; + s16 spriteX; + + if (unk != 2) + { + battler = GetBattlerAtPosition(hailData->unk2); + if (IsBattlerSpriteVisible(battler)) + { + possibleBool = TRUE; + battlerX = GetBattlerSpriteCoord(battler, 2); + battlerY = GetBattlerSpriteCoord(battler, 3); + switch (unk) + { + case 0: + battlerX -= sub_80A861C(battler, 1) / 6; + battlerY -= sub_80A861C(battler, 0) / 6; + break; + case 1: + battlerX += sub_80A861C(battler, 1) / 6; + battlerY += sub_80A861C(battler, 0) / 6; + break; + } + } + } + else + { + battlerX = (hailData->unk0); + battlerY = (hailData->unk1); + } + spriteX = battlerX - ((battlerY + 8) / 2); + spriteId = CreateSprite(&gUnknown_08595D2C, spriteX, -8, 18); + if (spriteId == MAX_SPRITES) + return FALSE; + // sprite = &gSprites[spriteId]; + StartSpriteAffineAnim(&gSprites[spriteId], b); + gSprites[spriteId].data[0] = possibleBool; + gSprites[spriteId].data[3] = battlerX; + gSprites[spriteId].data[4] = battlerY; + gSprites[spriteId].data[5] = b; + gSprites[spriteId].data[6] = taskId; + gSprites[spriteId].data[7] = c; + return TRUE; +} +#else +NAKED +bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x8\n\ + lsls r0, 24\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + mov r9, r1\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + str r2, [sp]\n\ + lsls r3, 24\n\ + lsrs r3, 24\n\ + mov r10, r3\n\ + movs r1, 0\n\ + str r1, [sp, 0x4]\n\ + ldr r1, =gUnknown_08595CB4\n\ + lsrs r0, 22\n\ + adds r4, r0, r1\n\ + ldrb r0, [r4, 0x3]\n\ + lsls r0, 24\n\ + asrs r0, 28\n\ + mov r8, r0\n\ + cmp r0, 0x2\n\ + beq _0810CAD0\n\ + ldrh r0, [r4, 0x2]\n\ + lsls r0, 20\n\ + lsrs r0, 24\n\ + bl GetBattlerAtPosition\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + adds r0, r5, 0\n\ + bl IsBattlerSpriteVisible\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0810CAD0\n\ + movs r0, 0x1\n\ + str r0, [sp, 0x4]\n\ + adds r0, r5, 0\n\ + movs r1, 0x2\n\ + bl GetBattlerSpriteCoord\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ + adds r0, r5, 0\n\ + movs r1, 0x3\n\ + bl GetBattlerSpriteCoord\n\ + lsls r0, 24\n\ + lsrs r6, r0, 24\n\ + mov r1, r8\n\ + cmp r1, 0\n\ + beq _0810CA60\n\ + cmp r1, 0x1\n\ + beq _0810CA96\n\ + b _0810CAE2\n\ + .pool\n\ +_0810CA60:\n\ + adds r0, r5, 0\n\ + movs r1, 0x1\n\ + bl sub_80A861C\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + movs r1, 0x6\n\ + bl __divsi3\n\ + lsls r1, r7, 16\n\ + asrs r1, 16\n\ + subs r1, r0\n\ + lsls r1, 16\n\ + lsrs r7, r1, 16\n\ + adds r0, r5, 0\n\ + movs r1, 0\n\ + bl sub_80A861C\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + movs r1, 0x6\n\ + bl __divsi3\n\ + lsls r1, r6, 16\n\ + asrs r1, 16\n\ + subs r1, r0\n\ + b _0810CACA\n\ +_0810CA96:\n\ + adds r0, r5, 0\n\ + movs r1, 0x1\n\ + bl sub_80A861C\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + movs r1, 0x6\n\ + bl __divsi3\n\ + lsls r1, r7, 16\n\ + asrs r1, 16\n\ + adds r1, r0\n\ + lsls r1, 16\n\ + lsrs r7, r1, 16\n\ + adds r0, r5, 0\n\ + movs r1, 0\n\ + bl sub_80A861C\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + movs r1, 0x6\n\ + bl __divsi3\n\ + lsls r1, r6, 16\n\ + asrs r1, 16\n\ + adds r1, r0\n\ +_0810CACA:\n\ + lsls r1, 16\n\ + lsrs r6, r1, 16\n\ + b _0810CAE2\n\ +_0810CAD0:\n\ + ldrh r0, [r4]\n\ + lsls r0, 22\n\ + asrs r0, 6\n\ + lsrs r7, r0, 16\n\ + ldr r0, [r4]\n\ + lsls r0, 12\n\ + asrs r0, 22\n\ + lsls r0, 16\n\ + lsrs r6, r0, 16\n\ +_0810CAE2:\n\ + lsls r0, r6, 16\n\ + asrs r0, 16\n\ + adds r0, 0x8\n\ + lsrs r1, r0, 31\n\ + adds r0, r1\n\ + asrs r0, 1\n\ + lsls r1, r7, 16\n\ + asrs r1, 16\n\ + subs r1, r0\n\ + ldr r0, =gUnknown_08595D2C\n\ + lsls r1, 16\n\ + asrs r1, 16\n\ + movs r2, 0x8\n\ + negs r2, r2\n\ + movs r3, 0x12\n\ + bl CreateSprite\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x40\n\ + beq _0810CB44\n\ + lsls r4, r5, 4\n\ + adds r4, r5\n\ + lsls r4, 2\n\ + ldr r0, =gSprites\n\ + adds r4, r0\n\ + adds r0, r4, 0\n\ + mov r1, r9\n\ + bl StartSpriteAffineAnim\n\ + mov r0, sp\n\ + ldrh r0, [r0, 0x4]\n\ + strh r0, [r4, 0x2E]\n\ + strh r7, [r4, 0x34]\n\ + strh r6, [r4, 0x36]\n\ + mov r1, r9\n\ + strh r1, [r4, 0x38]\n\ + mov r0, sp\n\ + ldrh r0, [r0]\n\ + strh r0, [r4, 0x3A]\n\ + mov r1, r10\n\ + strh r1, [r4, 0x3C]\n\ + movs r0, 0x1\n\ + b _0810CB46\n\ + .pool\n\ +_0810CB44:\n\ + movs r0, 0\n\ +_0810CB46:\n\ + add sp, 0x8\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n"); +} +#endif + +void AnimHailBegin(struct Sprite *sprite) +{ + u8 spriteId; + + sprite->pos1.x += 4; + sprite->pos1.y += 8; + + if (sprite->pos1.x < sprite->data[3] && sprite->pos1.y < sprite->data[4]) + return; + + if (sprite->data[0] == 1 && sprite->data[5] == 0) + { + spriteId = CreateSprite(&gUnknown_08595B68, + sprite->data[3], sprite->data[4], sprite->subpriority); + + sprite->data[0] = spriteId; + if (spriteId != 64) + { + gSprites[sprite->data[0]].callback = AnimHailContinue; + gSprites[sprite->data[0]].data[6] = sprite->data[6]; + gSprites[sprite->data[0]].data[7] = sprite->data[7]; + } + + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); + } + else + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); + } +} + +void AnimHailContinue(struct Sprite *sprite) +{ + if (++sprite->data[0] == 20) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); + } +} + +// Initializes the animation for Ice Ball. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: target x offset +// arg 3: target y offset +// arg 4: duration +// arg 5: arc height (negative) +void InitIceBallAnim(struct Sprite *sprite) +{ + u8 animNum = gAnimDisableStructPtr->rolloutTimerStartValue - gAnimDisableStructPtr->rolloutTimer - 1; + + if (animNum > 4) + animNum = 4; + + StartSpriteAffineAnim(sprite, animNum); + InitSpritePosToAnimAttacker(sprite, 1); + + sprite->data[0] = gBattleAnimArgs[4]; + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + sprite->data[5] = gBattleAnimArgs[5]; + + InitAnimArcTranslation(sprite); + + sprite->callback = AnimThrowIceBall; +} + +// Throws the ball of ice in Ice Ball. +void AnimThrowIceBall(struct Sprite *sprite) +{ + if (!TranslateAnimArc(sprite)) + return; + + StartSpriteAnim(sprite, 1); + sprite->callback = RunStoredCallbackWhenAnimEnds; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +// Initializes the particles that scatter at the end of the Ice Ball animation. +void InitIceBallParticle(struct Sprite *sprite) +{ + s16 randA, randB; + + sprite->oam.tileNum += 8; + InitSpritePosToAnimTarget(sprite, TRUE); + + randA = (Random2() & 0xFF) + 256; + randB = Random2() & 0x1FF; + + if (randB > 0xFF) + randB = 256 - randB; + + sprite->data[1] = randA; + sprite->data[2] = randB; + sprite->callback = AnimIceBallParticle; +} + +// Animates the particles created by InitIceBallParticle. +void AnimIceBallParticle(struct Sprite *sprite) +{ + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + + if (sprite->data[1] & 1) + sprite->pos2.x = -(sprite->data[3] >> 8); + else + sprite->pos2.x = sprite->data[3] >> 8; + + sprite->pos2.y = sprite->data[4] >> 8; + + if (++sprite->data[0] == 21) + DestroyAnimSprite(sprite); +} + +// Counter for Ice Ball. +void AnimTask_GetRolloutCounter(u8 taskId) +{ + u8 arg = gBattleAnimArgs[0]; + + gBattleAnimArgs[arg] = gAnimDisableStructPtr->rolloutTimerStartValue - gAnimDisableStructPtr->rolloutTimer - 1; + DestroyAnimVisualTask(taskId); +} diff --git a/src/intro.c b/src/intro.c index 94692e6ec..18a899fb0 100644 --- a/src/intro.c +++ b/src/intro.c @@ -1044,10 +1044,10 @@ static void Task_IntroLoadPart1Graphics(u8 taskId) SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(20) | BGCNT_16COLOR | BGCNT_TXT256x512); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(18) | BGCNT_16COLOR | BGCNT_TXT256x512); SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(16) | BGCNT_16COLOR | BGCNT_TXT256x512); - LoadCompressedObjectPic(gUnknown_085E4FDC); - LoadCompressedObjectPic(gUnknown_085E4FEC); + LoadCompressedSpriteSheet(gUnknown_085E4FDC); + LoadCompressedSpriteSheet(gUnknown_085E4FEC); LoadSpritePalettes(gUnknown_085E4FFC); - LoadCompressedObjectPic(gUnknown_085E4A74); + LoadCompressedSpriteSheet(gUnknown_085E4A74); LoadSpritePalettes(gUnknown_085E4A84); CpuCopy16(gPlttBufferUnfaded + 0x100, gPlttBufferUnfaded + 0x1F0, 0x20); CpuCopy16(gPlttBufferUnfaded + 0x100, gPlttBufferUnfaded + 0x1E1, 0x1E); @@ -1204,16 +1204,16 @@ static void Task_IntroStartBikeRide(u8 taskId) u8 spriteId; if (gUnknown_0203BCC8 == 0) - LoadCompressedObjectPic(gIntro2BrendanSpriteSheet); + LoadCompressedSpriteSheet(gIntro2BrendanSpriteSheet); else - LoadCompressedObjectPic(gIntro2MaySpriteSheet); + LoadCompressedSpriteSheet(gIntro2MaySpriteSheet); - LoadCompressedObjectPic(gIntro2BicycleSpriteSheet); - LoadCompressedObjectPic(gIntro2FlygonSpriteSheet); + LoadCompressedSpriteSheet(gIntro2BicycleSpriteSheet); + LoadCompressedSpriteSheet(gIntro2FlygonSpriteSheet); for (spriteId = 0; spriteId < 3; spriteId++) { - LoadCompressedObjectPic(&gUnknown_085E4AE8[spriteId]); + LoadCompressedSpriteSheet(&gUnknown_085E4AE8[spriteId]); } LoadSpritePalettes(gUnknown_085F530C); @@ -1542,8 +1542,8 @@ static void Task_IntroLoadPart1Graphics3(u8 taskId) LZDecompressVram(gIntro3GroudonTilemap, (void *)(VRAM + 0xC000)); LZDecompressVram(gIntro3LegendBgGfx, (void *)(VRAM + 0x4000)); LZDecompressVram(gIntro3GroudonBgTilemap, (void *)(VRAM + 0xE000)); - LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_ROCKS)]); - LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_ROCKS)]); + LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_ROCKS)]); + LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_ROCKS)]); CpuCopy16(gIntro3BgPal, gPlttBufferUnfaded, sizeof(gIntro3BgPal)); gTasks[taskId].func = Task_IntroLoadPart1Graphics4; } @@ -1764,7 +1764,7 @@ static void Task_IntroLoadPart1Graphics9(u8 taskId) LZDecompressVram(gIntro3KyogreGfx, (void *)VRAM); LZDecompressVram(gIntro3KyogreTilemap, (void *)(VRAM + 0xC000)); LZDecompressVram(gIntro3KyogreBgTilemap, (void *)(VRAM + 0xE000)); - LoadCompressedObjectPic(gUnknown_085E4C88); + LoadCompressedSpriteSheet(gUnknown_085E4C88); LoadSpritePalette(gUnknown_085E4C98); BeginNormalPaletteFade(0xFFFFFFFE, 0, 0x10, 0, RGB_WHITEALPHA); gTasks[taskId].func = Task_IntroFadeIn0; @@ -2092,7 +2092,7 @@ static void Task_IntroFadeIn5(u8 taskId) gTasks[taskId].data[0] = 0; gTasks[taskId].data[6] = 1; gTasks[taskId].data[7] = 0; - LoadCompressedObjectPicUsingHeap(gUnknown_085E4BF4); + LoadCompressedSpriteSheetUsingHeap(gUnknown_085E4BF4); LoadSpritePalettes(gUnknown_085E4C04); } @@ -2169,7 +2169,7 @@ static void Task_IntroFadeIn7(u8 taskId) { u8 newTaskId; - LoadCompressedObjectPic(gUnknown_085E5048); + LoadCompressedSpriteSheet(gUnknown_085E5048); LoadSpritePalettes(gUnknown_085E5058); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c index 20a360901..d85e58938 100644 --- a/src/intro_credits_graphics.c +++ b/src/intro_credits_graphics.c @@ -341,7 +341,7 @@ void load_intro_part2_graphics(u8 a) LZ77UnCompVram(gUnknown_085F0DBC, (void *)(VRAM)); LZ77UnCompVram(gUnknown_085F1398, (void *)(VRAM + 0x3000)); LoadPalette(&gUnknown_085F0CFC, 0, 96); - LoadCompressedObjectPic(gUnknown_085F5064); + LoadCompressedSpriteSheet(gUnknown_085F5064); LoadPalette(&gUnknown_085F1668, 256, 32); sub_817B76C(); break; @@ -349,7 +349,7 @@ void load_intro_part2_graphics(u8 a) LZ77UnCompVram(gUnknown_085F1824, (void *)(VRAM)); LZ77UnCompVram(gUnknown_085F1EAC, (void *)(VRAM + 0x3000)); LoadPalette(&gUnknown_085F17E4, 0, 32); - LoadCompressedObjectPic(gUnknown_085F50EC); + LoadCompressedSpriteSheet(gUnknown_085F50EC); LoadPalette(&gUnknown_085F21B0, 256, 32); sub_817B788(); break; @@ -447,7 +447,7 @@ void sub_817B1C8(u8 a) LZ77UnCompVram(gUnknown_085F0DBC, (void *)(VRAM)); LZ77UnCompVram(gUnknown_085F1398, (void *)(VRAM + 0x3000)); LoadPalette(&gUnknown_085F0CFC, 0, 96); - LoadCompressedObjectPic(gUnknown_085F5064); + LoadCompressedSpriteSheet(gUnknown_085F5064); LZ77UnCompVram(gUnknown_085F16A8, (void *)(VRAM + 0x10000)); LoadPalette(&gUnknown_085F1668, 256, 32); sub_817B76C(); @@ -457,7 +457,7 @@ void sub_817B1C8(u8 a) LZ77UnCompVram(gUnknown_085F0DBC, (void *)(VRAM)); LZ77UnCompVram(gUnknown_085F1398, (void *)(VRAM + 0x3000)); LoadPalette(&gUnknown_085F0D5C, 0, 96); - LoadCompressedObjectPic(gUnknown_085F5064); + LoadCompressedSpriteSheet(gUnknown_085F5064); LZ77UnCompVram(gUnknown_085F16A8, (void *)(VRAM + 0x10000)); LoadPalette(&gUnknown_085F1688, 256, 32); sub_817B76C(); @@ -468,7 +468,7 @@ void sub_817B1C8(u8 a) LZ77UnCompVram(gUnknown_085F1824, (void *)(VRAM)); LZ77UnCompVram(gUnknown_085F1EAC, (void *)(VRAM + 0x3000)); LoadPalette(&gUnknown_085F1804, 0, 32); - LoadCompressedObjectPic(gUnknown_085F50EC); + LoadCompressedSpriteSheet(gUnknown_085F50EC); LoadPalette(&gUnknown_085F1804, 256, 32); sub_817B788(); break; @@ -477,7 +477,7 @@ void sub_817B1C8(u8 a) LZ77UnCompVram(gUnknown_085F235C, (void *)(VRAM)); LZ77UnCompVram(gUnknown_085F2568, (void *)(VRAM + 0x3000)); LoadPalette(&gUnknown_085F231C, 0, 64); - LoadCompressedObjectPic(gUnknown_085F5180); + LoadCompressedSpriteSheet(gUnknown_085F5180); LoadPalette(&gUnknown_085F2548, 256, 32); sub_817B7A4(); break; diff --git a/src/item_icon.c b/src/item_icon.c index d037782bd..e9379dbba 100644 --- a/src/item_icon.c +++ b/src/item_icon.c @@ -107,7 +107,7 @@ u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId) spritePalette.data = GetItemIconPicOrPalette(itemId, 1); spritePalette.tag = paletteTag; - LoadCompressedObjectPalette(&spritePalette); + LoadCompressedSpritePalette(&spritePalette); spriteTemplate = Alloc(sizeof(*spriteTemplate)); CpuCopy16(&gItemIconSpriteTemplate, spriteTemplate, sizeof(*spriteTemplate)); @@ -144,7 +144,7 @@ u8 AddCustomItemIconSprite(struct SpriteTemplate *customSpriteTemplate, u16 tile spritePalette.data = GetItemIconPicOrPalette(itemId, 1); spritePalette.tag = paletteTag; - LoadCompressedObjectPalette(&spritePalette); + LoadCompressedSpritePalette(&spritePalette); spriteTemplate = Alloc(sizeof(*spriteTemplate)); CpuCopy16(customSpriteTemplate, spriteTemplate, sizeof(*spriteTemplate)); diff --git a/src/item_menu.c b/src/item_menu.c index 32c42ac31..a220f02ef 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -713,13 +713,13 @@ bool8 load_bag_menu_graphics(void) break; case 3: if (IsWallysBag() == TRUE || gSaveBlock2Ptr->playerGender == MALE) - LoadCompressedObjectPic(&gUnknown_0857FB34); + LoadCompressedSpriteSheet(&gUnknown_0857FB34); else - LoadCompressedObjectPic(&gUnknown_0857FB3C); + LoadCompressedSpriteSheet(&gUnknown_0857FB3C); gUnknown_0203CE54->unk834++; break; case 4: - LoadCompressedObjectPalette(&gUnknown_0857FB44); + LoadCompressedSpritePalette(&gUnknown_0857FB44); gUnknown_0203CE54->unk834++; break; default: @@ -1564,7 +1564,7 @@ void Task_HandleOutOfBattleItemMenuInput(u8 taskId) { if (sub_81221EC() != TRUE) { - s8 cursorPos = GetMenuCursorPos(); + s8 cursorPos = Menu_GetCursorPos(); if (gMain.newKeys & DPAD_UP) { if (cursorPos > 0 && sub_81ACDFC(cursorPos - 2)) diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c index 894574ec9..669195b33 100644 --- a/src/item_menu_icons.c +++ b/src/item_menu_icons.c @@ -583,7 +583,7 @@ static void sub_80D5070(u8 berryId) pal.data = gBerryPicTable[berryId].pal; pal.tag = 0x7544; - LoadCompressedObjectPalette(&pal); + LoadCompressedSpritePalette(&pal); LZDecompressWram(gBerryPicTable[berryId].tiles, &gDecompressionBuffer[0x1000]); sub_80D5018(&gDecompressionBuffer[0x1000], &gDecompressionBuffer[0]); } diff --git a/src/item_use.c b/src/item_use.c index 474b16ae1..f82071a17 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -38,7 +38,7 @@ #include "constants/vars.h" extern void(*gUnknown_0203A0F4)(u8 taskId); -extern void (*gUnknown_03006328)(u8, u16, TaskFunc); +extern void (*gUnknown_03006328)(u8, TaskFunc); extern void unknown_ItemMenu_Confirm(u8 taskId); extern void sub_81C5B14(u8 taskId); extern void ScriptUnfreezeEventObjects(void); @@ -52,7 +52,7 @@ extern u8 BattleFrontier_OutsideEast_EventScript_242CFC[]; extern int sub_80247BC(void); extern struct MapHeader* mapconnection_get_mapheader(struct MapConnection *connection); extern void SetUpItemUseCallback(u8 taskId); -extern void ItemUseCB_Medicine(u8, u16, TaskFunc); +extern void ItemUseCB_Medicine(u8, TaskFunc); extern void bag_menu_yes_no(u8, u8, const struct YesNoFuncTable*); extern void sub_81C5924(void); extern void sub_81C59BC(void); diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c index 1012a8e08..3d4f8a90d 100644 --- a/src/lilycove_lady.c +++ b/src/lilycove_lady.c @@ -5,7 +5,9 @@ #include "global.h" #include "main.h" #include "overworld.h" -#include "rom6.h" +#include "fldeff.h" +#include "field_specials.h" +#include "pokeblock.h" #include "event_data.h" #include "script.h" #include "random.h" diff --git a/src/link_rfu.c b/src/link_rfu.c index 2c6e22475..5f4beadee 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -2244,7 +2244,7 @@ void sub_800E0E8(void) { if (GetSpriteTileStartByTag(sWirelessStatusIndicatorSpriteSheet.tag) == 0xFFFF) { - LoadCompressedObjectPic(&sWirelessStatusIndicatorSpriteSheet); + LoadCompressedSpriteSheet(&sWirelessStatusIndicatorSpriteSheet); } LoadSpritePalette(&sWirelessStatusIndicatorSpritePalette); gWirelessStatusIndicatorSpriteId = 0xFF; diff --git a/src/list_menu.c b/src/list_menu.c index caf4b798d..2476fae26 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -1074,7 +1074,7 @@ u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 spriteSheet.data = sRedArrowOtherGfx; spriteSheet.size = 0x100; spriteSheet.tag = arrowInfo->tileTag; - LoadCompressedObjectPic(&spriteSheet); + LoadCompressedSpriteSheet(&spriteSheet); if (arrowInfo->palTag == SPRITE_INVALID_TAG) { @@ -1320,7 +1320,7 @@ static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor) spriteSheet.data = sSelectorOutlineGfx; spriteSheet.size = 0x100; spriteSheet.tag = cursor->tileTag; - LoadCompressedObjectPic(&spriteSheet); + LoadCompressedSpriteSheet(&spriteSheet); if (cursor->palTag == SPRITE_INVALID_TAG) { @@ -1405,7 +1405,7 @@ static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor) spriteSheet.data = sRedArrowGfx; spriteSheet.size = 0x80; spriteSheet.tag = cursor->tileTag; - LoadCompressedObjectPic(&spriteSheet); + LoadCompressedSpriteSheet(&spriteSheet); if (cursor->palTag == SPRITE_INVALID_TAG) { diff --git a/src/load_save.c b/src/load_save.c index 8ecf89959..963626428 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -3,6 +3,7 @@ #include "load_save.h" #include "main.h" #include "pokemon.h" +#include "pokemon_storage_system.h" #include "random.h" #include "alloc.h" #include "item.h" diff --git a/src/main_menu.c b/src/main_menu.c index e11f783eb..4cd5c8e14 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1394,7 +1394,7 @@ static void Task_NewGameBirchSpeech_ChooseGender(u8 taskId) gTasks[taskId].func = Task_NewGameBirchSpeech_WhatsYourName; break; } - gender2 = GetMenuCursorPos(); + gender2 = Menu_GetCursorPos(); if (gender2 != gTasks[taskId].tPlayerGender) { gTasks[taskId].tPlayerGender = gender2; diff --git a/src/menu.c b/src/menu.c index 61096138a..e0e5eb4eb 100644 --- a/src/menu.c +++ b/src/menu.c @@ -132,7 +132,7 @@ extern void sub_8197BB4(u8, u8, u8, u8, u8, u8); extern void sub_8197E30(u8, u8, u8, u8, u8, u8); extern void DrawWindowBorder(u8, u8, u8, u8, u8, u8); extern void sub_81980A8(u8, u8, u8, u8, u8, u8); -extern u8 MoveMenuCursor(s8); +extern u8 Menu_MoveCursor(s8); extern u8 sub_8199134(s8, s8); extern void sub_8198C78(void); extern void task_free_buf_after_copying_tile_data_to_vram(u8 taskId); @@ -910,7 +910,7 @@ u8 sub_8198348(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numC else gUnknown_0203CD90.cursorPos = pos; - MoveMenuCursor(0); + Menu_MoveCursor(0); return gUnknown_0203CD90.cursorPos; } @@ -935,7 +935,7 @@ void RedrawMenuCursor(u8 oldPos, u8 newPos) AddTextPrinterParameterized(gUnknown_0203CD90.windowId, gUnknown_0203CD90.fontId, gText_SelectorArrow3, gUnknown_0203CD90.left, gUnknown_0203CD90.optionHeight * newPos + gUnknown_0203CD90.top, 0, 0); } -u8 MoveMenuCursor(s8 cursorDelta) +u8 Menu_MoveCursor(s8 cursorDelta) { u8 oldPos = gUnknown_0203CD90.cursorPos; int newPos = gUnknown_0203CD90.cursorPos + cursorDelta; @@ -951,7 +951,7 @@ u8 MoveMenuCursor(s8 cursorDelta) return gUnknown_0203CD90.cursorPos; } -u8 MoveMenuCursorNoWrapAround(s8 cursorDelta) +u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta) { u8 oldPos = gUnknown_0203CD90.cursorPos; int newPos = gUnknown_0203CD90.cursorPos + cursorDelta; @@ -967,7 +967,7 @@ u8 MoveMenuCursorNoWrapAround(s8 cursorDelta) return gUnknown_0203CD90.cursorPos; } -u8 GetMenuCursorPos(void) +u8 Menu_GetCursorPos(void) { return gUnknown_0203CD90.cursorPos; } @@ -987,13 +987,13 @@ s8 Menu_ProcessInput(void) else if (gMain.newKeys & DPAD_UP) { PlaySE(SE_SELECT); - MoveMenuCursor(-1); + Menu_MoveCursor(-1); return MENU_NOTHING_CHOSEN; } else if (gMain.newKeys & DPAD_DOWN) { PlaySE(SE_SELECT); - MoveMenuCursor(1); + Menu_MoveCursor(1); return MENU_NOTHING_CHOSEN; } @@ -1016,13 +1016,13 @@ s8 Menu_ProcessInputNoWrap(void) } else if (gMain.newKeys & DPAD_UP) { - if (oldPos != MoveMenuCursorNoWrapAround(-1)) + if (oldPos != Menu_MoveCursorNoWrapAround(-1)) PlaySE(SE_SELECT); return MENU_NOTHING_CHOSEN; } else if (gMain.newKeys & DPAD_DOWN) { - if (oldPos != MoveMenuCursorNoWrapAround(1)) + if (oldPos != Menu_MoveCursorNoWrapAround(1)) PlaySE(SE_SELECT); return MENU_NOTHING_CHOSEN; } @@ -1045,13 +1045,13 @@ s8 ProcessMenuInput_other(void) else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) { PlaySE(SE_SELECT); - MoveMenuCursor(-1); + Menu_MoveCursor(-1); return MENU_NOTHING_CHOSEN; } else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) { PlaySE(SE_SELECT); - MoveMenuCursor(1); + Menu_MoveCursor(1); return MENU_NOTHING_CHOSEN; } @@ -1074,13 +1074,13 @@ s8 Menu_ProcessInputNoWrapAround_other(void) } else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) { - if (oldPos != MoveMenuCursorNoWrapAround(-1)) + if (oldPos != Menu_MoveCursorNoWrapAround(-1)) PlaySE(SE_SELECT); return MENU_NOTHING_CHOSEN; } else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) { - if (oldPos != MoveMenuCursorNoWrapAround(1)) + if (oldPos != Menu_MoveCursorNoWrapAround(1)) PlaySE(SE_SELECT); return MENU_NOTHING_CHOSEN; } @@ -1588,7 +1588,7 @@ u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, boo else gUnknown_0203CD90.cursorPos = pos; - return MoveMenuCursor(0); + return Menu_MoveCursor(0); } u8 InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 windowId, u8 itemCount, u8 initialCursorPos) @@ -1797,9 +1797,9 @@ bool8 free_temp_tile_data_buffers_if_possible(void) } } -void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode) +void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode) { - int sizeOut; + u32 sizeOut; if (gUnknown_0203CDA8 < ARRAY_COUNT(gUnknown_0203CDAC)) { void *ptr = malloc_and_decompress(src, &sizeOut); @@ -1815,9 +1815,9 @@ void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, return NULL; } -void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode) +void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode) { - int sizeOut; + u32 sizeOut; void *ptr = malloc_and_decompress(src, &sizeOut); if (!size) size = sizeOut; @@ -1838,7 +1838,7 @@ void task_free_buf_after_copying_tile_data_to_vram(u8 taskId) } } -void *malloc_and_decompress(const void *src, int *size) +void *malloc_and_decompress(const void *src, u32 *size) { void *ptr; u8 *sizeAsBytes = (u8 *)size; diff --git a/src/menu_helpers.c b/src/menu_helpers.c index a3c0be36a..0adc6228e 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -394,8 +394,8 @@ void sub_8122298(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3, u8 arg4) void LoadListMenuArrowsGfx(void) { - LoadCompressedObjectPic(&gUnknown_0859F514); - LoadCompressedObjectPalette(&gUnknown_0859F51C); + LoadCompressedSpriteSheet(&gUnknown_0859F514); + LoadCompressedSpritePalette(&gUnknown_0859F51C); } void sub_8122344(u8 *spriteIds, u8 count) diff --git a/src/mon_markings.c b/src/mon_markings.c index 30015dbef..48f0f5ecb 100644 --- a/src/mon_markings.c +++ b/src/mon_markings.c @@ -390,7 +390,6 @@ void sub_811FAF8(void) } } - bool8 sub_811FBA4(void) { u16 i; diff --git a/src/money.c b/src/money.c index a347f818d..faf830637 100644 --- a/src/money.c +++ b/src/money.c @@ -186,8 +186,8 @@ void HideMoneyBox(void) void AddMoneyLabelObject(u16 x, u16 y) { - LoadCompressedObjectPic(&sSpriteSheet_MoneyLabel); - LoadCompressedObjectPalette(&sSpritePalette_MoneyLabel); + LoadCompressedSpriteSheet(&sSpriteSheet_MoneyLabel); + LoadCompressedSpritePalette(&sSpritePalette_MoneyLabel); sMoneyLabelSpriteId = CreateSprite(&sSpriteTemplate_MoneyLabel, x, y, 0); } diff --git a/src/normal.c b/src/normal.c index e20f74588..95c99d29e 100644 --- a/src/normal.c +++ b/src/normal.c @@ -880,9 +880,9 @@ void sub_8116388(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); if (gBattleAnimArgs[2] == 0) - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); else - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); sprite->callback = RunStoredCallbackWhenAffineAnimEnds; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); @@ -892,9 +892,9 @@ static void sub_81163D0(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); if (gBattleAnimArgs[2] == 0) - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); else - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[4]; sprite->callback = RunStoredCallbackWhenAffineAnimEnds; @@ -916,9 +916,9 @@ void sub_8116458(struct Sprite *sprite) StartSpriteAffineAnim(sprite, gBattleAnimArgs[1]); if (gBattleAnimArgs[0] == 0) - InitAnimSpritePos(sprite, 0); + InitSpritePosToAnimAttacker(sprite, 0); else - sub_80A6980(sprite, FALSE); + InitSpritePosToAnimTarget(sprite, FALSE); sprite->pos2.x += (Random2() % 48) - 24; sprite->pos2.y += (Random2() % 24) - 12; @@ -942,9 +942,9 @@ void sub_81164F0(struct Sprite *sprite) void sub_8116560(struct Sprite *sprite) { if (gBattleAnimArgs[2] == 0) - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); else - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[3]; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); @@ -955,9 +955,9 @@ void sub_81165A8(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); if (gBattleAnimArgs[2] == 0) - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); else - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); sprite->callback = sub_81165E4; } diff --git a/src/overworld.c b/src/overworld.c index 6998c9d98..27bd0425a 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1340,7 +1340,7 @@ void UpdateAmbientCry(s16 *state, u16 *delayCounter) monsCount = CalculatePlayerPartyCount(); for (i = 0; i < monsCount; i++) { - if (!GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT3) + if (!GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_EGG) && GetMonAbility(&gPlayerParty[0]) == ABILITY_SWARM) { divBy = 2; diff --git a/src/party_menu.c b/src/party_menu.c new file mode 100755 index 000000000..f8e312217 --- /dev/null +++ b/src/party_menu.c @@ -0,0 +1,7434 @@ +#include "global.h" +#include "alloc.h" +#include "battle.h" +#include "battle_anim.h" +#include "battle_controllers.h" +#include "battle_gfx_sfx_util.h" +#include "battle_interface.h" +#include "battle_pike.h" +#include "battle_pyramid.h" +#include "battle_pyramid_bag.h" +#include "bg.h" +#include "contest.h" +#include "data2.h" +#include "decompress.h" +#include "easy_chat.h" +#include "event_data.h" +#include "evolution_scene.h" +#include "field_control_avatar.h" +#include "field_effect.h" +#include "field_player_avatar.h" +#include "field_screen_effect.h" +#include "field_specials.h" +#include "field_weather.h" +#include "fieldmap.h" +#include "fldeff.h" +#include "fldeff_misc.h" +#include "frontier_util.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "international_string_util.h" +#include "item.h" +#include "item_menu.h" +#include "item_use.h" +#include "link.h" +#include "link_rfu.h" +#include "mail.h" +#include "main.h" +#include "menu.h" +#include "menu_helpers.h" +#include "metatile_behavior.h" +#include "overworld.h" +#include "palette.h" +#include "party_menu.h" +#include "pokemon.h" +#include "pokemon_icon.h" +#include "pokemon_storage_system.h" +#include "pokemon_summary_screen.h" +#include "pokenav.h" +#include "region_map.h" +#include "reshow_battle_screen.h" +#include "rom_8011DC0.h" +#include "scanline_effect.h" +#include "script.h" +#include "sound.h" +#include "sprite.h" +#include "start_menu.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "text_window.h" +#include "trade.h" +#include "window.h" +#include "constants/battle.h" +#include "constants/battle_frontier.h" +#include "constants/field_effects.h" +#include "constants/flags.h" +#include "constants/items.h" +#include "constants/maps.h" +#include "constants/moves.h" +#include "constants/rgb.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "constants/vars.h" + +enum +{ + CAN_LEARN_MOVE, + CANNOT_LEARN_MOVE, + ALREADY_KNOWS_MOVE, + CANNOT_LEARN_MOVE_IS_EGG +}; + +struct Unk_Rodata1 +{ + void (*unk0)(u8, u8, u8, u8, u8, u8); + u8 unk4[24]; + u8 unk1C; + u8 unk1D; + u8 unk1E; + u8 unk1F; +}; + +struct Struct203CEC4 +{ + TaskFunc unk0; + MainCallback exitCallback; + u32 unk8_0:1; + u32 unk8_1:3; + u32 unk8_2:7; + u32 unk9_0:7; + u32 unkA_0:14; + u8 unkC[3]; + u8 unkF[8]; + u8 unk17; + u16 palBuffer[0xB0]; + u8 filler[0xA0]; + s16 data[16]; +}; + +struct Struct203CEDC +{ + const struct Unk_Rodata1 *unk0; + const u8 *unk4; + u8 windowId; + u8 unk9; + u8 unkA; + u8 unkB; + u8 unkC; +}; + +static EWRAM_DATA struct Struct203CEC4 *gUnknown_0203CEC4 = NULL; +EWRAM_DATA struct Struct203CEC8 gUnknown_0203CEC8 = {0}; +static EWRAM_DATA struct Struct203CEDC *gUnknown_0203CEDC = NULL; +static EWRAM_DATA u8 *gUnknown_0203CEE0 = NULL; +static EWRAM_DATA u8 *gUnknown_0203CEE4 = NULL; +EWRAM_DATA u8 gUnknown_0203CEE8 = 0; +EWRAM_DATA u8 gUnknown_0203CEE9 = 0; +EWRAM_DATA MainCallback gPostMenuFieldCallback = NULL; +static EWRAM_DATA u16 *gUnknown_0203CEF0 = 0; +static EWRAM_DATA u16 *gUnknown_0203CEF4 = 0; +EWRAM_DATA u8 gSelectedOrderFromParty[4] = {0}; +static EWRAM_DATA u16 gUnknown_0203CEFC = 0; +static EWRAM_DATA u16 gUnknown_0203CEFE = 0; // unused +EWRAM_DATA u8 gUnknown_0203CF00[3] = {0}; + +extern void (*gUnknown_03006328)(u8, TaskFunc); + +static void reset_brm(void); +static void PartyMenuInitCallback(void); +static bool8 PartyMenuSetup(void); +static void sub_81B209C(void); +static void PartyMenuExit(void); +static bool8 AllocPartyMenuBg(void); +static bool8 AllocPartyMiscGfx(void); +static void sub_81B239C(u8); +static void PartyMenuInitHelperStructs(u8); +static void LoadPartyMenuPokeballGfx(void); +static void LoadPartyMenuAilmentGfx(void); +static bool8 party_menu_add_per_mon_objects(void); +static bool8 RenderPartyMenuBoxes(void); +static void sub_81B0F28(void); +static void sub_81B2428(u8); +static void PartyMenuExitTask(u8); +static void FreePartyPointers(void); +static void PartyPaletteBufferCopy(u8); +static void sub_81B0CEC(u8); +static void UpdateSelectedPartyBox(struct Struct203CEDC *, u8); +static void sub_81B2720(u8); +static void DisplayPartyPokemonSelectForRelearner(u8); +static void DisplayPartyPokemonSelectForContest(u8); +static void DisplayPartyPokemonSelectForBattle(u8); +static void sub_81B0B98(u8); +static void DisplayPartyPokemonSelectHeldItemRelated(u8); +static bool8 sub_81B0BFC(u8); +static void DisplayPartyPokemonData(u8); +static void DisplayPartyPokemonNickname(struct Pokemon *, struct Struct203CEDC *, u8); +static void DisplayPartyPokemonLevelCheck(struct Pokemon *, struct Struct203CEDC *, u8); +static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *, struct Struct203CEDC *, u8); +static void DisplayPartyPokemonHPCheck(struct Pokemon *, struct Struct203CEDC *, u8); +static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *, struct Struct203CEDC *, u8); +static void DisplayPartyPokemonHPBarCheck(struct Pokemon *, struct Struct203CEDC *); +static void DisplayPartyPokemonOtherText(u8, struct Struct203CEDC *, u8); +static u8 sub_81B8830(void); +static bool8 GetBattleEntryEligibility(struct Pokemon *); +static bool8 sub_81B218C(u8); +static void DisplayPartyPokemonSelectToTeachMove(u8, u16, u8); +static u8 CanMonLearnTMTutor(struct Pokemon *, u16, u8); +static void DisplayPartyPokemonBarDetail(u8, const u8*, u8, const u8*); +static void DisplayPartyPokemonLevel(u8, struct Struct203CEDC *); +static void DisplayPartyPokemonGender(u8, u16, u8*, struct Struct203CEDC *); +static void DisplayPartyPokemonHP(u16, struct Struct203CEDC *); +static void DisplayPartyPokemonMaxHP(u16, struct Struct203CEDC *); +static void DisplayPartyPokemonHPBar(u16, u16, struct Struct203CEDC *); +static void party_menu_link_mon_icon_anim(u16, u32, struct Struct203CEDC *, u8, u32); +static void party_menu_link_mon_held_item_object(u16, u16, struct Struct203CEDC *); +static void party_menu_link_mon_pokeball_object(u16, struct Struct203CEDC *); +static void party_menu_link_mon_status_condition_object(u16, u8, struct Struct203CEDC *); +static void party_menu_held_item_object(struct Pokemon *, struct Struct203CEDC *); +static void party_menu_pokeball_object(struct Pokemon *, struct Struct203CEDC *); +static void party_menu_icon_anim(struct Pokemon *, struct Struct203CEDC *, u32); +static void party_menu_status_condition_object(struct Pokemon *, struct Struct203CEDC *); +static u8 sub_81B5F74(u8, u8); +static void sub_81B120C(void); +static u8 sub_81B5F34(u8, u8); +static void AnimateSelectedPartyIcon(u8, u8); +static void sub_81B5F98(u8, u8); +static u8 GetPartyBoxPalBitfield(u8, u8); +static bool8 PartyBoxPal_ParnterOrDisqualifiedInArena(u8); +static u8 sub_81B8F38(u8); +static void c3_0811FAB4(u8); +static void sub_81B9080(void); +static void sub_81B4F88(void); +static void sub_81B15D0(u8, s8*); +static void sub_81B140C(u8, s8*); +static u16 PartyMenuButtonHandler(s8*); +static s8* sub_81B13EC(void); +static bool8 sub_81B15A4(u8*); +static void sub_81B302C(u8*); +static void sub_81B9140(void); +static void sub_81B6794(u8); +static void sub_81B7E4C(u8); +static void sub_81B8474(u8); +static void sub_81B7FAC(u8); +static void sub_81B3938(u8); +static void sub_81B21AC(u8, u8); +static void sub_81B36FC(u8); +static void sub_81B407C(u8); +static void sub_81B2210(u8); +static bool8 sub_81B1660(u8); +static const u8* sub_81B88BC(void); +static void sub_81B16D4(u8); +static void sub_81B334C(void); +static void sub_81B1708(u8); +static void sub_81B1C1C(u8); +static void UpdateCurrentPartySelection(s8*, s8); +static void SetNewPartySelectTarget1(s8*, s8); +static void SetNewPartySelectTarget2(s8*, s8); +static s8 sub_81B1B00(s8, s8); +static void sub_81B3300(const u8*); +static void sub_81B1B8C(u8); +static void DisplayPartyPokemonHPCheck(struct Pokemon*, struct Struct203CEDC*, u8); +static void DisplayPartyPokemonHPBarCheck(struct Pokemon*, struct Struct203CEDC*); +static bool16 sub_81B2134(struct Pokemon*); +static bool16 sub_81B2164(struct Pokemon*); +static void sub_81B2248(u8); +static void sub_81B227C(u8); +static bool8 CanLearnTutorMove(u16, u8); +static u16 GetTutorMove(u8); +static bool8 sub_81B314C(void); +static void sub_81B3414(struct Pokemon*, u8); +static u8 sub_81B8A2C(struct Pokemon*); +static u8 sub_81B856C(s8); +static void sub_81B469C(u8); +static void HandleMenuInput(u8); +static void sub_81B3828(void); +static void pokemon_change_order(void); +static void sub_81B3894(void); +static void sub_81B3CC0(u8); +static void sub_81B3D48(u8); +static void swap_pokemon_and_oams(void); +static void sub_81B3E60(u8); +static void sub_81B41C4(void); +static void c2_8123744(void); +static void sub_81B452C(void); +static void sub_81B4350(u8); +static void sub_81B42D0(u8); +static void sub_81B43A8(u8); +static void sub_81B43DC(u8); +static void sub_81B44FC(u8); +static void sub_81B4578(void); +static void sub_81B4624(u8); +static void sub_81B5C94(struct Pokemon*, struct Struct203CEDC*); +static void sub_81B48A8(u8); +static void sub_81B48DC(u8); +static void sub_81B4988(u8); +static void sub_81B4A98(void); +static void sub_81B4AE0(void); +static void sub_81B4B6C(u8); +static void sub_81B4BA0(u8); +static void sub_81B4C60(u8); +static void sub_81B4C94(u8); +static bool8 sub_81B8A7C(void); +static void sub_81B53FC(u8); +static void sub_81B5430(u8); +static void task_brm_cancel_1_on_keypad_a_or_b(u8); +static void sub_81B5674(u8); +static void sub_81B57DC(void); +static void sub_81B5864(void); +static void sub_81B56A4(u8); +static void sub_81B56D8(u8); +static void task_launch_hm_phase_2(u8); +static u16 brm_get_selected_species(void); +static void sub_81B5B38(u8, struct Pokemon*); +static void UpdatePartyMonIconFrame(struct Sprite*); +static void UpdatePartyMonIconFrameAndBounce(struct Sprite*); +static void sub_81B5CB0(u16, struct Struct203CEDC*); +static void sub_81B5DF0(u8, u8); +static void sub_81B5E74(struct Sprite*); +static void party_menu_get_status_condition_and_update_object(struct Pokemon*, struct Struct203CEDC*); +static void party_menu_update_status_condition_object(u8, struct Struct203CEDC*); +static u8 sub_81B8984(void); +static void sub_81B6280(u8); +static void c2_815ABFC(void); +static void sub_81B672C(u8); +static u16 sub_81B691C(struct Pokemon*, u8); +static void option_menu_get_string(u8, u8*); +static void sub_81B6BB4(u8); +static void ether_effect_related_2(u8); +static void ether_effect_related(u8); +static void sub_81B6EB4(u8); +static void sub_81B6FF4(u8); +static void sub_81B6F60(u8); +static void sub_81B6F98(u8); +static void sub_81B77AC(u8); +static void sub_81B7028(u8); +static void sub_81B7088(u8); +static void sub_81B7230(u8); +static void sub_81B70B8(void); +static void sub_81B70F0(void); +static void sub_81B711C(u8); +static void sub_81B7154(u8); +static void sub_81B71D4(u8); +static void sub_81B7294(u8); +static void sub_81B72C8(u8); +static void sub_81B73E4(u8); +static void sub_81B79A0(struct Pokemon*, s16*); +static void sub_81B754C(u8, struct Pokemon*); +static void sub_81B75D4(u8); +static void sub_81B767C(u8); +static void sub_81B7634(u8); +static void sub_81B76C8(u8); +static void sub_81B7704(u8); +static void sub_81B7810(u8); +static void sub_81B787C(u8); +static void sub_81B7910(u8, u16); +static void sub_81B7A28(u8); +static void task_sacred_ash_party_loop(u8); +static void sub_81B7C10(u8); +static void sub_81B8044(u8); +static void sub_81B83B8(u8); +static void sub_81B82A0(u8); +static void sub_81B83F0(u16); +static void sub_81B814C(void); +static void sub_81B8088(u8); +static void sub_81B8104(u8); +static void sub_81B81A8(void); +static bool8 sub_81B841C(u16); +static void sub_81B8230(u8); +static void sub_81B82D4(u8); +static void sub_81B879C(u8); +static bool8 GetBattleEntryEligibility(struct Pokemon*); +static bool8 sub_81B8770(u8); +static u8 sub_81B8888(void); +static u8 sub_81B885C(void); +static void sub_81B87E8(u8); +static void sub_81B8C88(u8*, bool8); +static void sub_81B8D88(u8*, u8, u8); +static void sub_81B917C(u8); +static void sub_81B91B4(u8); +static void sub_81B9294(u8); +static void sub_81B9240(u8); +static void sub_81B9390(void); +static void task_hm_without_phase_2(u8); +static void sub_81B9424(u8); +static void sub_81B9470(void); +static void sub_81B94D0(u8); +static void sub_81B953C(u8); +static void sub_81B9588(void); +static void sub_81B9640(u8); +static void sub_81B97DC(struct Pokemon*, u8, u8); +static void BlitBitmapToPartyWindow_Default1(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 f); +static void BlitBitmapToPartyWindow_Default2(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 f); +static void CursorCb_Summary(u8 taskId); +static void CursorCb_Switch(u8 taskId); +static void CursorCb_Cancel1(u8 taskId); +static void CursorCb_Item(u8 taskId); +static void CursorCb_Give(u8 taskId); +static void CursorCb_TakeItem(u8 taskId); +static void CursorCb_Mail(u8 taskId); +static void CursorCb_Read(u8 taskId); +static void CursorCb_TakeMail(u8 taskId); +static void CursorCb_Cancel2(u8 taskId); +static void CursorCb_SendMon(u8 taskId); +static void CursorCb_Enter(u8 taskId); +static void CursorCb_NoEntry(u8 taskId); +static void CursorCb_Store(u8 taskId); +static void CursorCb_Register(u8 taskId); +static void CursorCb_Trade1(u8 taskId); +static void CursorCb_Trade2(u8 taskId); +static void CursorCb_Toss(u8 taskId); +static void CursorCb_FieldMove(u8 taskId); +static bool8 SetUpFieldMove_Surf(void); +static bool8 SetUpFieldMove_Fly(void); +static bool8 SetUpFieldMove_Waterfall(void); +static bool8 SetUpFieldMove_Dive(void); + +// static const data +#include "data/pokemon/tutor_learnsets.h" + +static const struct BgTemplate gUnknown_086156B8[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 28, + .screenSize = 1, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, +}; + +static const struct Unk_Rodata1 gUnknown_086156C4[] = +{ + {BlitBitmapToPartyWindow_Default1, {0x18, 0xB, 0x28, 0xD, 0x20, 0x14, 0x20, 8, 0x40, 0x14, 8, 8, 0x26, 0x25, 0x18, 8, 0x35, 0x25, 0x18, 8, 0x18, 0x23, 0x30, 3}, 0xC, 0x22, 0x40, 0x10}, + {BlitBitmapToPartyWindow_Default2, {0x16, 3, 0x28, 0xD, 0x1E, 0xC, 0x20, 8, 0x3E, 0xC, 8, 8, 0x66, 0xC, 0x18, 8, 0x75, 0xC, 0x18, 8, 0x58, 0xA, 0x30, 3}, 0x4D, 4, 0x40, 0x10}, +}; + +static const u8 gUnknown_08615704[][6][8] = +{ + { + {16, 40, 20, 50, 50, 52, 16, 34}, + {104, 18, 108, 28, 136, 27, 102, 25}, + {104, 42, 108, 52, 136, 51, 102, 49}, + {104, 66, 108, 76, 136, 75, 102, 73}, + {104, 90, 108, 100, 136, 99, 102, 97}, + {104, 114, 108, 124, 136, 123, 102, 121}, + }, + { + {16, 24, 20, 34, 50, 36, 16, 18}, + {16, 80, 20, 90, 50, 92, 16, 74}, + {104, 18, 108, 28, 136, 27, 102, 25}, + {104, 50, 108, 60, 136, 59, 102, 57}, + {104, 82, 108, 92, 136, 91, 102, 89}, + {104, 114, 108, 124, 136, 123, 102, 121}, + }, + { + {16, 24, 20, 34, 50, 36, 16, 18}, + {16, 80, 20, 90, 50, 92, 16, 74}, + {104, 26, 106, 36, 136, 35, 102, 33}, + {104, 50, 106, 60, 136, 59, 102, 57}, + {104, 82, 106, 92, 136, 91, 102, 89}, + {104, 106, 106, 116, 136, 115, 102, 113}, + }, + { + {16, 32, 20, 42, 50, 44, 16, 26}, + {104, 34, 106, 44, 136, 43, 102, 41}, + {104, 58, 106, 68, 136, 67, 102, 65}, + {16, 104, 20, 114, 50, 116, 16, 98}, + {104, 106, 106, 116, 136, 115, 102, 113}, + {104, 130, 106, 140, 136, 139, 102, 137}, + }, +}; + +static const u32 gUnknown_086157C4[] = INCBIN_U32("graphics/interface/unknown_6157C4.bin"); +static const u32 gUnknown_086157E0[] = INCBIN_U32("graphics/interface/unknown_6157E0.bin"); + +static const u8 gUnknown_086157FC[][3] = +{ + {0, 3, 2}, + {0, 1, 6}, + {0, 11, 12}, + {1, 2, 3}, + {1, 8, 9}, + {0, 1, 2}, +}; + +static const struct WindowTemplate gUnknown_08615810[] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 3, + .width = 10, + .height = 7, + .paletteNum = 3, + .baseBlock = 0x63, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 1, + .width = 18, + .height = 3, + .paletteNum = 4, + .baseBlock = 0xA9, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 4, + .width = 18, + .height = 3, + .paletteNum = 5, + .baseBlock = 0xDF, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 7, + .width = 18, + .height = 3, + .paletteNum = 6, + .baseBlock = 0x115, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 10, + .width = 18, + .height = 3, + .paletteNum = 7, + .baseBlock = 0x14B, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 13, + .width = 18, + .height = 3, + .paletteNum = 8, + .baseBlock = 0x181, + }, + { + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 28, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x1DF, + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate gUnknown_08615850[] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 10, + .height = 7, + .paletteNum = 3, + .baseBlock = 0x63, + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 8, + .width = 10, + .height = 7, + .paletteNum = 4, + .baseBlock = 0xA9, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 1, + .width = 18, + .height = 3, + .paletteNum = 5, + .baseBlock = 0xEF, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 5, + .width = 18, + .height = 3, + .paletteNum = 6, + .baseBlock = 0x125, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 9, + .width = 18, + .height = 3, + .paletteNum = 7, + .baseBlock = 0x15B, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 13, + .width = 18, + .height = 3, + .paletteNum = 8, + .baseBlock = 0x191, + }, + { + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 28, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x1DF, + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate gUnknown_08615890[] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 10, + .height = 7, + .paletteNum = 3, + .baseBlock = 0x63, + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 8, + .width = 10, + .height = 7, + .paletteNum = 4, + .baseBlock = 0xA9, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 2, + .width = 18, + .height = 3, + .paletteNum = 5, + .baseBlock = 0xEF, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 5, + .width = 18, + .height = 3, + .paletteNum = 6, + .baseBlock = 0x125, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 9, + .width = 18, + .height = 3, + .paletteNum = 7, + .baseBlock = 0x15B, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 12, + .width = 18, + .height = 3, + .paletteNum = 8, + .baseBlock = 0x191, + }, + { + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 28, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x1DF, + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate gUnknown_086158D0[] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 2, + .width = 10, + .height = 7, + .paletteNum = 3, + .baseBlock = 0x63, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 3, + .width = 18, + .height = 3, + .paletteNum = 5, + .baseBlock = 0xA9, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 6, + .width = 18, + .height = 3, + .paletteNum = 6, + .baseBlock = 0xDF, + }, + { + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 11, + .width = 10, + .height = 7, + .paletteNum = 4, + .baseBlock = 0x115, + }, + { + .bg = 2, + .tilemapLeft = 12, + .tilemapTop = 12, + .width = 18, + .height = 3, + .paletteNum = 7, + .baseBlock = 0x16B, + }, + { + .bg = 2, + .tilemapLeft = 12, + .tilemapTop = 15, + .width = 18, + .height = 3, + .paletteNum = 8, + .baseBlock = 0x1A1, + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate gUnknown_08615908 = +{ + .bg = 0, + .tilemapLeft = 24, + .tilemapTop = 17, + .width = 6, + .height = 2, + .paletteNum = 3, + .baseBlock = 0x1C7, +}; + +static const struct WindowTemplate gUnknown_08615910 = +{ + .bg = 0, + .tilemapLeft = 24, + .tilemapTop = 18, + .width = 6, + .height = 2, + .paletteNum = 3, + .baseBlock = 0x1C7, +}; + +static const struct WindowTemplate gUnknown_08615918 = +{ + .bg = 0, + .tilemapLeft = 24, + .tilemapTop = 16, + .width = 6, + .height = 2, + .paletteNum = 3, + .baseBlock = 0x1D3, +}; + +static const struct WindowTemplate gUnknown_08615920 = +{ + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 17, + .width = 21, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x24F, +}; + +static const struct WindowTemplate gUnknown_08615928 = +{ + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 17, + .width = 16, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x279, +}; + +static const struct WindowTemplate gUnknown_08615930 = +{ + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 17, + .width = 20, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x299, +}; + +static const struct WindowTemplate gUnknown_08615938 = +{ + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 17, + .width = 18, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x299, +}; + +static const struct WindowTemplate gUnknown_08615940 = +{ + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 17, + .width = 16, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x299, +}; + +static const struct WindowTemplate gUnknown_08615948 = +{ + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 20, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x299, +}; + +static const struct WindowTemplate gUnknown_08615950 = +{ + .bg = 2, + .tilemapLeft = 23, + .tilemapTop = 13, + .width = 6, + .height = 6, + .paletteNum = 14, + .baseBlock = 0x39D, +}; + +static const struct WindowTemplate gUnknown_08615958 = +{ + .bg = 2, + .tilemapLeft = 21, + .tilemapTop = 13, + .width = 8, + .height = 6, + .paletteNum = 14, + .baseBlock = 0x39D, +}; + +static const struct WindowTemplate gUnknown_08615960 = +{ + .bg = 2, + .tilemapLeft = 19, + .tilemapTop = 11, + .width = 10, + .height = 8, + .paletteNum = 14, + .baseBlock = 0x2E9, +}; + +static const struct WindowTemplate gUnknown_08615968 = +{ + .bg = 2, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x2E9, +}; + +static const struct WindowTemplate gUnknown_08615970 = +{ + .bg = 2, + .tilemapLeft = 19, + .tilemapTop = 1, + .width = 10, + .height = 11, + .paletteNum = 14, + .baseBlock = 0x2E9, +}; + +// Unused. +static const struct WindowTemplate gUnknown_08615978 = +{ + .bg = 2, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 27, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x1DF, +}; + +// Unused. +static const struct WindowTemplate gUnknown_08615980 = +{ + .bg = 2, + .tilemapLeft = 0, + .tilemapTop = 13, + .width = 18, + .height = 3, + .paletteNum = 12, + .baseBlock = 0x39D, +}; + +static const u8 gUnknown_08615988[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 40, 59, 60, 58, 58, 58, 58, 58, 58, 61, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 46, 47, 47, 47, 47, 47, 47, 47, 47, 48}; +static const u8 gUnknown_086159CE[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 40, 41, 41, 41, 41, 41, 41, 41, 41, 42, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 46, 47, 47, 47, 47, 47, 47, 47, 47, 48}; +static const u8 gUnknown_08615A14[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 49, 33, 33, 33, 33, 33, 33, 33, 33, 52, 53, 51, 51, 51, 51, 51, 51, 54, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57}; +static const u8 gUnknown_08615A4A[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 49, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 50, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57}; +static const u8 gUnknown_08615A80[] = {21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39}; +static const u8 gUnknown_08615AB6[] = {11, 12}; +static const u8 gUnknown_08615AB8[] = {9, 10}; +static const u8 gUnknown_08615ABA[] = {4, 5, 6}; +static const u8 gUnknown_08615ABD[] = {1, 7, 8}; +static const u8 gUnknown_08615AC0[] = {1, 11, 12}; +static const u8 gUnknown_08615AC3[] = {59, 60}; +static const u8 gUnknown_08615AC5[] = {75, 76}; +static const u8 gUnknown_08615AC7[] = {57, 58}; +static const u8 gUnknown_08615AC9[] = {73, 74}; +static const u8 gUnknown_08615ACB[] = {89, 90}; +static const u8 gUnknown_08615ACD[] = {52, 53, 54}; +static const u8 gUnknown_08615AD0[] = {68, 69, 70}; +static const u8 gUnknown_08615AD3[] = {84, 85, 86}; +static const u8 gUnknown_08615AD6[] = {116, 117, 118}; +static const u8 gUnknown_08615AD9[] = {132, 133, 134}; +static const u8 gUnknown_08615ADC[] = {148, 149, 150}; +static const u8 gUnknown_08615ADF[] = {100, 101, 102}; +static const u8 gUnknown_08615AE2[] = {49, 55, 56}; +static const u8 gUnknown_08615AE5[] = {65, 71, 72}; +static const u8 gUnknown_08615AE8[] = {81, 87, 88}; +static const u8 gUnknown_08615AEB[] = {97, 103, 104}; +static const u8 gUnknown_08615AEE[] = {161, 167, 168}; +static const u8 gUnknown_08615AF1[] = {17, 27, 28}; + +static const u8 *const gUnknown_08615AF4[] = +{ + gUnknown_085E9E43, + gUnknown_085EA010, + gUnknown_085EA02A, + gUnknown_085E9E55, + gUnknown_085E9E64, + gUnknown_085E9E79, + gUnknown_085E9E8F, + gUnknown_085E9EBC, + gUnknown_085E9ED4, + gUnknown_085E9EE9, + gUnknown_085E9FDB, + gUnknown_085EA046, + gUnknown_085EA05B, + gUnknown_085E9F01, + gUnknown_085E9F58, + gUnknown_085E9F6F, + gUnknown_085E9F81, + gUnknown_085E9F90, + gUnknown_085E9FA7, + gUnknown_085E9FC2, + gText_EmptyString2, + gUnknown_085E9EA6, + gUnknown_085E9F16, + gUnknown_085E9F2A, + gUnknown_085E9F42, + gUnknown_085E9FF9, + gUnknown_085EA073, +}; + +static const u8 *const gUnknown_08615B60[] = +{ + gUnknown_085EA091, + gUnknown_085EA099, + gUnknown_085EA09E, + gUnknown_085EA0A4, + gUnknown_085EA0AB, + gUnknown_085EA0E7, + gUnknown_085EA0B1, + gUnknown_085EA0B6, + gUnknown_085EA0BF, + gUnknown_085EA0C5, + gUnknown_085EA0CF, + gUnknown_085EA0D7, + gUnknown_085EA0DC, +}; + +// Unknown unused data. Feel free to remove. +static const u16 gUnknown_08615B94[] = +{ + 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071, + 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068, + 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d, + 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123, +}; + +enum +{ + MENU_SUMMARY, + MENU_SWITCH, + MENU_CANCEL1, + MENU_ITEM, + MENU_GIVE, + MENU_TAKE_ITEM, + MENU_MAIL, + MENU_TAKE_MAIL, + MENU_READ, + MENU_CANCEL2, + MENU_SHIFT, + MENU_SEND_OUT, + MENU_ENTER, + MENU_NO_ENTRY, + MENU_STORE, + MENU_REGISTER, + MENU_TRADE1, + MENU_TRADE2, + MENU_TOSS, + MENU_FIELD_MOVES, +}; + +enum +{ + FIELD_MOVE_CUT, + FIELD_MOVE_FLASH, + FIELD_MOVE_ROCK_SMASH, + FIELD_MOVE_STRENGTH, + FIELD_MOVE_SURF, + FIELD_MOVE_FLY, + FIELD_MOVE_DIVE, + FIELD_MOVE_WATERFALL, + FIELD_MOVE_TELEPORT, + FIELD_MOVE_DIG, + FIELD_MOVE_SECRET_POWER, + FIELD_MOVE_MILK_DRINK, + FIELD_MOVE_SOFT_BOILED, + FIELD_MOVE_SWEET_SCENT, +}; + +// What a weird choice of table termination; +#define FIELD_MOVE_TERMINATOR MOVE_SWORDS_DANCE + +struct +{ + const u8 *text; + TaskFunc func; +} static const sCursorOptions[] = +{ + [MENU_SUMMARY] = {gText_Summary5, CursorCb_Summary}, + [MENU_SWITCH] = {gText_Switch2, CursorCb_Switch}, + [MENU_CANCEL1] = {gText_Cancel2, CursorCb_Cancel1}, + [MENU_ITEM] = {gText_Item, CursorCb_Item}, + [MENU_GIVE] = {gMenuText_Give, CursorCb_Give}, + [MENU_TAKE_ITEM] = {gText_Take, CursorCb_TakeItem}, + [MENU_MAIL] = {gText_Mail, CursorCb_Mail}, + [MENU_TAKE_MAIL] = {gText_Take2, CursorCb_TakeMail}, + [MENU_READ] = {gText_Read2, CursorCb_Read}, + [MENU_CANCEL2] = {gText_Cancel2, CursorCb_Cancel2}, + [MENU_SHIFT] = {gText_Shift, CursorCb_SendMon}, + [MENU_SEND_OUT] = {gText_SendOut, CursorCb_SendMon}, + [MENU_ENTER] = {gText_Enter, CursorCb_Enter}, + [MENU_NO_ENTRY] = {gText_NoEntry, CursorCb_NoEntry}, + [MENU_STORE] = {gText_Store, CursorCb_Store}, + [MENU_REGISTER] = {gText_Register, CursorCb_Register}, + [MENU_TRADE1] = {gText_Trade4, CursorCb_Trade1}, + [MENU_TRADE2] = {gText_Trade4, CursorCb_Trade2}, + [MENU_TOSS] = {gMenuText_Toss, CursorCb_Toss}, + [MENU_FIELD_MOVES + FIELD_MOVE_CUT] = {gMoveNames[MOVE_CUT], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_FLASH] = {gMoveNames[MOVE_FLASH], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_ROCK_SMASH] = {gMoveNames[MOVE_ROCK_SMASH], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_STRENGTH] = {gMoveNames[MOVE_STRENGTH], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_SURF] = {gMoveNames[MOVE_SURF], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_FLY] = {gMoveNames[MOVE_FLY], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_DIVE] = {gMoveNames[MOVE_DIVE], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_WATERFALL] = {gMoveNames[MOVE_WATERFALL], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_TELEPORT] = {gMoveNames[MOVE_TELEPORT], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_DIG] = {gMoveNames[MOVE_DIG], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_SECRET_POWER] = {gMoveNames[MOVE_SECRET_POWER], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_MILK_DRINK] = {gMoveNames[MOVE_MILK_DRINK], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_SOFT_BOILED] = {gMoveNames[MOVE_SOFT_BOILED], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_SWEET_SCENT] = {gMoveNames[MOVE_SWEET_SCENT], CursorCb_FieldMove}, +}; + +static const u8 gUnknown_08615D10[] = {0, 1, 2}; +static const u8 gUnknown_08615D13[] = {10, 0, 2}; +static const u8 gUnknown_08615D16[] = {11, 0, 2}; +static const u8 gUnknown_08615D19[] = {0, 2}; +static const u8 gUnknown_08615D1B[] = {12, 0, 2}; +static const u8 gUnknown_08615D1E[] = {13, 0, 2}; +static const u8 gUnknown_08615D21[] = {14, 0, 2}; +static const u8 gUnknown_08615D24[] = {4, 5, 9}; +static const u8 gUnknown_08615D27[] = {8, 7, 9}; +static const u8 gUnknown_08615D2A[] = {15, 0, 2}; +static const u8 gUnknown_08615D2D[] = {16, 0, 2}; +static const u8 gUnknown_08615D30[] = {17, 0, 2}; +static const u8 gUnknown_08615D33[] = {5, 18, 2}; + +static const u8 *const gUnknown_08615D38[] = +{ + NULL, + gUnknown_08615D10, + gUnknown_08615D13, + gUnknown_08615D16, + gUnknown_08615D1B, + gUnknown_08615D1E, + gUnknown_08615D21, + gUnknown_08615D19, + gUnknown_08615D24, + gUnknown_08615D27, + gUnknown_08615D2A, + gUnknown_08615D2D, + gUnknown_08615D30, + gUnknown_08615D33, +}; + +static const u8 gUnknown_08615D70[] = {0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03}; + +static const u16 sFieldMoves[] = +{ + MOVE_CUT, MOVE_FLASH, MOVE_ROCK_SMASH, MOVE_STRENGTH, MOVE_SURF, MOVE_FLY, MOVE_DIVE, MOVE_WATERFALL, MOVE_TELEPORT, + MOVE_DIG, MOVE_SECRET_POWER, MOVE_MILK_DRINK, MOVE_SOFT_BOILED, MOVE_SWEET_SCENT, FIELD_MOVE_TERMINATOR +}; + +struct +{ + bool8 (*fieldMoveFunc)(void); + u8 msgId; +} static const sFieldMoveCursorCallbacks[] = +{ + [FIELD_MOVE_CUT] = {SetUpFieldMove_Cut, 0x07}, + [FIELD_MOVE_FLASH] = {SetUpFieldMove_Flash, 0x0d}, + [FIELD_MOVE_ROCK_SMASH] = {SetUpFieldMove_RockSmash, 0x0d}, + [FIELD_MOVE_STRENGTH] = {SetUpFieldMove_Strength, 0x0d}, + [FIELD_MOVE_SURF] = {SetUpFieldMove_Surf, 0x08}, + [FIELD_MOVE_FLY] = {SetUpFieldMove_Fly, 0x0d}, + [FIELD_MOVE_DIVE] = {SetUpFieldMove_Dive, 0x0d}, + [FIELD_MOVE_WATERFALL] = {SetUpFieldMove_Waterfall, 0x0d}, + [FIELD_MOVE_TELEPORT] = {SetUpFieldMove_Teleport, 0x0d}, + [FIELD_MOVE_DIG] = {SetUpFieldMove_Dig, 0x0d}, + [FIELD_MOVE_SECRET_POWER] = {SetUpFieldMove_SecretPower, 0x0d}, + [FIELD_MOVE_MILK_DRINK] = {SetUpFieldMove_SoftBoiled, 0x10}, + [FIELD_MOVE_SOFT_BOILED] = {SetUpFieldMove_SoftBoiled, 0x10}, + [FIELD_MOVE_SWEET_SCENT] = {SetUpFieldMove_SweetScent, 0x0d}, +}; + +static const u8 *const gUnknown_08615E0C[] = +{ + gText_NotPkmnOtherTrainerWants, + gText_ThatIsntAnEgg, + gText_PkmnCantBeTradedNow, + gText_PkmnCantBeTradedNow, + gText_OtherTrainersPkmnCantBeTraded, + gText_EggCantBeTradedNow, + gText_OtherTrainerCantAcceptPkmn, + gText_CantTradeWithTrainer, + gText_CantTradeWithTrainer, +}; + +static const u32 gUnknown_08615E30[] = INCBIN_U32("graphics/interface/hold_icons.4bpp"); +static const u16 gUnknown_08615E70[] = INCBIN_U16("graphics/interface/hold_icons.gbapal"); + +static const struct OamData gOamData_83765EC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd gSpriteAnim_83765F4[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_83765FC[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8376604[] = +{ + gSpriteAnim_83765F4, + gSpriteAnim_83765FC, +}; + +static const struct SpriteSheet gUnknown_08615EB0 = +{ + gUnknown_08615E30, sizeof(gUnknown_08615E30), 0xd750 +}; + +static const struct SpritePalette gUnknown_08615EB8 = +{ + gUnknown_08615E70, 0xd750 +}; + +static const struct SpriteTemplate gSpriteTemplate_8615EC0 = +{ + 0xd750, + 0xd750, + &gOamData_83765EC, + gSpriteAnimTable_8376604, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +static const struct OamData sOamData_8615ED8 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_8615EE0[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615EE8[] = +{ + ANIMCMD_FRAME(16, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_8615EF0[] = +{ + sSpriteAnim_8615EE0, + sSpriteAnim_8615EE8 +}; + +static const struct CompressedSpriteSheet gUnknown_08615EF8 = +{ + gPartyMenuPokeball_Gfx, 0x400, 0x04b0 +}; + +static const struct CompressedSpritePalette gUnknown_08615F00 = +{ + gPartyMenuPokeball_Pal, 0x04b0 +}; + +static const struct SpriteTemplate gSpriteTemplate_8615F08 = +{ + .tileTag = 0x04b0, + .paletteTag = 0x04b0, + .oam = &sOamData_8615ED8, + .anims = sSpriteAnimTable_8615EF0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct OamData sOamData_8615F20 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_8615F28[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615F30[] = +{ + ANIMCMD_FRAME(4, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615F38[] = +{ + ANIMCMD_FRAME(8, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615F40[] = +{ + ANIMCMD_FRAME(12, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615F48[] = +{ + ANIMCMD_FRAME(16, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615F50[] = +{ + ANIMCMD_FRAME(20, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_8615F58[] = +{ + sSpriteAnim_8615F28, + sSpriteAnim_8615F30, + sSpriteAnim_8615F38, + sSpriteAnim_8615F40, + sSpriteAnim_8615F48, + sSpriteAnim_8615F50 +}; + +static const struct CompressedSpriteSheet gUnknown_08615F70 = +{ + gPartyMenuPokeballSmall_Gfx, 0x0300, 0x04b1 +}; + +static const struct SpriteTemplate gSpriteTemplate_8615F78 = +{ + .tileTag = 1201, + .paletteTag = 1200, + .oam = &sOamData_8615F20, + .anims = sSpriteAnimTable_8615F58, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct OamData sOamData_8615F90 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_8615F98[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615FA0[] = +{ + ANIMCMD_FRAME(4, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615FA8[] = +{ + ANIMCMD_FRAME(8, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615FB0[] = +{ + ANIMCMD_FRAME(12, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615FB8[] = +{ + ANIMCMD_FRAME(16, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615FC0[] = +{ + ANIMCMD_FRAME(20, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615FC8[] = +{ + ANIMCMD_FRAME(24, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8615FD0[] = +{ + ANIMCMD_FRAME(28, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_8615FD8[] = +{ + sSpriteAnim_8615F98, + sSpriteAnim_8615FA0, + sSpriteAnim_8615FA8, + sSpriteAnim_8615FB0, + sSpriteAnim_8615FB8, + sSpriteAnim_8615FC0, + sSpriteAnim_8615FC8, + sSpriteAnim_8615FD0 +}; + +static const struct CompressedSpriteSheet gUnknown_08615FF8 = +{ + gStatusGfx_Icons, 0x400, 1202 +}; + +static const struct CompressedSpritePalette gUnknown_08616000 = +{ + gStatusPal_Icons, 1202 +}; + +static const struct SpriteTemplate gSpriteTemplate_8616008 = +{ + .tileTag = 1202, + .paletteTag = 1202, + .oam = &sOamData_8615F90, + .anims = sSpriteAnimTable_8615FD8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const u8 gUnknown_08616020[] = {0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00}; + +// Unused table of pointers to strings of statistics. +static const u8 *const gUnknown_08616028[] = +{ + gText_HP4, + gText_Attack3, + gText_Defense3, + gText_SpAtk4, + gText_SpDef4, + gText_Speed2 +}; + +static const u16 gTMHMMoves[] = +{ + MOVE_FOCUS_PUNCH, + MOVE_DRAGON_CLAW, + MOVE_WATER_PULSE, + MOVE_CALM_MIND, + MOVE_ROAR, + MOVE_TOXIC, + MOVE_HAIL, + MOVE_BULK_UP, + MOVE_BULLET_SEED, + MOVE_HIDDEN_POWER, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_ICE_BEAM, + MOVE_BLIZZARD, + MOVE_HYPER_BEAM, + MOVE_LIGHT_SCREEN, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_GIGA_DRAIN, + MOVE_SAFEGUARD, + MOVE_FRUSTRATION, + MOVE_SOLAR_BEAM, + MOVE_IRON_TAIL, + MOVE_THUNDERBOLT, + MOVE_THUNDER, + MOVE_EARTHQUAKE, + MOVE_RETURN, + MOVE_DIG, + MOVE_PSYCHIC, + MOVE_SHADOW_BALL, + MOVE_BRICK_BREAK, + MOVE_DOUBLE_TEAM, + MOVE_REFLECT, + MOVE_SHOCK_WAVE, + MOVE_FLAMETHROWER, + MOVE_SLUDGE_BOMB, + MOVE_SANDSTORM, + MOVE_FIRE_BLAST, + MOVE_ROCK_TOMB, + MOVE_AERIAL_ACE, + MOVE_TORMENT, + MOVE_FACADE, + MOVE_SECRET_POWER, + MOVE_REST, + MOVE_ATTRACT, + MOVE_THIEF, + MOVE_STEEL_WING, + MOVE_SKILL_SWAP, + MOVE_SNATCH, + MOVE_OVERHEAT, + MOVE_CUT, + MOVE_FLY, + MOVE_SURF, + MOVE_STRENGTH, + MOVE_FLASH, + MOVE_ROCK_SMASH, + MOVE_WATERFALL, + MOVE_DIVE, +}; + +// code +static void InitPartyMenu(u8 a, u8 b, u8 c, u8 d, u8 e, TaskFunc task, MainCallback callback) +{ + u16 i; + + reset_brm(); + gUnknown_0203CEC4 = Alloc(sizeof(struct Struct203CEC4)); + if (gUnknown_0203CEC4 == NULL) + { + SetMainCallback2(callback); + } + else + { + gUnknown_0203CEC8.unk8_0 = a; + gUnknown_0203CEC8.exitCallback = callback; + gUnknown_0203CEC8.unkB = c; + gUnknown_0203CEC4->unkA_0 = e; + gUnknown_0203CEC4->unk0 = task; + gUnknown_0203CEC4->exitCallback = NULL; + gUnknown_0203CEC4->unk8_1 = 0; + gUnknown_0203CEC4->unk8_2 = 0xFF; + gUnknown_0203CEC4->unk9_0 = 0xFF; + + if (a == 4) + gUnknown_0203CEC4->unk8_0 = TRUE; + else + gUnknown_0203CEC4->unk8_0 = FALSE; + + if (b != 0xFF) + gUnknown_0203CEC8.mode = b; + + for (i = 0; i <= 15; i++) + gUnknown_0203CEC4->data[i] = 0; + for (i = 0; i < 3; i++) + gUnknown_0203CEC4->unkC[i] |= 0xFF; + + if (d == 0) + gUnknown_0203CEC8.unk9 = 0; + else if (gUnknown_0203CEC8.unk9 > 5 || GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES) == SPECIES_NONE) + gUnknown_0203CEC8.unk9 = 0; // wut why is this else if? + + gTextFlags.autoScroll = 0; + CalculatePlayerPartyCount(); + SetMainCallback2(PartyMenuInitCallback); + } +} + +static void PartyMenuCallback(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +static void PartyMenuVBlankCallback(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void PartyMenuInitCallback(void) +{ + while (TRUE) + { + if (sub_81221EC() == TRUE || PartyMenuSetup() == TRUE || sub_81221AC() == TRUE) + break; + } +} + +static bool8 PartyMenuSetup(void) +{ + switch (gMain.state) + { + case 0: + SetVBlankHBlankCallbacksToNull(); + ResetVramOamAndBgCntRegs(); + clear_scheduled_bg_copies_to_vram(); + gMain.state++; + break; + case 1: + ScanlineEffect_Stop(); + gMain.state++; + break; + case 2: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = TRUE; + gMain.state++; + break; + case 3: + ResetSpriteData(); + gMain.state++; + break; + case 4: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 5: + if (!sub_81221AC()) + ResetTasks(); + gMain.state++; + break; + case 6: + sub_81B209C(); + gMain.state++; + break; + case 7: + if (!AllocPartyMenuBg()) + { + PartyMenuExit(); + return TRUE; + } + else + { + gUnknown_0203CEC4->data[0] = 0; + gMain.state++; + } + break; + case 8: + if (AllocPartyMiscGfx()) + gMain.state++; + break; + case 9: + sub_81B239C(gUnknown_0203CEC8.mode); + gMain.state++; + break; + case 10: + PartyMenuInitHelperStructs(gUnknown_0203CEC8.mode); + gUnknown_0203CEC4->data[0] = 0; + gMain.state++; + break; + case 11: + LoadHeldItemIcons(); + gMain.state++; + break; + case 12: + LoadPartyMenuPokeballGfx(); + gMain.state++; + break; + case 13: + LoadPartyMenuAilmentGfx(); + gMain.state++; + break; + case 14: + LoadMonIconPalettes(); + gMain.state++; + break; + case 15: + if (party_menu_add_per_mon_objects()) + { + gUnknown_0203CEC4->data[0] = 0; + gMain.state++; + } + break; + case 16: + if (RenderPartyMenuBoxes()) + { + gUnknown_0203CEC4->data[0] = 0; + gMain.state++; + } + break; + case 17: + sub_81B0F28(); + gMain.state++; + break; + case 18: + sub_81B2428(gUnknown_0203CEC4->unk8_0); + gMain.state++; + break; + case 19: + gMain.state++; + break; + case 20: + CreateTask(gUnknown_0203CEC4->unk0, 0); + display_pokemon_menu_message(gUnknown_0203CEC4->unkA_0); + gMain.state++; + break; + case 21: + BlendPalettes(0xFFFFFFFF, 16, 0); + gPaletteFade.bufferTransferDisabled = FALSE; + gMain.state++; + break; + case 22: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gMain.state++; + break; + default: + SetVBlankCallback(PartyMenuVBlankCallback); + SetMainCallback2(PartyMenuCallback); + return TRUE; + } + return FALSE; +} + +static void PartyMenuExit(void) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + CreateTask(PartyMenuExitTask, 0); + SetVBlankCallback(PartyMenuVBlankCallback); + SetMainCallback2(PartyMenuCallback); +} + +static void PartyMenuExitTask(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(gUnknown_0203CEC8.exitCallback); + FreePartyPointers(); + DestroyTask(taskId); + } +} + +static void reset_brm(void) +{ + gUnknown_0203CEC4 = NULL; + gUnknown_0203CEE4 = NULL; + gUnknown_0203CEDC = NULL; + gUnknown_0203CEE0 = NULL; +} + +static bool8 AllocPartyMenuBg(void) +{ + gUnknown_0203CEE4 = Alloc(0x800); + if (gUnknown_0203CEE4 == NULL) + return FALSE; + + memset(gUnknown_0203CEE4, 0, 0x800); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_086156B8, ARRAY_COUNT(gUnknown_086156B8)); + SetBgTilemapBuffer(1, gUnknown_0203CEE4); + ResetAllBgsCoordinates(); + schedule_bg_copy_tilemap_to_vram(1); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + ShowBg(0); + ShowBg(1); + ShowBg(2); + return TRUE; +} + +static bool8 AllocPartyMiscGfx(void) +{ + int sizeout; + + switch (gUnknown_0203CEC4->data[0]) + { + case 0: + gUnknown_0203CEE0 = malloc_and_decompress(gPartyMenuMisc_Gfx, &sizeout); + LoadBgTiles(1, gUnknown_0203CEE0, sizeout, 0); + gUnknown_0203CEC4->data[0]++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + LZDecompressWram(gPartyMenuMisc_Tilemap, gUnknown_0203CEE4); + gUnknown_0203CEC4->data[0]++; + } + break; + case 2: + LoadCompressedPalette(gPartyMenuMisc_Pal, 0, 0x160); + CpuCopy16(gPlttBufferUnfaded, gUnknown_0203CEC4->palBuffer, 0x160); + gUnknown_0203CEC4->data[0]++; + break; + case 3: + PartyPaletteBufferCopy(4); + gUnknown_0203CEC4->data[0]++; + break; + case 4: + PartyPaletteBufferCopy(5); + gUnknown_0203CEC4->data[0]++; + break; + case 5: + PartyPaletteBufferCopy(6); + gUnknown_0203CEC4->data[0]++; + break; + case 6: + PartyPaletteBufferCopy(7); + gUnknown_0203CEC4->data[0]++; + break; + case 7: + PartyPaletteBufferCopy(8); + gUnknown_0203CEC4->data[0]++; + break; + default: + return TRUE; + } + return FALSE; +} + +static void PartyPaletteBufferCopy(u8 offset) +{ + offset *= 16; + CpuCopy16(&gPlttBufferUnfaded[0x30], &gPlttBufferUnfaded[offset], 32); + CpuCopy16(&gPlttBufferUnfaded[0x30], &gPlttBufferFaded[offset], 32); +} + +static void FreePartyPointers(void) +{ + if (gUnknown_0203CEC4) + Free(gUnknown_0203CEC4); + if (gUnknown_0203CEE4) + Free(gUnknown_0203CEE4); + if (gUnknown_0203CEE0) + Free(gUnknown_0203CEE0); + if (gUnknown_0203CEDC) + Free(gUnknown_0203CEDC); + FreeAllWindowBuffers(); +} + +static void PartyMenuInitHelperStructs(u8 a) +{ + u8 i; + + gUnknown_0203CEDC = Alloc(sizeof(struct Struct203CEDC[PARTY_SIZE])); + + for (i = 0; i < PARTY_SIZE; i++) + { + gUnknown_0203CEDC[i].unk0 = &gUnknown_086156C4[1]; + gUnknown_0203CEDC[i].unk4 = gUnknown_08615704[a][i]; + gUnknown_0203CEDC[i].windowId = i; + gUnknown_0203CEDC[i].unk9 |= 0xFF; + gUnknown_0203CEDC[i].unkA |= 0xFF; + gUnknown_0203CEDC[i].unkB |= 0xFF; + gUnknown_0203CEDC[i].unkC |= 0xFF; + } + gUnknown_0203CEDC[0].unk0 = &gUnknown_086156C4[0]; + if (a == 3) + gUnknown_0203CEDC[3].unk0 = &gUnknown_086156C4[0]; + else if (a != 0) + gUnknown_0203CEDC[1].unk0 = &gUnknown_086156C4[0]; +} + +static void RenderPartyMenuBox(u8 slot) +{ + if (gUnknown_0203CEC8.unk8_0 == 5 && slot > 2) + { + sub_81B0CEC(slot); + if (gUnknown_02022FF8[slot - 3].species == SPECIES_NONE) + UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 0x40); + else + UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 8); + CopyWindowToVram(gUnknown_0203CEDC[slot].windowId, 2); + PutWindowTilemap(gUnknown_0203CEDC[slot].windowId); + schedule_bg_copy_tilemap_to_vram(2); + } + else + { + if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) == SPECIES_NONE) + { + sub_81B2720(gUnknown_0203CEDC[slot].windowId); + UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 0x40); + CopyWindowToVram(gUnknown_0203CEDC[slot].windowId, 2); + } + else + { + if (gUnknown_0203CEC8.unk8_0 == 7) + DisplayPartyPokemonSelectForRelearner(slot); + else if (gUnknown_0203CEC8.unk8_0 == 2) + DisplayPartyPokemonSelectForContest(slot); + else if (gUnknown_0203CEC8.unk8_0 == 4) + DisplayPartyPokemonSelectForBattle(slot); + else if (gUnknown_0203CEC8.unk8_0 == 11) + sub_81B0B98(slot); + else if (gUnknown_0203CEC8.unk8_0 == 12) + DisplayPartyPokemonSelectHeldItemRelated(slot); + else if (!sub_81B0BFC(slot)) + DisplayPartyPokemonData(slot); + + if (gUnknown_0203CEC8.unk8_0 == 5) + sub_81B0FCC(slot, 0); + else if (gUnknown_0203CEC8.unk9 == slot) + sub_81B0FCC(slot, 1); + else + sub_81B0FCC(slot, 0); + } + PutWindowTilemap(gUnknown_0203CEDC[slot].windowId); + schedule_bg_copy_tilemap_to_vram(0); + } +} + +static void DisplayPartyPokemonData(u8 slot) +{ + if (GetMonData(&gPlayerParty[slot], MON_DATA_IS_EGG)) + { + gUnknown_0203CEDC[slot].unk0->unk0(gUnknown_0203CEDC[slot].windowId, 0, 0, 0, 0, 1); + DisplayPartyPokemonNickname(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0); + } + else + { + gUnknown_0203CEDC[slot].unk0->unk0(gUnknown_0203CEDC[slot].windowId, 0, 0, 0, 0, 0); + DisplayPartyPokemonNickname(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0); + DisplayPartyPokemonLevelCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0); + DisplayPartyPokemonGenderNidoranCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0); + DisplayPartyPokemonHPCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0); + DisplayPartyPokemonMaxHPCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0); + DisplayPartyPokemonHPBarCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]); + } +} + +static void DisplayPartyPokemonSelectData(u8 slot, u8 stringID) +{ + struct Pokemon *mon = &gPlayerParty[slot]; + + gUnknown_0203CEDC[slot].unk0->unk0(gUnknown_0203CEDC[slot].windowId, 0, 0, 0, 0, 1); + DisplayPartyPokemonNickname(mon, &gUnknown_0203CEDC[slot], 0); + if (!GetMonData(mon, MON_DATA_IS_EGG)) + { + DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[slot], 0); + DisplayPartyPokemonGenderNidoranCheck(mon, &gUnknown_0203CEDC[slot], 0); + } + DisplayPartyPokemonOtherText(stringID, &gUnknown_0203CEDC[slot], 0); +} + +static void DisplayPartyPokemonSelectForBattle(u8 slot) +{ + u8 i; + struct Pokemon *mon = &gPlayerParty[slot]; + u8 *ptr = gSelectedOrderFromParty; + + if (!GetBattleEntryEligibility(mon)) + { + DisplayPartyPokemonSelectData(slot, 7); + return; + } + else + { + for (i = 0; i < sub_81B8830(); i++) + { + if (ptr[i] != 0 && (ptr[i] - 1) == slot) + { + DisplayPartyPokemonSelectData(slot, i + 2); + return; + } + } + DisplayPartyPokemonSelectData(slot, 1); + } +} + +static void DisplayPartyPokemonSelectForContest(u8 slot) +{ + switch (sub_80DAE0C(&gPlayerParty[slot])) + { + case 0: + case 3: + case 4: + DisplayPartyPokemonSelectData(slot, 7); + break; + case 1: + case 2: + DisplayPartyPokemonSelectData(slot, 6); + break; + } +} + +static void DisplayPartyPokemonSelectForRelearner(u8 slot) +{ + if (GetNumberOfRelearnableMoves(&gPlayerParty[slot]) == 0) + DisplayPartyPokemonSelectData(slot, 9); + else + DisplayPartyPokemonSelectData(slot, 8); +} + +static void sub_81B0B98(u8 slot) +{ + if (sub_81B218C(slot) == TRUE) + DisplayPartyPokemonSelectData(slot, 6); + else + DisplayPartyPokemonSelectData(slot, 7); +} + +static void DisplayPartyPokemonSelectHeldItemRelated(u8 slot) +{ + if (GetMonData(&gPlayerParty[slot], MON_DATA_HELD_ITEM)) + DisplayPartyPokemonSelectData(slot, 11); + else + DisplayPartyPokemonSelectData(slot, 12); +} + +static bool8 sub_81B0BFC(u8 slot) +{ + struct Pokemon *currentPokemon = &gPlayerParty[slot]; + u16 item = gSpecialVar_ItemId; + + if (gUnknown_0203CEC8.unkB == 12) + { + gSpecialVar_Result = FALSE; + DisplayPartyPokemonSelectToTeachMove(slot, 0, gSpecialVar_0x8005); + } + else + { + if (gUnknown_0203CEC8.unkB != 3) + return FALSE; + + switch (CheckIfItemIsTMHMOrEvolutionStone(item)) + { + default: + return FALSE; + case 1: + DisplayPartyPokemonSelectToTeachMove(slot, item, 0); + break; + case 2: + if (!GetMonData(currentPokemon, MON_DATA_IS_EGG) && GetEvolutionTargetSpecies(currentPokemon, 3, item) != SPECIES_NONE) + return FALSE; + DisplayPartyPokemonSelectData(slot, 0); + break; + } + } + return TRUE; +} + +static void DisplayPartyPokemonSelectToTeachMove(u8 slot, u16 item, u8 tutor) +{ + switch (CanMonLearnTMTutor(&gPlayerParty[slot], item, tutor)) + { + case CANNOT_LEARN_MOVE: + case CANNOT_LEARN_MOVE_IS_EGG: + DisplayPartyPokemonSelectData(slot, 9); + break; + case ALREADY_KNOWS_MOVE: + DisplayPartyPokemonSelectData(slot, 10); + break; + default: + DisplayPartyPokemonSelectData(slot, 8); + break; + } +} + +static void sub_81B0CEC(u8 slot) +{ + struct Struct203CEDC *structPtr = &gUnknown_0203CEDC[slot]; + u8 actualSlot = slot - 3; + + if (gUnknown_02022FF8[actualSlot].species == SPECIES_NONE) + { + sub_81B2720(structPtr->windowId); + } + else + { + structPtr->unk0->unk0(structPtr->windowId, 0, 0, 0, 0, 0); + StringCopy(gStringVar1, gUnknown_02022FF8[actualSlot].nickname); + StringGetEnd10(gStringVar1); + sub_81DB52C(gStringVar1); + DisplayPartyPokemonBarDetail(structPtr->windowId, gStringVar1, 0, structPtr->unk0->unk4); + DisplayPartyPokemonLevel(gUnknown_02022FF8[actualSlot].level, structPtr); + DisplayPartyPokemonGender(gUnknown_02022FF8[actualSlot].gender, gUnknown_02022FF8[actualSlot].species, gUnknown_02022FF8[actualSlot].nickname, structPtr); + DisplayPartyPokemonHP(gUnknown_02022FF8[actualSlot].hp, structPtr); + DisplayPartyPokemonMaxHP(gUnknown_02022FF8[actualSlot].maxhp, structPtr); + DisplayPartyPokemonHPBar(gUnknown_02022FF8[actualSlot].hp, gUnknown_02022FF8[actualSlot].maxhp, structPtr); + } +} + +static bool8 RenderPartyMenuBoxes(void) +{ + RenderPartyMenuBox(gUnknown_0203CEC4->data[0]); + if (++gUnknown_0203CEC4->data[0] == 6) + return TRUE; + return FALSE; +} + +static u8* GetPartyMiscGraphicsTile(u16 tileId) +{ + return &gUnknown_0203CEE0[tileId << 5]; +} + +static void party_menu_add_per_mon_objects_internal(u8 slot) +{ + u8 actualSlot; + + if (gUnknown_0203CEC8.unk8_0 == 5 && slot > 2) + { + u8 status; + actualSlot = slot - 3; + + if (gUnknown_02022FF8[actualSlot].species != SPECIES_NONE) + { + party_menu_link_mon_icon_anim(gUnknown_02022FF8[actualSlot].species, gUnknown_02022FF8[actualSlot].personality, &gUnknown_0203CEDC[slot], 0, 0); + party_menu_link_mon_held_item_object(gUnknown_02022FF8[actualSlot].species, gUnknown_02022FF8[actualSlot].heldItem, &gUnknown_0203CEDC[slot]); + party_menu_link_mon_pokeball_object(gUnknown_02022FF8[actualSlot].species, &gUnknown_0203CEDC[slot]); + if (gUnknown_02022FF8[actualSlot].hp == 0) + status = AILMENT_FNT; + else + status = pokemon_ailments_get_primary(gUnknown_02022FF8[actualSlot].status); + party_menu_link_mon_status_condition_object(gUnknown_02022FF8[actualSlot].species, status, &gUnknown_0203CEDC[slot]); + } + } + else if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) != SPECIES_NONE) + { + party_menu_icon_anim(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], slot); + party_menu_held_item_object(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]); + party_menu_pokeball_object(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]); + party_menu_status_condition_object(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]); + } +} + +static bool8 party_menu_add_per_mon_objects(void) +{ + party_menu_add_per_mon_objects_internal(gUnknown_0203CEC4->data[0]); + if (++gUnknown_0203CEC4->data[0] == 6) + return TRUE; + return FALSE; +} + +static void sub_81B0F28(void) +{ + if (gUnknown_0203CEC8.unk8_0 == 5) + { + FillBgTilemapBufferRect(1, 14, 23, 17, 7, 2, 1); + } + else + { + if (gUnknown_0203CEC4->unk8_0) + { + gUnknown_0203CEC4->unk8_2 = sub_81B5F74(0xBF, 0x88); + sub_81B120C(); + gUnknown_0203CEC4->unk9_0 = sub_81B5F74(0xBF, 0x98); + } + else + { + gUnknown_0203CEC4->unk9_0 = sub_81B5F34(0xC6, 0x94); + } + sub_81B0FCC(gUnknown_0203CEC8.unk9, 1); + } +} + +void sub_81B0FCC(u8 slot, u8 b) +{ + u8 spriteId; + + switch (slot) + { + default: + if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) != SPECIES_NONE) + { + UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], GetPartyBoxPalBitfield(slot, b)); + AnimateSelectedPartyIcon(gUnknown_0203CEDC[slot].unk9, b); + sub_81B5F98(gUnknown_0203CEDC[slot].unkB, b); + } + return; + case 6: + if (b == 0) + sub_8199C30(1, 23, 16, 7, 2, 1); + else + sub_8199C30(1, 23, 16, 7, 2, 2); + spriteId = gUnknown_0203CEC4->unk8_2; + break; + case 7: + if (!gUnknown_0203CEC4->unk8_0) + { + if (b == 0) + sub_8199C30(1, 23, 17, 7, 2, 1); + else + sub_8199C30(1, 23, 17, 7, 2, 2); + } + else if (b == 0) + { + sub_8199C30(1, 23, 18, 7, 2, 1); + } + else + { + sub_8199C30(1, 23, 18, 7, 2, 2); + } + spriteId = gUnknown_0203CEC4->unk9_0; + break; + } + sub_81B5F98(spriteId, b); + schedule_bg_copy_tilemap_to_vram(1); +} + +static u8 GetPartyBoxPalBitfield(u8 slot, u8 b) +{ + u8 returnVar = 0; + if (b == 1) + returnVar |= 1; + if (GetMonData(&gPlayerParty[slot], MON_DATA_HP) == 0) + returnVar |= 2; + if (PartyBoxPal_ParnterOrDisqualifiedInArena(slot) == TRUE) + returnVar |= 8; + if (gUnknown_0203CEC8.unkB == 9) + returnVar |= 16; + if (gUnknown_0203CEC8.unkB == 8) + { + if (slot == gUnknown_0203CEC8.unk9 || slot == gUnknown_0203CEC8.unkA) + returnVar |= 4; + } + if (gUnknown_0203CEC8.unkB == 10 && slot == gUnknown_0203CEC8.unk9 ) + returnVar |= 32; + + return returnVar; +} + +static bool8 PartyBoxPal_ParnterOrDisqualifiedInArena(u8 slot) +{ + if (gUnknown_0203CEC8.mode == 2 && (slot == 1 || slot == 4 || slot == 5)) + return TRUE; + + if (slot < 3 && (gBattleTypeFlags & BATTLE_TYPE_ARENA) && gMain.inBattle && (gBattleStruct->arenaLostPlayerMons >> sub_81B8F38(slot) & 1)) + return TRUE; + + return FALSE; +} + +static void sub_81B120C(void) +{ + CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_086157C4, 23, 16, 7, 2, 17); + CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_086157E0, 23, 18, 7, 2, 17); + schedule_bg_copy_tilemap_to_vram(1); +} + +bool8 IsMultiBattle(void) +{ + if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattleTypeFlags & BATTLE_TYPE_TRAINER && gMain.inBattle) + return TRUE; + else + return FALSE; +} + +static void sub_81B1288(struct Pokemon *partySlot, struct Pokemon *pokemon) +{ + struct Pokemon *temp = Alloc(sizeof(struct Pokemon)); + + *temp = *partySlot; + *partySlot = *pokemon; + *pokemon = *temp; + + Free(temp); +} + +static void sub_81B12C0(u8 taskId) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gTasks[taskId].func = c3_0811FAB4; +} + +static void c3_0811FAB4(u8 taskId) +{ + if (!gPaletteFade.active) + { + if (gUnknown_0203CEC8.unk8_0 == 1) + sub_81B9080(); + + if (gUnknown_0203CEC4->exitCallback != NULL) + SetMainCallback2(gUnknown_0203CEC4->exitCallback); + else + SetMainCallback2(gUnknown_0203CEC8.exitCallback); + + ResetSpriteData(); + FreePartyPointers(); + DestroyTask(taskId); + } +} + +u8 GetCursorSelectionMonId(void) +{ + return gUnknown_0203CEC8.unk9; +} + +u8 sub_81B1360(void) +{ + return gUnknown_0203CEC8.unk8_0; +} + +void sub_81B1370(u8 taskId) +{ + if (!gPaletteFade.active && sub_81221EC() != TRUE) + { + s8 *ptr = sub_81B13EC(); + + switch (PartyMenuButtonHandler(ptr)) + { + case 1: + sub_81B140C(taskId, ptr); + break; + case 2: + sub_81B15D0(taskId, ptr); + break; + case 8: + if (gUnknown_0203CEC4->unk8_0) + { + PlaySE(SE_SELECT); + sub_81B4F88(); + } + break; + } + } +} + +static s8* sub_81B13EC(void) +{ + if (gUnknown_0203CEC8.unkB == 8 || gUnknown_0203CEC8.unkB == 10) + return &gUnknown_0203CEC8.unkA; + return &gUnknown_0203CEC8.unk9; +} + +static void sub_81B140C(u8 taskId, s8 *ptr) +{ + if (*ptr == 6) + { + gUnknown_0203CEC8.unk4(taskId); + } + else + { + switch (gUnknown_0203CEC8.unkB - 3) + { + case 7: + if (sub_81B15A4((u8*)ptr)) + { + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81615A8(taskId); + } + break; + case 0: + if (sub_81B15A4((u8*)ptr)) + { + if (gUnknown_0203CEC8.unk8_0 == 1) + gUnknown_0203CEC4->exitCallback = sub_81B9140; + + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + gUnknown_03006328(taskId, sub_81B6794); + } + break; + case 9: + if (sub_81B15A4((u8*)ptr)) + { + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B7E4C(taskId); + } + break; + case 4: + if (sub_81B15A4((u8*)ptr)) + { + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B8474(taskId); + } + break; + case 2: + case 3: + if (sub_81B15A4((u8*)ptr)) + { + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B7FAC(taskId); + } + break; + case 5: + PlaySE(SE_SELECT); + sub_81B3938(taskId); + break; + case 8: + PlaySE(SE_SELECT); + sub_81B12C0(taskId); + break; + case 10: + if (sub_81B15A4((u8*)ptr)) + { + sub_81B21AC(taskId, (u8)*ptr); + } + break; + default: + case 1: + case 6: + PlaySE(SE_SELECT); + sub_81B36FC(taskId); + break; + } + } +} + +static bool8 sub_81B15A4(u8 *slotPtr) +{ + if (GetMonData(&gPlayerParty[*slotPtr], MON_DATA_IS_EGG) == TRUE) + { + PlaySE(SE_HAZURE); + return FALSE; + } + return TRUE; +} + +static void sub_81B15D0(u8 taskId, s8 *ptr) +{ + switch (gUnknown_0203CEC8.unkB) + { + case 1: + PlaySE(SE_HAZURE); + break; + case 8: + case 10: + PlaySE(SE_SELECT); + sub_81B407C(taskId); + break; + case 13: + PlaySE(SE_SELECT); + sub_81B2210(taskId); + break; + default: + PlaySE(SE_SELECT); + if (sub_81B1660(taskId) != TRUE) + { + if (!sub_81221AC()) + gSpecialVar_0x8004 = 7; + gUnknown_0203CEE8 = 0; + *ptr = 7; + sub_81B12C0(taskId); + } + break; + } +} + +static bool8 sub_81B1660(u8 taskId) +{ + const u8* stringPtr = NULL; + + if (gUnknown_0203CEC8.unk8_0 == 2) + stringPtr = gText_CancelParticipation; + else if (gUnknown_0203CEC8.unk8_0 == 4) + stringPtr = sub_81B88BC(); + + if (stringPtr == NULL) + return FALSE; + + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + StringExpandPlaceholders(gStringVar4, stringPtr); + sub_81B1B5C(gStringVar4, 1); + gTasks[taskId].func = sub_81B16D4; + return TRUE; +} + +static void sub_81B16D4(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + sub_81B334C(); + gTasks[taskId].func = sub_81B1708; + } +} + +static void sub_81B1708(u8 taskId) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + gUnknown_0203CEE8 = 0; + gUnknown_0203CEC8.unk9 = 7; + sub_81B8558(); + sub_81B12C0(taskId); + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + case 1: + sub_81B1C1C(taskId); + break; + } +} + +static u16 PartyMenuButtonHandler(s8 *ptr) +{ + s8 movementDir; + + switch (gMain.newAndRepeatedKeys) + { + case DPAD_UP: + movementDir = -1; + break; + case DPAD_DOWN: + movementDir = 1; + break; + case DPAD_LEFT: + movementDir = -2; + break; + case DPAD_RIGHT: + movementDir = 2; + break; + default: + switch (sub_812210C()) + { + case 1: + movementDir = -1; + break; + case 2: + movementDir = 1; + break; + default: + movementDir = 0; + break; + } + break; + } + + if (gMain.newKeys & START_BUTTON) + return 8; + + if (movementDir) + { + UpdateCurrentPartySelection(ptr, movementDir); + return 0; + } + + if ((gMain.newKeys & A_BUTTON) && *ptr == 7) + return 2; + + return gMain.newKeys & (A_BUTTON | B_BUTTON); +} + +static void UpdateCurrentPartySelection(s8 *ptr, s8 movementDir) +{ + s8 slot = *ptr; + u8 mode = gUnknown_0203CEC8.mode; + + if (mode == 0) + SetNewPartySelectTarget1(ptr, movementDir); + else + SetNewPartySelectTarget2(ptr, movementDir); + + if (*ptr != slot) + { + PlaySE(SE_SELECT); + sub_81B0FCC(slot, 0); + sub_81B0FCC(*ptr, 1); + } +} + +static void SetNewPartySelectTarget1(s8 *ptr, s8 b) +{ + switch (b) + { + case -1: + if (*ptr == 0) + { + *ptr = 7; + } + else if (*ptr == 6) + { + *ptr = gPlayerPartyCount - 1; + } + else if (*ptr == 7) + { + if (gUnknown_0203CEC4->unk8_0) + *ptr = 6; + else + *ptr = gPlayerPartyCount - 1; + } + else + { + (*ptr)--; + } + break; + case 1: + if (*ptr == 7) + { + *ptr = 0; + } + else + { + if (*ptr == gPlayerPartyCount - 1) + { + if (gUnknown_0203CEC4->unk8_0) + *ptr = 6; + else + *ptr = 7; + } + else + { + (*ptr)++; + } + } + break; + case 2: + if (gPlayerPartyCount != 1 && *ptr == 0) + { + if (gUnknown_0203CEC4->unk8_1 == 0) + *ptr = 1; + else + *ptr = gUnknown_0203CEC4->unk8_1; + } + break; + case -2: + if (*ptr != 0 && *ptr != 6 && *ptr != 7) + { + gUnknown_0203CEC4->unk8_1 = *ptr; + *ptr = 0; + } + break; + } +} + +static void SetNewPartySelectTarget2(s8 *ptr, s8 b) +{ + s8 unk2 = b; + + switch (b) + { + case -1: + if (*ptr == 0) + { + *ptr = 7; + break; + } + else if (*ptr == 6) + { + *ptr = gPlayerPartyCount - 1; + break; + } + else if (*ptr == 7) + { + if (gUnknown_0203CEC4->unk8_0) + { + *ptr = 6; + break; + } + (*ptr)--; + } + unk2 = sub_81B1B00(*ptr, unk2); + if (unk2 != -1) + *ptr = unk2; + break; + case 1: + if (*ptr == 6) + { + *ptr = 7; + } + else if (*ptr == 7) + { + *ptr = 0; + } + else + { + unk2 = sub_81B1B00(*ptr, 1); + if (unk2 == -1) + { + if (gUnknown_0203CEC4->unk8_0) + *ptr = 6; + else + *ptr = 7; + } + else + { + *ptr = unk2; + } + } + break; + case 2: + if (*ptr == 0) + { + if (gUnknown_0203CEC4->unk8_1 == 3) + { + if (GetMonData(&gPlayerParty[3], MON_DATA_SPECIES) != SPECIES_NONE) + *ptr = 3; + } + else if (GetMonData(&gPlayerParty[2], MON_DATA_SPECIES) != SPECIES_NONE) + { + *ptr = 2; + } + } + else if (*ptr == 1) + { + if (gUnknown_0203CEC4->unk8_1 == 5) + { + if (GetMonData(&gPlayerParty[5], MON_DATA_SPECIES) != SPECIES_NONE) + *ptr = 5; + } + else if (GetMonData(&gPlayerParty[4], MON_DATA_SPECIES) != SPECIES_NONE) + { + *ptr = 4; + } + } + break; + case -2: + if (*ptr == 2 || *ptr == 3) + { + gUnknown_0203CEC4->unk8_1 = *ptr; + *ptr = 0; + } + else if (*ptr == 4 || *ptr == 5) + { + gUnknown_0203CEC4->unk8_1 = *ptr; + *ptr = 1; + } + break; + } +} + +static s8 sub_81B1B00(s8 a, s8 b) +{ + while (TRUE) + { + a += b; + if ((u8)a >= 6) + return -1; + if (GetMonData(&gPlayerParty[a], MON_DATA_SPECIES) != SPECIES_NONE) + return a; + } +} + +u8* GetMonNickname(struct Pokemon *mon, u8 *dest) +{ + GetMonData(mon, MON_DATA_NICKNAME, dest); + return StringGetEnd10(dest); +} + +u8 sub_81B1B5C(const u8* str, u8 b) +{ + u8 taskId; + + sub_81B3300(str); + taskId = CreateTask(sub_81B1B8C, 1); + gTasks[taskId].data[0] = b; + return taskId; +} + +static void sub_81B1B8C(u8 taskId) +{ + if (RunTextPrintersRetIsActive(6) != TRUE) + { + if (gTasks[taskId].data[0] == 0) + { + sub_8198070(6, 0); + ClearWindowTilemap(6); + } + DestroyTask(taskId); + } +} + +bool8 sub_81B1BD4(void) +{ + return FuncIsActiveTask(sub_81B1B8C); +} + +static void sub_81B1BE8(u8 taskId) +{ + if (sub_81221EC() != TRUE) + { + display_pokemon_menu_message(0); + gTasks[taskId].func = sub_81B1370; + } +} + +static void sub_81B1C1C(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + sub_8198070(6, 0); + ClearWindowTilemap(6); + if (sub_81221AC() == TRUE) + { + gTasks[taskId].func = sub_81B1BE8; + } + else + { + display_pokemon_menu_message(0); + gTasks[taskId].func = sub_81B1370; + } + } +} + +static void sub_81B1C84(struct Pokemon *mon, u16 item, u8 c, u8 unused) +{ + GetMonNickname(mon, gStringVar1); + CopyItemName(item, gStringVar2); + StringExpandPlaceholders(gStringVar4, gText_PkmnWasGivenItem); + sub_81B1B5C(gStringVar4, c); + schedule_bg_copy_tilemap_to_vram(2); +} + +static void sub_81B1CD0(struct Pokemon *mon, u16 item, u8 c) +{ + GetMonNickname(mon, gStringVar1); + CopyItemName(item, gStringVar2); + StringExpandPlaceholders(gStringVar4, gText_RecievedItemFromPkmn); + sub_81B1B5C(gStringVar4, c); + schedule_bg_copy_tilemap_to_vram(2); +} + +static void sub_81B1D1C(struct Pokemon *mon, u16 item, u8 c) +{ + GetMonNickname(mon, gStringVar1); + CopyItemName(item, gStringVar2); + StringExpandPlaceholders(gStringVar4, gText_SwitchPkmnItem); + sub_81B1B5C(gStringVar4, c); + schedule_bg_copy_tilemap_to_vram(2); +} + +static void sub_81B1D68(u16 item, u16 item2, u8 c) +{ + CopyItemName(item, gStringVar1); + CopyItemName(item2, gStringVar2); + StringExpandPlaceholders(gStringVar4, gText_SwitchedPkmnItem); + sub_81B1B5C(gStringVar4, c); + schedule_bg_copy_tilemap_to_vram(2); +} + +static void sub_81B1DB8(struct Pokemon *mon, u16 item) +{ + u8 itemBytes[2]; + + if (ItemIsMail(item) == TRUE) + { + if (GiveMailToMon(mon, item) == 0xFF) + return; + } + itemBytes[0] = item; + itemBytes[1] = item >> 8; + SetMonData(mon, MON_DATA_HELD_ITEM, itemBytes); +} + +static u8 sub_81B1E00(struct Pokemon* mon) +{ + u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); + + if (item == ITEM_NONE) + return 0; + if (AddBagItem(item, 1) == FALSE) + return 1; + + item = ITEM_NONE; + SetMonData(mon, MON_DATA_HELD_ITEM, &item); + return 2; +} + +static void pokemon_item_not_removed(u16 itemUnused) +{ + StringExpandPlaceholders(gStringVar4, gText_BagFullCouldNotRemoveItem); +} + +static void sub_81B1E60(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + data[0] += data[2]; + data[3]--; + SetMonData(&gPlayerParty[data[4]], MON_DATA_HP, &data[0]); + DisplayPartyPokemonHPCheck(&gPlayerParty[data[4]], &gUnknown_0203CEDC[data[4]], 1); + DisplayPartyPokemonHPBarCheck(&gPlayerParty[data[4]], &gUnknown_0203CEDC[data[4]]); + if (data[3] == 0 || data[0] == 0 || data[0] == data[1]) + { + if (data[0] > data[5]) + ConvertIntToDecimalStringN(gStringVar2, data[0] - data[5], 0, 3); + SwitchTaskToFollowupFunc(taskId); + } +} + +void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func) +{ + struct Pokemon *mon = &gPlayerParty[slot]; + s16 *data = gTasks[taskId].data; + + data[0] = GetMonData(mon, MON_DATA_HP); + data[1] = GetMonData(mon, MON_DATA_MAX_HP); + data[2] = c; + data[3] = HPDifference; + data[4] = slot; + data[5] = data[0]; + SetTaskFuncWithFollowupFunc(taskId, sub_81B1E60, func); +} + +static void sub_81B1FA8(u8 taskId, u8 b, u32 hp) +{ + s16 *data = gTasks[taskId].data; + + switch (b) // only case 0 is used + { + case 0: + data[0] = hp; + data[5] = hp; + break; + case 1: + data[1] = hp; + break; + case 2: + data[2] = hp; + break; + case 3: + data[3] = hp; + break; + case 4: + data[4] = hp; + break; + case 5: + SetTaskFuncWithFollowupFunc(taskId, sub_81B1E60, (TaskFunc)hp); // >casting hp as a taskfunc + break; + } +} + +u8 pokemon_ailments_get_primary(u32 status) +{ + if (status & STATUS1_PSN_ANY) + return AILMENT_PSN; + if (status & STATUS1_PARALYSIS) + return AILMENT_PRZ; + if (status & STATUS1_SLEEP) + return AILMENT_SLP; + if (status & STATUS1_FREEZE) + return AILMENT_FRZ; + if (status & STATUS1_BURN) + return AILMENT_BRN; + return AILMENT_NONE; +} + +u8 sub_81B205C(struct Pokemon *mon) +{ + u8 ailment; + + if (GetMonData(mon, MON_DATA_HP) == 0) + return AILMENT_FNT; + ailment = pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)); + if (ailment != AILMENT_NONE) + return ailment; + if (CheckPartyPokerus(mon, 0)) + return AILMENT_PKRS; + return AILMENT_NONE; +} + +static void sub_81B209C(void) +{ + u16 *ptr; + + if (gUnknown_0203CEC8.unk8_0 == 11) + { + u8 i; + + ptr = &gUnknown_0203CEC8.unkE; + gUnknown_0203CEC8.unkE = 0; + if (gSpecialVar_0x8005 == 0) + { + for (i = 0; i < gPlayerPartyCount; i++) + *ptr += sub_81B2134(&gPlayerParty[i]) << i; + } + else + { + for (i = 0; i < gPlayerPartyCount; i++) + *ptr += sub_81B2164(&gPlayerParty[i]) << i; + } + } +} + +static bool16 sub_81B2134(struct Pokemon *mon) +{ + if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && sub_802C908(GetMonData(mon, MON_DATA_SPECIES))) + return TRUE; + return FALSE; +} + +// Dodrio Berry Picking select? + +static bool16 sub_81B2164(struct Pokemon *mon) +{ + if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_DODRIO) + return TRUE; + return FALSE; +} + +static bool8 sub_81B218C(u8 slot) +{ + if (!((gUnknown_0203CEC8.unkE >> slot) & 1)) + return FALSE; + return TRUE; +} + +static void sub_81B21AC(u8 taskId, u8 slot) +{ + if (sub_81B218C(slot) == TRUE) + { + PlaySE(SE_SELECT); + gSpecialVar_0x8004 = slot; + sub_81B12C0(taskId); + } + else + { + PlaySE(SE_HAZURE); + sub_81B1B5C(gText_PkmnCantParticipate, 0); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_81B1C1C; + } +} + +static void sub_81B2210(u8 taskId) +{ + sub_81B1B5C(gText_CancelParticipation, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_81B2248; +} + +static void sub_81B2248(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + sub_81B334C(); + gTasks[taskId].func = sub_81B227C; + } +} + +static void sub_81B227C(u8 taskId) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + gSpecialVar_0x8004 = 7; + sub_81B12C0(taskId); + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + case 1: + gTasks[taskId].func = sub_81B1C1C; + break; + } +} + +static u8 CanMonLearnTMTutor(struct Pokemon *mon, u16 item, u8 tutor) +{ + u16 move; + + if (GetMonData(mon, MON_DATA_IS_EGG)) + return CANNOT_LEARN_MOVE_IS_EGG; + + if (item >= ITEM_TM01_FOCUS_PUNCH) + { + if (CanMonLearnTMHM(mon, item - ITEM_TM01_FOCUS_PUNCH)) + move = ItemIdToBattleMoveId(item); + else + return CANNOT_LEARN_MOVE; + do {} while (0); // :morphon: + } + else if (CanLearnTutorMove(GetMonData(mon, MON_DATA_SPECIES), tutor) == FALSE) + { + return CANNOT_LEARN_MOVE; + } + else + { + move = GetTutorMove(tutor); + } + + if (MonKnowsMove(mon, move) == TRUE) + return ALREADY_KNOWS_MOVE; + else + return CAN_LEARN_MOVE; +} + +static u16 GetTutorMove(u8 tutor) +{ + return gTutorMoves[tutor]; +} + +static bool8 CanLearnTutorMove(u16 species, u8 tutor) +{ + if (sTutorLearnsets[species] & (1 << tutor)) + return TRUE; + else + return FALSE; +} + +static void sub_81B239C(u8 a) +{ + u8 i; + + switch (a) + { + case 0: + InitWindows(gUnknown_08615810); + break; + case 1: + InitWindows(gUnknown_08615850); + break; + case 2: + InitWindows(gUnknown_08615890); + break; + default: + InitWindows(gUnknown_086158D0); + break; + } + DeactivateAllTextPrinters(); + for (i = 0; i < PARTY_SIZE; i++) + FillWindowPixelBuffer(i, 0); + LoadUserWindowBorderGfx(0, 0x4F, 0xD0); + LoadPalette(GetOverworldTextboxPalettePtr(), 0xE0, 0x20); + LoadPalette(gUnknown_0860F074, 0xF0, 0x20); +} + +static void sub_81B2428(bool8 a) +{ + u8 firstWindowId; + u8 windowId; + u8 offset; + u8 mainOffset; + + if (gUnknown_0203CEC8.unk8_0 != 5) + { + if (a == TRUE) + { + firstWindowId = AddWindow(&gUnknown_08615918); + FillWindowPixelBuffer(firstWindowId, 0); + mainOffset = GetStringCenterAlignXOffset(0, gMenuText_Confirm, 48); + AddTextPrinterParameterized4(firstWindowId, 0, mainOffset, 1, 0, 0, gUnknown_086157FC[0], -1, gMenuText_Confirm); + PutWindowTilemap(firstWindowId); + CopyWindowToVram(firstWindowId, 2); + windowId = AddWindow(&gUnknown_08615910); + offset = 0; + } + else + { + windowId = AddWindow(&gUnknown_08615908); + offset = 3; + } + FillWindowPixelBuffer(windowId, 0); + if (gUnknown_0203CEC8.unk8_0 != 10) + { + mainOffset = GetStringCenterAlignXOffset(0, gText_Cancel, 48); + AddTextPrinterParameterized3(windowId, 0, mainOffset + offset, 1, gUnknown_086157FC[0], -1, gText_Cancel); + } + else + { + mainOffset = GetStringCenterAlignXOffset(0, gText_Cancel2, 48); + AddTextPrinterParameterized3(windowId, 0, mainOffset + offset, 1, gUnknown_086157FC[0], -1, gText_Cancel2); + } + PutWindowTilemap(windowId); + CopyWindowToVram(windowId, 2); + schedule_bg_copy_tilemap_to_vram(0); + } +} + +static u16* GetPartyMenuPaletteFromBuffer(u8 paletteId) +{ + return &gUnknown_0203CEC4->palBuffer[paletteId]; +} + +static void BlitBitmapToPartyWindow(u8 windowId, const u8 *b, u8 c, u8 x, u8 y, u8 width, u8 height) +{ + u8 *pixels = AllocZeroed(height * width * 32); + u8 i, j; + + if (pixels != NULL) + { + for (i = 0; i < height; i++) + { + for (j = 0; j < width; j++) + CpuCopy16(GetPartyMiscGraphicsTile(b[x + j + ((y + i) * c)]), &pixels[(i * width + j) * 32], 32); + } + BlitBitmapToWindow(windowId, pixels, x * 8, y * 8, width * 8, height * 8); + Free(pixels); + } +} + +static void BlitBitmapToPartyWindow_Default1(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 f) +{ + if (width == 0 && height == 0) + { + width = 10; + height = 7; + } + if (f == 0) + BlitBitmapToPartyWindow(windowId, gUnknown_08615988, 10, x, y, width, height); + else + BlitBitmapToPartyWindow(windowId, gUnknown_086159CE, 10, x, y, width, height); +} + +static void BlitBitmapToPartyWindow_Default2(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 f) +{ + if (width == 0 && height == 0) + { + width = 18; + height = 3; + } + if (f == 0) + BlitBitmapToPartyWindow(windowId, gUnknown_08615A14, 18, x, y, width, height); + else + BlitBitmapToPartyWindow(windowId, gUnknown_08615A4A, 18, x, y, width, height); +} + +static void sub_81B2720(u8 windowId) +{ + BlitBitmapToPartyWindow(windowId, gUnknown_08615A80, 18, 0, 0, 18, 3); +} + +static void UpdateSelectedPartyBox(struct Struct203CEDC *ptr, u8 bitfield) +{ + u8 palNum = GetWindowAttribute(ptr->windowId, WINDOW_PALETTE_NUM) * 16; + + if (bitfield & 0x40) + { + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AF1[0]), gUnknown_08615AC0[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AF1[1]), gUnknown_08615AC0[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AF1[2]), gUnknown_08615AC0[2] + palNum, 2); + } + else if (bitfield & 0x20) + { + if (bitfield & 1) + { + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2); + } + else + { + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[0]), gUnknown_08615ABD[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[1]), gUnknown_08615ABD[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[2]), gUnknown_08615ABD[2] + palNum, 2); + } + } + else if (bitfield & 0x10) + { + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[0]), gUnknown_08615ABD[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[1]), gUnknown_08615ABD[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[2]), gUnknown_08615ABD[2] + palNum, 2); + } + else if (bitfield & 4) + { + if (bitfield & 1) + { + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2); + } + else + { + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[0]), gUnknown_08615ABD[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[1]), gUnknown_08615ABD[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[2]), gUnknown_08615ABD[2] + palNum, 2); + } + } + else if (bitfield & 2) + { + if (bitfield & 1) + { + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADC[0]), gUnknown_08615ABA[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADC[1]), gUnknown_08615ABA[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADC[2]), gUnknown_08615ABA[2] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2); + } + else + { + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD3[0]), gUnknown_08615ABA[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD3[1]), gUnknown_08615ABA[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD3[2]), gUnknown_08615ABA[2] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE8[0]), gUnknown_08615ABD[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE8[1]), gUnknown_08615ABD[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE8[2]), gUnknown_08615ABD[2] + palNum, 2); + } + } + else if (bitfield & 8) + { + if (bitfield & 1) + { + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD9[0]), gUnknown_08615ABA[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD9[1]), gUnknown_08615ABA[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD9[2]), gUnknown_08615ABA[2] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2); + } + else + { + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD0[0]), gUnknown_08615ABA[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD0[1]), gUnknown_08615ABA[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD0[2]), gUnknown_08615ABA[2] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE5[0]), gUnknown_08615ABD[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE5[1]), gUnknown_08615ABD[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE5[2]), gUnknown_08615ABD[2] + palNum, 2); + } + } + else if (bitfield & 1) + { + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD6[0]), gUnknown_08615ABA[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD6[1]), gUnknown_08615ABA[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD6[2]), gUnknown_08615ABA[2] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2); + } + else + { + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACD[0]), gUnknown_08615ABA[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACD[1]), gUnknown_08615ABA[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACD[2]), gUnknown_08615ABA[2] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE2[0]), gUnknown_08615ABD[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE2[1]), gUnknown_08615ABD[1] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE2[2]), gUnknown_08615ABD[2] + palNum, 2); + } +} + +static void DisplayPartyPokemonBarDetail(u8 windowId, const u8 *str, u8 color, const u8 *align) +{ + AddTextPrinterParameterized3(windowId, 0, align[0], align[1], gUnknown_086157FC[color], 0, str); +} + +static void DisplayPartyPokemonNickname(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c) +{ + u8 nickname[POKEMON_NAME_LENGTH + 1]; + + if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) + { + if (c == 1) + ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk4[0] >> 3, ptr->unk0->unk4[1] >> 3, ptr->unk0->unk4[2] >> 3, ptr->unk0->unk4[3] >> 3, 0); + GetMonNickname(mon, nickname); + DisplayPartyPokemonBarDetail(ptr->windowId, nickname, 0, ptr->unk0->unk4); + } +} + +static void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c) +{ + if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) + { + u8 ailment = sub_81B205C(mon); + if (ailment == AILMENT_NONE || ailment == AILMENT_PKRS) + { + if (c != 0) + ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk4[4] >> 3, (ptr->unk0->unk4[5] >> 3) + 1, ptr->unk0->unk4[6] >> 3, ptr->unk0->unk4[7] >> 3, 0); + if (c != 2) + DisplayPartyPokemonLevel(GetMonData(mon, MON_DATA_LEVEL), ptr); + } + } +} + +static void DisplayPartyPokemonLevel(u8 level, struct Struct203CEDC *ptr) +{ + ConvertIntToDecimalStringN(gStringVar2, level, 0, 3); + StringCopy(gStringVar1, gText_LevelSymbol); + StringAppend(gStringVar1, gStringVar2); + DisplayPartyPokemonBarDetail(ptr->windowId, gStringVar1, 0, &ptr->unk0->unk4[4]); +} + +static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c) +{ + u8 nickname[POKEMON_NAME_LENGTH + 1]; + + if (c == 1) + ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk4[8] >> 3, (ptr->unk0->unk4[9] >> 3) + 1, ptr->unk0->unk4[10] >> 3, ptr->unk0->unk4[11] >> 3, 0); + GetMonNickname(mon, nickname); + DisplayPartyPokemonGender(GetMonGender(mon), GetMonData(mon, MON_DATA_SPECIES), nickname, ptr); +} + +static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct Struct203CEDC *ptr) +{ + u8 palNum = GetWindowAttribute(ptr->windowId, WINDOW_PALETTE_NUM) * 16; + + if (species == SPECIES_NONE) + return; + if ((species == SPECIES_NIDORAN_M || species == SPECIES_NIDORAN_F) && StringCompare(nickname, gSpeciesNames[species]) == 0) + return; + switch (gender) + { + case MON_MALE: + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC3[0]), gUnknown_08615AB6[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC3[1]), gUnknown_08615AB6[1] + palNum, 2); + DisplayPartyPokemonBarDetail(ptr->windowId, gText_MaleSymbol, 2, &ptr->unk0->unk4[8]); + break; + case MON_FEMALE: + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC5[0]), gUnknown_08615AB6[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC5[1]), gUnknown_08615AB6[1] + palNum, 2); + DisplayPartyPokemonBarDetail(ptr->windowId, gText_FemaleSymbol, 2, &ptr->unk0->unk4[8]); + break; + } +} + +static void DisplayPartyPokemonHPCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c) +{ + if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) + { + if (c != 0) + ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk4[12] >> 3, (ptr->unk0->unk4[13] >> 3) + 1, ptr->unk0->unk4[14] >> 3, ptr->unk0->unk4[15] >> 3, 0); + if (c != 2) + DisplayPartyPokemonHP(GetMonData(mon, MON_DATA_HP), ptr); + } +} + +static void DisplayPartyPokemonHP(u16 hp, struct Struct203CEDC *ptr) +{ + u8 *strOut = ConvertIntToDecimalStringN(gStringVar1, hp, 1, 3); + + strOut[0] = CHAR_SLASH; + strOut[1] = EOS; + + DisplayPartyPokemonBarDetail(ptr->windowId, gStringVar1, 0, &ptr->unk0->unk4[12]); +} + +static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c) +{ + if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) + { + if (c != 0) + ptr->unk0->unk0(ptr->windowId, (ptr->unk0->unk4[16] >> 3) + 1, (ptr->unk0->unk4[17] >> 3) + 1, ptr->unk0->unk4[18] >> 3, ptr->unk0->unk4[19] >> 3, 0); + if (c != 2) + DisplayPartyPokemonMaxHP(GetMonData(mon, MON_DATA_MAX_HP), ptr); + } +} + +static void DisplayPartyPokemonMaxHP(u16 maxhp, struct Struct203CEDC *ptr) +{ + ConvertIntToDecimalStringN(gStringVar2, maxhp, 1, 3); + StringCopy(gStringVar1, gText_Slash); + StringAppend(gStringVar1, gStringVar2); + DisplayPartyPokemonBarDetail(ptr->windowId, gStringVar1, 0, &ptr->unk0->unk4[16]); +} + +static void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct Struct203CEDC *ptr) +{ + if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) + DisplayPartyPokemonHPBar(GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP), ptr); +} + +static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct Struct203CEDC *ptr) +{ + u8 palNum = GetWindowAttribute(ptr->windowId, WINDOW_PALETTE_NUM) * 16; + u8 hpFraction; + + switch (GetHPBarLevel(hp, maxhp)) + { + case HP_BAR_GREEN: + case HP_BAR_FULL: + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC7[0]), gUnknown_08615AB8[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC7[1]), gUnknown_08615AB8[1] + palNum, 2); + break; + case HP_BAR_YELLOW: + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC9[0]), gUnknown_08615AB8[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC9[1]), gUnknown_08615AB8[1] + palNum, 2); + break; + default: + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACB[0]), gUnknown_08615AB8[0] + palNum, 2); + LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACB[1]), gUnknown_08615AB8[1] + palNum, 2); + break; + } + + hpFraction = GetScaledHPFraction(hp, maxhp, ptr->unk0->unk4[22]); + FillWindowPixelRect(ptr->windowId, gUnknown_08615AB8[1], ptr->unk0->unk4[20], ptr->unk0->unk4[21], hpFraction, 1); + FillWindowPixelRect(ptr->windowId, gUnknown_08615AB8[0], ptr->unk0->unk4[20], ptr->unk0->unk4[21] + 1, hpFraction, 2); + if (hpFraction != ptr->unk0->unk4[22]) + { + FillWindowPixelRect(ptr->windowId, 13, ptr->unk0->unk4[20] + hpFraction, ptr->unk0->unk4[21], ptr->unk0->unk4[22] - hpFraction, 1); + FillWindowPixelRect(ptr->windowId, 2, ptr->unk0->unk4[20] + hpFraction, ptr->unk0->unk4[21] + 1, ptr->unk0->unk4[22] - hpFraction, 2); + } + CopyWindowToVram(ptr->windowId, 2); +} + +static void DisplayPartyPokemonOtherText(u8 stringID, struct Struct203CEDC *ptr, u8 c) +{ + if (c != 0) + { + int unk = ((ptr->unk0->unk1C % 8) + ptr->unk0->unk1E + 7) / 8; + int unk2 = ((ptr->unk0->unk1D % 8) + ptr->unk0->unk1F + 7) / 8; + ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk1C >> 3, ptr->unk0->unk1D >> 3, unk, unk2, 1); + } + if (c != 2) + AddTextPrinterParameterized3(ptr->windowId, 1, ptr->unk0->unk1C, ptr->unk0->unk1D, gUnknown_086157FC[0], 0, gUnknown_08615B60[stringID]); +} + +static void sub_81B302C(u8 *ptr) +{ + if (*ptr != 0xFF) + { + sub_8198070(*ptr, 0); + RemoveWindow(*ptr); + *ptr = 0xFF; + schedule_bg_copy_tilemap_to_vram(2); + } +} + +void display_pokemon_menu_message(u32 stringID) +{ + u8 *windowPtr = &gUnknown_0203CEC4->unkC[1]; + + if (*windowPtr != 0xFF) + sub_81B302C(windowPtr); + + if (stringID != 0x7F) + { + switch (stringID) + { + case 21: + *windowPtr = AddWindow(&gUnknown_08615928); + break; + case 24: + *windowPtr = AddWindow(&gUnknown_08615930); + break; + case 25: + *windowPtr = AddWindow(&gUnknown_08615938); + break; + case 22: + case 23: + *windowPtr = AddWindow(&gUnknown_08615940); + break; + case 26: + *windowPtr = AddWindow(&gUnknown_08615948); + break; + default: + *windowPtr = AddWindow(&gUnknown_08615920); + break; + } + if (stringID == 0) + { + if (gUnknown_0203CEC4->unk8_0) + stringID = 2; + else if (sub_81B314C() == FALSE) + stringID = 1; + } + SetWindowBorderStyle(*windowPtr, FALSE, 0x4F, 0xD); + StringExpandPlaceholders(gStringVar4, gUnknown_08615AF4[stringID]); + AddTextPrinterParameterized(*windowPtr, 1, gStringVar4, 0, 1, 0, 0); + schedule_bg_copy_tilemap_to_vram(2); + } +} + +static bool8 sub_81B314C(void) +{ + struct Pokemon *party = gPlayerParty; + u8 i; + u8 j = 0; + + if (gUnknown_0203CEC8.unkB == 1) + return TRUE; + + for (i = 0; i < 6; i++) + { + if (GetMonData(&party[i], MON_DATA_SPECIES) != SPECIES_NONE && (GetMonData(&party[i], MON_DATA_HP) != 0 || GetMonData(&party[i], MON_DATA_IS_EGG))) + j++; + if (j > 1) + return TRUE; + } + return FALSE; +} + +static u8 sub_81B31B0(u8 a) +{ + struct WindowTemplate window; + u8 cursorDimension; + u8 fontAttribute; + u8 i; + + switch (a) + { + case 0: + SetWindowTemplateFields(&window, 2, 19, 19 - (gUnknown_0203CEC4->unk17 * 2), 10, gUnknown_0203CEC4->unk17 * 2, 14, 0x2E9); + break; + case 1: + window = gUnknown_08615950; + break; + case 2: + window = gUnknown_08615958; + break; + default: + window = gUnknown_08615960; + break; + } + + gUnknown_0203CEC4->unkC[0] = AddWindow(&window); + SetWindowBorderStyle(gUnknown_0203CEC4->unkC[0], FALSE, 0x4F, 13); + if (a == 3) + return gUnknown_0203CEC4->unkC[0]; + cursorDimension = GetMenuCursorDimensionByFont(1, 0); + fontAttribute = GetFontAttribute(1, 2); + + for (i = 0; i < gUnknown_0203CEC4->unk17; i++) + { + u8 unk = (gUnknown_0203CEC4->unkF[i] > 18) ? 4 : 3; + AddTextPrinterParameterized4(gUnknown_0203CEC4->unkC[0], 1, cursorDimension, (i * 16) + 1, fontAttribute, 0, gUnknown_086157FC[unk], 0, sCursorOptions[gUnknown_0203CEC4->unkF[i]].text); + } + + InitMenuInUpperLeftCorner(gUnknown_0203CEC4->unkC[0], gUnknown_0203CEC4->unk17, 0, 1); + schedule_bg_copy_tilemap_to_vram(2); + + return gUnknown_0203CEC4->unkC[0]; +} + +static void sub_81B3300(const u8 *text) +{ + SetWindowBorderStyle(6, FALSE, 0x4F, 13); + gTextFlags.canABSpeedUpPrint = TRUE; + AddTextPrinterParameterized2(6, 1, text, GetPlayerTextSpeedDelay(), 0, 2, 1, 3); +} + +static void sub_81B334C(void) +{ + CreateYesNoMenu(&gUnknown_08615968, 0x4F, 13, 0); +} + +static u8 sub_81B3364(void) +{ + gUnknown_0203CEC4->unkC[0] = AddWindow(&gUnknown_08615970); + SetWindowBorderStyle(gUnknown_0203CEC4->unkC[0], FALSE, 0x4F, 13); + return gUnknown_0203CEC4->unkC[0]; +} + +static void sub_81B3394(void) +{ + ClearWindowTilemap(gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); +} + +static void sub_81B33B4(struct Pokemon *mons, u8 a, u8 b) +{ + u8 i; + + if (b == 0) + { + sub_81B3414(mons, a); + } + else + { + gUnknown_0203CEC4->unk17 = gUnknown_08615D70[b]; + for (i = 0; i < gUnknown_0203CEC4->unk17; i++) + gUnknown_0203CEC4->unkF[i] = gUnknown_08615D38[b][i]; + } +} + +static void sub_81B3414(struct Pokemon *mons, u8 a) +{ + u8 i, j; + + gUnknown_0203CEC4->unk17 = 0; + AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 0); + for (i = 0; i < MAX_MON_MOVES; i++) + { + for (j = 0; sFieldMoves[j] != FIELD_MOVE_TERMINATOR; j++) + { + if (GetMonData(&mons[a], i + MON_DATA_MOVE1) == sFieldMoves[j]) + { + AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, j + 19); + break; + } + } + } + + if (!InBattlePike()) + { + if (GetMonData(&mons[1], MON_DATA_SPECIES) != SPECIES_NONE) + AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 1); + if (ItemIsMail(GetMonData(&mons[a], MON_DATA_HELD_ITEM))) + AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 6); + else + AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 3); + } + AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 2); +} + +static u8 sub_81B353C(struct Pokemon *mon) +{ + u32 returnVar; + + switch (gUnknown_0203CEC8.unk8_0) + { + case 0: + if (InMultiBattleRoom() == TRUE || GetMonData(mon, MON_DATA_IS_EGG)) + returnVar = 1; + else + returnVar = 0; + break; + case 1: + returnVar = sub_81B8A2C(mon); + break; + case 4: + switch (sub_81B856C(gUnknown_0203CEC8.unk9)) + { + default: + returnVar = 7; + break; + case 0: + returnVar = 4; + break; + case 1: + returnVar = 5; + break; + } + break; + case 6: + returnVar = (GetMonData(mon, MON_DATA_IS_EGG)) ? 7 : 6; + break; + case 8: + returnVar = 10; + break; + case 9: + returnVar = 11; + break; + case 10: + returnVar = 12; + break; + case 12: + returnVar = 13; + break; + default: + returnVar = 0; + break; + } + return returnVar; +} + +static bool8 sub_81B3608(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + u16 item; + + GetMonNickname(mon, gStringVar1); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + if (gUnknown_0203CEC8.unk8_0 != 12) + { + sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, sub_81B353C(mon)); + sub_81B31B0(0); + display_pokemon_menu_message(21); + } + else + { + item = GetMonData(mon, MON_DATA_HELD_ITEM); + if (item != ITEM_NONE) + { + sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, sub_81B353C(mon)); + sub_81B31B0(1); + CopyItemName(item, gStringVar2); + display_pokemon_menu_message(26); + } + else + { + StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding); + sub_81B1B5C(gStringVar4, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_81B469C; + return FALSE; + } + } + return TRUE; +} + +static void sub_81B36FC(u8 taskId) +{ + if (sub_81B3608(taskId)) + { + gTasks[taskId].data[0] = 0xFF; + gTasks[taskId].func = HandleMenuInput; + } +} + +static void HandleMenuInput(u8 taskId) +{ + if (!gPaletteFade.active && sub_81221EC() != TRUE) + { + s8 input; + s16 *data = gTasks[taskId].data; + + if (gUnknown_0203CEC4->unk17 <= 3) + input = Menu_ProcessInputNoWrapAround_other(); + else + input = ProcessMenuInput_other(); + + data[0] = Menu_GetCursorPos(); + switch (input) + { + case MENU_NOTHING_CHOSEN: + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[2]); + sCursorOptions[gUnknown_0203CEC4->unkF[gUnknown_0203CEC4->unk17 - 1]].func(taskId); + break; + default: + sub_81B302C(&gUnknown_0203CEC4->unkC[2]); + sCursorOptions[gUnknown_0203CEC4->unkF[input]].func(taskId); + break; + } + } +} + +static void CursorCb_Summary(u8 taskId) +{ + PlaySE(SE_SELECT); + gUnknown_0203CEC4->exitCallback = sub_81B3828; + sub_81B12C0(taskId); +} + +static void sub_81B3828(void) +{ + if (gUnknown_0203CEC8.unk8_0 == 1) + { + pokemon_change_order(); + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203CEC8.unk9, gPlayerPartyCount - 1, sub_81B3894); + } + else + { + ShowPokemonSummaryScreen(PSS_MODE_NORMAL, gPlayerParty, gUnknown_0203CEC8.unk9, gPlayerPartyCount - 1, sub_81B3894); + } +} + +static void sub_81B3894(void) +{ + gPaletteFade.bufferTransferDisabled = TRUE; + gUnknown_0203CEC8.unk9 = gUnknown_0203CF20; + InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 21, sub_81B36FC, gUnknown_0203CEC8.exitCallback); +} + +static void CursorCb_Switch(u8 taskId) +{ + PlaySE(SE_SELECT); + gUnknown_0203CEC8.unkB = 8; + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + display_pokemon_menu_message(3); + sub_81B0FCC(gUnknown_0203CEC8.unk9, 1); + gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.unk9; + gTasks[taskId].func = sub_81B1370; +} + +static void sub_81B3938(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u8 windowIds[2]; + + if (gUnknown_0203CEC8.unkA == gUnknown_0203CEC8.unk9) + { + sub_81B407C(taskId); + } + else + { + windowIds[0] = gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].windowId; + data[0] = GetWindowAttribute(windowIds[0], WINDOW_TILEMAP_LEFT); + data[1] = GetWindowAttribute(windowIds[0], WINDOW_TILEMAP_TOP); + data[2] = GetWindowAttribute(windowIds[0], WINDOW_WIDTH); + data[3] = GetWindowAttribute(windowIds[0], WINDOW_HEIGHT); + data[8] = 0; + if (data[2] == 10) + data[10] = -1; + else + data[10] = 1; + windowIds[1] = gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId; + data[4] = GetWindowAttribute(windowIds[1], WINDOW_TILEMAP_LEFT); + data[5] = GetWindowAttribute(windowIds[1], WINDOW_TILEMAP_TOP); + data[6] = GetWindowAttribute(windowIds[1], WINDOW_WIDTH); + data[7] = GetWindowAttribute(windowIds[1], WINDOW_HEIGHT); + data[9] = 0; + if (data[6] == 10) + data[11] = -1; + else + data[11] = 1; + gUnknown_0203CEF0 = Alloc(data[2] * (data[3] << 1)); + gUnknown_0203CEF4 = Alloc(data[6] * (data[7] << 1)); + sub_8199CBC(0, gUnknown_0203CEF0, data[0], data[1], data[2], data[3]); + sub_8199CBC(0, gUnknown_0203CEF4, data[4], data[5], data[6], data[7]); + ClearWindowTilemap(windowIds[0]); + ClearWindowTilemap(windowIds[1]); + gUnknown_0203CEC8.unkB = 9; + sub_81B0FCC(gUnknown_0203CEC8.unk9, 1); + sub_81B0FCC(gUnknown_0203CEC8.unkA, 1); + sub_81B3CC0(taskId); + gTasks[taskId].func = sub_81B3D48; + } +} + +static bool8 sub_81B3AD8(s16 a, s16 b, u8 *c, u8 *d, u8 *e) +{ + if ((a + b) < 0) + return FALSE; + if (a > 31) + return FALSE; + + if (a < 0) + { + *c = a * -1; + *d = 0; + *e = b + a; + } + else + { + *c = 0; + *d = a; + if ((a + b) > 31) + *e = 32 - a; + else + *e = b; + + } + return TRUE; +} + +static void sub_81B3B40(const void *rectSrc, s16 a, s16 b, s16 c, s16 d, s16 e) +{ + u8 f, g, h; + + if (sub_81B3AD8(a, c, &f, &g, &h)) + { + FillBgTilemapBufferRect_Palette0(0, 0, g, b, h, d); + if (sub_81B3AD8(a + e, c, &f, &g, &h)) + CopyRectToBgTilemapBufferRect(0, rectSrc, f, 0, c, d, g, b, h, d, 17, 0, 0); + } +} + +static void sub_81B3C0C(struct Struct203CEDC *ptr, s16 a) +{ + gSprites[ptr->unkB].pos2.x += a * 8; + gSprites[ptr->unkA].pos2.x += a * 8; + gSprites[ptr->unk9].pos2.x += a * 8; + gSprites[ptr->unkC].pos2.x += a * 8; +} + +static void sub_81B3C60(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (data[10] != 0) + sub_81B3C0C(&gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], data[10]); + if (data[11] != 0) + sub_81B3C0C(&gUnknown_0203CEDC[gUnknown_0203CEC8.unkA], data[11]); +} + +static void sub_81B3CC0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (data[10] != 0) + sub_81B3B40(gUnknown_0203CEF0, data[0] + data[8], data[1], data[2], data[3], data[10]); + if (data[11] != 0) + sub_81B3B40(gUnknown_0203CEF4, data[4] + data[9], data[5], data[6], data[7], data[11]); + schedule_bg_copy_tilemap_to_vram(0); +} + +static void sub_81B3D48(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 tilemapRelatedMaybe[2]; + + sub_81B3CC0(taskId); + sub_81B3C60(taskId); + data[8] += data[10]; + data[9] += data[11]; + tilemapRelatedMaybe[0] = data[0] + data[8]; + tilemapRelatedMaybe[1] = data[4] + data[9]; + if (tilemapRelatedMaybe[0] > 33 && tilemapRelatedMaybe[1] > 33) + { + data[10] *= -1; + data[11] *= -1; + swap_pokemon_and_oams(); + DisplayPartyPokemonData(gUnknown_0203CEC8.unk9); + DisplayPartyPokemonData(gUnknown_0203CEC8.unkA); + PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].windowId); + PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId); + sub_8199CBC(0, gUnknown_0203CEF0, data[0], data[1], data[2], data[3]); + sub_8199CBC(0, gUnknown_0203CEF4, data[4], data[5], data[6], data[7]); + ClearWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].windowId); + ClearWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId); + gTasks[taskId].func = sub_81B3E60; + } +} + +static void sub_81B3E60(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + sub_81B3CC0(taskId); + sub_81B3C60(taskId); + if (data[10] == 0 && data[11] == 0) + { + PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].windowId); + PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId); + schedule_bg_copy_tilemap_to_vram(0); + Free(gUnknown_0203CEF0); + Free(gUnknown_0203CEF4); + sub_81B407C(taskId); + } + else + { + data[8] += data[10]; + data[9] += data[11]; + if (data[8] == 0) + data[10] = 0; + if (data[9] == 0) + data[11] = 0; + } +} + +static void oamt_swap_pos(u8 *spriteIdPtr1, u8 *spriteIdPtr2) +{ + u8 spriteIdBuffer = *spriteIdPtr1; + u16 xBuffer1, yBuffer1, xBuffer2, yBuffer2; + + *spriteIdPtr1 = *spriteIdPtr2; + *spriteIdPtr2 = spriteIdBuffer; + xBuffer1 = gSprites[*spriteIdPtr1].pos1.x; + yBuffer1 = gSprites[*spriteIdPtr1].pos1.y; + xBuffer2 = gSprites[*spriteIdPtr1].pos2.x; + yBuffer2 = gSprites[*spriteIdPtr1].pos2.y; + gSprites[*spriteIdPtr1].pos1.x = gSprites[*spriteIdPtr2].pos1.x; + gSprites[*spriteIdPtr1].pos1.y = gSprites[*spriteIdPtr2].pos1.y; + gSprites[*spriteIdPtr1].pos2.x = gSprites[*spriteIdPtr2].pos2.x; + gSprites[*spriteIdPtr1].pos2.y = gSprites[*spriteIdPtr2].pos2.y; + gSprites[*spriteIdPtr2].pos1.x = xBuffer1; + gSprites[*spriteIdPtr2].pos1.y = yBuffer1; + gSprites[*spriteIdPtr2].pos2.x = xBuffer2; + gSprites[*spriteIdPtr2].pos2.y = yBuffer2; +} + +static void swap_pokemon_and_oams(void) +{ + struct Struct203CEDC *structPtrs[2]; + struct Pokemon *mon1, *mon2; + struct Pokemon *monBuffer; + + structPtrs[0] = &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]; + structPtrs[1] = &gUnknown_0203CEDC[gUnknown_0203CEC8.unkA]; + mon1 = &gPlayerParty[gUnknown_0203CEC8.unk9]; + mon2 = &gPlayerParty[gUnknown_0203CEC8.unkA]; + monBuffer = Alloc(sizeof(struct Pokemon)); + *monBuffer = *mon1; + *mon1 = *mon2; + *mon2 = *monBuffer; + Free(monBuffer); + oamt_swap_pos(&structPtrs[0]->unkB, &structPtrs[1]->unkB); + oamt_swap_pos(&structPtrs[0]->unkA, &structPtrs[1]->unkA); + oamt_swap_pos(&structPtrs[0]->unk9, &structPtrs[1]->unk9); + oamt_swap_pos(&structPtrs[0]->unkC, &structPtrs[1]->unkC); +} + +static void sub_81B407C(u8 taskId) +{ + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + gUnknown_0203CEC8.unkB = 0; + sub_81B0FCC(gUnknown_0203CEC8.unk9, 0); + gUnknown_0203CEC8.unk9 = gUnknown_0203CEC8.unkA; + sub_81B0FCC(gUnknown_0203CEC8.unkA, 1); + display_pokemon_menu_message(0); + gTasks[taskId].func = sub_81B1370; +} + +static void CursorCb_Cancel1(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + if (gUnknown_0203CEC8.unk8_0 == 6) + display_pokemon_menu_message(15); + else + display_pokemon_menu_message(0); + gTasks[taskId].func = sub_81B1370; +} + +static void CursorCb_Item(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, 8); + sub_81B31B0(1); + display_pokemon_menu_message(24); + gTasks[taskId].data[0] = 0xFF; + gTasks[taskId].func = HandleMenuInput; +} + +static void CursorCb_Give(u8 taskId) +{ + PlaySE(SE_SELECT); + gUnknown_0203CEC4->exitCallback = sub_81B41C4; + sub_81B12C0(taskId); +} + +static void sub_81B41C4(void) +{ + if (InBattlePyramid() == FALSE) + GoToBagMenu(RETURN_LOCATION_POKEMON_LIST, POCKETS_COUNT, c2_8123744); + else + sub_81C4F98(2, c2_8123744); +} + +static void c2_8123744(void) +{ + if (gSpecialVar_ItemId == ITEM_NONE) + { + InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B36FC, gUnknown_0203CEC8.exitCallback); + } + else + { + gUnknown_0203CEFC = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_HELD_ITEM); + if (gUnknown_0203CEFC != ITEM_NONE) + { + InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B4350, gUnknown_0203CEC8.exitCallback); + } + else if (ItemIsMail(gSpecialVar_ItemId)) + { + RemoveBagItem(gSpecialVar_ItemId, 1); + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], gSpecialVar_ItemId); + sub_81B452C(); + } + else + { + InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B42D0, gUnknown_0203CEC8.exitCallback); + } + } +} + +static void sub_81B42D0(u8 taskId) +{ + u16 item; + + if (!gPaletteFade.active) + { + item = gSpecialVar_ItemId; + sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.unk9], item, 0, 0); + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], item); + RemoveBagItem(item, 1); + gTasks[taskId].func = sub_81B469C; + } +} + +static void sub_81B4350(u8 taskId) +{ + if (!gPaletteFade.active) + { + sub_81B1D1C(&gPlayerParty[gUnknown_0203CEC8.unk9], gUnknown_0203CEFC, 1); + gTasks[taskId].func = sub_81B43A8; + } +} + +static void sub_81B43A8(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + sub_81B334C(); + gTasks[taskId].func = sub_81B43DC; + } +} + +static void sub_81B43DC(u8 taskId) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + RemoveBagItem(gSpecialVar_ItemId, 1); + if (AddBagItem(gUnknown_0203CEFC, 1) == FALSE) + { + AddBagItem(gSpecialVar_ItemId, 1); + pokemon_item_not_removed(gUnknown_0203CEFC); + sub_81B1B5C(gStringVar4, 0); + gTasks[taskId].func = sub_81B1C1C; + } + else if (ItemIsMail(gSpecialVar_ItemId)) + { + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], gSpecialVar_ItemId); + gTasks[taskId].func = sub_81B44FC; + } + else + { + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], gSpecialVar_ItemId); + sub_81B1D68(gSpecialVar_ItemId, gUnknown_0203CEFC, 1); + gTasks[taskId].func = sub_81B469C; + } + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + case 1: + gTasks[taskId].func = sub_81B1C1C; + break; + } +} + +static void sub_81B44FC(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + gUnknown_0203CEC4->exitCallback = sub_81B452C; + sub_81B12C0(taskId); + } +} + +static void sub_81B452C(void) +{ + u8 mail = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_MAIL); + + sub_811A20C(4, gSaveBlock1Ptr->mail[mail].words, sub_81B4578, 3); +} + +static void sub_81B4578(void) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); + + if (gSpecialVar_Result == FALSE) + { + TakeMailFromMon(mon); + SetMonData(mon, MON_DATA_HELD_ITEM, &gUnknown_0203CEFC); + RemoveBagItem(gUnknown_0203CEFC, 1); + AddBagItem(item, 1); + InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0, sub_81B36FC, gUnknown_0203CEC8.exitCallback); + } + else + { + InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B4624, gUnknown_0203CEC8.exitCallback); + } +} + +static void sub_81B4624(u8 taskId) +{ + if (!gPaletteFade.active) + { + if (gUnknown_0203CEFC == ITEM_NONE) + sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.unk9], gSpecialVar_ItemId, 0, 0); + else + sub_81B1D68(gSpecialVar_ItemId, gUnknown_0203CEFC, 0); + gTasks[taskId].func = sub_81B469C; + } +} + +static void sub_81B469C(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + + if (sub_81B1BD4() != TRUE) + { + sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]); + if (gUnknown_0203CEC8.unk8_0 == 12) + { + if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE) + DisplayPartyPokemonOtherText(11, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + else + DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + } + sub_81B1C1C(taskId); + } +} + +static void CursorCb_TakeItem(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); + + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + switch (sub_81B1E00(mon)) + { + case 0: + GetMonNickname(mon, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding); + sub_81B1B5C(gStringVar4, 1); + break; + case 1: + pokemon_item_not_removed(item); + sub_81B1B5C(gStringVar4, 1); + break; + default: + sub_81B1CD0(mon, item, 1); + break; + } + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_81B469C; +} + +static void CursorCb_Toss(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); + + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + if (item == ITEM_NONE) + { + GetMonNickname(mon, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding); + sub_81B1B5C(gStringVar4, 1); + gTasks[taskId].func = sub_81B469C; + } + else + { + CopyItemName(item, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_ThrowAwayItem); + sub_81B1B5C(gStringVar4, 1); + gTasks[taskId].func = sub_81B48A8; + } +} + +static void sub_81B48A8(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + sub_81B334C(); + gTasks[taskId].func = sub_81B48DC; + } +} + +static void sub_81B48DC(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + CopyItemName(GetMonData(mon, MON_DATA_HELD_ITEM), gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_ItemThrownAway); + sub_81B1B5C(gStringVar4, 0); + gTasks[taskId].func = sub_81B4988; + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + case 1: + gTasks[taskId].func = sub_81B1C1C; + break; + } +} + +static void sub_81B4988(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + + if (sub_81B1BD4() != TRUE) + { + u16 item = ITEM_NONE; + + SetMonData(mon, MON_DATA_HELD_ITEM, &item); + sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]); + DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + gTasks[taskId].func = sub_81B1C1C; + } +} + +static void CursorCb_Mail(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, 9); + sub_81B31B0(2); + display_pokemon_menu_message(25); + gTasks[taskId].data[0] = 0xFF; + gTasks[taskId].func = HandleMenuInput; +} + +static void CursorCb_Read(u8 taskId) +{ + PlaySE(SE_SELECT); + gUnknown_0203CEC4->exitCallback = sub_81B4A98; + sub_81B12C0(taskId); +} + +static void sub_81B4A98(void) +{ + ReadMail(&gSaveBlock1Ptr->mail[GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_MAIL)], sub_81B4AE0, 1); +} + +static void sub_81B4AE0(void) +{ + gPaletteFade.bufferTransferDisabled = TRUE; + InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 21, sub_81B36FC, gUnknown_0203CEC8.exitCallback); +} + +static void CursorCb_TakeMail(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B1B5C(gText_SendMailToPC, 1); + gTasks[taskId].func = sub_81B4B6C; +} + +static void sub_81B4B6C(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + sub_81B334C(); + gTasks[taskId].func = sub_81B4BA0; + } +} + +static void sub_81B4BA0(u8 taskId) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + if (TakeMailFromMon2(&gPlayerParty[gUnknown_0203CEC8.unk9]) != 0xFF) + { + sub_81B1B5C(gText_MailSentToPC, 0); + gTasks[taskId].func = sub_81B469C; + } + else + { + sub_81B1B5C(gText_PCMailboxFull, 0); + gTasks[taskId].func = sub_81B1C1C; + } + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + case 1: + sub_81B1B5C(gText_MailMessageWillBeLost, 1); + gTasks[taskId].func = sub_81B4C60; + break; + } +} + +static void sub_81B4C60(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + sub_81B334C(); + gTasks[taskId].func = sub_81B4C94; + } +} + +static void sub_81B4C94(u8 taskId) +{ + u16 item; + + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + item = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_HELD_ITEM); + if (AddBagItem(item, 1) == TRUE) + { + TakeMailFromMon(&gPlayerParty[gUnknown_0203CEC8.unk9]); + sub_81B1B5C(gText_MailTakenFromPkmn, 0); + gTasks[taskId].func = sub_81B469C; + } + else + { + pokemon_item_not_removed(item); + sub_81B1B5C(gStringVar4, 0); + gTasks[taskId].func = sub_81B1C1C; + } + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + case 1: + gTasks[taskId].func = sub_81B1C1C; + break; + } +} + +static void CursorCb_Cancel2(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, sub_81B353C(mon)); + if (gUnknown_0203CEC8.unk8_0 != 12) + { + sub_81B31B0(0); + display_pokemon_menu_message(21); + } + else + { + sub_81B31B0(1); + CopyItemName(GetMonData(mon, MON_DATA_HELD_ITEM), gStringVar2); + display_pokemon_menu_message(26); + } + gTasks[taskId].data[0] = 0xFF; + gTasks[taskId].func = HandleMenuInput; +} + +static void CursorCb_SendMon(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + if (sub_81B8A7C() == TRUE) + { + sub_81B12C0(taskId); + } + else + { + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B1B5C(gStringVar4, 1); + gTasks[taskId].func = sub_81B1C1C; + } +} + +static void CursorCb_Enter(u8 taskId) +{ + u8 unk; + u8 i; + + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + unk = sub_81B8830(); + for (i = 0; i < unk; i++) + { + if (gSelectedOrderFromParty[i] == 0) + { + PlaySE(SE_SELECT); + gSelectedOrderFromParty[i] = gUnknown_0203CEC8.unk9 + 1; + DisplayPartyPokemonOtherText(i + 2, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + if (i == (unk - 1)) + sub_81B4F88(); + display_pokemon_menu_message(0); + gTasks[taskId].func = sub_81B1370; + return; + } + } + ConvertIntToDecimalStringN(gStringVar1, unk, 0, 1); + StringExpandPlaceholders(gStringVar4, gText_NoMoreThanVar1Pkmn); + PlaySE(SE_HAZURE); + sub_81B1B5C(gStringVar4, 1); + gTasks[taskId].func = sub_81B1C1C; +} + +static void sub_81B4F88(void) +{ + sub_81B0FCC(gUnknown_0203CEC8.unk9, 0); + gUnknown_0203CEC8.unk9 = 6; + sub_81B0FCC(gUnknown_0203CEC8.unk9, 1); +} + +static void CursorCb_NoEntry(u8 taskId) +{ + u8 unk; + u8 i, j; + + PlaySE(SE_SELECT); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + unk = sub_81B8830(); + for (i = 0; i < unk; i++) + { + if (gSelectedOrderFromParty[i] == (gUnknown_0203CEC8.unk9 + 1)) + { + for (j = i; j < (unk - 1); j++) + gSelectedOrderFromParty[j] = gSelectedOrderFromParty[j + 1]; + gSelectedOrderFromParty[j] = 0; + break; + } + } + DisplayPartyPokemonOtherText(1, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + for (i = 0; i < (unk - 1); i++) + { + if (gSelectedOrderFromParty[i] != 0) + DisplayPartyPokemonOtherText(i + 2, &gUnknown_0203CEDC[gSelectedOrderFromParty[i] - 1], 1); + } + display_pokemon_menu_message(0); + gTasks[taskId].func = sub_81B1370; +} + +static void CursorCb_Store(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_81B12C0(taskId); +} + +static void CursorCb_Register(u8 taskId) +{ + u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES2); + u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES); + u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_OBEDIENCE); + + switch (sub_807A8D0(*(u32 *)sub_800F7DC() /* dirty cast, probably needs to be changed */, species2, species, obedience)) + { + case 1: + StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow); + break; + case 2: + StringExpandPlaceholders(gStringVar4, gText_EggCantBeTradedNow); + break; + default: + PlaySE(SE_SELECT); + sub_81B12C0(taskId); + return; + } + PlaySE(SE_HAZURE); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + StringAppend(gStringVar4, gText_PauseUntilPress); + sub_81B1B5C(gStringVar4, 1); + gTasks[taskId].func = sub_81B1C1C; +} + +static void CursorCb_Trade1(u8 taskId) +{ + u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES2); + u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES); + u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_OBEDIENCE); + u32 stringId = sub_807A7E0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), gUnknown_02022C38, species2, gUnknown_02022C3C, gUnknown_02022C3E, species, obedience); + + if (stringId != 0) + { + StringExpandPlaceholders(gStringVar4, gUnknown_08615E0C[stringId - 1]); + PlaySE(SE_HAZURE); + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + StringAppend(gStringVar4, gText_PauseUntilPress); + sub_81B1B5C(gStringVar4, 1); + gTasks[taskId].func = sub_81B1C1C; + } + else + { + PlaySE(SE_SELECT); + sub_81B12C0(taskId); + } +} + +static void CursorCb_Trade2(u8 taskId) +{ + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + switch (sub_807A918(gPlayerParty, gUnknown_0203CEC8.unk9)) + { + case 1: + StringExpandPlaceholders(gStringVar4, gText_OnlyPkmnForBattle); + break; + case 2: + StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow); + break; + case 3: + StringExpandPlaceholders(gStringVar4, gText_EggCantBeTradedNow); + break; + default: + PlaySE(SE_SELECT); + GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1); + StringExpandPlaceholders(gStringVar4, gJPText_PutVar1IntoSpinner); + sub_81B1B5C(gStringVar4, 1); + gTasks[taskId].func = sub_81B53FC; + return; + } + PlaySE(SE_HAZURE); + StringAppend(gStringVar4, gText_PauseUntilPress); + sub_81B1B5C(gStringVar4, 1); + gTasks[taskId].func = sub_81B1C1C; +} + +static void sub_81B53FC(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + sub_81B334C(); + gTasks[taskId].func = sub_81B5430; + } +} + +static void sub_81B5430(u8 taskId) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + sub_81B12C0(taskId); + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + case 1: + sub_81B1C1C(taskId); + break; + } +} + +static void CursorCb_FieldMove(u8 taskId) +{ + u8 fieldMove = gUnknown_0203CEC4->unkF[Menu_GetCursorPos()] - MENU_FIELD_MOVES; + const struct MapHeader *mapHeader; + + PlaySE(SE_SELECT); + if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc == NULL) + return; + + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + if (sub_81221AC() == TRUE || InUnionRoom() == TRUE) + { + if (fieldMove == FIELD_MOVE_MILK_DRINK || fieldMove == FIELD_MOVE_SOFT_BOILED) + display_pokemon_menu_message(13); + else + display_pokemon_menu_message(sFieldMoveCursorCallbacks[fieldMove].msgId); + + gTasks[taskId].func = task_brm_cancel_1_on_keypad_a_or_b; + } + else + { + // All field moves before WATERFALL are HMs. + if (fieldMove <= FIELD_MOVE_WATERFALL && FlagGet(FLAG_BADGE01_GET + fieldMove) != TRUE) + { + sub_81B1B5C(gText_CantUseUntilNewBadge, 1); + gTasks[taskId].func = sub_81B1C1C; + } + else if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc() == TRUE) + { + switch (fieldMove) + { + case FIELD_MOVE_MILK_DRINK: + case FIELD_MOVE_SOFT_BOILED: + sub_8161560(taskId); + break; + case FIELD_MOVE_TELEPORT: + mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->lastHealLocation.mapGroup, gSaveBlock1Ptr->lastHealLocation.mapNum); + sub_81245DC(gStringVar1, mapHeader->regionMapSectionId); + StringExpandPlaceholders(gStringVar4, gText_ReturnToHealingSpot); + sub_81B5674(taskId); + gUnknown_0203CEC4->data[0] = fieldMove; + break; + case FIELD_MOVE_DIG: + mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->warp4.mapGroup, gSaveBlock1Ptr->warp4.mapNum); + sub_81245DC(gStringVar1, mapHeader->regionMapSectionId); + StringExpandPlaceholders(gStringVar4, gText_EscapeFromHere); + sub_81B5674(taskId); + gUnknown_0203CEC4->data[0] = fieldMove; + break; + case FIELD_MOVE_FLY: + gUnknown_0203CEC8.exitCallback = MCB2_FlyMap; + sub_81B12C0(taskId); + break; + default: + gUnknown_0203CEC8.exitCallback = CB2_ReturnToField; + sub_81B12C0(taskId); + break; + } + } + else + { + switch (fieldMove) + { + case FIELD_MOVE_SURF: + sub_81B5864(); + break; + case FIELD_MOVE_FLASH: + sub_81B57DC(); + break; + default: + display_pokemon_menu_message(sFieldMoveCursorCallbacks[fieldMove].msgId); + break; + } + gTasks[taskId].func = task_brm_cancel_1_on_keypad_a_or_b; + } + } +} + +static void sub_81B5674(u8 taskId) +{ + sub_81B1B5C(gStringVar4, 1); + gTasks[taskId].func = sub_81B56A4; +} + +static void sub_81B56A4(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + sub_81B334C(); + gTasks[taskId].func = sub_81B56D8; + } +} + +static void sub_81B56D8(u8 taskId) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + gUnknown_0203CEC8.exitCallback = CB2_ReturnToField; + sub_81B12C0(taskId); + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + case 1: + gFieldCallback2 = NULL; + gPostMenuFieldCallback = NULL; + sub_81B1C1C(taskId); + break; + } +} + +bool8 FieldCallback_PrepareFadeInFromMenu(void) +{ + pal_fill_black(); + CreateTask(task_launch_hm_phase_2, 8); + return TRUE; +} + +static void task_launch_hm_phase_2(u8 taskId) +{ + if (IsWeatherNotFadingIn() == TRUE) + { + gFieldEffectArguments[0] = brm_get_selected_species(); + gPostMenuFieldCallback(); + DestroyTask(taskId); + } +} + +static u16 brm_get_selected_species(void) +{ + return GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES); +} + +static void task_brm_cancel_1_on_keypad_a_or_b(u8 taskId) +{ + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + CursorCb_Cancel1(taskId); +} + +static void sub_81B57DC(void) +{ + if (FlagGet(FLAG_SYS_USE_FLASH) == TRUE) + display_pokemon_menu_message(12); + else + display_pokemon_menu_message(13); +} + +static void hm_surf_run_dp02scr(void) +{ + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + FieldEffectStart(FLDEFF_USE_SURF); +} + +static bool8 SetUpFieldMove_Surf(void) +{ + if (PartyHasMonWithSurf() == TRUE && IsPlayerFacingSurfableFishableWater() == TRUE) + { + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = hm_surf_run_dp02scr; + return TRUE; + } + return FALSE; +} + +static void sub_81B5864(void) +{ + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) + display_pokemon_menu_message(9); + else + display_pokemon_menu_message(8); +} + +static bool8 SetUpFieldMove_Fly(void) +{ + if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE) + return TRUE; + else + return FALSE; +} + +void sub_81B58A8(void) +{ + InitPartyMenu(0, 0, 0, 1, 0, sub_81B1370, CB2_ReturnToFieldWithOpenMenu); +} + +static void hm2_waterfall(void) +{ + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + FieldEffectStart(FLDEFF_USE_WATERFALL); +} + +static bool8 SetUpFieldMove_Waterfall(void) +{ + s16 x, y; + + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + if (MetatileBehavior_IsWaterfall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE && IsPlayerSurfingNorth() == TRUE) + { + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = hm2_waterfall; + return TRUE; + } + return FALSE; +} + +static void sub_81B5958(void) +{ + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + FieldEffectStart(FLDEFF_USE_DIVE); +} + +static bool8 SetUpFieldMove_Dive(void) +{ + gFieldEffectArguments[1] = TrySetDiveWarp(); + if (gFieldEffectArguments[1] != 0) + { + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_81B5958; + return TRUE; + } + return FALSE; +} + +static void party_menu_icon_anim(struct Pokemon *mon, struct Struct203CEDC *ptr, u32 a) +{ + u32 bit = 1; + u16 species2; + + if (IsMultiBattle() == TRUE && gMain.inBattle) + bit = (gUnknown_08616020[a] ^ bit) ? 1 : 0; + species2 = GetMonData(mon, MON_DATA_SPECIES2); + party_menu_link_mon_icon_anim(species2, GetMonData(mon, MON_DATA_PERSONALITY), ptr, 1, bit); + sub_81B5B38(ptr->unk9, mon); +} + +static void party_menu_link_mon_icon_anim(u16 species, u32 pid, struct Struct203CEDC *ptr, u8 priority, u32 bit) +{ + if (species != SPECIES_NONE) + { + ptr->unk9 = CreateMonIcon(species, sub_80D3014, ptr->unk4[0], ptr->unk4[1], 4, pid, bit); + gSprites[ptr->unk9].oam.priority = priority; + } +} + +static void sub_81B5A8C(u8 spriteId, u16 hp, u16 maxhp) +{ + switch (GetHPBarLevel(hp, maxhp)) + { + case HP_BAR_FULL: + sub_80D32C8(&gSprites[spriteId], 0); + break; + case HP_BAR_GREEN: + sub_80D32C8(&gSprites[spriteId], 1); + break; + case HP_BAR_YELLOW: + sub_80D32C8(&gSprites[spriteId], 2); + break; + case HP_BAR_RED: + sub_80D32C8(&gSprites[spriteId], 3); + break; + default: + sub_80D32C8(&gSprites[spriteId], 4); + break; + } +} + +static void sub_81B5B38(u8 spriteId, struct Pokemon *mon) +{ + sub_81B5A8C(spriteId, GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP)); +} + +static void AnimateSelectedPartyIcon(u8 spriteId, u8 a) +{ + gSprites[spriteId].data[0] = 0; + if (a == 0) + { + if (gSprites[spriteId].pos1.x == 16) + { + gSprites[spriteId].pos2.x = 0; + gSprites[spriteId].pos2.y = -4; + } + else + { + gSprites[spriteId].pos2.x = -4; + gSprites[spriteId].pos2.y = 0; + } + gSprites[spriteId].callback = UpdatePartyMonIconFrame; + } + else + { + gSprites[spriteId].pos2.x = 0; + gSprites[spriteId].pos2.y = 0; + gSprites[spriteId].callback = UpdatePartyMonIconFrameAndBounce; + } +} + +static void UpdatePartyMonIconFrameAndBounce(struct Sprite *sprite) +{ + u8 unk = UpdateMonIconFrame(sprite); + + if (unk != 0) + { + if (unk & 1) + sprite->pos2.y = -3; + else + sprite->pos2.y = 1; + } +} + +static void UpdatePartyMonIconFrame(struct Sprite *sprite) +{ + UpdateMonIconFrame(sprite); +} + +static void party_menu_held_item_object(struct Pokemon *mon, struct Struct203CEDC *ptr) +{ + if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) + { + ptr->unkA = CreateSprite(&gSpriteTemplate_8615EC0, ptr->unk4[2], ptr->unk4[3], 0); + sub_81B5C94(mon, ptr); + } +} + +static void party_menu_link_mon_held_item_object(u16 species, u16 item, struct Struct203CEDC *ptr) +{ + if (species != SPECIES_NONE) + { + ptr->unkA = CreateSprite(&gSpriteTemplate_8615EC0, ptr->unk4[2], ptr->unk4[3], 0); + gSprites[ptr->unkA].oam.priority = 0; + sub_81B5CB0(item, ptr); + } +} + +static void sub_81B5C94(struct Pokemon *mon, struct Struct203CEDC *ptr) +{ + sub_81B5CB0(GetMonData(mon, MON_DATA_HELD_ITEM), ptr); +} + +static void sub_81B5CB0(u16 item, struct Struct203CEDC *ptr) +{ + if (item == ITEM_NONE) + { + gSprites[ptr->unkA].invisible = TRUE; + } + else + { + if (ItemIsMail(item)) + StartSpriteAnim(&gSprites[ptr->unkA], 1); + else + StartSpriteAnim(&gSprites[ptr->unkA], 0); + gSprites[ptr->unkA].invisible = FALSE; + } +} + +void LoadHeldItemIcons(void) +{ + LoadSpriteSheet(&gUnknown_08615EB0); + LoadSpritePalette(&gUnknown_08615EB8); +} + +void sub_81B5D4C(u8 *a, u8 *b, u8 c) +{ + u16 i; + u16 item; + + switch (c) + { + case 0: + for (i = 0; i < a[0]; i++) + { + item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); + if (item != ITEM_NONE) + sub_81B5DF0(b[i], ItemIsMail(item)); + } + break; + case 1: + for (i = 0; i < a[1]; i++) + { + item = GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM); + if (item != ITEM_NONE) + sub_81B5DF0(b[i + 6], ItemIsMail(item)); + } + break; + } +} + +static void sub_81B5DF0(u8 spriteId, u8 isMail) +{ + u8 subpriority = gSprites[spriteId].subpriority; + u8 newSpriteId = CreateSprite(&gSpriteTemplate_8615EC0, 250, 170, subpriority - 1); + + gSprites[newSpriteId].pos2.x = 4; + gSprites[newSpriteId].pos2.y = 10; + gSprites[newSpriteId].callback = sub_81B5E74; + gSprites[newSpriteId].data[7] = spriteId; + StartSpriteAnim(&gSprites[newSpriteId], isMail); + gSprites[newSpriteId].callback(&gSprites[newSpriteId]); +} + +static void sub_81B5E74(struct Sprite *sprite) +{ + u8 otherSpriteId = sprite->data[7]; + + if (gSprites[otherSpriteId].invisible) + { + sprite->invisible = TRUE; + } + else + { + sprite->invisible = FALSE; + sprite->pos1.x = gSprites[otherSpriteId].pos1.x + gSprites[otherSpriteId].pos2.x; + sprite->pos1.y = gSprites[otherSpriteId].pos1.y + gSprites[otherSpriteId].pos2.y; + } +} + +static void party_menu_pokeball_object(struct Pokemon *mon, struct Struct203CEDC *ptr) +{ + if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) + ptr->unkB = CreateSprite(&gSpriteTemplate_8615F08, ptr->unk4[6], ptr->unk4[7], 8); +} + +static void party_menu_link_mon_pokeball_object(u16 species, struct Struct203CEDC *ptr) +{ + if (species != SPECIES_NONE) + { + ptr->unkB = CreateSprite(&gSpriteTemplate_8615F08, ptr->unk4[6], ptr->unk4[7], 8); + gSprites[ptr->unkB].oam.priority = 0; + } +} + +static u8 sub_81B5F34(u8 x, u8 y) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_8615F08, x, y, 8); + + gSprites[spriteId].oam.priority = 2; + return spriteId; +} + +static u8 sub_81B5F74(u8 x, u8 y) +{ + return CreateSprite(&gSpriteTemplate_8615F78, x, y, 8); +} + +static void sub_81B5F98(u8 spriteId, u8 a) +{ + StartSpriteAnim(&gSprites[spriteId], a); +} + +static void sub_81B5FBC(u8 spriteId, u8 spriteId2, u8 a) +{ + if (a == 0) + { + StartSpriteAnim(&gSprites[spriteId], 2); + StartSpriteAnim(&gSprites[spriteId2], 4); + gSprites[spriteId].pos2.y = 0; + gSprites[spriteId2].pos2.y = 0; + } + else + { + StartSpriteAnim(&gSprites[spriteId], 3); + StartSpriteAnim(&gSprites[spriteId2], 5); + gSprites[spriteId].pos2.y = -4; + gSprites[spriteId2].pos2.y = 4; + } +} + +static void LoadPartyMenuPokeballGfx(void) +{ + LoadCompressedSpriteSheet(&gUnknown_08615EF8); + LoadCompressedSpriteSheet(&gUnknown_08615F70); + LoadCompressedSpritePalette(&gUnknown_08615F00); +} + +static void party_menu_status_condition_object(struct Pokemon *mon, struct Struct203CEDC *ptr) +{ + if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) + { + ptr->unkC = CreateSprite(&gSpriteTemplate_8616008, ptr->unk4[4], ptr->unk4[5], 0); + party_menu_get_status_condition_and_update_object(mon, ptr); + } +} + +static void party_menu_link_mon_status_condition_object(u16 species, u8 status, struct Struct203CEDC *ptr) +{ + if (species != SPECIES_NONE) + { + ptr->unkC = CreateSprite(&gSpriteTemplate_8616008, ptr->unk4[4], ptr->unk4[5], 0); + party_menu_update_status_condition_object(status, ptr); + gSprites[ptr->unkC].oam.priority = 0; + } +} + +static void party_menu_get_status_condition_and_update_object(struct Pokemon *mon, struct Struct203CEDC *ptr) +{ + party_menu_update_status_condition_object(sub_81B205C(mon), ptr); +} + +static void party_menu_update_status_condition_object(u8 status, struct Struct203CEDC *ptr) +{ + switch (status) + { + case AILMENT_NONE: + case AILMENT_PKRS: + gSprites[ptr->unkC].invisible = TRUE; + break; + default: + StartSpriteAnim(&gSprites[ptr->unkC], status - 1); + gSprites[ptr->unkC].invisible = FALSE; + break; + } +} + +static void LoadPartyMenuAilmentGfx(void) +{ + LoadCompressedSpriteSheet(&gUnknown_08615FF8); + LoadCompressedSpritePalette(&gUnknown_08616000); +} + +void sub_81B617C(void) +{ + MainCallback callback = c2_815ABFC; + u8 doubleBattleStatus; + bool8 inBattle; + u8 i; + u8 msgIdMaybe; + register TaskFunc task asm("r0"); + + if (gMain.inBattle) + { + inBattle = TRUE; + doubleBattleStatus = sub_81B8984(); + } + else + { + inBattle = FALSE; + doubleBattleStatus = 0; + } + if (GetItemEffectType(gSpecialVar_ItemId) == 10) + { + gUnknown_0203CEC8.unk9 = 0; + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) + { + gUnknown_0203CEC8.unk9 = i; + break; + } + } + task = sub_81B6280; + msgIdMaybe = 0x7F; + } + else + { + msgIdMaybe = (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_TM_HM) ? 4 : 5; + task = sub_81B1370; + } + InitPartyMenu(inBattle, doubleBattleStatus, 3, 1, msgIdMaybe, task, callback); +} + +static void c2_815ABFC(void) +{ + if (InBattlePyramid() == FALSE) + GoToBagMenu(RETURN_LOCATION_UNCHANGED, POCKETS_COUNT, NULL); + else + sub_81C4F98(4, gPyramidBagCursorData.callback); +} + +static void sub_81B6280(u8 taskId) +{ + if (!gPaletteFade.active) + { + if (gUnknown_0203CEC8.unk8_0 == 1) + gUnknown_0203CEC4->exitCallback = sub_81B9140; + gUnknown_03006328(taskId, sub_81B6794); + } +} + +static bool8 IsHPRecoveryItem(u16 item) +{ + const u8 *effect; + + if (item == ITEM_ENIGMA_BERRY) + effect = gSaveBlock1Ptr->enigmaBerry.itemEffect; + else + effect = gItemEffectTable[item - ITEM_POTION]; + if ((effect[4] & 4) != 0) + return TRUE; + return FALSE; +} + +static void GetMedicineItemEffectMessage(u16 item) +{ + switch (GetItemEffectType(item)) + { + case 3: + StringExpandPlaceholders(gStringVar4, gText_PkmnCuredOfPoison); + break; + case 4: + StringExpandPlaceholders(gStringVar4, gText_PkmnWokeUp2); + break; + case 5: + StringExpandPlaceholders(gStringVar4, gText_PkmnBurnHealed); + break; + case 6: + StringExpandPlaceholders(gStringVar4, gText_PkmnThawedOut); + break; + case 7: + StringExpandPlaceholders(gStringVar4, gText_PkmnCuredOfParalysis); + break; + case 8: + StringExpandPlaceholders(gStringVar4, gText_PkmnSnappedOutOfConfusion); + break; + case 9: + StringExpandPlaceholders(gStringVar4, gText_PkmnGotOverInfatuation); + break; + case 11: + StringExpandPlaceholders(gStringVar4, gText_PkmnBecameHealthy); + break; + case 13: + StringCopy(gStringVar2, gText_HP3); + StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); + break; + case 12: + StringCopy(gStringVar2, gText_Attack3); + StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); + break; + case 17: + StringCopy(gStringVar2, gText_Defense3); + StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); + break; + case 16: + StringCopy(gStringVar2, gText_Speed2); + StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); + break; + case 14: + StringCopy(gStringVar2, gText_SpAtk3); + StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); + break; + case 15: + StringCopy(gStringVar2, gText_SpDef3); + StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); + break; + case 19: + case 20: + StringExpandPlaceholders(gStringVar4, gText_MovesPPIncreased); + break; + case 21: + StringExpandPlaceholders(gStringVar4, gText_PPWasRestored); + break; + default: + StringExpandPlaceholders(gStringVar4, gText_WontHaveEffect); + break; + } +} + +static bool8 UsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item) +{ + if (GetItemEffectType(item) == 13 && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA) + return FALSE; + return TRUE; +} + +static bool8 IsBlueYellowRedFlute(u16 item) +{ + if (item == ITEM_BLUE_FLUTE || item == ITEM_RED_FLUTE || item == ITEM_YELLOW_FLUTE) + return TRUE; + return FALSE; +} + +static bool8 ExecuteTableBasedItemEffect__(u8 partyMonIndex, u16 item, u8 monMoveIndex) +{ + if (gMain.inBattle) + return ExecuteTableBasedItemEffect(&gPlayerParty[partyMonIndex], item, sub_81B8F38(partyMonIndex), monMoveIndex); + else + return ExecuteTableBasedItemEffect(&gPlayerParty[partyMonIndex], item, partyMonIndex, monMoveIndex); +} + +void ItemUseCB_Medicine(u8 taskId, TaskFunc task) +{ + u16 hp = 0; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + u16 item = gSpecialVar_ItemId; + bool8 canHeal; + + if (UsingHPEVItemOnShedinja(mon, item)) + { + canHeal = IsHPRecoveryItem(item); + if (canHeal == TRUE) + { + hp = GetMonData(mon, MON_DATA_HP); + if (hp == GetMonData(mon, MON_DATA_MAX_HP)) + canHeal = FALSE; + } + if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, item, 0)) + { + iTriedHonestlyIDid: + gUnknown_0203CEE8 = 0; + PlaySE(SE_SELECT); + sub_81B1B5C(gText_WontHaveEffect, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = task; + return; + } + } + else + { + goto iTriedHonestlyIDid; + } + gUnknown_0203CEE8 = 1; + if (IsBlueYellowRedFlute(item) == FALSE) + { + PlaySE(SE_KAIFUKU); + if (gUnknown_0203CEC8.unkB != 14) + RemoveBagItem(item, 1); + } + else + { + PlaySE(SE_BIDORO); + } + party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]); + if (gSprites[gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].unkC].invisible) + DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + if (canHeal == TRUE) + { + if (hp == 0) + sub_81B0FCC(gUnknown_0203CEC8.unk9, 1); + sub_81B1F18(taskId, gUnknown_0203CEC8.unk9, 1, GetMonData(mon, MON_DATA_HP) - hp, sub_81B672C); + sub_81B1FA8(taskId, 0, hp); + return; + } + else + { + GetMonNickname(mon, gStringVar1); + GetMedicineItemEffectMessage(item); + sub_81B1B5C(gStringVar4, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = task; + } +} + +static void sub_81B672C(u8 taskId) +{ + GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2); + sub_81B1B5C(gStringVar4, 0); + schedule_bg_copy_tilemap_to_vram(2); + HandleBattleLowHpMusicChange(); + gTasks[taskId].func = sub_81B6794; +} + +static void sub_81B6794(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + if (gUnknown_0203CEE8 == 0) + gUnknown_0203CEC4->exitCallback = NULL; + sub_81B12C0(taskId); + } +} + +void sub_81B67C8(u8 taskId, TaskFunc task) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + u16 item = gSpecialVar_ItemId; + u8 effectType = GetItemEffectType(item); + u16 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP); + u16 relevantEV = sub_81B691C(mon, effectType); + bool8 cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, item, 0); + u16 newFriendship = GetMonData(mon, MON_DATA_FRIENDSHIP); + u16 newRelevantEV = sub_81B691C(mon, effectType); + + if (cannotUseEffect || (friendship == newFriendship && relevantEV == newRelevantEV)) + { + gUnknown_0203CEE8 = 0; + PlaySE(SE_SELECT); + sub_81B1B5C(gText_WontHaveEffect, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = task; + } + else + { + gUnknown_0203CEE8 = 1; + PlaySE(SE_KAIFUKU); + RemoveBagItem(item, 1); + GetMonNickname(mon, gStringVar1); + option_menu_get_string(effectType, gStringVar2); + if (friendship != newFriendship) + { + if (relevantEV != newRelevantEV) + StringExpandPlaceholders(gStringVar4, gText_PkmnFriendlyBaseVar2Fell); + else + StringExpandPlaceholders(gStringVar4, gText_PkmnFriendlyBaseVar2CantFall); + } + else + { + StringExpandPlaceholders(gStringVar4, gText_PkmnAdoresBaseVar2Fell); + } + sub_81B1B5C(gStringVar4, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = task; + } +} + +static u16 sub_81B691C(struct Pokemon *mon, u8 effectType) +{ + switch (effectType) + { + case 13: + if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_SHEDINJA) + return GetMonData(mon, MON_DATA_HP_EV); + break; + case 12: + return GetMonData(mon, MON_DATA_ATK_EV); + case 17: + return GetMonData(mon, MON_DATA_DEF_EV); + case 16: + return GetMonData(mon, MON_DATA_SPEED_EV); + case 14: + return GetMonData(mon, MON_DATA_SPATK_EV); + case 15: + return GetMonData(mon, MON_DATA_SPDEF_EV); + } + return 0; +} + +static void option_menu_get_string(u8 effectType, u8 *dest) +{ + switch (effectType) + { + case 13: + StringCopy(dest, gText_HP3); + break; + case 12: + StringCopy(dest, gText_Attack3); + break; + case 17: + StringCopy(dest, gText_Defense3); + break; + case 16: + StringCopy(dest, gText_Speed2); + break; + case 14: + StringCopy(dest, gText_SpAtk3); + break; + case 15: + StringCopy(dest, gText_SpDef3); + break; + } +} + +static void sub_81B6A10(u8 slot) +{ + u8 i; + u8 moveCount = 0; + u8 fontId = 1; + u8 windowId = sub_81B31B0(3); + u16 move; + + for (i = 0; i < MAX_MON_MOVES; i++) + { + move = GetMonData(&gPlayerParty[slot], MON_DATA_MOVE1 + i); + AddTextPrinterParameterized(windowId, fontId, gMoveNames[move], 8, (i * 16) + 1, 0xFF, NULL); + if (move != MOVE_NONE) + moveCount++; + } + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, moveCount, 0); + schedule_bg_copy_tilemap_to_vram(2); +} + +static void ether_effect_related_3(u8 taskId) +{ + s8 input = Menu_ProcessInput(); + + if (input != MENU_NOTHING_CHOSEN) + { + if (input == MENU_B_PRESSED) + { + PlaySE(SE_SELECT); + sub_81B6BB4(taskId); + } + else + { + sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + ether_effect_related_2(taskId); + } + } +} + +void dp05_ether(u8 taskId, TaskFunc task) +{ + const u8 *effect; + u16 item = gSpecialVar_ItemId; + + if (item == ITEM_ENIGMA_BERRY) + effect = gSaveBlock1Ptr->enigmaBerry.itemEffect; + else + effect = gItemEffectTable[item - ITEM_POTION]; + if ((effect[4] & 0x10) == 0) + { + gUnknown_0203CEC8.unkE = 0; + ether_effect_related(taskId); + } + else + { + PlaySE(SE_SELECT); + display_pokemon_menu_message(22); + sub_81B6A10(gUnknown_0203CEC8.unk9); + gTasks[taskId].func = ether_effect_related_3; + } +} + +static void ether_effect_related_2(u8 taskId) +{ + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + gUnknown_0203CEC8.unkE = Menu_GetCursorPos(); + ether_effect_related(taskId); +} + +static void sub_81B6BB4(u8 taskId) +{ + gTasks[taskId].func = sub_81B1370; + gUnknown_0203CEC4->exitCallback = NULL; + sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + display_pokemon_menu_message(5); +} + +static void ether_effect_related(u8 taskId) +{ + u16 move = MOVE_NONE; + s16 *moveslot = &gUnknown_0203CEC8.unkE; + u16 item = gSpecialVar_ItemId; + struct Struct203CEC8 *ptr = &gUnknown_0203CEC8; + struct Pokemon *mon; + + if (ExecuteTableBasedItemEffect__(ptr->unk9, item, *moveslot)) + { + gUnknown_0203CEE8 = 0; + PlaySE(SE_SELECT); + sub_81B1B5C(gText_WontHaveEffect, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_81B6794; + } + else + { + gUnknown_0203CEE8 = 1; + mon = &gPlayerParty[ptr->unk9]; + PlaySE(SE_KAIFUKU); + RemoveBagItem(item, 1); + move = GetMonData(mon, MON_DATA_MOVE1 + *moveslot); + StringCopy(gStringVar1, gMoveNames[move]); + GetMedicineItemEffectMessage(item); + sub_81B1B5C(gStringVar4, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_81B6794; + } +} + +void dp05_pp_up(u8 taskId, TaskFunc task) +{ + PlaySE(SE_SELECT); + display_pokemon_menu_message(23); + sub_81B6A10(gUnknown_0203CEC8.unk9); + gTasks[taskId].func = ether_effect_related_3; +} + +u16 ItemIdToBattleMoveId(u16 item) +{ + u16 tmNumber = item - ITEM_TM01_FOCUS_PUNCH; + return gTMHMMoves[tmNumber]; +} + +bool8 IsMoveHm(u16 move) +{ + u8 i; + + for (i = 0; i < NUM_HIDDEN_MACHINES; i++) + { + if (gTMHMMoves[i + NUM_TECHNICAL_MACHINES] == move) + return TRUE; + } + return FALSE; +} + +bool8 MonKnowsMove(struct Pokemon *mon, u16 move) +{ + u8 i; + + for (i = 0; i < MAX_MON_MOVES; i++) + { + if (GetMonData(mon, MON_DATA_MOVE1 + i) == move) + return TRUE; + } + return FALSE; +} + +static void sub_81B6D74(const u8 *str) +{ + StringExpandPlaceholders(gStringVar4, str); + sub_81B1B5C(gStringVar4, 1); + schedule_bg_copy_tilemap_to_vram(2); +} + +static void sub_81B6D98(u8 taskId, const u8 *str) +{ + sub_81B6D74(str); + gTasks[taskId].func = sub_81B6794; +} + +// move[1] doesn't use constants cause I don't know if it's actually a move ID storage + +void sub_81B6DC4(u8 taskId, TaskFunc task) +{ + struct Pokemon *mon; + s16 *move; + u16 item; + + PlaySE(SE_SELECT); + mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + move = &gUnknown_0203CEC8.unkE; + item = gSpecialVar_ItemId; + GetMonNickname(mon, gStringVar1); + move[0] = ItemIdToBattleMoveId(item); + StringCopy(gStringVar2, gMoveNames[move[0]]); + move[1] = 0; + + switch (CanMonLearnTMTutor(mon, item, 0)) + { + case CANNOT_LEARN_MOVE: + sub_81B6D98(taskId, gText_PkmnCantLearnMove); + return; + case ALREADY_KNOWS_MOVE: + sub_81B6D98(taskId, gText_PkmnAlreadyKnows); + return; + } + + if (GiveMoveToMon(mon, move[0]) != 0xFFFF) + { + gTasks[taskId].func = sub_81B6EB4; + } + else + { + sub_81B6D74(gText_PkmnNeedsToReplaceMove); + gTasks[taskId].func = sub_81B6FF4; + } +} + +static void sub_81B6EB4(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + s16 *move = &gUnknown_0203CEC8.unkE; + u16 item = gSpecialVar_ItemId; + + if (move[1] == 0) + { + AdjustFriendship(mon, 4); + if (item < ITEM_HM01_CUT) + RemoveBagItem(item, 1); + } + GetMonNickname(mon, gStringVar1); + StringCopy(gStringVar2, gMoveNames[move[0]]); + StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3); + sub_81B1B5C(gStringVar4, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_81B6F60; +} + +static void sub_81B6F60(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + PlayFanfare(MUS_FANFA1); + gTasks[taskId].func = sub_81B6F98; + } +} + +static void sub_81B6F98(u8 taskId) +{ + if (IsFanfareTaskInactive() && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))) + { + if (gUnknown_0203CEC8.unk10 == 1) + sub_81B77AC(taskId); + else + { + if (gUnknown_0203CEC8.unk10 == 2) + gSpecialVar_Result = TRUE; + sub_81B12C0(taskId); + } + } +} + +static void sub_81B6FF4(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + sub_81B334C(); + gTasks[taskId].func = sub_81B7028; + } +} + +static void sub_81B7028(u8 taskId) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + sub_81B1B5C(gText_WhichMoveToForget, 1); + gTasks[taskId].func = sub_81B7088; + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + case 1: + sub_81B7230(taskId); + break; + } +} + +static void sub_81B7088(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + gUnknown_0203CEC4->exitCallback = sub_81B70B8; + sub_81B12C0(taskId); + } +} + +static void sub_81B70B8(void) +{ + ShowSelectMovePokemonSummaryScreen(gPlayerParty, gUnknown_0203CEC8.unk9, gPlayerPartyCount - 1, sub_81B70F0, gUnknown_0203CEC8.unkE); +} + +static void sub_81B70F0(void) +{ + InitPartyMenu(0, 0, 0, 1, 0x7F, sub_81B711C, gUnknown_0203CEC8.exitCallback); +} + +static void sub_81B711C(u8 taskId) +{ + if (!gPaletteFade.active) + { + if (sub_81C1B94() != 4) + sub_81B7154(taskId); + else + sub_81B7230(taskId); + } +} + +static void sub_81B7154(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + u16 move = GetMonData(mon, MON_DATA_MOVE1 + sub_81C1B94()); + + GetMonNickname(mon, gStringVar1); + StringCopy(gStringVar2, gMoveNames[move]); + sub_81B6D74(gText_12PoofForgotMove); + gTasks[taskId].func = sub_81B71D4; +} + +static void sub_81B71D4(u8 taskId) +{ + struct Pokemon *mon; + u16 move; + + if (sub_81B1BD4() != TRUE) + { + mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + RemoveMonPPBonus(mon, sub_81C1B94()); + move = gUnknown_0203CEC8.unkE; + SetMonMoveSlot(mon, move, sub_81C1B94()); + sub_81B6EB4(taskId); + } +} + +static void sub_81B7230(u8 taskId) +{ + StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]); + StringExpandPlaceholders(gStringVar4, gText_StopLearningMove2); + sub_81B1B5C(gStringVar4, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_81B7294; +} + +static void sub_81B7294(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + sub_81B334C(); + gTasks[taskId].func = sub_81B72C8; + } +} + +static void sub_81B72C8(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + GetMonNickname(mon, gStringVar1); + StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]); + StringExpandPlaceholders(gStringVar4, gText_MoveNotLearned); + sub_81B1B5C(gStringVar4, 1); + if (gUnknown_0203CEC8.unk10 == 1) + { + gTasks[taskId].func = sub_81B73E4; + } + else + { + if (gUnknown_0203CEC8.unk10 == 2) + gSpecialVar_Result = FALSE; + gTasks[taskId].func = sub_81B6794; + } + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + case 1: + GetMonNickname(mon, gStringVar1); + StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]); + sub_81B6D74(gText_PkmnNeedsToReplaceMove); + gTasks[taskId].func = sub_81B6FF4; + break; + } +} + +static void sub_81B73E4(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + sub_81B77AC(taskId); +} + +void dp05_rare_candy(u8 taskId, TaskFunc task) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Struct203CEC4 *ptr = gUnknown_0203CEC4; + s16 *arrayPtr = ptr->data; + u16 *itemPtr = &gSpecialVar_ItemId; + bool8 cannotUseEffect; + + if (GetMonData(mon, MON_DATA_LEVEL) != MAX_LEVEL) + { + sub_81B79A0(mon, arrayPtr); + cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, *itemPtr, 0); + sub_81B79A0(mon, &ptr->data[6]); + } + else + { + cannotUseEffect = TRUE; + } + PlaySE(SE_SELECT); + if (cannotUseEffect) + { + gUnknown_0203CEE8 = 0; + sub_81B1B5C(gText_WontHaveEffect, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = task; + } + else + { + gUnknown_0203CEE8 = 1; + PlayFanfareByFanfareNum(0); + sub_81B754C(gUnknown_0203CEC8.unk9, mon); + RemoveBagItem(gSpecialVar_ItemId, 1); + GetMonNickname(mon, gStringVar1); + ConvertIntToDecimalStringN(gStringVar2, GetMonData(mon, MON_DATA_LEVEL), 0, 3); + StringExpandPlaceholders(gStringVar4, gText_PkmnElevatedToLvVar2); + sub_81B1B5C(gStringVar4, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_81B75D4; + } +} + +static void sub_81B754C(u8 slot, struct Pokemon *mon) +{ + party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[slot]); + if (gSprites[gUnknown_0203CEDC[slot].unkC].invisible) + DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[slot], 1); + DisplayPartyPokemonHPCheck(mon, &gUnknown_0203CEDC[slot], 1); + DisplayPartyPokemonMaxHPCheck(mon, &gUnknown_0203CEDC[slot], 1); + DisplayPartyPokemonHPBarCheck(mon, &gUnknown_0203CEDC[slot]); + sub_81B5B38(gUnknown_0203CEDC[slot].unk9, mon); + sub_81B0FCC(slot, 1); + schedule_bg_copy_tilemap_to_vram(0); +} + +static void sub_81B75D4(u8 taskId) +{ + if (WaitFanfare(FALSE) && sub_81B1BD4() != TRUE && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))) + { + PlaySE(SE_SELECT); + sub_81B767C(taskId); + gTasks[taskId].func = sub_81B7634; + } +} + +static void sub_81B7634(u8 taskId) +{ + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + { + PlaySE(SE_SELECT); + sub_81B76C8(taskId); + gTasks[taskId].func = sub_81B7704; + } +} + +static void sub_81B767C(u8 taskId) +{ + s16 *arrayPtr = gUnknown_0203CEC4->data; + + arrayPtr[12] = sub_81B3364(); + sub_81D3640(arrayPtr[12], arrayPtr, &arrayPtr[6], 1, 2, 3); + CopyWindowToVram(arrayPtr[12], 2); + schedule_bg_copy_tilemap_to_vram(2); +} + +static void sub_81B76C8(u8 taskId) +{ + s16 *arrayPtr = gUnknown_0203CEC4->data; + + sub_81D3784(arrayPtr[12], &arrayPtr[6], 1, 2, 3); + CopyWindowToVram(arrayPtr[12], 2); + schedule_bg_copy_tilemap_to_vram(2); +} + +static void sub_81B7704(u8 taskId) +{ + u16 result; + + if (WaitFanfare(0) && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))) + { + sub_81B3394(); + result = MonTryLearningNewMove(&gPlayerParty[gUnknown_0203CEC8.unk9], 1); + gUnknown_0203CEC8.unk10 = 1; + switch (result) + { + case 0: + sub_81B7810(taskId); + break; + case 0xFFFF: + sub_81B787C(taskId); + break; + case 0xFFFE: + gTasks[taskId].func = sub_81B77AC; + break; + default: + sub_81B7910(taskId, result); + break; + } + } +} + +static void sub_81B77AC(u8 taskId) +{ + u16 result = MonTryLearningNewMove(&gPlayerParty[gUnknown_0203CEC8.unk9], 0); + + switch (result) + { + case 0: + sub_81B7810(taskId); + break; + case 0xFFFF: + sub_81B787C(taskId); + break; + case 0xFFFE: + return; + default: + sub_81B7910(taskId, result); + break; + } +} + +static void sub_81B7810(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + u16 targetSpecies = GetEvolutionTargetSpecies(mon, 0, 0); + + if (targetSpecies != SPECIES_NONE) + { + FreePartyPointers(); + gCB2_AfterEvolution = gUnknown_0203CEC8.exitCallback; + BeginEvolutionScene(mon, targetSpecies, 1, gUnknown_0203CEC8.unk9); + DestroyTask(taskId); + } + else + { + gTasks[taskId].func = sub_81B6794; + } +} + +static void sub_81B787C(u8 taskId) +{ + GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1); + StringCopy(gStringVar2, gMoveNames[gMoveToLearn]); + StringExpandPlaceholders(gStringVar4, gText_PkmnNeedsToReplaceMove); + sub_81B1B5C(gStringVar4, 1); + schedule_bg_copy_tilemap_to_vram(2); + gUnknown_0203CEC8.unkE = gMoveToLearn; + gTasks[taskId].func = sub_81B6FF4; +} + +static void sub_81B7910(u8 taskId, u16 move) +{ + GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1); + StringCopy(gStringVar2, gMoveNames[move]); + StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3); + sub_81B1B5C(gStringVar4, 1); + schedule_bg_copy_tilemap_to_vram(2); + gUnknown_0203CEC8.unkE = move; + gTasks[taskId].func = sub_81B6F60; +} + +static void sub_81B79A0(struct Pokemon *mon, s16 *data) +{ + data[0] = GetMonData(mon, MON_DATA_MAX_HP); + data[1] = GetMonData(mon, MON_DATA_ATK); + data[2] = GetMonData(mon, MON_DATA_DEF); + data[4] = GetMonData(mon, MON_DATA_SPATK); + data[5] = GetMonData(mon, MON_DATA_SPDEF); + data[3] = GetMonData(mon, MON_DATA_SPEED); +} + +void sub_81B79E8(u8 taskId, TaskFunc task) +{ + gUnknown_0203CEC4->data[0] = 0; + gUnknown_0203CEC4->data[1] = 0; + gUnknown_0203CEC4->data[2] = gUnknown_0203CEC8.unk9; + sub_81B7A28(taskId); +} + +static void sub_81B7A28(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + u16 hp; + + if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_NONE) + { + gTasks[taskId].func = task_sacred_ash_party_loop; + return; + } + + hp = GetMonData(mon, MON_DATA_HP); + if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, gSpecialVar_ItemId, 0)) + { + gTasks[taskId].func = task_sacred_ash_party_loop; + return; + } + + PlaySE(SE_KAIFUKU); + party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]); + if (gSprites[gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].unkC].invisible) + DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + sub_81B0FCC(gUnknown_0203CEC4->data[2], 0); + sub_81B0FCC(gUnknown_0203CEC8.unk9, 1); + sub_81B1F18(taskId, gUnknown_0203CEC8.unk9, 1, GetMonData(mon, MON_DATA_HP) - hp, sub_81B7C10); + sub_81B1FA8(taskId, 0, hp); + gUnknown_0203CEC4->data[0] = 1; + gUnknown_0203CEC4->data[1] = 1; +} + +static void task_sacred_ash_party_loop(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + if (gUnknown_0203CEC4->data[0] == 1) + { + gUnknown_0203CEC4->data[0] = 0; + gUnknown_0203CEC4->data[2] = gUnknown_0203CEC8.unk9; + } + if (++(gUnknown_0203CEC8.unk9) == PARTY_SIZE) + { + if (gUnknown_0203CEC4->data[1] == 0) + { + gUnknown_0203CEE8 = 0; + sub_81B1B5C(gText_WontHaveEffect, 1); + schedule_bg_copy_tilemap_to_vram(2); + } + else + { + gUnknown_0203CEE8 = 1; + RemoveBagItem(gSpecialVar_ItemId, 1); + } + gTasks[taskId].func = sub_81B6794; + gUnknown_0203CEC8.unk9 = 0; + } + else + { + sub_81B7A28(taskId); + } + } +} + +static void sub_81B7C10(u8 taskId) +{ + GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2); + sub_81B1B5C(gStringVar4, 0); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = task_sacred_ash_party_loop; +} + +void sub_81B7C74(u8 taskId, TaskFunc task) +{ + PlaySE(SE_SELECT); + gCB2_AfterEvolution = gUnknown_0203CEC8.exitCallback; + if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, gSpecialVar_ItemId, 0)) + { + gUnknown_0203CEE8 = 0; + sub_81B1B5C(gText_WontHaveEffect, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = task; + } + else + { + RemoveBagItem(gSpecialVar_ItemId, 1); + FreePartyPointers(); + } +} + +u8 GetItemEffectType(u16 item) +{ + const u8 *itemEffect; +#ifndef NONMATCHING + register u8 itemEffect0 asm("r1"); + register u8 itemEffect3 asm("r3"); + register u32 itemEffect0_r0 asm("r0"); // u32 to prevent shifting when transferring itemEffect0 to this + u8 mask; +#else +#define itemEffect0 itemEffect[0] +#define itemEffect3 itemEffect[3] +#define mask 0x3F +#endif + + if (!IS_POKEMON_ITEM(item)) + { + return 22; + } + else + { + // Read the item's effect properties. + if (item == ITEM_ENIGMA_BERRY) + { + itemEffect = gSaveBlock1Ptr->enigmaBerry.itemEffect; + } + else + { + itemEffect = gItemEffectTable[item - ITEM_POTION]; + } + +#ifndef NONMATCHING + itemEffect0 = itemEffect[0]; + mask = 0x3F; +#endif + + if ((itemEffect0 & mask) || itemEffect[1] || itemEffect[2]) + { + return 0; + } +#ifndef NONMATCHING + itemEffect3 = itemEffect[3]; +#endif + if (itemEffect3 & 0x80) + { + return 0; + } + else if (itemEffect0 & 0x40) + { + return 10; + } + else if (itemEffect3 & 0x40) + { + return 1; + } + else if ((itemEffect3 & mask) || (itemEffect0 >> 7)) + { + if ((itemEffect3 & mask) == 0x20) + { + return 4; + } + else if ((itemEffect3 & mask) == 0x10) + { + return 3; + } + else if ((itemEffect3 & mask) == 0x8) + { + return 5; + } + else if ((itemEffect3 & mask) == 0x4) + { + return 6; + } + else if ((itemEffect3 & mask) == 0x2) + { + return 7; + } + else if ((itemEffect3 & mask) == 0x1) + { + return 8; + } + // alternate fakematching + // itemEffect0_r0 = itemEffect0 >> 7; + // asm(""); // increase live length for greg + // if ((itemEffect0_r0 != 0) && (itemEffect3 & mask) == 0) +#ifndef NONMATCHING + else if (((itemEffect0_r0 = itemEffect0 >> 7) != 0) && (itemEffect3 & mask) == 0) +#else + else if (((itemEffect[0] >> 7) != 0) && (itemEffect[3] & 0x3F) == 0) +#endif + { + return 9; + } + else + { + return 11; + } + } + else if (itemEffect[4] & 0x44) + { + return 2; + } + else if (itemEffect[4] & 0x2) + { + return 12; + } + else if (itemEffect[4] & 0x1) + { + return 13; + } + else if (itemEffect[5] & 0x8) + { + return 14; + } + else if (itemEffect[5] & 0x4) + { + return 15; + } + else if (itemEffect[5] & 0x2) + { + return 16; + } + else if (itemEffect[5] & 0x1) + { + return 17; + } + else if (itemEffect[4] & 0x80) + { + return 18; + } + else if (itemEffect[4] & 0x20) + { + return 19; + } + else if (itemEffect[5] & 0x10) + { + return 20; + } + else if (itemEffect[4] & 0x18) + { + return 21; + } + return 22; + } +#ifdef NONMATCHING +#undef itemEffect0 +#undef itemEffect3 +#undef mask +#endif +} + +static void sub_81B7E4C(u8 taskId) +{ + struct Pokemon *mon; + s16 *move; + + if (!gPaletteFade.active) + { + mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + move = &gUnknown_0203CEC8.unkE; + GetMonNickname(mon, gStringVar1); + gUnknown_0203CEC8.unkE = GetTutorMove(gSpecialVar_0x8005); + StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]); + move[1] = 2; + switch (CanMonLearnTMTutor(mon, 0, gSpecialVar_0x8005)) + { + case CANNOT_LEARN_MOVE: + sub_81B6D98(taskId, gText_PkmnCantLearnMove); + return; + case ALREADY_KNOWS_MOVE: + sub_81B6D98(taskId, gText_PkmnAlreadyKnows); + return; + default: + if (GiveMoveToMon(mon, gUnknown_0203CEC8.unkE) != 0xFFFF) + { + sub_81B6EB4(taskId); + return; + } + break; + } + sub_81B6D74(gText_PkmnNeedsToReplaceMove); + gTasks[taskId].func = sub_81B6FF4; + } +} + +void CB2_PartyMenuFromStartMenu(void) +{ + InitPartyMenu(0, 0, 0, 0, 0, sub_81B1370, CB2_ReturnToFieldWithOpenMenu); +} + +void sub_81B7F60(void) +{ + MainCallback callback = (InBattlePyramid() == FALSE) ? c2_815ABFC : sub_81C4F84; + InitPartyMenu(0, 0, 5, 0, 6, sub_81B1370, callback); + gUnknown_0203CEC8.unkC = gSpecialVar_ItemId; +} + +static void sub_81B7FAC(u8 taskId) +{ + gUnknown_0203CEFC = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_HELD_ITEM); + if (gUnknown_0203CEFC == ITEM_NONE) + { + sub_81B8044(taskId); + } + else if (ItemIsMail(gUnknown_0203CEFC)) + { + sub_81B83B8(taskId); + } + else + { + sub_81B1D1C(&gPlayerParty[gUnknown_0203CEC8.unk9], gUnknown_0203CEFC, 1); + gTasks[taskId].func = sub_81B82A0; + } +} + +static void sub_81B8044(u8 taskId) +{ + if (ItemIsMail(gUnknown_0203CEC8.unkC)) + { + sub_81B83F0(gUnknown_0203CEC8.unkC); + gUnknown_0203CEC4->exitCallback = sub_81B814C; + sub_81B12C0(taskId); + } + else + { + sub_81B8088(taskId); + } +} + +static void sub_81B8088(u8 taskId) +{ + u16 item; + + if (!gPaletteFade.active) + { + item = gUnknown_0203CEC8.unkC; + sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.unk9], item, 0, 1); + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], item); + sub_81B83F0(item); + gTasks[taskId].func = sub_81B8104; + } +} + +static void sub_81B8104(u8 taskId) +{ + s8 slot = gUnknown_0203CEC8.unk9; + + if (sub_81B1BD4() != TRUE) + { + sub_81B5C94(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]); + sub_81B12C0(taskId); + } +} + +static void sub_81B814C(void) +{ + u8 mail; + + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], gUnknown_0203CEC8.unkC); + mail = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_MAIL); + sub_811A20C(4, gSaveBlock1Ptr->mail[mail].words, sub_81B81A8, 3); +} + +static void sub_81B81A8(void) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); + + if (gSpecialVar_Result == FALSE) + { + TakeMailFromMon(mon); + SetMonData(mon, MON_DATA_HELD_ITEM, &gUnknown_0203CEFC); + RemoveBagItem(gUnknown_0203CEFC, 1); + sub_81B841C(item); + SetMainCallback2(gUnknown_0203CEC8.exitCallback); + } + else + { + InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B8230, gUnknown_0203CEC8.exitCallback); + } +} + +static void sub_81B8230(u8 taskId) +{ + if (!gPaletteFade.active) + { + if (gUnknown_0203CEFC != ITEM_NONE) + sub_81B1D68(gUnknown_0203CEC8.unkC, gUnknown_0203CEFC, 0); + else + sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.unk9], gUnknown_0203CEC8.unkC, 0, 1); + gTasks[taskId].func = sub_81B8104; + } +} + +static void sub_81B82A0(u8 taskId) +{ + if (sub_81B1BD4() != TRUE) + { + sub_81B334C(); + gTasks[taskId].func = sub_81B82D4; + } +} + +static void sub_81B82D4(u8 taskId) +{ + u16 item; + + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + item = gUnknown_0203CEC8.unkC; + sub_81B83F0(item); + if (AddBagItem(gUnknown_0203CEFC, 1) == FALSE) + { + sub_81B841C(item); + pokemon_item_not_removed(gUnknown_0203CEFC); + sub_81B1B5C(gStringVar4, 0); + gTasks[taskId].func = sub_81B8104; + } + else if (ItemIsMail(item)) + { + gUnknown_0203CEC4->exitCallback = sub_81B814C; + sub_81B12C0(taskId); + } + else + { + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], item); + sub_81B1D68(item, gUnknown_0203CEFC, 1); + gTasks[taskId].func = sub_81B8104; + } + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + case 1: + gTasks[taskId].func = sub_81B8104; + break; + } +} + +static void sub_81B83B8(u8 taskId) +{ + sub_81B1B5C(gText_RemoveMailBeforeItem, 1); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_81B8104; +} + +static void sub_81B83F0(u16 item) +{ + if (gUnknown_0203CEC8.unkB == 6) + RemovePCItem(item, 1); + else + RemoveBagItem(item, 1); +} + +static bool8 sub_81B841C(u16 item) +{ + if (gUnknown_0203CEC8.unkB == 5) + return AddBagItem(item, 1); + else + return AddPCItem(item, 1); +} + +void sub_81B8448(void) +{ + InitPartyMenu(0, 0, 7, 0, 6, sub_81B1370, Mailbox_ReturnToMailListAfterDeposit); +} + +static void sub_81B8474(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct MailStruct *mail; + + gUnknown_0203CEE8 = 0; + mail = &gSaveBlock1Ptr->mail[playerPCItemPageInfo.itemsAbove + 6 + playerPCItemPageInfo.cursorPos]; + if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE) + { + sub_81B1B5C(gText_PkmnHoldingItemCantHoldMail, 1); + } + else + { + GiveMailToMon2(mon, mail); + ClearMailStruct(mail); + sub_81B1B5C(gText_MailTransferredFromMailbox, 1); + } + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_81B8104; +} + +void sub_81B8518(u8 unused) +{ + sub_81B8558(); + InitPartyMenu(4, 0, 0, 0, 0, sub_81B1370, gMain.savedCallback); + gUnknown_0203CEC8.unk4 = sub_81B879C; +} + +void sub_81B8558(void) +{ + memset(gSelectedOrderFromParty, 0, sizeof(gSelectedOrderFromParty)); +} + +static u8 sub_81B856C(s8 slot) +{ + if (GetBattleEntryEligibility(&gPlayerParty[slot]) == FALSE) + return 2; + if (sub_81B8770(slot + 1) == TRUE) + return 1; + return 0; +} + +static bool8 GetBattleEntryEligibility(struct Pokemon *mon) +{ + u16 i = 0; + u16 species; + + if (GetMonData(mon, MON_DATA_IS_EGG) + || GetMonData(mon, MON_DATA_LEVEL) > sub_81B8888() + || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY) + && GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE)) + { + return FALSE; + } + + switch (VarGet(VAR_FRONTIER_FACILITY)) // oddly the specific cases are beyond 6, turns out case 9 is apparently related to link battles + { + case 9: + if (GetMonData(mon, MON_DATA_HP) != 0) + return TRUE; + return FALSE; + case 8: + return TRUE; + default: + species = GetMonData(mon, MON_DATA_SPECIES); + for (; gFrontierBannedSpecies[i] != 0xFFFF; i++) + { + if (gFrontierBannedSpecies[i] == species) + return FALSE; + } + return TRUE; + } +} + +static u8 sub_81B865C(void) +{ + u8 unk2; + u8 i, j; + u8 facility; + struct Pokemon *party = gPlayerParty; + u8 unk = sub_81B885C(); + u8 *order = gSelectedOrderFromParty; + + if (order[unk - 1] == 0) + { + if (unk == 1) + return 14; + ConvertIntToDecimalStringN(gStringVar1, unk, 0, 1); + return 17; + } + + facility = VarGet(VAR_FRONTIER_FACILITY); + if (facility == 8 || facility == 9) + return 0xFF; + + unk2 = sub_81B8830(); + for (i = 0; i < unk2 - 1; i++) + { + u16 species = GetMonData(&party[order[i] - 1], MON_DATA_SPECIES); + u16 item = GetMonData(&party[order[i] - 1], MON_DATA_HELD_ITEM); + for (j = i + 1; j < unk2; j++) + { + if (species == GetMonData(&party[order[j] - 1], MON_DATA_SPECIES)) + return 18; + if (item != ITEM_NONE && item == GetMonData(&party[order[j] - 1], MON_DATA_HELD_ITEM)) + return 19; + } + } + + return 0xFF; +} + +static bool8 sub_81B8770(u8 slot) +{ + u8 i; + + for (i = 0; i < 4; i++) + { + if (gSelectedOrderFromParty[i] == slot) + return TRUE; + } + return FALSE; +} + +static void sub_81B879C(u8 taskId) +{ + u8 msgId = sub_81B865C(); + + if (msgId != 0xFF) + { + PlaySE(SE_HAZURE); + display_pokemon_menu_message(msgId); + gTasks[taskId].func = sub_81B87E8; + } + else + { + PlaySE(SE_SELECT); + sub_81B12C0(taskId); + } +} + +static void sub_81B87E8(u8 taskId) +{ + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + { + PlaySE(SE_SELECT); + display_pokemon_menu_message(0); + gTasks[taskId].func = sub_81B1370; + } +} + +static u8 sub_81B8830(void) +{ + switch (VarGet(VAR_FRONTIER_FACILITY)) + { + case 9: + return 3; + case 8: + return 2; + default: + return gSpecialVar_0x8005; + } +} + +static u8 sub_81B885C(void) +{ + switch (VarGet(VAR_FRONTIER_FACILITY)) + { + case 9: + return 1; + case 8: + return 2; + default: + return gSpecialVar_0x8005; + } +} + +static u8 sub_81B8888(void) +{ + switch (VarGet(VAR_FRONTIER_FACILITY)) + { + case 9: + return 100; + case 8: + return 30; + default: + if (gSpecialVar_0x8004 == 0) + return 50; + return 100; + } +} + +static const u8* sub_81B88BC(void) +{ + u8 facilityNum = VarGet(VAR_FRONTIER_FACILITY); + + if (!(facilityNum != 8 && facilityNum != 9)) + return gText_CancelBattle; + else if (facilityNum == FRONTIER_FACILITY_DOME && gSpecialVar_0x8005 == 2) + return gText_ReturnToWaitingRoom; + else + return gText_CancelChallenge; +} + +void sub_81B8904(u8 initArg, MainCallback callback) +{ + InitPartyMenu(initArg, 0, 0, 0, 0, sub_81B1370, callback); +} + +void sub_81B892C(void) +{ + InitPartyMenu(0, 0, 12, 0, 4, sub_81B1370, CB2_ReturnToFieldContinueScriptPlayMapMusic); +} + +void sub_81B8958(void) +{ + InitPartyMenu(11, 0, 13, 0, 1, sub_81B1370, CB2_ReturnToFieldContinueScriptPlayMapMusic); +} + +static u8 sub_81B8984(void) +{ + if (IsDoubleBattle() == FALSE) + return 0; + if (IsMultiBattle() == TRUE) + return 2; + return 1; +} + +void OpenPartyMenuInBattle(u8 arg) +{ + InitPartyMenu(1, sub_81B8984(), arg, 0, 0, sub_81B1370, SetCB2ToReshowScreenAfterMenu); + nullsub_35(); + pokemon_change_order(); +} + +void sub_81B89F0(void) +{ + InitPartyMenu(1, sub_81B8984(), 3, 0, 5, sub_81B1370, c2_815ABFC); + nullsub_35(); + pokemon_change_order(); +} + +static u8 sub_81B8A2C(struct Pokemon *mon) +{ + if (GetMonData(&gPlayerParty[1], MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(mon, MON_DATA_IS_EGG) == FALSE) + { + if (gUnknown_0203CEC8.unkB == 1) + return 3; + if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA)) + return 2; + } + return 7; +} + +static bool8 sub_81B8A7C(void) +{ + u8 slot = GetCursorSelectionMonId(); + u8 newSlot; + u8 i; + + if (IsMultiBattle() == TRUE && (slot == 1 || slot == 4 || slot == 5)) + { + StringCopy(gStringVar1, GetTrainerPartnerName()); + StringExpandPlaceholders(gStringVar4, gText_CantSwitchWithAlly); + return FALSE; + } + if (GetMonData(&gPlayerParty[slot], MON_DATA_HP) == 0) + { + GetMonNickname(&gPlayerParty[slot], gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_PkmnHasNoEnergy); + return FALSE; + } + for (i = 0; i < gBattlersCount; i++) + { + if (GetBattlerSide(i) == B_SIDE_PLAYER && sub_81B8F38(slot) == gBattlerPartyIndexes[i]) + { + GetMonNickname(&gPlayerParty[slot], gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_PkmnAlreadyInBattle); + return FALSE; + } + } + if (GetMonData(&gPlayerParty[slot], MON_DATA_IS_EGG)) + { + StringExpandPlaceholders(gStringVar4, gText_EggCantBattle); + return FALSE; + } + if (sub_81B8F38(slot) == gBattleStruct->field_8B) + { + GetMonNickname(&gPlayerParty[slot], gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_PkmnAlreadySelected); + return FALSE; + } + if (gUnknown_0203CEC8.unkB == 4) + { + SetMonPreventsSwitchingString(); + return FALSE; + } + if (gUnknown_0203CEC8.unkB == 2) + { + u8 currBattler = gBattlerInMenuId; + GetMonNickname(&gPlayerParty[pokemon_order_func(gBattlerPartyIndexes[currBattler])], gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_PkmnCantSwitchOut); + return FALSE; + } + gUnknown_0203CEE9 = sub_81B8F38(slot); + gUnknown_0203CEE8 = 1; + newSlot = pokemon_order_func(gBattlerPartyIndexes[gBattlerInMenuId]); + sub_81B8FB0(newSlot, slot); + sub_81B1288(&gPlayerParty[newSlot], &gPlayerParty[slot]); + return TRUE; +} + +void sub_81B8C68(void) +{ + sub_81B8C88(gUnknown_0203CF00, sub_806D7EC()); +} + +static void sub_81B8C88(u8 *ptr, bool8 multiplayerFlag) +{ + u8 partyIndexes[6]; + int i, j; + + if (IsMultiBattle() == TRUE) + { + if (multiplayerFlag) + { + ptr[0] = 0 | (3 << 4); + ptr[1] = 5 | (4 << 4); + ptr[2] = 2 | (1 << 4); + } + else + { + ptr[0] = 3 | (0 << 4); + ptr[1] = 2 | (1 << 4); + ptr[2] = 5 | (4 << 4); + } + return; + } + else if (IsDoubleBattle() == FALSE) + { + j = 1; + partyIndexes[0] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]; + for (i = 0; i < PARTY_SIZE; i++) + { + if (i != partyIndexes[0]) + { + partyIndexes[j] = i; + j++; + } + } + } + else + { + j = 2; + partyIndexes[0] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]; + partyIndexes[1] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)]; + for (i = 0; i < PARTY_SIZE; i++) + { + if (i != partyIndexes[0] && i != partyIndexes[1]) + { + partyIndexes[j] = i; + j++; + } + } + } + for (i = 0; i < 3; i++) + ptr[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)]; +} + +void sub_81B8D64(u8 battlerId, u8 multiplayerFlag) +{ + sub_81B8D88(gBattleStruct->field_60[battlerId], multiplayerFlag, battlerId); +} + +static void sub_81B8D88(u8 *ptr, bool8 multiplayerFlag, u8 battlerId) +{ + u8 partyIndexes[6]; + int i, j; + u8 leftBattler; + u8 rightBattler; + + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + { + leftBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + rightBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + } + else + { + leftBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + rightBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + } + + if (IsMultiBattle() == TRUE) + { + if (multiplayerFlag) + { + ptr[0] = 0 | (3 << 4); + ptr[1] = 5 | (4 << 4); + ptr[2] = 2 | (1 << 4); + } + else + { + ptr[0] = 3 | (0 << 4); + ptr[1] = 2 | (1 << 4); + ptr[2] = 5 | (4 << 4); + } + return; + } + else if (IsDoubleBattle() == FALSE) + { + j = 1; + partyIndexes[0] = gBattlerPartyIndexes[leftBattler]; + for (i = 0; i < PARTY_SIZE; i++) + { + if (i != partyIndexes[0]) + { + partyIndexes[j] = i; + j++; + } + } + } + else + { + j = 2; + partyIndexes[0] = gBattlerPartyIndexes[leftBattler]; + partyIndexes[1] = gBattlerPartyIndexes[rightBattler]; + for (i = 0; i < PARTY_SIZE; i++) + { + if (i != partyIndexes[0] && i != partyIndexes[1]) + { + partyIndexes[j] = i; + j++; + } + } + } + + for (i = 0; i < 3; i++) + ptr[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)]; +} + +void sub_81B8E80(u8 battlerId, u8 unk, u8 arrayIndex) +{ + u8 possiblePartyIndexes[6]; + u8 unk2 = 0; + int i, j; + u8 *battleStructRelated; + u8 possiblePartyIndexBuffer; + + if (IsMultiBattle()) + { + battleStructRelated = gBattleStruct->field_60[battlerId]; + for (i = j = 0; i < 3; j++, i++) + { + possiblePartyIndexes[j] = battleStructRelated[i] >> 4; + j++; + possiblePartyIndexes[j] = battleStructRelated[i] & 0xF; + } + possiblePartyIndexBuffer = possiblePartyIndexes[arrayIndex]; + for (i = 0; i < PARTY_SIZE; i++) + { + if (possiblePartyIndexes[i] == unk) + { + unk2 = possiblePartyIndexes[i]; + possiblePartyIndexes[i] = possiblePartyIndexBuffer; + break; + } + } + if (i != PARTY_SIZE) + { + possiblePartyIndexes[arrayIndex] = unk2; + battleStructRelated[0] = (possiblePartyIndexes[0] << 4) | possiblePartyIndexes[1]; + battleStructRelated[1] = (possiblePartyIndexes[2] << 4) | possiblePartyIndexes[3]; + battleStructRelated[2] = (possiblePartyIndexes[4] << 4) | possiblePartyIndexes[5]; + } + } +} + +static u8 sub_81B8F38(u8 slot) +{ + u8 modResult = slot & 1; + u8 retVal; + + slot /= 2; + if (modResult != 0) + retVal = gUnknown_0203CF00[slot] & 0xF; + else + retVal = gUnknown_0203CF00[slot] >> 4; + return retVal; +} + +static void sub_81B8F6C(u8 slot, u8 setVal) +{ + bool32 modResult = slot & 1; + + slot /= 2; + if (modResult != 0) + gUnknown_0203CF00[slot] = (gUnknown_0203CF00[slot] & 0xF0) | setVal; + else + gUnknown_0203CF00[slot] = (gUnknown_0203CF00[slot] & 0xF) | (setVal << 4); +} + +void sub_81B8FB0(u8 slot, u8 slot2) +{ + u8 valBuffer = sub_81B8F38(slot); + sub_81B8F6C(slot, sub_81B8F38(slot2)); + sub_81B8F6C(slot2, valBuffer); +} + +u8 pokemon_order_func(u8 slot) +{ + u8 i, j; + + for (j = i = 0; i < 3; j++, i++) + { + if ((gUnknown_0203CF00[i] >> 4) != slot) + { + j++; + if ((gUnknown_0203CF00[i] & 0xF) == slot) + return j; + } + else + { + return j; + } + } + return 0; +} + +static void pokemon_change_order(void) +{ + struct Pokemon *partyBuffer = Alloc(sizeof(gPlayerParty)); + u8 i; + + memcpy(partyBuffer, gPlayerParty, sizeof(gPlayerParty)); + for (i = 0; i < PARTY_SIZE; i++) + memcpy(&gPlayerParty[pokemon_order_func(i)], &partyBuffer[i], sizeof(struct Pokemon)); + Free(partyBuffer); +} + +static void sub_81B9080(void) +{ + struct Pokemon *partyBuffer = Alloc(sizeof(gPlayerParty)); + u8 i; + + memcpy(partyBuffer, gPlayerParty, sizeof(gPlayerParty)); + for (i = 0; i < PARTY_SIZE; i++) + memcpy(&gPlayerParty[sub_81B8F38(i)], &partyBuffer[i], sizeof(struct Pokemon)); + Free(partyBuffer); +} + +static void sub_81B90D0(void) +{ + u8 i; + struct Pokemon *mon; + u8 leadVal; + + for (i = 1; i < PARTY_SIZE; i++) + { + mon = &gPlayerParty[sub_81B8F38(i)]; + if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(mon, MON_DATA_HP) != 0) + { + leadVal = sub_81B8F38(0); + sub_81B8FB0(0, i); + sub_81B1288(&gPlayerParty[leadVal], mon); + break; + } + } +} + +static void sub_81B9140(void) +{ + SetMainCallback2(SetCB2ToReshowScreenAfterMenu); +} + +void sub_81B9150(void) +{ + InitPartyMenu(5, 3, 0, 0, 0x7F, sub_81B917C, gMain.savedCallback); +} + +static void sub_81B917C(u8 taskId) +{ + gTasks[taskId].data[0] = 256; + sub_81B9294(taskId); + ChangeBgX(2, 0x10000, 0); + gTasks[taskId].func = sub_81B91B4; +} + +static void sub_81B91B4(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u8 i; + + if (!gPaletteFade.active) + { + data[0] -= 8; + sub_81B9294(taskId); + if (data[0] == 0) + { + for (i = 3; i < PARTY_SIZE; i++) + { + if (gUnknown_02022FF8[i - 3].species != SPECIES_NONE) + AnimateSelectedPartyIcon(gUnknown_0203CEDC[i].unk9, 0); + } + PlaySE(SE_W231); // Harden SE? + gTasks[taskId].func = sub_81B9240; + } + } +} + +static void sub_81B9240(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (++data[0] == 0x100) + sub_81B12C0(taskId); +} + +static void sub_81B9270(u8 spriteId, s16 x) +{ + if (x >= 0) + gSprites[spriteId].pos2.x = x; +} + +static void sub_81B9294(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u8 i; + + for (i = 3; i < PARTY_SIZE; i++) + { + if (gUnknown_02022FF8[i - 3].species != SPECIES_NONE) + { + sub_81B9270(gUnknown_0203CEDC[i].unk9, data[0] - 8); + sub_81B9270(gUnknown_0203CEDC[i].unkA, data[0] - 8); + sub_81B9270(gUnknown_0203CEDC[i].unkB, data[0] - 8); + sub_81B9270(gUnknown_0203CEDC[i].unkC, data[0] - 8); + } + } + ChangeBgX(2, 0x800, 1); +} + +void sub_81B9328(void) +{ + InitPartyMenu(6, 0, 0, 0, 15, sub_81B1370, sub_81B9390); +} + +static void sub_81B9354(u8 arg1) +{ + gFieldCallback2 = hm_add_c3_without_phase_2; + InitPartyMenu(arg1, 0, 11, 0, 0, sub_81B1370, CB2_ReturnToField); +} + +static void sub_81B9390(void) +{ + gSpecialVar_0x8004 = GetCursorSelectionMonId(); + if (gSpecialVar_0x8004 >= PARTY_SIZE) + gSpecialVar_0x8004 = 0xFF; + gFieldCallback2 = hm_add_c3_without_phase_2; + SetMainCallback2(CB2_ReturnToField); +} + +bool8 hm_add_c3_without_phase_2(void) // might not be bool +{ + pal_fill_black(); + CreateTask(task_hm_without_phase_2, 10); + return TRUE; +} + +static void task_hm_without_phase_2(u8 taskId) +{ + if (IsWeatherNotFadingIn()) + { + DestroyTask(taskId); + ScriptContext2_Disable(); + EnableBothScriptContexts(); + } +} + +void sub_81B9404(void) +{ + ScriptContext2_Enable(); + FadeScreen(FADE_TO_BLACK, 0); + CreateTask(sub_81B9424, 10); +} + +static void sub_81B9424(u8 taskId) +{ + if (!gPaletteFade.active) + { + overworld_free_bg_tilemaps(); + InitPartyMenu(2, 0, 11, 0, 0, sub_81B1370, sub_81B9470); + DestroyTask(taskId); + } +} + +static void sub_81B9470(void) +{ + gUnknown_02039F24 = GetCursorSelectionMonId(); + if (gUnknown_02039F24 >= PARTY_SIZE) + gUnknown_02039F24 = 0xFF; + gSpecialVar_0x8004 = gUnknown_02039F24; + gFieldCallback2 = hm_add_c3_without_phase_2; + SetMainCallback2(CB2_ReturnToField); +} + +void sub_81B94B0(void) +{ + ScriptContext2_Enable(); + FadeScreen(FADE_TO_BLACK, 0); + CreateTask(sub_81B94D0, 10); +} + +static void sub_81B94D0(u8 taskId) +{ + if (!gPaletteFade.active) + { + overworld_free_bg_tilemaps(); + InitPartyMenu(3, 0, 11, 0, 0, sub_81B1370, sub_81B9390); + DestroyTask(taskId); + } +} + +void sub_81B951C(void) +{ + ScriptContext2_Enable(); + FadeScreen(FADE_TO_BLACK, 0); + CreateTask(sub_81B953C, 10); +} + +static void sub_81B953C(u8 taskId) +{ + if (!gPaletteFade.active) + { + overworld_free_bg_tilemaps(); + InitPartyMenu(7, 0, 11, 0, 0, sub_81B1370, sub_81B9588); + DestroyTask(taskId); + } +} + +static void sub_81B9588(void) +{ + gSpecialVar_0x8004 = GetCursorSelectionMonId(); + if (gSpecialVar_0x8004 >= PARTY_SIZE) + gSpecialVar_0x8004 = 0xFF; + else + gSpecialVar_0x8005 = GetNumberOfRelearnableMoves(&gPlayerParty[gSpecialVar_0x8004]); + gFieldCallback2 = hm_add_c3_without_phase_2; + SetMainCallback2(CB2_ReturnToField); +} + +void sub_81B95E0(void) +{ + u8 i; + + gSpecialVar_Result = FALSE; + for (i = 0; i < 3; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM) != ITEM_NONE) + { + gSpecialVar_Result = TRUE; + break; + } + } +} + +void sub_81B9620(void) +{ + ScriptContext2_Enable(); + FadeScreen(FADE_TO_BLACK, 0); + CreateTask(sub_81B9640, 10); +} + +static void sub_81B9640(u8 taskId) +{ + if (!gPaletteFade.active) + { + overworld_free_bg_tilemaps(); + InitPartyMenu(12, 0, 0, 0, 0, sub_81B1370, sub_81B9390); + DestroyTask(taskId); + } +} + +void sub_81B968C(void) +{ + ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField); + gFieldCallback = sub_80AF168; +} + +void sub_81B96D0(void) +{ + u8 i; + + gSpecialVar_Result = 0; + for (i = 0; i < MAX_MON_MOVES; i++) + { + if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_MOVE1 + i) != ITEM_NONE) + gSpecialVar_Result++; + } +} + +void sub_81B9718(void) +{ + struct Pokemon *mon = &gPlayerParty[gSpecialVar_0x8004]; + u16 move = GetMonData(mon, MON_DATA_MOVE1 + gSpecialVar_0x8005); + + GetMonNickname(mon, gStringVar1); + StringCopy(gStringVar2, gMoveNames[move]); +} + +void sub_81B9770(void) +{ + u16 i; + + SetMonMoveSlot(&gPlayerParty[gSpecialVar_0x8004], MOVE_NONE, gSpecialVar_0x8005); + RemoveMonPPBonus(&gPlayerParty[gSpecialVar_0x8004], gSpecialVar_0x8005); + for (i = gSpecialVar_0x8005; i < MAX_MON_MOVES - 1; i++) + sub_81B97DC(&gPlayerParty[gSpecialVar_0x8004], i, i + 1); +} + +static void sub_81B97DC(struct Pokemon *mon, u8 slotTo, u8 slotFrom) +{ + u16 move1 = GetMonData(mon, MON_DATA_MOVE1 + slotTo); + u16 move0 = GetMonData(mon, MON_DATA_MOVE1 + slotFrom); + u8 pp1 = GetMonData(mon, MON_DATA_PP1 + slotTo); + u8 pp0 = GetMonData(mon, MON_DATA_PP1 + slotFrom); + u8 ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES); + u8 ppBonusMask1 = gUnknown_08329D22[slotTo]; + u8 ppBonusMove1 = (ppBonuses & ppBonusMask1) >> (slotTo * 2); + u8 ppBonusMask2 = gUnknown_08329D22[slotFrom]; + u8 ppBonusMove2 = (ppBonuses & ppBonusMask2) >> (slotFrom * 2); + ppBonuses &= ~ppBonusMask1; + ppBonuses &= ~ppBonusMask2; + ppBonuses |= (ppBonusMove1 << (slotFrom * 2)) + (ppBonusMove2 << (slotTo * 2)); + SetMonData(mon, MON_DATA_MOVE1 + slotTo, &move0); + SetMonData(mon, MON_DATA_MOVE1 + slotFrom, &move1); + SetMonData(mon, MON_DATA_PP1 + slotTo, &pp0); + SetMonData(mon, MON_DATA_PP1 + slotFrom, &pp1); + SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses); +} + +void sub_81B98DC(void) +{ + if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_IS_EGG)) + gSpecialVar_Result = TRUE; + else + gSpecialVar_Result = FALSE; +} + +void sub_81B9918(void) +{ + u16 move; + u32 i, j; + + gSpecialVar_Result = FALSE; + move = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_MOVE1 + gSpecialVar_0x8005); + if (move == MOVE_SURF) + { + for (i = 0; i < CalculatePlayerPartyCount(); i++) + { + if (i != gSpecialVar_0x8004) + { + for (j = 0; j < MAX_MON_MOVES; j++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + j) == MOVE_SURF) + return; + } + } + } + if (AnyStorageMonWithMove(move) != TRUE) + gSpecialVar_Result = TRUE; + } +} diff --git a/src/player_pc.c b/src/player_pc.c index c41dfa380..b7380cee3 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -461,9 +461,9 @@ static void ItemStorageMenuProcessInput(u8 taskId) s8 r2; s8 inputOptionId; - r5 = GetMenuCursorPos(); + r5 = Menu_GetCursorPos(); inputOptionId = Menu_ProcessInput(); - r2 = GetMenuCursorPos(); + r2 = Menu_GetCursorPos(); switch(inputOptionId) { case -2: diff --git a/src/poison.c b/src/poison.c index c52299e3a..a72aab111 100644 --- a/src/poison.c +++ b/src/poison.c @@ -194,7 +194,7 @@ void sub_810DBAC(struct Sprite *sprite) if (!gBattleAnimArgs[3]) StartSpriteAnim(sprite, 2); - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); @@ -218,7 +218,7 @@ void sub_810DC2C(struct Sprite *sprite) if (!gBattleAnimArgs[3]) StartSpriteAnim(sprite, 2); - InitAnimSpritePos(sprite, 1); + InitSpritePosToAnimAttacker(sprite, 1); SetAverageBattlerPositions(gBattleAnimTarget, 1, &l1, &l2); if (GetBattlerSide(gBattleAnimAttacker)) @@ -258,7 +258,7 @@ void sub_810DCD0(struct Sprite *sprite) static void sub_810DD24(struct Sprite *sprite) { - TranslateAnimLinearSimple(sprite); + AnimTranslateLinearSimple(sprite); sprite->data[1] -= sprite->data[5]; sprite->data[2] -= sprite->data[6]; @@ -295,7 +295,7 @@ void AnimBubbleEffect(struct Sprite *sprite) { if (!gBattleAnimArgs[2]) { - sub_80A6980(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); } else { diff --git a/src/pokeball.c b/src/pokeball.c index 82d2f2cea..baa165649 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -922,7 +922,7 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite) StartSpriteAffineAnim(sprite, 4); } r4 = sprite->data[0]; - TranslateAnimLinear(sprite); + AnimTranslateLinear(sprite); sprite->data[7] += sprite->sBattler / 3; sprite->pos2.y += Sin(HIBYTE(sprite->data[7]), sprite->data[5]); sprite->oam.affineParam += 0x100; @@ -999,8 +999,8 @@ void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 battlerId, u8 x, u8 y, { u8 spriteId; - LoadCompressedObjectPicUsingHeap(&gBallSpriteSheets[0]); - LoadCompressedObjectPaletteUsingHeap(&gBallSpritePalettes[0]); + LoadCompressedSpriteSheetUsingHeap(&gBallSpriteSheets[0]); + LoadCompressedSpritePaletteUsingHeap(&gBallSpritePalettes[0]); spriteId = CreateSprite(&gBallSpriteTemplates[0], x, y, subpriortiy); gSprites[spriteId].data[0] = monSpriteId; @@ -1101,8 +1101,8 @@ u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 { u8 spriteId; - LoadCompressedObjectPicUsingHeap(&gBallSpriteSheets[0]); - LoadCompressedObjectPaletteUsingHeap(&gBallSpritePalettes[0]); + LoadCompressedSpriteSheetUsingHeap(&gBallSpriteSheets[0]); + LoadCompressedSpritePaletteUsingHeap(&gBallSpritePalettes[0]); spriteId = CreateSprite(&gBallSpriteTemplates[0], x, y, subPriority); gSprites[spriteId].data[0] = a; gSprites[spriteId].data[1] = g; @@ -1245,8 +1245,8 @@ void LoadBallGfx(u8 ballId) if (GetSpriteTileStartByTag(gBallSpriteSheets[ballId].tag) == 0xFFFF) { - LoadCompressedObjectPicUsingHeap(&gBallSpriteSheets[ballId]); - LoadCompressedObjectPaletteUsingHeap(&gBallSpritePalettes[ballId]); + LoadCompressedSpriteSheetUsingHeap(&gBallSpriteSheets[ballId]); + LoadCompressedSpritePaletteUsingHeap(&gBallSpritePalettes[ballId]); } switch (ballId) { diff --git a/src/pokeblock.c b/src/pokeblock.c index 1418588b8..7c07f9655 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -1,4 +1,5 @@ #include "global.h" +#include "alloc.h" #include "battle.h" #include "battle_controllers.h" #include "battle_message.h" @@ -6,14 +7,15 @@ #include "bg.h" #include "decompress.h" #include "event_data.h" +#include "field_screen_effect.h" #include "gpu_regs.h" #include "graphics.h" #include "international_string_util.h" #include "item.h" +#include "item_menu.h" #include "lilycove_lady.h" #include "list_menu.h" #include "main.h" -#include "alloc.h" #include "menu.h" #include "menu_helpers.h" #include "overworld.h" @@ -70,14 +72,9 @@ enum PKBL_GIVE_TO_LADY }; -extern u16 gSpecialVar_ItemId; extern const u16 gUnknown_0860F074[]; -extern void CB2_ReturnToField(void); -extern bool8 sub_81221EC(void); -extern void sub_80AF168(void); - // this file's functions static void CB2_InitPokeblockMenu(void); static bool8 InitPokeblockMenu(void); @@ -640,11 +637,11 @@ static bool8 LoadPokeblockMenuGfx(void) sPokeblockMenu->gfxState++; break; case 3: - LoadCompressedObjectPic(&gPokeblockCase_SpriteSheet); + LoadCompressedSpriteSheet(&gPokeblockCase_SpriteSheet); sPokeblockMenu->gfxState++; break; case 4: - LoadCompressedObjectPalette(&gPokeblockCase_SpritePal); + LoadCompressedSpritePalette(&gPokeblockCase_SpritePal); sPokeblockMenu->gfxState++; break; case 5: diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index 2271d7adf..b1f182b66 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -656,25 +656,25 @@ static bool8 LoadMonAndSceneGfx(struct Pokemon *mon) trainerId = GetMonData(mon, MON_DATA_OT_ID); palette = GetMonSpritePalStructFromOtIdPersonality(species, trainerId, personality); - LoadCompressedObjectPalette(palette); + LoadCompressedSpritePalette(palette); SetMultiuseSpriteTemplateToPokemon(palette->tag, 1); sPokeblockFeed->loadGfxState++; break; case 2: - LoadCompressedObjectPic(&gPokeblockCase_SpriteSheet); + LoadCompressedSpriteSheet(&gPokeblockCase_SpriteSheet); sPokeblockFeed->loadGfxState++; break; case 3: - LoadCompressedObjectPalette(&gPokeblockCase_SpritePal); + LoadCompressedSpritePalette(&gPokeblockCase_SpritePal); sPokeblockFeed->loadGfxState++; break; case 4: - LoadCompressedObjectPic(&sPokeblock_SpriteSheet); + LoadCompressedSpriteSheet(&sPokeblock_SpriteSheet); sPokeblockFeed->loadGfxState++; break; case 5: SetPokeblockSpritePal(gSpecialVar_ItemId); - LoadCompressedObjectPalette(&sPokeblockSpritePal); + LoadCompressedSpritePalette(&sPokeblockSpritePal); sPokeblockFeed->loadGfxState++; break; case 6: diff --git a/src/pokedex.c b/src/pokedex.c index ef8905bb6..755a46821 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1803,7 +1803,7 @@ bool8 sub_80BC514(u8 a) ResetSpriteData(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 8; - LoadCompressedObjectPic(&sInterfaceSpriteSheet[0]); + LoadCompressedSpriteSheet(&sInterfaceSpriteSheet[0]); LoadSpritePalettes(sInterfaceSpritePalette); CreateInterfaceSprites(a); gMain.state++; @@ -4815,7 +4815,7 @@ void sub_80C12E0(u8 taskId) } break; case 1: - LoadCompressedObjectPic(sInterfaceSpriteSheet); + LoadCompressedSpriteSheet(sInterfaceSpriteSheet); LoadSpritePalettes(sInterfaceSpritePalette); sub_80C2594(taskId); for (i = 0; i < 16; i++) diff --git a/src/pokemon.c b/src/pokemon.c index 640d70776..7c4103855 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1,4 +1,5 @@ #include "global.h" +#include "alloc.h" #include "apprentice.h" #include "battle.h" #include "battle_controllers.h" @@ -12,12 +13,14 @@ #include "item.h" #include "link.h" #include "main.h" -#include "alloc.h" +#include "overworld.h" #include "m4a.h" +#include "party_menu.h" #include "pokedex.h" #include "pokeblock.h" #include "pokemon.h" #include "pokemon_animation.h" +#include "pokemon_summary_screen.h" #include "pokemon_storage_system.h" #include "pokenav.h" #include "random.h" @@ -45,8 +48,6 @@ struct SpeciesItem u16 item; }; -extern const struct OamData gUnknown_0831ACB0; -extern const struct OamData gUnknown_0831ACA8; extern const struct SpriteFrameImage gUnknown_082FF3A8[]; extern const struct SpriteFrameImage gUnknown_082FF3C8[]; extern const struct SpriteFrameImage gUnknown_082FF3E8[]; @@ -70,15 +71,10 @@ extern const struct CompressedSpritePalette gMonPaletteTable[]; extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; extern const u8 gTrainerClassNames[][13]; -extern u8 pokemon_order_func(u8); extern u16 get_unknown_box_id(void); -extern u8 StorageGetCurrentBox(void); extern void set_unknown_box_id(u8); -extern void sub_803FA70(u8 battlerId); -extern u8 sav1_map_get_name(void); extern bool8 sub_806F104(void); extern u8 sub_81D63C8(u16 trainerOpponentId); -extern void SummaryScreen_SetUnknownTaskId(u8); // this file's functions static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); @@ -2298,7 +2294,7 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] = { // B_POSITION_PLAYER_LEFT .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF3A8, .affineAnims = gUnknown_082FF618, @@ -2307,16 +2303,16 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] = { // B_POSITION_OPPONENT_LEFT .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACA8, + .oam = &gOamData_831ACA8, .anims = NULL, .images = gUnknown_082FF3C8, .affineAnims = gUnknown_082FF694, - .callback = oac_poke_opponent, + .callback = SpriteCb_WildMon, }, { // B_POSITION_PLAYER_RIGHT .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF3E8, .affineAnims = gUnknown_082FF618, @@ -2325,11 +2321,11 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] = { // B_POSITION_OPPONENT_RIGHT .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACA8, + .oam = &gOamData_831ACA8, .anims = NULL, .images = gUnknown_082FF408, .affineAnims = gUnknown_082FF694, - .callback = oac_poke_opponent + .callback = SpriteCb_WildMon }, }; @@ -2338,7 +2334,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF428, .affineAnims = gUnknown_082FF618, @@ -2347,7 +2343,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF448, .affineAnims = gUnknown_082FF618, @@ -2356,7 +2352,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF468, .affineAnims = gUnknown_082FF618, @@ -2365,7 +2361,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF490, .affineAnims = gUnknown_082FF618, @@ -2374,7 +2370,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF4B8, .affineAnims = gUnknown_082FF618, @@ -2383,7 +2379,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF4D8, .affineAnims = gUnknown_082FF618, @@ -2392,7 +2388,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF4F8, .affineAnims = gUnknown_082FF618, @@ -2401,7 +2397,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF518, .affineAnims = gUnknown_082FF618, @@ -4091,13 +4087,13 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) case MON_DATA_LANGUAGE: retVal = boxMon->language; break; - case MON_DATA_SANITY_BIT1: + case MON_DATA_SANITY_IS_BAD_EGG: retVal = boxMon->isBadEgg; break; - case MON_DATA_SANITY_BIT2: + case MON_DATA_SANITY_HAS_SPECIES: retVal = boxMon->hasSpecies; break; - case MON_DATA_SANITY_BIT3: + case MON_DATA_SANITY_IS_EGG: retVal = boxMon->isEgg; break; case MON_DATA_OT_NAME: @@ -4298,7 +4294,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) u16 *moves = (u16 *)data; s32 i = 0; - while (moves[i] != 355) + while (moves[i] != MOVES_COUNT) { u16 move = moves[i]; if (substruct1->moves[0] == move @@ -4460,13 +4456,13 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) case MON_DATA_LANGUAGE: SET8(boxMon->language); break; - case MON_DATA_SANITY_BIT1: + case MON_DATA_SANITY_IS_BAD_EGG: SET8(boxMon->isBadEgg); break; - case MON_DATA_SANITY_BIT2: + case MON_DATA_SANITY_HAS_SPECIES: SET8(boxMon->hasSpecies); break; - case MON_DATA_SANITY_BIT3: + case MON_DATA_SANITY_IS_EGG: SET8(boxMon->isEgg); break; case MON_DATA_OT_NAME: @@ -4722,7 +4718,7 @@ u8 SendMonToPC(struct Pokemon* mon) do { - for (boxPos = 0; boxPos < 30; boxPos++) + for (boxPos = 0; boxPos < IN_BOX_COUNT; boxPos++) { struct BoxPokemon* checkingMon = GetBoxedMonPtr(boxNo, boxPos); if (GetBoxMonData(checkingMon, MON_DATA_SPECIES, NULL) == SPECIES_NONE) @@ -4739,7 +4735,7 @@ u8 SendMonToPC(struct Pokemon* mon) } boxNo++; - if (boxNo == 14) + if (boxNo == TOTAL_BOXES_COUNT) boxNo = 0; } while (boxNo != StorageGetCurrentBox()); @@ -4889,9 +4885,9 @@ bool8 IsPokemonStorageFull(void) { s32 i, j; - for (i = 0; i < 14; i++) - for (j = 0; j < 30; j++) - if (GetBoxMonDataFromAnyBox(i, j, MON_DATA_SPECIES) == SPECIES_NONE) + for (i = 0; i < TOTAL_BOXES_COUNT; i++) + for (j = 0; j < IN_BOX_COUNT; j++) + if (GetBoxMonDataAt(i, j, MON_DATA_SPECIES) == SPECIES_NONE) return FALSE; return TRUE; @@ -6847,7 +6843,7 @@ void SetWildMonHeldItem(void) u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, 0); u16 var1 = 45; u16 var2 = 95; - if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3, 0) + if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG, 0) && GetMonAbility(&gPlayerParty[0]) == ABILITY_COMPOUND_EYES) { var1 = 20; diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index 8c468d9f4..52fa6db51 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -1,4 +1,5 @@ #include "global.h" +#include "battle.h" #include "pokemon.h" #include "pokemon_animation.h" #include "sprite.h" @@ -18,8 +19,6 @@ struct UnkAnimStruct s16 field_8; }; -extern u16 gBattlerPartyIndexes[]; - // this file's functions static void pokemonanimfunc_00(struct Sprite *sprite); static void pokemonanimfunc_01(struct Sprite *sprite); diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index c24c8a898..36a7da0ee 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1076,7 +1076,7 @@ u8 sub_80D2D78(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 return spriteId; } -u16 mon_icon_convert_unown_species_id(u16 species, u32 personality) +u16 GetIconSpecies(u16 species, u32 personality) { u16 result; @@ -1104,7 +1104,8 @@ u16 GetUnownLetterByPersonality(u32 personality) { if (!personality) return 0; - return (((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 0x1C; + else + return (((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 0x1C; } u16 sub_80D2E84(u16 species) @@ -1121,19 +1122,17 @@ u16 sub_80D2E84(u16 species) } else { - if(species > (SPECIES_UNOWN_B - 1)) - species = 260; - return mon_icon_convert_unown_species_id(species, 0); + if (species > (SPECIES_UNOWN_B - 1)) + species = SPECIES_OLD_UNOWN_J; // That's an oddly specific species. + return GetIconSpecies(species, 0); } } const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 extra) { - return GetMonIconTiles(mon_icon_convert_unown_species_id(species, personality), extra); + return GetMonIconTiles(GetIconSpecies(species, personality), extra); } - - void sub_80D2EF8(struct Sprite *sprite) { sub_80D328C(sprite); @@ -1220,7 +1219,7 @@ void sub_80D304C(u16 offset) } } -u8 sub_80D3080(u16 species) +u8 GetValidMonIconPalIndex(u16 species) { if (species > SPECIES_EGG) species = 260; diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index 2d9a2f08f..b0e14d2b1 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -210,7 +210,7 @@ void GiveGiftRibbonToParty(u8 index, u8 ribbonId) { struct Pokemon *mon = &gPlayerParty[i]; - if (GetMonData(mon, MON_DATA_SPECIES) != 0 && GetMonData(mon, MON_DATA_SANITY_BIT3) == 0) + if (GetMonData(mon, MON_DATA_SPECIES) != 0 && GetMonData(mon, MON_DATA_SANITY_IS_EGG) == 0) { SetMonData(mon, array[index], &data); gotRibbon = TRUE; diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index ad56b1678..7b1d8da7c 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -1,55 +1,725 @@ #include "global.h" +#include "alloc.h" #include "bg.h" +#include "data2.h" +#include "decompress.h" +#include "dma3.h" +#include "dynamic_placeholder_text_util.h" #include "event_data.h" #include "field_screen_effect.h" #include "field_weather.h" +#include "fldeff_misc.h" #include "gpu_regs.h" +#include "graphics.h" #include "international_string_util.h" +#include "item.h" +#include "item_icon.h" +#include "item_menu.h" +#include "mail.h" #include "main.h" #include "menu.h" +#include "mon_markings.h" +#include "naming_screen.h" #include "overworld.h" #include "palette.h" +#include "pc_screen_effect.h" #include "pokemon.h" +#include "pokemon_icon.h" +#include "pokemon_summary_screen.h" #include "pokemon_storage_system.h" #include "script.h" #include "sound.h" #include "string_util.h" #include "strings.h" #include "text.h" +#include "text_window.h" +#include "trig.h" #include "walda_phrase.h" #include "window.h" +#include "constants/maps.h" +#include "constants/moves.h" +#include "constants/rgb.h" #include "constants/songs.h" #include "constants/species.h" -IWRAM_DATA u8 gUnknown_03000F78[0x188]; +struct WallpaperTable +{ + const u32 *tiles; + const u32 *tileMap; + const u16 *palettes; +}; + +struct PokemonStorageSystemFunc +{ + u8 (*func)(void); + s8 unk4; +}; + +struct StorageAction +{ + const u8 *text; + u8 format; +}; + +struct StorageMenu +{ + const u8 *text; + int textId; +}; + +struct PSS_MenuStringPtrs +{ + const u8 *text; + const u8 *desc; +}; + +struct UnkStruct_2000028 +{ + const u8 *unk_00; + u8 *unk_04; + u16 unk_08; + u16 unk_0a; + u16 newField; + void (*unk_0c)(struct UnkStruct_2000028 *data); +}; + +struct UnkStruct_2000020 +{ + struct UnkStruct_2000028 *unk_00; + u8 unk_04; + u8 unk_05; +}; + +struct UnkPSSStruct_2002370 +{ + struct Sprite *unk_0000; + struct Sprite *unk_0004[4]; + u32 unk_0014[3]; + struct Sprite *unk_0020[2]; + u8 filler_0028[0x214]; + u32 unk_023c; + u16 unk_0240; + u16 unk_0242; + u8 curBox; + u8 unk_0245; + u8 unk_0246; +}; -extern const u8 gText_PartyFull[]; -extern const u8 gText_Box[]; -extern const u8 gText_JustOnePkmn[]; +struct UnkStorageStruct +{ + struct Sprite *sprite; + u8 *tiles; + u16 palIndex; + u8 unk8; + u8 unk9; + u8 unk10; +}; + +struct PokemonStorageSystemData +{ + u8 state; + u8 boxOption; + u8 screenChangeType; + bool8 isReshowingPSS; + u8 taskId; + struct UnkStruct_2000020 unk_0020; + struct UnkStruct_2000028 unk_0028[8]; + u16 field_B0[528 / 2]; + u16 field_2C0; + u16 field_2C2; + u8 field_2C4; + u8 field_2C5; + u8 showPartyMenuState; + u8 unk_02C7; + u8 unk_02C8; + bool8 unk_02C9; + s16 newCurrBoxId; + u16 bg2_X; + s16 field_2CE; + u16 field_2D0; + u8 field_2D2; + u8 field_2D3; + u8 field_2D4; + u16 field_2D6; + s16 field_2D8; + u16 field_2DA; + u16 field_2DC; + u16 field_2DE; + u16 field_2E0; + u8 filler[22]; + u8 field_2F8[1024]; + u8 field_6F8; + u8 field_6F9; + u8 field_6FA; + s8 field_6FB; + u16 field_6FC[16]; + u16 field_71C; + u16 field_71E; + struct Sprite *field_720[2]; + struct Sprite *field_728[2]; + struct Sprite *field_730[2]; + u32 field_738; + u8 field_73C[80]; + u16 field_78C; + s16 wallpaperSetId; + s16 wallpaperId; + u16 field_792[360]; + u8 wallpaperChangeState; + u8 field_A63; + u8 field_A64; + s8 field_A65; + u8 *wallpaperTiles; + struct Sprite *movingMonSprite; + struct Sprite *partySprites[PARTY_SIZE]; + struct Sprite *boxMonsSprites[IN_BOX_COUNT]; + struct Sprite **field_B00; + struct Sprite **field_B04; + u16 field_B08[40]; + u16 field_B58[40]; + u16 boxSpecies[IN_BOX_COUNT]; + u32 boxPersonalities[IN_BOX_COUNT]; + u8 field_C5C; + u8 field_C5D; + u8 field_C5E; + u16 field_C60; + s16 field_C62; + s16 field_C64; + u16 field_C66; + u8 field_C68; + s8 field_C69; + u8 field_C6A; + u8 field_C6B; + struct WindowTemplate menuWindow; + struct StorageMenu menuItems[7]; + u8 menuItemsCount; + u8 menuWidth; + u8 field_CAE; + u16 field_CB0; + struct Sprite *field_CB4; + struct Sprite *field_CB8; + s32 field_CBC; + s32 field_CC0; + u32 field_CC4; + u32 field_CC8; + s16 field_CCC; + s16 field_CCE; + u16 field_CD0; + s8 field_CD2; + s8 field_CD3; + u8 field_CD4; + u8 field_CD5; + u8 field_CD6; + u8 field_CD7; + u8 field_CD8[2]; + const u32 *cursorMonPalette; + u32 cursorMonPersonality; + u16 cursorMonSpecies; + u16 cursorMonItem; + u16 field_CE8; + bool8 setMosaic; + u8 cursorMonMarkings; + u8 cursorMonLevel; + bool8 cursorMonIsEgg; + u8 cursorMonNick[POKEMON_NAME_LENGTH + 1]; + u8 cursorMonNickText[36]; + u8 cursorMonSpeciesName[36]; + u8 cursorMonGenderLvlText[36]; + u8 cursorMonItemName[36]; + bool8 (*monPlaceChangeFunc)(void); + u8 monPlaceChangeState; + u8 field_D91; + struct Sprite *field_D94; + struct Sprite *field_D98[2]; + u16 *field_DA0; + struct PokemonMarkMenu field_DA4; + struct UnkPSSStruct_2002370 field_1E5C; + struct Pokemon movingMon; + struct Pokemon field_2108; + s8 field_216C; + u8 field_216D; + s8 field_216E; + s8 field_216F; + s8 field_2170; + s8 field_2171; + u16 field_2172; + u16 field_2174; + u16 field_2176[8]; + u8 field_2186; + u8 field_2187; + u8 field_2188; + union + { + struct Pokemon *mon; + struct BoxPokemon *box; + } field_218C; + u8 field_2190[40]; + u8 field_21B8[40]; + u8 field_21E0[POKEMON_NAME_LENGTH + 1]; + u8 itemName[20]; + u8 inBoxMovingMode; + u16 field_2200; + struct UnkStorageStruct field_2204[3]; + u16 movingItem; + u16 field_2236; + u8 field_2238; + u16 field_223A; + u16 *field_223C; + struct Sprite *cursorMonSprite; + u16 field_2244[0x40]; + u8 field_22C4[0x800]; + u8 field_2AC4[0x1800]; + u8 field_42C4[0x800]; + u8 field_4AC4[0x1000]; + u8 field_5AC4[0x800]; +}; -extern u8 gUnknown_02039D00; +struct UnkSubStruct_2039D84 +{ + s16 field_0; + s16 field_2; + u16 field_4; + u16 field_6; + s16 field_8; + s16 field_A; +}; + +struct UnkStruct_2039D84 +{ + struct UnkSubStruct_2039D84 field_0[2]; + const void *field_18; + const void *field_1C; + u16 field_20; + u16 field_22; + u16 field_24; + u16 field_26; + u16 field_28; + u8 field_2A; + u8 field_2B; + u8 field_2C; + u8 field_2D; +}; + +enum +{ + BOX_OPTION_WITHDRAW, + BOX_OPTION_DEPOSIT, + BOX_OPTION_MOVE_MONS, + BOX_OPTION_MOVE_ITEMS, + BOX_OPTION_EXIT, +}; + +enum +{ + PC_TEXT_EXIT_BOX, + PC_TEXT_WHAT_YOU_DO, + PC_TEXT_PICK_A_THEME, + PC_TEXT_PICK_A_WALLPAPER, + PC_TEXT_IS_SELECTED, + PC_TEXT_JUMP_TO_WHICH_BOX, + PC_TEXT_DEPOSIT_IN_WHICH_BOX, + PC_TEXT_WAS_DEPOSITED, + PC_TEXT_BOX_IS_FULL, + PC_TEXT_RELEASE_POKE, + PC_TEXT_WAS_RELEASED, + PC_TEXT_BYE_BYE, + PC_TEXT_MARK_POKE, + PC_TEXT_LAST_POKE, + PC_TEXT_PARTY_FULL, + PC_TEXT_HOLDING_POKE, + PC_TEXT_WHICH_ONE_WILL_TAKE, + PC_TEXT_CANT_RELEASE_EGG, + PC_TEXT_CONTINUE_BOX, + PC_TEXT_CAME_BACK, + PC_TEXT_WORRIED, + PC_TEXT_SURPRISE, + PC_TEXT_PLEASE_REMOVE_MAIL, + PC_TEXT_IS_SELECTED2, + PC_TEXT_GIVE_TO_MON, + PC_TEXT_PLACED_IN_BAG, + PC_TEXT_BAG_FULL, + PC_TEXT_PUT_IN_BAG, + PC_TEXT_ITEM_IS_HELD, + PC_TEXT_CHANGED_TO_ITEM, + PC_TEXT_CANT_STORE_MAIL, +}; + +enum +{ + PC_TEXT_FMT_NORMAL, + PC_TEXT_FMT_MON_NAME_1, + PC_TEXT_FMT_MON_NAME_2, + PC_TEXT_FMT_MON_NAME_3, + PC_TEXT_FMT_MON_NAME_4, + PC_TEXT_FMT_MON_NAME_5, + PC_TEXT_FMT_MON_NAME_6, + PC_TEXT_FMT_ITEM_NAME, +}; + +enum +{ + SCREEN_CHANGE_EXIT_BOX, + SCREEN_CHANGE_SUMMARY_SCREEN, + SCREEN_CHANGE_NAME_BOX, + SCREEN_CHANGE_ITEM_FROM_BAG, +}; + +enum +{ + MODE_PARTY, + MODE_BOX, + MODE_2, +}; + +enum +{ + WALLPAPER_FOREST, + WALLPAPER_CITY, + WALLPAPER_DESERT, + WALLPAPER_SAVANNA, + WALLPAPER_CRAG, + WALLPAPER_VOLCANO, + WALLPAPER_SNOW, + WALLPAPER_CAVE, + WALLPAPER_BEACH, + WALLPAPER_SEAFLOOR, + WALLPAPER_RIVER, + WALLPAPER_SKY, + WALLPAPER_POLKADOT, + WALLPAPER_POKECENTER, + WALLPAPER_MACHINE, + WALLPAPER_PLAIN, + WALLPAPER_FRIENDS, // The one received as a gift from Walda's parents. + WALLPAPER_COUNT +}; + +enum +{ + FRIENDS_ZIGZAGOON, + FRIENDS_SCREEN, + FRIENDS_HORIZONTAL, + FRIENDS_DIAGONAL, + FRIENDS_BLOCK, + FRIENDS_RIBBON, + FRIENDS_POKECENTER2, + FRIENDS_FRAME, + FRIENDS_BLANK, + FRIENDS_CIRCLES, + FRIENDS_AZUMARILL, + FRIENDS_PIKACHU, + FRIENDS_LEGENDARY, + FRIENDS_DUSCLOPS, + FRIENDS_LUDICOLO, + FRIENDS_WHISCASH, + FRIENDS_WALLPAPERS_COUNT +}; + +enum +{ + CURSOR_AREA_IN_BOX, + CURSOR_AREA_IN_PARTY, + CURSOR_AREA_BOX, + CURSOR_AREA_BUTTONS, // Party Pokemon and Close Box +}; + +#define TAG_PAL_WAVEFORM 0xDACA +#define TAG_PAL_DAC8 0xDAC8 +#define TAG_PAL_DAC6 0xDAC6 +#define TAG_PAL_DACE 0xDACE +#define TAG_PAL_DAC7 0xDAC7 +#define TAG_PAL_DAC9 0xDAC9 +#define TAG_PAL_DAC0 0xDAC0 +#define TAG_PAL_DACB 0xDACB + +#define TAG_TILE_WAVEFORM 0x5 +#define TAG_TILE_10 0x10 +#define TAG_TILE_2 0x2 +#define TAG_TILE_D 0xD +#define TAG_TILE_A 0xA +#define TAG_TILE_3 0x3 +#define TAG_TILE_4 0x4 +#define TAG_TILE_12 0x12 +#define TAG_TILE_7 0x7 +#define TAG_TILE_0 0x0 +#define TAG_TILE_1 0x1 + +// IWRAM bss +IWRAM_DATA static u32 gUnknown_03000F78[98]; + +// EWRAM DATA +EWRAM_DATA static u8 sPreviousBoxOption = 0; +EWRAM_DATA static struct UnkPSSStruct_2002370 *gUnknown_02039D04 = NULL; +EWRAM_DATA static struct PokemonStorageSystemData *sPSSData = NULL; +EWRAM_DATA static bool8 sInPartyMenu = 0; +EWRAM_DATA static u8 sCurrentBoxOption = 0; +EWRAM_DATA static u8 gUnknown_02039D0E = 0; +EWRAM_DATA static u8 sWhichToReshow = 0; +EWRAM_DATA static u8 gUnknown_02039D10 = 0; +EWRAM_DATA static u16 gUnknown_02039D12 = 0; +EWRAM_DATA static struct Pokemon gUnknown_02039D14 = {0}; +EWRAM_DATA static s8 sBoxCursorArea = 0; +EWRAM_DATA static s8 sBoxCursorPosition = 0; +EWRAM_DATA static bool8 sIsMonBeingMoved = 0; +EWRAM_DATA static u8 sMovingMonOrigBoxId = 0; +EWRAM_DATA static u8 sMovingMonOrigBoxPos = 0; +EWRAM_DATA static bool8 sCanOnlyMove = 0; + +extern void sub_80C6D80(u8 *arg0, void *arg1, u8 arg2, u8 arg3, s32 arg4); + +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; // This file's functions. -void StorageSystemCreatePrimaryMenu(u8 whichMenu, s16 *windowIdPtr); -void sub_80C7D74(u8); -u8 sub_80CAEA0(void); -void SetBoxWallpaper(u8 boxId, u8 wallpaperId); -void SetCurrentBox(u8 boxId); -void ClearMonInBox(u8 boxId, u8 boxPos); -void ResetWaldaWallpaper(void); -void sub_80C7958(u8 curBox); -void sub_80C7B14(void); -void sub_80C7BB4(void); -void sub_80CA028(void); -void sub_80C7B80(void); -void sub_80D2AA4(void); -void sub_80C7BE4(void); -void sub_80CAA14(void); -void sub_80C7CF4(struct Sprite *sprite); -struct Sprite *sub_80CD2E8(u16 x, u16 y, u8 animId, u8 priority, u8 subpriority); - -// const rom data -const struct PSS_MenuStringPtrs gUnknown_085716C0[] = +static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr); +static void Cb2_EnterPSS(u8 boxOption); +static u8 GetCurrentBoxOption(void); +static u8 HandleInput(void); +static u8 sub_80CDC2C(void); +static u8 sub_80CB9BC(void); +static void LoadWallpaperGfx(u8 boxId, s8 direction); +static void sub_80CCCFC(u8 boxId, s8 direction); +static void sub_80CD0B8(s8 direction); +static void SetCurrentBox(u8 boxId); +static void sub_80CC32C(u8 boxId); +static void sub_80C7958(u8 curBox); +static void sub_80CCAE0(void *arg0); +static void sub_80C7B14(void); +static void sub_80C7BB4(void); +static void ScrollBackground(void); +static void sub_80C7B80(void); +static void sub_80C7BE4(void); +static void sub_80CAA14(void); +static void sub_80CFDC4(void); +static void sub_80CE790(void); +static void sub_80CE8E4(void); +static void GiveChosenBagItem(void); +static void SetUpHidePartyMenu(void); +static void DestroyAllPartyMonIcons(void); +static void sub_80D11CC(void); +static void LoadPSSMenuGfx(void); +static void LoadWaveformSpritePalette(void); +static void sub_80CDC18(void); +static void sub_80CD36C(void); +static void sub_80CD3EC(void); +static void sub_80CAC1C(void); +static void sub_80CEBDC(void); +static void SetScrollingBackground(void); +static void sub_80CABE0(void); +static void sub_80CAEAC(void); +static void sub_80D0C60(void); +static void sub_80CFEA8(void); +static void sub_80CDC0C(void); +static void sub_80CAF04(void); +static void sub_80CA0D8(void); +static void AddMenu(void); +static void sub_80CE250(void); +static void InitCanRelaseMonVars(void); +static void sub_80D01B8(void); +static void ReleaseMon(void); +static void RefreshCursorMonData(void); +static void LoadCursorMonSprite(void); +static void sub_80CA154(void); +static void sub_80CA1C4(void); +static void sub_80CC064(void); +static void sub_80CE324(void); +static void ClearBottomWindow(void); +static void sub_80CA704(void); +static void sub_80D013C(void); +static void sub_80CE00C(void); +static void sub_80D1194(void); +static void PrintCursorMonInfo(void); +static void sub_80CA65C(void); +static void AddWallpaperSetsMenu(void); +static void sub_80CD02C(void); +static void InitMenu(void); +static void sub_80CD158(void); +static void sub_80CFC14(void); +static void sub_80CEB40(void); +static void sub_80CCEE0(void); +static void sub_80D1818(void); +static void sub_80D19B4(u32 arg0); +static void sub_80CAA74(void); +static void PrintItemDescription(void); +static void sub_80CE760(void); +static void sub_80CDBA0(void); +static void sub_80CE7E8(void); +static void sub_80CFECC(void); +static void sub_80CA9EC(void); +static void FreePSSData(void); +static void AddBoxMenu(void); +static void sub_80CCF9C(void); +static void MoveMon(void); +static void PlaceMon(void); +static void sub_80CAB20(void); +static void sub_80CE22C(void); +static void sub_80CDA68(void); +static void sub_80CB950(void); +static void sub_80CA9C0(void); +static void SetUpDoShowPartyMenu(void); +static void BoxSetMosaic(void); +static void sub_80C7CF4(struct Sprite *sprite); +static void sub_80CC100(struct Sprite *sprite); +static void sub_80CB278(struct Sprite *sprite); +static void sub_80CD210(struct Sprite *sprite); +static bool32 WaitForWallpaperGfxLoad(void); +static bool8 InitPSSWindows(void); +static bool8 sub_80CC0A0(void); +static bool8 sub_80CE2A8(void); +static bool8 sub_80D0164(void); +static bool8 sub_80CC35C(void); +static bool8 sub_80D01E4(void); +static bool8 sub_80CDED4(void); +static bool8 sub_80CDF08(void); +static bool8 sub_80D184C(void); +static bool8 sub_80D18E4(void); +static bool8 DoShowPartyMenu(void); +static bool8 sub_80D1218(void); +static bool8 ScrollToBox(void); +static bool8 sub_80CD554(void); +static bool8 HidePartyMenu(void); +static bool8 IsActiveItemMoving(void); +static bool8 sub_80D0580(u8 arg0); +static bool8 sub_80D0BC0(void); +static bool8 sub_80CA2B8(void); +static bool8 DoWallpaperGfxChange(void); +static bool8 DoMonPlaceChange(void); +static bool8 sub_80D00A8(void); +static bool8 CanMovePartyMon(void); +static bool8 CanShiftMon(void); +static bool8 IsCursorOnCloseBox(void); +static bool8 IsCursorOnBox(void); +static bool8 IsCursorInBox(void); +static bool8 IsMonBeingMoved(void); +static bool8 TryStorePartyMonInBox(u8 boxId); +static void Cb_InitPSS(u8 taskId); +static void Cb_PlaceMon(u8 taskId); +static void Cb_ChangeScreen(u8 taskId); +static void Cb_ShowPSS(u8 taskId); +static void Cb_OnBPressed(u8 taskId); +static void Cb_HandleBoxOptions(u8 taskId); +static void Cb_OnSelectedMon(u8 taskId); +static void Cb_OnCloseBoxPressed(u8 taskId); +static void Cb_HidePartyPokemon(u8 taskId); +static void Cb_DepositMenu(u8 taskId); +static void Cb_MoveMon(u8 taskId); +static void Cb_GiveMovingItemToMon(u8 taskId); +static void Cb_SwitchSelectedItem(u8 taskId); +static void Cb_TakeItemForMoving(u8 taskId); +static void Cb_WithdrawMon(u8 taskId); +static void Cb_ShiftMon(u8 taskId); +static void Cb_ShowPartyPokemon(u8 taskId); +static void Cb_ShowItemInfo(u8 taskId); +static void Cb_GiveItemFromBag(u8 taskId); +static void Cb_ItemToBag(u8 taskId); +static void Cb_TakeItemForMoving(u8 taskId); +static void Cb_ShowMarkMenu(u8 taskId); +static void Cb_ShowMonSummary(u8 taskId); +static void Cb_ReleaseMon(u8 taskId); +static void Cb_ReshowPSS(u8 taskId); +static void Cb_MainPSS(u8 taskId); +static void Cb_JumpBox(u8 taskId); +static void Cb_HandleWallpapers(u8 taskId); +static void Cb_NameBox(u8 taskId); +static void Cb_PrintCantStoreMail(u8 taskId); +static void Cb_HandleMovingMonFromParty(u8 taskId); +static void SetUpScrollToBox(u8 boxId); +static void sub_80CFE54(u8 animNum); +static void SetMovingMonPriority(u8 priority); +static void InitMonPlaceChange(u8 arg0); +static void SetMonMarkings(u8 markings); +static void ShowYesNoWindow(s8 cursorPos); +static void sub_80CDBF8(u8 cursorBoxPosition); +static void sub_80D01D0(u8 arg0); +static void sub_80CD1A8(bool8 arg0); +static void sub_80CA984(bool8 arg0); +static void CreatePartyMonsSprites(bool8 arg0); +static void PrintStorageActionText(u8 id); +static s16 sub_80D00AC(void); +static s8 RunCanReleaseMon(void); +static u8 GetBoxCursorPosition(void); +static void Item_FromMonToMoving(u8 cursorArea, u8 cursorPos); +static void Item_GiveMovingToMon(u8 cursorArea, u8 cursorPos); +static void Item_TakeMons(u8 cursorArea, u8 cursorPos); +static void Item_SwitchMonsWithMoving(u8 cursorArea, u8 cursorPos); +static struct Sprite *sub_80CD2E8(u16 x, u16 y, u8 animId, u8 priority, u8 subpriority); +static void SetWallpaperForCurrentBox(u8 wallpaperId); +static void AddWallpapersMenu(u8 wallpaperSet); +static u16 GetMovingItem(void); +static void LoadCursorMonGfx(u16 species, u32 pid); +static void sub_80CA2D0(struct Sprite *sprite); +static void sub_80CCF64(struct Sprite *sprite); +static void sub_80CBA3C(struct Sprite *sprite); +static void sub_80CCF30(struct Sprite *sprite); +static void sub_80CBAF0(s16 yDelta); +static void sub_80CAAA8(u8 arg0, bool8 isPartyMon); +static const u8 *GetMovingItemName(void); +static void SetMenuText(u8 textId); +static void sub_80D0D8C(u8 cursorArea, u8 cursorPos); +static void sub_80D0E50(u8 cursorArea, u8 cursorPos); +static void sub_80D0F38(u16 item); +static struct Sprite *CreateMonIconSprite(u16 species, u32 personality, s16 x, s16 y, u8 oamPriority, u8 subpriority); +static void DestroyBoxMonIcon(struct Sprite *sprite); +static void SetBoxSpeciesAndPersonalities(u8 boxId); +static void sub_80CB9D0(struct Sprite *sprite, u16 partyId); +static void sub_80CC370(u8 taskId); +static void sub_80CCB50(u8 boxId); +static s8 sub_80CC644(u8 boxId); +static void sub_80CCA3C(const void *tilemap, s8 direction, u8 arg2); +static s16 sub_80CD00C(const u8 *string); +static bool8 MonPlaceChange_Shift(void); +static bool8 MonPlaceChange_Move(void); +static bool8 MonPlaceChange_Place(void); +static bool8 sub_80CDEC4(void); +static bool8 sub_80CDEB4(void); +static void sub_80CD444(u8 cursorArea, u8 cursorPosition, u16 *x, u16 *y); +static void SetShiftedMonData(u8 boxId, u8 position); +static void SetMovedMonData(u8 boxId, u8 position); +static void SetPlacedMonData(u8 boxId, u8 position); +static void PurgeMonOrBoxMon(u8 boxId, u8 position); +static void SetCursorMonData(void *pokemon, u8 mode); +static bool32 AtLeastThreeUsableMons(void); +static u8 InBoxInput_Normal(void); +static u8 InBoxInput_MovingMultiple(void); +static u8 InBoxInput_GrabbingMultiple(void); +static s8 sub_80CFF98(u8 arg0); +static u8 sub_80CFA5C(void); +static u8 sub_80D0BA4(void); +static bool8 sub_80CFA84(void); +static bool8 sub_80CFB44(void); +static bool8 sub_80D024C(void); +static bool8 sub_80D0344(void); +static bool8 sub_80D03B0(void); +static bool8 sub_80D0420(void); +static bool8 sub_80D04A0(void); +static bool8 sub_80D04C8(void); +static void sub_80D07B0(u8 arg0, u8 arg1); +static void sub_80D0834(u8 arg0, u8 arg1); +static void sub_80D0B5C(void); +static void sub_80D062C(void); +static void sub_80D0884(u16 arg0, u16 arg1, u16 arg2); +static void sub_80D08CC(void); +static void sub_80D09A4(void); +static void sub_80D0A1C(void); +static void sub_80D0AAC(void); +static u8 sub_80D0894(void); +static void sub_80D0778(u8 arg0, u8 arg1, u8 arg2); +static void sub_80D0708(u8 arg0, u8 arg1, u8 arg2); +static void sub_80D06D0(u8 arg0, u8 arg1, u8 arg2); +static void sub_80D0740(u8 arg0, u8 arg1, u8 arg2); +static void sub_80D27AC(u8 id, u16 arg1, u16 arg2, u16 arg3, u16 arg4); +static void sub_80D27F4(u8 id, u8 arg1, s8 arg2); +static void sub_80D2644(u8 id, u8 bg, const void *arg2, u16 arg3, u16 arg4); +static void sub_80D2770(u8 id, u16 arg1, u16 arg2); +static void sub_80D259C(u8 count); +static void sub_80D25F0(void); +static void sub_80D2918(u8 id); +static void sub_80D2960(u8 id); +static void sub_80D29F8(u8 id); +static void sub_80D2A90(struct UnkStruct_2000020 *arg0, struct UnkStruct_2000028 *arg1, u32 arg2); +static void sub_80D2AA4(void); +static void sub_80D2B88(struct UnkStruct_2000028 *unkStruct); +static void sub_80D2C1C(struct UnkStruct_2000028 *unkStruct); + +// static const rom data +static const struct PSS_MenuStringPtrs gUnknown_085716C0[] = { {gText_WithdrawPokemon, gText_WithdrawMonDescription}, {gText_DepositPokemon, gText_DepositMonDescription}, @@ -58,7 +728,16 @@ const struct PSS_MenuStringPtrs gUnknown_085716C0[] = {gText_SeeYa, gText_SeeYaDescription} }; -const struct WindowTemplate gUnknown_085716E8 = {0, 1, 1, 0x11, 0xA, 0xF, 1}; +static const struct WindowTemplate gUnknown_085716E8 = +{ + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 17, + .height = 10, + .paletteNum = 15, + .baseBlock = 0x1, +}; static const union AnimCmd sSpriteAnim_85716F0[] = { @@ -84,7 +763,7 @@ static const union AnimCmd sSpriteAnim_8571708[] = ANIMCMD_END }; -const union AnimCmd *const sSpriteAnimTable_8571710[] = +static const union AnimCmd *const sSpriteAnimTable_8571710[] = { sSpriteAnim_85716F0, sSpriteAnim_85716F8, @@ -103,12 +782,765 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_8571730[] = sSpriteAffineAnim_8571720 }; -const u8 gUnknown_08571734[] = {4, 0xF, 0xE}; -const u8 gUnknown_08571737[] = _("/30"); +static const u8 gUnknown_08571734[] = {4, 0xF, 0xE}; +static const u8 gUnknown_08571737[] = _("/30"); + +static const u16 gBoxSelectionPopupPalette[] = INCBIN_U16("graphics/unknown/unknown_57173C.gbapal"); +static const u8 gBoxSelectionPopupCenterTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_center.4bpp"); +static const u8 gBoxSelectionPopupSidesTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_sides.4bpp"); +static const u32 gPokemonStorageScrollingBGTileset[] = INCBIN_U32("graphics/pokemon_storage/scrolling_bg.4bpp.lz"); +static const u32 gPokemonStorageScrollingBGTilemap[] = INCBIN_U32("graphics/pokemon_storage/scrolling_bg.bin.lz"); +static const u32 gUnknown_08572280[] = INCBIN_U32("graphics/unknown/unknown_572280.gbapal"); +static const u32 gUnknown_085722A0[] = INCBIN_U32("graphics/unknown/unknown_5722A0.bin.lz"); + +static const u16 gUnknown_0857239C[] = +{ + 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, 0x0108, 0x0111, 0x0112, 0x0113, 0x0114, 0x0115, 0x0116, 0x0117, 0x0118, + 0x2101, 0x2102, 0x2103, 0x2104, 0x2105, 0x2106, 0x2107, 0x2108, 0x2111, 0x2112, 0x2113, 0x2114, 0x2115, 0x2116, 0x2117, 0x2118, +}; + +static const u16 gUnknown_085723DC[] = INCBIN_U16("graphics/unknown/unknown_5723DC.gbapal"); // Left-most part and Close Box. +static const u16 gUnknown_085723FC[] = INCBIN_U16("graphics/unknown/unknown_5723FC.gbapal"); +static const u16 gUnknown_0857241C[] = INCBIN_U16("graphics/unknown/unknown_57241C.gbapal"); +static const u16 gUnknown_0857243C[] = INCBIN_U16("graphics/unknown/unknown_57243C.gbapal"); + +static const u16 gUnknown_0857245C[] = +{ + 0x014c, 0x014d, 0x014e, 0x014f, 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x015c, 0x015d, 0x015e, 0x015f, 0x0180, 0x0181, 0x0182, + 0x0183, 0x0184, 0x0175, 0x0176, 0x0177, 0x0178, 0x0179, 0x017a, 0x017b, 0x017c, 0x017d, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189, + 0x018a, 0x018b, 0x018c, 0x018d +}; +static const u16 gUnknown_085724A4[] = +{ + 0x1140, 0x1141, 0x1141, 0x1142, 0x1150, 0x1151, 0x1151, 0x1152, 0x1160, 0x1161, 0x1161, 0x1162, +}; +static const u16 gUnknown_085724BC[] = +{ + 0x1143, 0x1144, 0x1144, 0x1145, 0x1153, 0x1154, 0x1154, 0x1155, 0x1163, 0x1164, 0x1164, 0x1165, +}; + +static const u16 gWaveformPalette[] = INCBIN_U16("graphics/pokemon_storage/waveform.gbapal"); +static const u32 gWaveformTiles[] = INCBIN_U32("graphics/pokemon_storage/waveform.4bpp"); +static const u32 gUnknown_085726B4[] = INCBIN_U32("graphics/unused/unknown_5726B4.gbapal"); +static const u32 gUnknown_085726F4[] = INCBIN_U32("graphics/unknown/unknown_5726F4.gbapal"); + +static const struct WindowTemplate gUnknown_08572714[] = +{ + { // 0 + .bg = 1, + .tilemapLeft = 0, + .tilemapTop = 11, + .width = 9, + .height = 7, + .paletteNum = 3, + .baseBlock = 0xC0, + }, + { // 1 + .bg = 0, + .tilemapLeft = 11, + .tilemapTop = 17, + .width = 18, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x14, + }, + { // 2 + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 13, + .width = 21, + .height = 7, + .paletteNum = 15, + .baseBlock = 0x14, + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct BgTemplate gUnknown_08572734[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0x100 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 27, + .screenSize = 1, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 3, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const struct SpritePalette gWaveformSpritePalette = +{ + gWaveformPalette, TAG_PAL_WAVEFORM +}; + +static const struct SpriteSheet gWaveformSpriteSheet = +{ + gWaveformTiles, sizeof(gWaveformTiles), TAG_TILE_WAVEFORM +}; + +static const struct OamData sOamData_857286C; +static const struct SpriteTemplate sSpriteTemplate_CursorMon = +{ + .tileTag = TAG_TILE_2, + .paletteTag = TAG_PAL_DAC6, + .oam = &sOamData_857286C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct StorageAction gPCStorageActionTexts[] = +{ + [PC_TEXT_EXIT_BOX] = {gText_ExitFromBox, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_WHAT_YOU_DO] = {gText_WhatDoYouWantToDo, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_PICK_A_THEME] = {gText_PleasePickATheme, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_PICK_A_WALLPAPER] = {gText_PickTheWallpaper, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_IS_SELECTED] = {gText_PkmnIsSelected, PC_TEXT_FMT_MON_NAME_1}, + [PC_TEXT_JUMP_TO_WHICH_BOX] = {gText_JumpToWhichBox, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_DEPOSIT_IN_WHICH_BOX] = {gText_DepositInWhichBox, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_WAS_DEPOSITED] = {gText_PkmnWasDeposited, PC_TEXT_FMT_MON_NAME_1}, + [PC_TEXT_BOX_IS_FULL] = {gText_BoxIsFull2, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_RELEASE_POKE] = {gText_ReleaseThisPokemon, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_WAS_RELEASED] = {gText_PkmnWasReleased, PC_TEXT_FMT_MON_NAME_4}, + [PC_TEXT_BYE_BYE] = {gText_ByeByePkmn, PC_TEXT_FMT_MON_NAME_6}, + [PC_TEXT_MARK_POKE] = {gText_MarkYourPkmn, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_LAST_POKE] = {gText_ThatsYourLastPkmn, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_PARTY_FULL] = {gText_YourPartysFull, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_HOLDING_POKE] = {gText_YoureHoldingAPkmn, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_WHICH_ONE_WILL_TAKE] = {gText_WhichOneWillYouTake, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_CANT_RELEASE_EGG] = {gText_YouCantReleaseAnEgg, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_CONTINUE_BOX] = {gText_ContinueBoxOperations, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_CAME_BACK] = {gText_PkmnCameBack, PC_TEXT_FMT_MON_NAME_1}, + [PC_TEXT_WORRIED] = {gText_WasItWorriedAboutYou, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_SURPRISE] = {gText_FourEllipsesExclamation, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_PLEASE_REMOVE_MAIL] = {gText_PleaseRemoveTheMail, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_IS_SELECTED2] = {gText_PkmnIsSelected, PC_TEXT_FMT_ITEM_NAME}, + [PC_TEXT_GIVE_TO_MON] = {gText_GiveToAPkmn, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_PLACED_IN_BAG] = {gText_PlacedItemInBag, PC_TEXT_FMT_ITEM_NAME}, + [PC_TEXT_BAG_FULL] = {gText_BagIsFull2, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_PUT_IN_BAG] = {gText_PutItemInBag, PC_TEXT_FMT_NORMAL}, + [PC_TEXT_ITEM_IS_HELD] = {gText_ItemIsNowHeld, PC_TEXT_FMT_ITEM_NAME}, + [PC_TEXT_CHANGED_TO_ITEM] = {gText_ChangedToNewItem, PC_TEXT_FMT_ITEM_NAME}, + [PC_TEXT_CANT_STORE_MAIL] = {gText_MailCantBeStored, PC_TEXT_FMT_NORMAL}, +}; + +static const struct WindowTemplate sYesNoWindowTemplate = +{ + .bg = 0, + .tilemapLeft = 24, + .tilemapTop = 11, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x5C, +}; + +static const struct OamData sOamData_857286C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_8572874 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_857287C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8572884[] = +{ + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(6, 8), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd sSpriteAnim_8572894[] = +{ + ANIMCMD_FRAME(8, 5), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_857289C[] = +{ + ANIMCMD_FRAME(10, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(12, 8), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpriteAnimTable_85728AC[] = +{ + sSpriteAnim_857287C, + sSpriteAnim_8572884, + sSpriteAnim_8572894, + sSpriteAnim_857289C +}; + +static const struct SpriteTemplate sSpriteTemplate_Waveform = +{ + .tileTag = TAG_TILE_WAVEFORM, + .paletteTag = TAG_PAL_WAVEFORM, + .oam = &sOamData_8572874, + .anims = sSpriteAnimTable_85728AC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct OamData sOamData_85728EC; +static const struct SpriteTemplate gUnknown_085728D4 = +{ + .tileTag = TAG_TILE_12, + .paletteTag = TAG_PAL_DAC0, + .oam = &sOamData_85728EC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct OamData sOamData_85728EC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_85728F4[] = +{ + AFFINEANIMCMD_FRAME(-2, -2, 0, 120), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8572904[] = +{ + AFFINEANIMCMD_FRAME(16, 16, 0, 0), + AFFINEANIMCMD_FRAME(16, 16, 0, 15), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_857291C[] = +{ + gSpriteAffineAnim_85728F4, + gSpriteAffineAnim_8572904 +}; + +static const u16 gWallpaperPalettes_Forest[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/forest_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/forest_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Forest[] = INCBIN_U32("graphics/pokemon_storage/forest.4bpp.lz"); +static const u32 gWallpaperTilemap_Forest[] = INCBIN_U32("graphics/pokemon_storage/forest.bin.lz"); + +static const u16 gWallpaperPalettes_City[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/city_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/city_bg.gbapal"), +}; +static const u32 gWallpaperTiles_City[] = INCBIN_U32("graphics/pokemon_storage/city.4bpp.lz"); +static const u32 gWallpaperTilemap_City[] = INCBIN_U32("graphics/pokemon_storage/city.bin.lz"); + +static const u16 gWallpaperPalettes_Desert[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/desert_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/desert_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Desert[] = INCBIN_U32("graphics/pokemon_storage/desert.4bpp.lz"); +static const u32 gWallpaperTilemap_Desert[] = INCBIN_U32("graphics/pokemon_storage/desert.bin.lz"); + +static const u16 gWallpaperPalettes_Savanna[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/savanna_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/savanna_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Savanna[] = INCBIN_U32("graphics/pokemon_storage/savanna.4bpp.lz"); +static const u32 gWallpaperTilemap_Savanna[] = INCBIN_U32("graphics/pokemon_storage/savanna.bin.lz"); + +static const u16 gWallpaperPalettes_Crag[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/crag_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/crag_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Crag[] = INCBIN_U32("graphics/pokemon_storage/crag.4bpp.lz"); +static const u32 gWallpaperTilemap_Crag[] = INCBIN_U32("graphics/pokemon_storage/crag.bin.lz"); + +static const u16 gWallpaperPalettes_Volcano[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/volcano_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/volcano_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Volcano[] = INCBIN_U32("graphics/pokemon_storage/volcano.4bpp.lz"); +static const u32 gWallpaperTilemap_Volcano[] = INCBIN_U32("graphics/pokemon_storage/volcano.bin.lz"); + +static const u16 gWallpaperPalettes_Snow[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/snow_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/snow_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Snow[] = INCBIN_U32("graphics/pokemon_storage/snow.4bpp.lz"); +static const u32 gWallpaperTilemap_Snow[] = INCBIN_U32("graphics/pokemon_storage/snow.bin.lz"); + +static const u16 gWallpaperPalettes_Cave[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/cave_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/cave_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Cave[] = INCBIN_U32("graphics/pokemon_storage/cave.4bpp.lz"); +static const u32 gWallpaperTilemap_Cave[] = INCBIN_U32("graphics/pokemon_storage/cave.bin.lz"); + +static const u16 gWallpaperPalettes_Beach[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/beach_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/beach_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Beach[] = INCBIN_U32("graphics/pokemon_storage/beach.4bpp.lz"); +static const u32 gWallpaperTilemap_Beach[] = INCBIN_U32("graphics/pokemon_storage/beach.bin.lz"); + +static const u16 gWallpaperPalettes_Seafloor[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/seafloor_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/seafloor_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Seafloor[] = INCBIN_U32("graphics/pokemon_storage/seafloor.4bpp.lz"); +static const u32 gWallpaperTilemap_Seafloor[] = INCBIN_U32("graphics/pokemon_storage/seafloor.bin.lz"); + +static const u16 gWallpaperPalettes_River[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/river_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/river_bg.gbapal"), +}; +static const u32 gWallpaperTiles_River[] = INCBIN_U32("graphics/pokemon_storage/river.4bpp.lz"); +static const u32 gWallpaperTilemap_River[] = INCBIN_U32("graphics/pokemon_storage/river.bin.lz"); +static const u16 gWallpaperPalettes_Sky[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/sky_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/sky_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Sky[] = INCBIN_U32("graphics/pokemon_storage/sky.4bpp.lz"); +static const u32 gWallpaperTilemap_Sky[] = INCBIN_U32("graphics/pokemon_storage/sky.bin.lz"); + +static const u16 gWallpaperPalettes_PolkaDot[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/polkadot_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/polkadot_bg.gbapal"), +}; +static const u32 gWallpaperTiles_PolkaDot[] = INCBIN_U32("graphics/pokemon_storage/polkadot.4bpp.lz"); +static const u32 gWallpaperTilemap_PolkaDot[] = INCBIN_U32("graphics/pokemon_storage/polkadot.bin.lz"); + +static const u16 gWallpaperPalettes_Pokecenter[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/pokecenter_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/pokecenter_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Pokecenter[] = INCBIN_U32("graphics/pokemon_storage/pokecenter.4bpp.lz"); +static const u32 gWallpaperTilemap_Pokecenter[] = INCBIN_U32("graphics/pokemon_storage/pokecenter.bin.lz"); + +static const u16 gWallpaperPalettes_Machine[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/machine_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/machine_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Machine[] = INCBIN_U32("graphics/pokemon_storage/machine.4bpp.lz"); +static const u32 gWallpaperTilemap_Machine[] = INCBIN_U32("graphics/pokemon_storage/machine.bin.lz"); + +static const u16 gWallpaperPalettes_Plain[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/plain_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/plain_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Plain[] = INCBIN_U32("graphics/pokemon_storage/plain.4bpp.lz"); +static const u32 gWallpaperTilemap_Plain[] = INCBIN_U32("graphics/pokemon_storage/plain.bin.lz"); + +// 12×18 tilemap +static const u32 gUnknown_085773C4[] = INCBIN_U32("graphics/unused/tilemap_5773C4.bin"); + +static const u16 gUnknown_08577574[][2] = +{ + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF}, + {0x1CE7, 0x7FFF} +}; + +#define WALLPAPER_ENTRY(name) {gWallpaperTiles_##name, gWallpaperTilemap_##name, gWallpaperPalettes_##name[0]} + +static const struct WallpaperTable gWallpaperTable[] = +{ + [WALLPAPER_FOREST] = WALLPAPER_ENTRY(Forest), + [WALLPAPER_CITY] = WALLPAPER_ENTRY(City), + [WALLPAPER_DESERT] = WALLPAPER_ENTRY(Desert), + [WALLPAPER_SAVANNA] = WALLPAPER_ENTRY(Savanna), + [WALLPAPER_CRAG] = WALLPAPER_ENTRY(Crag), + [WALLPAPER_VOLCANO] = WALLPAPER_ENTRY(Volcano), + [WALLPAPER_SNOW] = WALLPAPER_ENTRY(Snow), + [WALLPAPER_CAVE] = WALLPAPER_ENTRY(Cave), + [WALLPAPER_BEACH] = WALLPAPER_ENTRY(Beach), + [WALLPAPER_SEAFLOOR] = WALLPAPER_ENTRY(Seafloor), + [WALLPAPER_RIVER] = WALLPAPER_ENTRY(River), + [WALLPAPER_SKY] = WALLPAPER_ENTRY(Sky), + [WALLPAPER_POLKADOT] = WALLPAPER_ENTRY(PolkaDot), + [WALLPAPER_POKECENTER] = WALLPAPER_ENTRY(Pokecenter), + [WALLPAPER_MACHINE] = WALLPAPER_ENTRY(Machine), + [WALLPAPER_PLAIN] = WALLPAPER_ENTRY(Plain), +}; + +static const u8 gPCGfx_Arrow[] = INCBIN_U8("graphics/pokemon_storage/arrow.4bpp"); + +static const u16 gWallpaperPalettes_Zigzagoon[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/friends_frame1.gbapal"), + INCBIN_U16("graphics/pokemon_storage/zigzagoon_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Zigzagoon[] = INCBIN_U32("graphics/pokemon_storage/zigzagoon.4bpp.lz"); +static const u32 gWallpaperTilemap_Zigzagoon[] = INCBIN_U32("graphics/pokemon_storage/zigzagoon.bin.lz"); + +static const u16 gWallpaperPalettes_Screen[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/friends_frame1.gbapal"), + INCBIN_U16("graphics/pokemon_storage/screen_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Screen[] = INCBIN_U32("graphics/pokemon_storage/screen.4bpp.lz"); +static const u32 gWallpaperTilemap_Screen[] = INCBIN_U32("graphics/pokemon_storage/screen.bin.lz"); + +static const u16 gWallpaperPalettes_Diagonal[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/friends_frame1.gbapal"), + INCBIN_U16("graphics/pokemon_storage/diagonal_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Diagonal[] = INCBIN_U32("graphics/pokemon_storage/diagonal.4bpp.lz"); +static const u32 gWallpaperTilemap_Diagonal[] = INCBIN_U32("graphics/pokemon_storage/diagonal.bin.lz"); + +static const u16 gWallpaperPalettes_Block[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/block_bg.gbapal"), + INCBIN_U16("graphics/pokemon_storage/block_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Block[] = INCBIN_U32("graphics/pokemon_storage/block.4bpp.lz"); +static const u32 gWallpaperTilemap_Block[] = INCBIN_U32("graphics/pokemon_storage/block.bin.lz"); + +static const u16 gWallpaperPalettes_Pokecenter2[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/pokecenter2_bg.gbapal"), + INCBIN_U16("graphics/pokemon_storage/pokecenter2_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Pokecenter2[] = INCBIN_U32("graphics/pokemon_storage/pokecenter2.4bpp.lz"); +static const u32 gWallpaperTilemap_Pokecenter2[] = INCBIN_U32("graphics/pokemon_storage/pokecenter2.bin.lz"); + +static const u16 gWallpaperPalettes_Frame[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/frame_bg.gbapal"), + INCBIN_U16("graphics/pokemon_storage/frame_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Frame[] = INCBIN_U32("graphics/pokemon_storage/frame.4bpp.lz"); +static const u32 gWallpaperTilemap_Frame[] = INCBIN_U32("graphics/pokemon_storage/frame.bin.lz"); + +static const u16 gWallpaperPalettes_Blank[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/friends_frame1.gbapal"), + INCBIN_U16("graphics/pokemon_storage/zigzagoon_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Blank[] = INCBIN_U32("graphics/pokemon_storage/blank.4bpp.lz"); +static const u32 gWallpaperTilemap_Blank[] = INCBIN_U32("graphics/pokemon_storage/blank.bin.lz"); + +static const u16 gWallpaperPalettes_Circles[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"), + INCBIN_U16("graphics/pokemon_storage/circles_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Circles[] = INCBIN_U32("graphics/pokemon_storage/circles.4bpp.lz"); +static const u32 gWallpaperTilemap_Circles[] = INCBIN_U32("graphics/pokemon_storage/circles.bin.lz"); + +static const u16 gWallpaperPalettes_Azumarill[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"), + INCBIN_U16("graphics/pokemon_storage/azumarill_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Azumarill[] = INCBIN_U32("graphics/pokemon_storage/azumarill.4bpp.lz"); +static const u32 gWallpaperTilemap_Azumarill[] = INCBIN_U32("graphics/pokemon_storage/azumarill.bin.lz"); + +static const u16 gWallpaperPalettes_Pikachu[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"), + INCBIN_U16("graphics/pokemon_storage/pikachu_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Pikachu[] = INCBIN_U32("graphics/pokemon_storage/pikachu.4bpp.lz"); +static const u32 gWallpaperTilemap_Pikachu[] = INCBIN_U32("graphics/pokemon_storage/pikachu.bin.lz"); + +static const u16 gWallpaperPalettes_Legendary[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"), + INCBIN_U16("graphics/pokemon_storage/legendary_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Legendary[] = INCBIN_U32("graphics/pokemon_storage/legendary.4bpp.lz"); +static const u32 gWallpaperTilemap_Legendary[] = INCBIN_U32("graphics/pokemon_storage/legendary.bin.lz"); + +static const u16 gWallpaperPalettes_Dusclops[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"), + INCBIN_U16("graphics/pokemon_storage/dusclops_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Dusclops[] = INCBIN_U32("graphics/pokemon_storage/dusclops.4bpp.lz"); +static const u32 gWallpaperTilemap_Dusclops[] = INCBIN_U32("graphics/pokemon_storage/dusclops.bin.lz"); + +static const u16 gWallpaperPalettes_Ludicolo[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"), + INCBIN_U16("graphics/pokemon_storage/ludicolo_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Ludicolo[] = INCBIN_U32("graphics/pokemon_storage/ludicolo.4bpp.lz"); +static const u32 gWallpaperTilemap_Ludicolo[] = INCBIN_U32("graphics/pokemon_storage/ludicolo.bin.lz"); + +static const u16 gWallpaperPalettes_Whiscash[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"), + INCBIN_U16("graphics/pokemon_storage/whiscash_bg.gbapal"), +}; +static const u32 gWallpaperTiles_Whiscash[] = INCBIN_U32("graphics/pokemon_storage/whiscash.4bpp.lz"); +static const u32 gWallpaperTilemap_Whiscash[] = INCBIN_U32("graphics/pokemon_storage/whiscash.bin.lz"); + +static const u32 gWallpaperIcon_Aqua[] = INCBIN_U32("graphics/pokemon_storage/aqua_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Heart[] = INCBIN_U32("graphics/pokemon_storage/heart_icon.4bpp.lz"); +static const u32 gWallpaperIcon_FiveStar[] = INCBIN_U32("graphics/pokemon_storage/five_star_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Brick[] = INCBIN_U32("graphics/pokemon_storage/brick_icon.4bpp.lz"); +static const u32 gWallpaperIcon_FourStar[] = INCBIN_U32("graphics/pokemon_storage/four_star_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Asterisk[] = INCBIN_U32("graphics/pokemon_storage/asterisk_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Dot[] = INCBIN_U32("graphics/pokemon_storage/dot_icon.4bpp.lz"); +static const u32 gWallpaperIcon_LineCircle[] = INCBIN_U32("graphics/pokemon_storage/line_circle_icon.4bpp.lz"); +static const u32 gWallpaperIcon_PokeBall[] = INCBIN_U32("graphics/pokemon_storage/pokeball_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Maze[] = INCBIN_U32("graphics/pokemon_storage/maze_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Footprint[] = INCBIN_U32("graphics/pokemon_storage/footprint_icon.4bpp.lz"); +static const u32 gWallpaperIcon_BigAsterisk[] = INCBIN_U32("graphics/pokemon_storage/big_asterisk_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Circle[] = INCBIN_U32("graphics/pokemon_storage/circle_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Koffing[] = INCBIN_U32("graphics/pokemon_storage/koffing_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Ribbon[] = INCBIN_U32("graphics/pokemon_storage/ribbon_icon.4bpp.lz"); +static const u32 gWallpaperIcon_FourCircles[] = INCBIN_U32("graphics/pokemon_storage/four_circles_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Lotad[] = INCBIN_U32("graphics/pokemon_storage/lotad_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Crystal[] = INCBIN_U32("graphics/pokemon_storage/crystal_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Pichu[] = INCBIN_U32("graphics/pokemon_storage/pichu_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Diglett[] = INCBIN_U32("graphics/pokemon_storage/diglett_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Luvdisc[] = INCBIN_U32("graphics/pokemon_storage/luvdisc_icon.4bpp.lz"); +static const u32 gWallpaperIcon_StarInCircle[] = INCBIN_U32("graphics/pokemon_storage/star_in_circle_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Spinda[] = INCBIN_U32("graphics/pokemon_storage/spinda_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Latis[] = INCBIN_U32("graphics/pokemon_storage/latis_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Minun[] = INCBIN_U32("graphics/pokemon_storage/minun_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Togepi[] = INCBIN_U32("graphics/pokemon_storage/togepi_icon.4bpp.lz"); +static const u32 gWallpaperIcon_Magma[] = INCBIN_U32("graphics/pokemon_storage/magma_icon.4bpp.lz"); + +static const struct WallpaperTable gFriendsWallpaperTable[] = +{ + WALLPAPER_ENTRY(Zigzagoon), + WALLPAPER_ENTRY(Screen), + WALLPAPER_ENTRY(Horizontal), + WALLPAPER_ENTRY(Diagonal), + WALLPAPER_ENTRY(Block), + WALLPAPER_ENTRY(Ribbon), + WALLPAPER_ENTRY(Pokecenter2), + WALLPAPER_ENTRY(Frame), + WALLPAPER_ENTRY(Blank), + WALLPAPER_ENTRY(Circles), + WALLPAPER_ENTRY(Azumarill), + WALLPAPER_ENTRY(Pikachu), + WALLPAPER_ENTRY(Legendary), + WALLPAPER_ENTRY(Dusclops), + WALLPAPER_ENTRY(Ludicolo), + WALLPAPER_ENTRY(Whiscash), +}; + +static const u32 *const gFriendsIcons[] = +{ + gWallpaperIcon_Aqua, + gWallpaperIcon_Heart, + gWallpaperIcon_FiveStar, + gWallpaperIcon_Brick, + gWallpaperIcon_FourStar, + gWallpaperIcon_Asterisk, + gWallpaperIcon_Dot, + gWallpaperIcon_Cross, + gWallpaperIcon_LineCircle, + gWallpaperIcon_PokeBall, + gWallpaperIcon_Maze, + gWallpaperIcon_Footprint, + gWallpaperIcon_BigAsterisk, + gWallpaperIcon_Circle, + gWallpaperIcon_Koffing, + gWallpaperIcon_Ribbon, + gWallpaperIcon_Bolt, + gWallpaperIcon_FourCircles, + gWallpaperIcon_Lotad, + gWallpaperIcon_Crystal, + gWallpaperIcon_Pichu, + gWallpaperIcon_Diglett, + gWallpaperIcon_Luvdisc, + gWallpaperIcon_StarInCircle, + gWallpaperIcon_Spinda, + gWallpaperIcon_Latis, + gWallpaperIcon_Plusle, + gWallpaperIcon_Minun, + gWallpaperIcon_Togepi, + gWallpaperIcon_Magma, +}; + +// Unknown Unused data. +static const u16 gUnknown_0857B07C = 0x23BA; -const u16 gBoxSelectionPopupPalette[] = INCBIN_U16("graphics/unknown/unknown_57173C.gbapal"); -const u8 gBoxSelectionPopupCenterTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_center.4bpp"); -const u8 gBoxSelectionPopupSidesTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_sides.4bpp"); +static const struct SpriteSheet gUnknown_0857B080 = {gPCGfx_Arrow, 0x80, 6}; + +static const struct OamData gOamData_83BB298 = +{ + .shape = ST_OAM_H_RECTANGLE, + .size = 2, + .priority = 2 +}; + +static const union AnimCmd gSpriteAnim_83BB2A0[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_83BB2A8[] = +{ + ANIMCMD_FRAME(8, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_83BB2B0[] = +{ + gSpriteAnim_83BB2A0, + gSpriteAnim_83BB2A8 +}; + +static const struct SpriteTemplate gSpriteTemplate_857B0A8 = +{ + TAG_TILE_3, + TAG_PAL_DAC9, + &gOamData_83BB298, + gSpriteAnimTable_83BB2B0, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +static const struct OamData gOamData_83BB2D0 = +{ + .shape = ST_OAM_V_RECTANGLE, + .priority = 2 +}; + +static const union AnimCmd gSpriteAnim_83BB2D8[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_83BB2E0[] = +{ + ANIMCMD_FRAME(2, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_83BB2E8[] = +{ + gSpriteAnim_83BB2D8, + gSpriteAnim_83BB2E0 +}; + +static const struct SpriteTemplate gUnknown_0857B0E0 = +{ + 6, + TAG_PAL_WAVEFORM, + &gOamData_83BB2D0, + gSpriteAnimTable_83BB2E8, + NULL, + gDummySpriteAffineAnimTable, + sub_80CD210 +}; + +static const u16 gHandCursorPalette[] = INCBIN_U16("graphics/pokemon_storage/hand_cursor.gbapal"); +static const u8 gHandCursorTiles[] = INCBIN_U8("graphics/pokemon_storage/hand_cursor.4bpp"); +static const u8 gHandCursorShadowTiles[] = INCBIN_U8("graphics/pokemon_storage/hand_cursor_shadow.4bpp"); // code u8 CountMonsInBox(u8 boxId) @@ -117,7 +1549,7 @@ u8 CountMonsInBox(u8 boxId) for (i = 0, count = 0; i < IN_BOX_COUNT; i++) { - if (GetBoxMonDataFromAnyBox(boxId, i, MON_DATA_SPECIES) != SPECIES_NONE) + if (GetBoxMonDataAt(boxId, i, MON_DATA_SPECIES) != SPECIES_NONE) count++; } @@ -130,7 +1562,7 @@ s16 GetFirstFreeBoxSpot(u8 boxId) for (i = 0; i < IN_BOX_COUNT; i++) { - if (GetBoxMonDataFromAnyBox(boxId, i, MON_DATA_SPECIES) == SPECIES_NONE) + if (GetBoxMonDataAt(boxId, i, MON_DATA_SPECIES) == SPECIES_NONE) return i; } @@ -191,7 +1623,7 @@ u8 CountPartyMons(void) return count; } -static u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n) +u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n) { u8 *str; @@ -217,28 +1649,7 @@ static void sub_80C7128(u16 *dest, u16 dest_left, u16 dest_top, const u16 *src, } } -#define MAX_DMA_BLOCK_SIZE 0x1000 -#define Dma3FillLarge_(value, dest, size, bit) \ -{ \ - void *_dest = dest; \ - u32 _size = size; \ - while (1) \ - { \ - if (_size <= MAX_DMA_BLOCK_SIZE) \ - { \ - DmaFill##bit(3, value, _dest, _size); \ - break; \ - } \ - DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \ - _dest += MAX_DMA_BLOCK_SIZE; \ - _size -= MAX_DMA_BLOCK_SIZE; \ - } \ -} - -#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16) -#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32) - -void sub_80C71A4(u16 *dest, u16 dest_left, u16 dest_top, u16 width, u16 height) +static void sub_80C71A4(u16 *dest, u16 dest_left, u16 dest_top, u16 width, u16 height) { u16 i; @@ -248,13 +1659,14 @@ void sub_80C71A4(u16 *dest, u16 dest_left, u16 dest_top, u16 width, u16 height) Dma3FillLarge16_(0, dest, width); } -void Task_PokemonStorageSystem(u8 taskId) +static void Task_PokemonStorageSystemPC(u8 taskId) { - struct Task *task = gTasks + taskId; + struct Task *task = &gTasks[taskId]; + switch (task->data[0]) { case 0: - StorageSystemCreatePrimaryMenu(task->data[1], &task->data[15]); + CreatePCMenu(task->data[1], &task->data[15]); sub_81973A4(); NewMenuHelpers_DrawDialogueFrame(0, 0); FillWindowPixelBuffer(0, 0x11); @@ -327,8 +1739,8 @@ void Task_PokemonStorageSystem(u8 taskId) { if (--task->data[1] < 0) task->data[1] = 4; - MoveMenuCursor(-1); - task->data[1] = GetMenuCursorPos(); + Menu_MoveCursor(-1); + task->data[1] = Menu_GetCursorPos(); FillWindowPixelBuffer(0, 0x11); AddTextPrinterParameterized2(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); task->data[0] = 2; @@ -337,8 +1749,8 @@ void Task_PokemonStorageSystem(u8 taskId) { if (++task->data[1] > 3) task->data[1] = 0; - MoveMenuCursor(1); - task->data[1] = GetMenuCursorPos(); + Menu_MoveCursor(1); + task->data[1] = Menu_GetCursorPos(); FillWindowPixelBuffer(0, 0x11); AddTextPrinterParameterized2(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); task->data[0] = 2; @@ -348,7 +1760,7 @@ void Task_PokemonStorageSystem(u8 taskId) if (!gPaletteFade.active) { overworld_free_bg_tilemaps(); - sub_80C7D74(task->data[2]); + Cb2_EnterPSS(task->data[2]); RemoveWindow(task->data[15]); DestroyTask(taskId); } @@ -356,29 +1768,29 @@ void Task_PokemonStorageSystem(u8 taskId) } } -void ShowPokemonStorageSystem(void) +void ShowPokemonStorageSystemPC(void) { - u8 taskId = CreateTask(Task_PokemonStorageSystem, 80); + u8 taskId = CreateTask(Task_PokemonStorageSystemPC, 80); gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 0; ScriptContext2_Enable(); } -void mapldr_0808C6D8(void) +static void FieldCb_ReturnToPcMenu(void) { u8 taskId; MainCallback vblankCb = gMain.vblankCallback; SetVBlankCallback(NULL); - taskId = CreateTask(Task_PokemonStorageSystem, 80); + taskId = CreateTask(Task_PokemonStorageSystemPC, 80); gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = gUnknown_02039D00; - Task_PokemonStorageSystem(taskId); + gTasks[taskId].data[1] = sPreviousBoxOption; + Task_PokemonStorageSystemPC(taskId); SetVBlankCallback(vblankCb); pal_fill_black(); } -void StorageSystemCreatePrimaryMenu(u8 whichMenu, s16 *windowIdPtr) +static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr) { s16 windowId; struct WindowTemplate winTemplate = gUnknown_085716E8; @@ -391,14 +1803,14 @@ void StorageSystemCreatePrimaryMenu(u8 whichMenu, s16 *windowIdPtr) *windowIdPtr = windowId; } -void sub_80C7678(void) +static void Cb2_ExitPSS(void) { - gUnknown_02039D00 = sub_80CAEA0(); - gFieldCallback = mapldr_0808C6D8; + sPreviousBoxOption = GetCurrentBoxOption(); + gFieldCallback = FieldCb_ReturnToPcMenu; SetMainCallback2(CB2_ReturnToField); } -s16 StorageSystemGetNextMonIndex(struct BoxPokemon *box, s8 startIdx, u8 stopIdx, u8 mode) +static s16 StorageSystemGetNextMonIndex(struct BoxPokemon *box, s8 startIdx, u8 stopIdx, u8 mode) { s16 i; s16 direction; @@ -431,14 +1843,13 @@ s16 StorageSystemGetNextMonIndex(struct BoxPokemon *box, s8 startIdx, u8 stopIdx void ResetPokemonStorageSystem(void) { - u16 boxId; - u16 boxMon; + u16 boxId, boxPosition; SetCurrentBox(0); for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++) { - for (boxMon = 0; boxMon < IN_BOX_COUNT; boxMon++) - ClearMonInBox(boxId, boxMon); + for (boxPosition = 0; boxPosition < IN_BOX_COUNT; boxPosition++) + ZeroBoxMonAt(boxId, boxPosition); } for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++) { @@ -452,7 +1863,7 @@ void ResetPokemonStorageSystem(void) ResetWaldaWallpaper(); } -void sub_80C77E8(struct UnkPSSStruct_2002370 *a0, u16 tileTag, u16 palTag, u8 a3, bool32 loadPal) +static void sub_80C77E8(struct UnkPSSStruct_2002370 *a0, u16 tileTag, u16 palTag, u8 a3, bool32 loadPal) { struct SpritePalette palette = { @@ -476,7 +1887,7 @@ void sub_80C77E8(struct UnkPSSStruct_2002370 *a0, u16 tileTag, u16 palTag, u8 a3 a0->unk_023c = loadPal; } -void sub_80C7890(void) +static void sub_80C7890(void) { if (gUnknown_02039D04->unk_023c) FreeSpritePaletteByTag(gUnknown_02039D04->unk_0242); @@ -484,17 +1895,17 @@ void sub_80C7890(void) FreeSpriteTilesByTag(gUnknown_02039D04->unk_0240 + 1); } -void sub_80C78D4(u8 curBox) +static void sub_80C78D4(u8 curBox) { sub_80C7958(curBox); } -void sub_80C78E4(void) +static void sub_80C78E4(void) { sub_80C7B14(); } -u8 sub_80C78F0(void) +static u8 HandleBoxChooseSelectionInput(void) { if (gMain.newKeys & B_BUTTON) { @@ -519,7 +1930,7 @@ u8 sub_80C78F0(void) return 200; } -void sub_80C7958(u8 curBox) +static void sub_80C7958(u8 curBox) { u16 i; u8 spriteId; @@ -535,7 +1946,7 @@ void sub_80C7958(u8 curBox) template.tileTag = gUnknown_02039D04->unk_0240; template.paletteTag = gUnknown_02039D04->unk_0242; - spriteId = CreateSprite(&template, 0xA0, 0x60, 0); + spriteId = CreateSprite(&template, 160, 96, 0); gUnknown_02039D04->unk_0000 = gSprites + spriteId; oamData.shape = ST_OAM_V_RECTANGLE; @@ -545,17 +1956,17 @@ void sub_80C7958(u8 curBox) for (i = 0; i < 4; i++) { u16 r5; - spriteId = CreateSprite(&template, 0x7c, 0x50, gUnknown_02039D04->unk_0246); + spriteId = CreateSprite(&template, 124, 80, gUnknown_02039D04->unk_0246); gUnknown_02039D04->unk_0004[i] = gSprites + spriteId; r5 = 0; if (i & 2) { - gUnknown_02039D04->unk_0004[i]->pos1.x = 0xc4; + gUnknown_02039D04->unk_0004[i]->pos1.x = 196; r5 = 2; } if (i & 1) { - gUnknown_02039D04->unk_0004[i]->pos1.y = 0x70; + gUnknown_02039D04->unk_0004[i]->pos1.y = 112; gUnknown_02039D04->unk_0004[i]->oam.size = 0; r5++; } @@ -573,7 +1984,7 @@ void sub_80C7958(u8 curBox) sub_80C7BE4(); } -void sub_80C7B14(void) +static void sub_80C7B14(void) { u16 i; if (gUnknown_02039D04->unk_0000) @@ -596,20 +2007,20 @@ void sub_80C7B14(void) } } -void sub_80C7B80(void) +static void sub_80C7B80(void) { if (++gUnknown_02039D04->curBox >= TOTAL_BOXES_COUNT) gUnknown_02039D04->curBox = 0; sub_80C7BE4(); } -void sub_80C7BB4(void) +static void sub_80C7BB4(void) { gUnknown_02039D04->curBox = (gUnknown_02039D04->curBox == 0 ? TOTAL_BOXES_COUNT - 1 : gUnknown_02039D04->curBox - 1); sub_80C7BE4(); } -void sub_80C7BE4(void) +static void sub_80C7BE4(void) { u8 text[16]; struct WindowTemplate winTemplate; @@ -626,13 +2037,13 @@ void sub_80C7BE4(void) windowId = AddWindow(&winTemplate); FillWindowPixelBuffer(windowId, 0x44); - center = GetStringCenterAlignXOffset(1, boxName, 0x40); + center = GetStringCenterAlignXOffset(1, boxName, 64); AddTextPrinterParameterized3(windowId, 1, center, 1, gUnknown_08571734, TEXT_SPEED_FF, boxName); ConvertIntToDecimalStringN(text, nPokemonInBox, 1, 2); StringAppend(text, gUnknown_08571737); - center = GetStringCenterAlignXOffset(1, text, 0x40); - AddTextPrinterParameterized3(windowId, 1, center, 0x11, gUnknown_08571734, TEXT_SPEED_FF, text); + center = GetStringCenterAlignXOffset(1, text, 64); + AddTextPrinterParameterized3(windowId, 1, center, 17, gUnknown_08571734, TEXT_SPEED_FF, text); winTileData = GetWindowAttribute(windowId, WINDOW_TILE_DATA); CpuCopy32((void *)winTileData, (void *)OBJ_VRAM0 + 0x100 + (GetSpriteTileStartByTag(gUnknown_02039D04->unk_0240) * 32), 0x400); @@ -640,7 +2051,7 @@ void sub_80C7BE4(void) RemoveWindow(windowId); } -void sub_80C7CF4(struct Sprite *sprite) +static void sub_80C7CF4(struct Sprite *sprite) { if (++sprite->data[1] > 3) { @@ -654,21 +2065,8587 @@ void sub_80C7CF4(struct Sprite *sprite) } } -void sub_80C7D28(void) +static void VblankCb_PSS(void) { LoadOam(); ProcessSpriteCopyRequests(); sub_80D2AA4(); TransferPlttBuffer(); - SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_02039D08->bg2_X); + SetGpuReg(REG_OFFSET_BG2HOFS, sPSSData->bg2_X); } -void c2_Box(void) +static void Cb2_PSS(void) { RunTasks(); do_scheduled_bg_tilemap_copies_to_vram(); - sub_80CA028(); + ScrollBackground(); sub_80CAA14(); AnimateSprites(); BuildOamBuffer(); } + +static void Cb2_EnterPSS(u8 boxOption) +{ + ResetTasks(); + sCurrentBoxOption = boxOption; + sPSSData = Alloc(sizeof(*sPSSData)); + if (sPSSData == NULL) + { + SetMainCallback2(Cb2_ExitPSS); + } + else + { + sPSSData->boxOption = boxOption; + sPSSData->isReshowingPSS = FALSE; + gUnknown_02039D12 = 0; + sPSSData->state = 0; + sPSSData->taskId = CreateTask(Cb_InitPSS, 3); + gUnknown_02039D10 = StorageGetCurrentBox(); + SetMainCallback2(Cb2_PSS); + } +} + +static void Cb2_ReturnToPSS(void) +{ + ResetTasks(); + sPSSData = Alloc(sizeof(*sPSSData)); + if (sPSSData == NULL) + { + SetMainCallback2(Cb2_ExitPSS); + } + else + { + sPSSData->boxOption = sCurrentBoxOption; + sPSSData->isReshowingPSS = TRUE; + sPSSData->state = 0; + sPSSData->taskId = CreateTask(Cb_InitPSS, 3); + SetMainCallback2(Cb2_PSS); + } +} + +static void ResetAllBgCoords(void) +{ + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + SetGpuReg(REG_OFFSET_BG2HOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG3HOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); +} + +static void sub_80C7E98(void) +{ + ResetPaletteFade(); + ResetSpriteData(); + FreeSpriteTileRanges(); + FreeAllSpritePalettes(); + ClearDma3Requests(); + gReservedSpriteTileCount = 0x280; + sub_80D2A90(&sPSSData->unk_0020, sPSSData->unk_0028, 8); + gKeyRepeatStartDelay = 20; + clear_scheduled_bg_copies_to_vram(); + sub_80D259C(3); + sub_80D2644(0, 1, gUnknown_0857239C, 8, 4); + sub_80D2770(0, 1, 0); + sPSSData->unk_02C7 = 0; +} + +static void sub_80C7F1C(void) +{ + sub_80CDC0C(); + sInPartyMenu = (sPSSData->boxOption == BOX_OPTION_DEPOSIT); + gUnknown_02039D0E = 0; +} + +static void sub_80C7F4C(void) +{ + if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) + { + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(7, 11)); + } + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP); +} + +static void SetPSSCallback(TaskFunc newFunc) +{ + gTasks[sPSSData->taskId].func = newFunc; + sPSSData->state = 0; +} + +static void Cb_InitPSS(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + SetVBlankCallback(NULL); + SetGpuReg(REG_OFFSET_DISPCNT, 0); + sub_80C7E98(); + if (sPSSData->isReshowingPSS) + { + switch (sWhichToReshow) + { + case 1: + sub_80CE790(); + break; + case 0: + sub_80CE8E4(); + break; + case 2: + GiveChosenBagItem(); + break; + } + } + LoadPSSMenuGfx(); + LoadWaveformSpritePalette(); + break; + case 1: + if (!InitPSSWindows()) + { + SetPSSCallback(Cb_ChangeScreen); + return; + } + break; + case 2: + PutWindowTilemap(0); + ClearWindowTilemap(1); + CpuFill32(0, (void *)VRAM, 0x200); + LoadUserWindowBorderGfx(1, 0xB, 0xE0); + break; + case 3: + ResetAllBgCoords(); + if (!sPSSData->isReshowingPSS) + sub_80C7F1C(); + break; + case 4: + sub_80CAF04(); + if (!sPSSData->isReshowingPSS) + sub_80CD36C(); + else + sub_80CD3EC(); + break; + case 5: + if (!sub_80D0164()) + { + SetPSSCallback(Cb_ChangeScreen); + return; + } + else + { + SetScrollingBackground(); + sub_80CAC1C(); + } + break; + case 6: + sub_80CA0D8(); + break; + case 7: + sub_80CA704(); + break; + case 8: + sub_80CC32C(StorageGetCurrentBox()); + break; + case 9: + if (sub_80CC35C()) + return; + + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + { + sPSSData->field_DA4.baseTileTag = TAG_TILE_D; + sPSSData->field_DA4.basePaletteTag = TAG_PAL_DACE; + sub_811F90C(&sPSSData->field_DA4); + sub_811FA90(); + } + else + { + sub_80D0C60(); + sub_80CAEAC(); + } + break; + case 10: + sub_80C7F4C(); + if (!sPSSData->isReshowingPSS) + { + BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK); + SetPSSCallback(Cb_ShowPSS); + } + else + { + BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK); + SetPSSCallback(Cb_ReshowPSS); + } + SetVBlankCallback(VblankCb_PSS); + return; + default: + return; + } + + sPSSData->state++; +} + +static void Cb_ShowPSS(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + PlaySE(SE_PC_LOGIN); + sub_80F9BCC(0x14, 0, 1); + sPSSData->state++; + break; + case 1: + if (!sub_80F9C1C()) + SetPSSCallback(Cb_MainPSS); + break; + } +} + +static void Cb_ReshowPSS(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x10, 0, RGB_BLACK); + sPSSData->state++; + break; + case 1: + if (!UpdatePaletteFade()) + { + if (sWhichToReshow == 2 && gSpecialVar_ItemId != 0) + { + PrintStorageActionText(PC_TEXT_ITEM_IS_HELD); + sPSSData->state++; + } + else + { + SetPSSCallback(Cb_MainPSS); + } + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy() && gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + ClearBottomWindow(); + sPSSData->state++; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + SetPSSCallback(Cb_MainPSS); + break; + } +} + +static void Cb_MainPSS(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + switch (HandleInput()) + { + case 1: + PlaySE(SE_SELECT); + sPSSData->state = 1; + break; + case 5: + if (sPSSData->boxOption != BOX_OPTION_MOVE_MONS && sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + { + PrintStorageActionText(PC_TEXT_WHICH_ONE_WILL_TAKE); + sPSSData->state = 3; + } + else + { + sub_80CDC0C(); + SetPSSCallback(Cb_ShowPartyPokemon); + } + break; + case 6: + if (sPSSData->boxOption == BOX_OPTION_MOVE_MONS) + { + if (IsMonBeingMoved() && ItemIsMail(sPSSData->cursorMonItem)) + sPSSData->state = 5; + else + SetPSSCallback(Cb_HidePartyPokemon); + } + else if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) + { + SetPSSCallback(Cb_HidePartyPokemon); + } + break; + case 4: + SetPSSCallback(Cb_OnCloseBoxPressed); + break; + case 19: + SetPSSCallback(Cb_OnBPressed); + break; + case 7: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_HandleBoxOptions); + break; + case 8: + SetPSSCallback(Cb_OnSelectedMon); + break; + case 9: + PlaySE(SE_SELECT); + sPSSData->newCurrBoxId = StorageGetCurrentBox() + 1; + if (sPSSData->newCurrBoxId >= TOTAL_BOXES_COUNT) + sPSSData->newCurrBoxId = 0; + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + { + SetUpScrollToBox(sPSSData->newCurrBoxId); + sPSSData->state = 2; + } + else + { + sub_80CFEA8(); + sPSSData->state = 10; + } + break; + case 10: + PlaySE(SE_SELECT); + sPSSData->newCurrBoxId = StorageGetCurrentBox() - 1; + if (sPSSData->newCurrBoxId < 0) + sPSSData->newCurrBoxId = TOTAL_BOXES_COUNT - 1; + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + { + SetUpScrollToBox(sPSSData->newCurrBoxId); + sPSSData->state = 2; + } + else + { + sub_80CFEA8(); + sPSSData->state = 10; + } + break; + case 11: + if (!CanMovePartyMon()) + { + if (ItemIsMail(sPSSData->cursorMonItem)) + { + sPSSData->state = 5; + } + else + { + PlaySE(SE_SELECT); + SetPSSCallback(Cb_DepositMenu); + } + } + else + { + sPSSData->state = 4; + } + break; + case 13: + if (CanMovePartyMon()) + { + sPSSData->state = 4; + } + else + { + PlaySE(SE_SELECT); + SetPSSCallback(Cb_MoveMon); + } + break; + case 14: + if (!CanShiftMon()) + { + sPSSData->state = 4; + } + else + { + PlaySE(SE_SELECT); + SetPSSCallback(Cb_ShiftMon); + } + break; + case 12: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_WithdrawMon); + break; + case 15: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_PlaceMon); + break; + case 16: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_TakeItemForMoving); + break; + case 17: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_GiveMovingItemToMon); + break; + case 18: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_SwitchSelectedItem); + break; + case 20: + PlaySE(SE_SELECT); + sub_80D01D0(0); + sPSSData->state = 7; + break; + case 22: + sub_80D01D0(1); + sPSSData->state = 8; + break; + case 21: + PlaySE(SE_SELECT); + sub_80D01D0(2); + sPSSData->state = 9; + break; + case 23: + sub_80D01D0(3); + sPSSData->state = 7; + break; + case 25: + PlaySE(SE_SELECT); + sub_80D01D0(4); + sPSSData->state = 9; + break; + case 26: + PlaySE(SE_SELECT); + sub_80D01D0(5); + sPSSData->state = 7; + break; + case 24: + PlaySE(SE_HAZURE); + break; + } + break; + case 1: + if (!sub_80CD554()) + { + if (IsCursorOnCloseBox()) + sub_80CA9C0(); + else + sub_80CA9EC(); + + if (sPSSData->setMosaic) + BoxSetMosaic(); + sPSSData->state = 0; + } + break; + case 2: + if (!ScrollToBox()) + { + SetCurrentBox(sPSSData->newCurrBoxId); + if (!sInPartyMenu && !IsMonBeingMoved()) + { + sub_80CE00C(); + BoxSetMosaic(); + } + + if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) + { + sub_80CFECC(); + sPSSData->state = 11; + } + else + { + sPSSData->state = 0; + } + } + break; + case 3: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + sPSSData->state = 0; + } + break; + case 4: + PlaySE(SE_HAZURE); + PrintStorageActionText(PC_TEXT_LAST_POKE); + sPSSData->state = 6; + break; + case 5: + PlaySE(SE_HAZURE); + PrintStorageActionText(PC_TEXT_PLEASE_REMOVE_MAIL); + sPSSData->state = 6; + break; + case 6: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + } + break; + case 7: + if (!sub_80D01E4()) + sPSSData->state = 0; + break; + case 8: + if (!sub_80D01E4()) + SetPSSCallback(Cb_MoveMon); + break; + case 9: + if (!sub_80D01E4()) + { + if (sPSSData->setMosaic) + BoxSetMosaic(); + sPSSData->state = 0; + } + break; + case 10: + if (!sub_80D1218()) + { + SetUpScrollToBox(sPSSData->newCurrBoxId); + sPSSData->state = 2; + } + break; + case 11: + if (!sub_80D1218()) + sPSSData->state = 0; + break; + } +} + +static void Cb_ShowPartyPokemon(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + SetUpDoShowPartyMenu(); + sPSSData->state++; + break; + case 1: + if (!DoShowPartyMenu()) + SetPSSCallback(Cb_MainPSS); + break; + } +} + +static void Cb_HidePartyPokemon(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + PlaySE(SE_SELECT); + SetUpHidePartyMenu(); + sPSSData->state++; + break; + case 1: + if (!HidePartyMenu()) + { + sub_80CDBF8(sub_80CDC2C()); + sPSSData->state++; + } + break; + case 2: + if (!sub_80CD554()) + { + if (sPSSData->setMosaic) + BoxSetMosaic(); + SetPSSCallback(Cb_MainPSS); + } + break; + } +} + +static void Cb_OnSelectedMon(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + if (!sub_80CA2B8()) + { + PlaySE(SE_SELECT); + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + PrintStorageActionText(PC_TEXT_IS_SELECTED); + else if (IsActiveItemMoving() || sPSSData->cursorMonItem != 0) + PrintStorageActionText(PC_TEXT_IS_SELECTED2); + else + PrintStorageActionText(PC_TEXT_GIVE_TO_MON); + + AddMenu(); + sPSSData->state = 1; + } + break; + case 1: // debug? + if (!sub_80D00A8()) + sPSSData->state = 2; + break; + case 2: + switch (sub_80D00AC()) + { + case -1: + case 0: + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + break; + case 3: + if (CanMovePartyMon()) + { + sPSSData->state = 3; + } + else + { + PlaySE(SE_SELECT); + ClearBottomWindow(); + SetPSSCallback(Cb_MoveMon); + } + break; + case 5: + PlaySE(SE_SELECT); + ClearBottomWindow(); + SetPSSCallback(Cb_PlaceMon); + break; + case 4: + if (!CanShiftMon()) + { + sPSSData->state = 3; + } + else + { + PlaySE(SE_SELECT); + ClearBottomWindow(); + SetPSSCallback(Cb_ShiftMon); + } + break; + case 2: + PlaySE(SE_SELECT); + ClearBottomWindow(); + SetPSSCallback(Cb_WithdrawMon); + break; + case 1: + if (CanMovePartyMon()) + { + sPSSData->state = 3; + } + else if (ItemIsMail(sPSSData->cursorMonItem)) + { + sPSSData->state = 4; + } + else + { + PlaySE(SE_SELECT); + ClearBottomWindow(); + SetPSSCallback(Cb_DepositMenu); + } + break; + case 7: + if (CanMovePartyMon()) + { + sPSSData->state = 3; + } + else if (sPSSData->cursorMonIsEgg) + { + sPSSData->state = 5; // Cannot release an Egg. + } + else if (ItemIsMail(sPSSData->cursorMonItem)) + { + sPSSData->state = 4; + } + else + { + PlaySE(SE_SELECT); + SetPSSCallback(Cb_ReleaseMon); + } + break; + case 6: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_ShowMonSummary); + break; + case 8: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_ShowMarkMenu); + break; + case 12: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_TakeItemForMoving); + break; + case 13: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_GiveMovingItemToMon); + break; + case 16: + SetPSSCallback(Cb_ItemToBag); + break; + case 15: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_SwitchSelectedItem); + break; + case 14: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_GiveItemFromBag); + break; + case 17: + SetPSSCallback(Cb_ShowItemInfo); + break; + } + break; + case 3: + PlaySE(SE_HAZURE); + PrintStorageActionText(PC_TEXT_LAST_POKE); + sPSSData->state = 6; + break; + case 5: + PlaySE(SE_HAZURE); + PrintStorageActionText(PC_TEXT_CANT_RELEASE_EGG); + sPSSData->state = 6; + break; + case 4: + PlaySE(SE_HAZURE); + PrintStorageActionText(PC_TEXT_PLEASE_REMOVE_MAIL); + sPSSData->state = 6; + break; + case 6: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + } + break; + } +} + +static void Cb_MoveMon(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + InitMonPlaceChange(0); + sPSSData->state++; + break; + case 1: + if (!DoMonPlaceChange()) + { + if (sInPartyMenu) + SetPSSCallback(Cb_HandleMovingMonFromParty); + else + SetPSSCallback(Cb_MainPSS); + } + break; + } +} + +static void Cb_PlaceMon(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + InitMonPlaceChange(1); + sPSSData->state++; + break; + case 1: + if (!DoMonPlaceChange()) + { + if (sInPartyMenu) + SetPSSCallback(Cb_HandleMovingMonFromParty); + else + SetPSSCallback(Cb_MainPSS); + } + break; + } +} + +static void Cb_ShiftMon(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + InitMonPlaceChange(2); + sPSSData->state++; + break; + case 1: + if (!DoMonPlaceChange()) + { + BoxSetMosaic(); + SetPSSCallback(Cb_MainPSS); + } + break; + } +} + +static void Cb_WithdrawMon(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + if (CalculatePlayerPartyCount() == PARTY_SIZE) + { + PrintStorageActionText(PC_TEXT_PARTY_FULL); + sPSSData->state = 1; + } + else + { + sub_80CDC18(); + InitMonPlaceChange(0); + sPSSData->state = 2; + } + break; + case 1: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + } + break; + case 2: + if (!DoMonPlaceChange()) + { + SetMovingMonPriority(1); + SetUpDoShowPartyMenu(); + sPSSData->state++; + } + break; + case 3: + if (!DoShowPartyMenu()) + { + InitMonPlaceChange(1); + sPSSData->state++; + } + break; + case 4: + if (!DoMonPlaceChange()) + { + sub_80CAB20(); + sPSSData->state++; + } + break; + case 5: + SetPSSCallback(Cb_HidePartyPokemon); + break; + } +} + +static void Cb_DepositMenu(u8 taskId) +{ + u8 boxId; + + switch (sPSSData->state) + { + case 0: + PrintStorageActionText(PC_TEXT_DEPOSIT_IN_WHICH_BOX); + sub_80C77E8(&sPSSData->field_1E5C, TAG_TILE_A, TAG_PAL_DAC7, 3, FALSE); + sub_80C78D4(gUnknown_02039D0E); + sPSSData->state++; + break; + case 1: + boxId = HandleBoxChooseSelectionInput(); + if (boxId == 200) + { + // no box chosen yet + } + else if (boxId == 201) + { + ClearBottomWindow(); + sub_80C78E4(); + sub_80C7890(); + SetPSSCallback(Cb_MainPSS); + } + else + { + if (TryStorePartyMonInBox(boxId)) + { + gUnknown_02039D0E = boxId; + ClearBottomWindow(); + sub_80C78E4(); + sub_80C7890(); + sPSSData->state = 2; + } + else + { + PrintStorageActionText(PC_TEXT_BOX_IS_FULL); + sPSSData->state = 4; + } + } + break; + case 2: + CompactPartySlots(); + sub_80CB950(); + sPSSData->state++; + break; + case 3: + if (!sub_80CB9BC()) + { + sub_80CE22C(); + BoxSetMosaic(); + sub_80CAB20(); + SetPSSCallback(Cb_MainPSS); + } + break; + case 4: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + PrintStorageActionText(PC_TEXT_DEPOSIT_IN_WHICH_BOX); + sPSSData->state = 1; + } + break; + } +} + +static void Cb_ReleaseMon(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + PrintStorageActionText(PC_TEXT_RELEASE_POKE); + ShowYesNoWindow(1); + sPSSData->state++; + // fallthrough + case 1: + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case MENU_B_PRESSED: + case 1: + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + break; + case 0: + ClearBottomWindow(); + InitCanRelaseMonVars(); + sub_80CE250(); + sPSSData->state++; + break; + } + break; + case 2: + RunCanReleaseMon(); + if (!sub_80CE2A8()) + { + while (1) + { + s8 r0 = RunCanReleaseMon(); + if (r0 == 1) + { + sPSSData->state++; + break; + } + else if (r0 == 0) + { + sPSSData->state = 8; // Can't release the mon. + break; + } + } + } + break; + case 3: + ReleaseMon(); + RefreshCursorMonData(); + PrintStorageActionText(PC_TEXT_WAS_RELEASED); + sPSSData->state++; + break; + case 4: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + PrintStorageActionText(PC_TEXT_BYE_BYE); + sPSSData->state++; + } + break; + case 5: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + if (sInPartyMenu) + { + CompactPartySlots(); + sub_80CB950(); + sPSSData->state++; + } + else + { + sPSSData->state = 7; + } + } + break; + case 6: + if (!sub_80CB9BC()) + { + sub_80CE00C(); + BoxSetMosaic(); + sub_80CAB20(); + sPSSData->state++; + } + break; + case 7: + SetPSSCallback(Cb_MainPSS); + break; + case 8: + PrintStorageActionText(PC_TEXT_WAS_RELEASED); + sPSSData->state++; + break; + case 9: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + PrintStorageActionText(PC_TEXT_SURPRISE); + sPSSData->state++; + } + break; + case 10: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + sub_80CC064(); + sPSSData->state++; + } + break; + case 11: + if (!sub_80CC0A0()) + { + sub_80CE324(); + PrintStorageActionText(PC_TEXT_CAME_BACK); + sPSSData->state++; + } + break; + case 12: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + PrintStorageActionText(PC_TEXT_WORRIED); + sPSSData->state++; + } + break; + case 13: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + } + break; + } +} + +static void Cb_ShowMarkMenu(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + PrintStorageActionText(PC_TEXT_MARK_POKE); + sPSSData->field_DA4.markings = sPSSData->cursorMonMarkings; + sub_811FAA4(sPSSData->cursorMonMarkings, 0xb0, 0x10); + sPSSData->state++; + break; + case 1: + if (!sub_811FBA4()) + { + sub_811FAF8(); + ClearBottomWindow(); + SetMonMarkings(sPSSData->field_DA4.markings); + RefreshCursorMonData(); + SetPSSCallback(Cb_MainPSS); + } + break; + } +} + +static void Cb_TakeItemForMoving(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + if (!ItemIsMail(sPSSData->cursorMonItem)) + { + ClearBottomWindow(); + sPSSData->state++; + } + else + { + SetPSSCallback(Cb_PrintCantStoreMail); + } + break; + case 1: + sub_80CFE54(2); + Item_FromMonToMoving((sInPartyMenu != FALSE) ? CURSOR_AREA_IN_PARTY : CURSOR_AREA_IN_BOX, GetBoxCursorPosition()); + sPSSData->state++; + break; + case 2: + if (!sub_80D1218()) + { + sub_80CFE54(3); + ClearBottomWindow(); + sub_80CE00C(); + PrintCursorMonInfo(); + sPSSData->state++; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + SetPSSCallback(Cb_MainPSS); + break; + } +} + +static void Cb_GiveMovingItemToMon(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + ClearBottomWindow(); + sPSSData->state++; + break; + case 1: + sub_80CFE54(2); + Item_GiveMovingToMon((sInPartyMenu != FALSE) ? CURSOR_AREA_IN_PARTY : CURSOR_AREA_IN_BOX, GetBoxCursorPosition()); + sPSSData->state++; + break; + case 2: + if (!sub_80D1218()) + { + sub_80CFE54(0); + sub_80CE00C(); + PrintCursorMonInfo(); + PrintStorageActionText(PC_TEXT_ITEM_IS_HELD); + sPSSData->state++; + } + break; + case 3: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + sPSSData->state++; + } + break; + case 4: + if (!IsDma3ManagerBusyWithBgCopy()) + SetPSSCallback(Cb_MainPSS); + break; + } +} + +static void Cb_ItemToBag(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + if (!AddBagItem(sPSSData->cursorMonItem, 1)) + { + PlaySE(SE_HAZURE); + PrintStorageActionText(PC_TEXT_BAG_FULL); + sPSSData->state = 3; + } + else + { + PlaySE(SE_SELECT); + Item_TakeMons((sInPartyMenu != FALSE) ? CURSOR_AREA_IN_PARTY : CURSOR_AREA_IN_BOX, GetBoxCursorPosition()); + sPSSData->state = 1; + } + break; + case 1: + if (!sub_80D1218()) + { + PrintStorageActionText(PC_TEXT_PLACED_IN_BAG); + sPSSData->state = 2; + } + break; + case 2: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + sub_80CE00C(); + PrintCursorMonInfo(); + sPSSData->state = 4; + } + break; + case 4: + if (!IsDma3ManagerBusyWithBgCopy()) + SetPSSCallback(Cb_MainPSS); + break; + case 3: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + } + break; + } +} + +static void Cb_SwitchSelectedItem(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + if (!ItemIsMail(sPSSData->cursorMonItem)) + { + ClearBottomWindow(); + sPSSData->state++; + } + else + { + SetPSSCallback(Cb_PrintCantStoreMail); + } + break; + case 1: + sub_80CFE54(2); + Item_SwitchMonsWithMoving((sInPartyMenu != FALSE) ? CURSOR_AREA_IN_PARTY : CURSOR_AREA_IN_BOX, GetBoxCursorPosition()); + sPSSData->state++; + break; + case 2: + if (!sub_80D1218()) + { + sub_80CFE54(3); + sub_80CE00C(); + PrintCursorMonInfo(); + PrintStorageActionText(PC_TEXT_CHANGED_TO_ITEM); + sPSSData->state++; + } + break; + case 3: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + sPSSData->state++; + } + break; + case 4: + if (!IsDma3ManagerBusyWithBgCopy()) + SetPSSCallback(Cb_MainPSS); + break; + } +} + +static void Cb_ShowItemInfo(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + ClearBottomWindow(); + sPSSData->state++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PlaySE(SE_WIN_OPEN); + PrintItemDescription(); + sub_80D1818(); + sPSSData->state++; + } + break; + case 2: + if (!sub_80D184C()) + sPSSData->state++; + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + sPSSData->state++; + break; + case 4: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + PlaySE(SE_WIN_OPEN); + sPSSData->state++; + } + break; + case 5: + if (!sub_80D18E4()) + sPSSData->state++; + break; + case 6: + if (!IsDma3ManagerBusyWithBgCopy()) + SetPSSCallback(Cb_MainPSS); + break; + } +} + +static void Cb_CloseBoxWhileHoldingItem(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + PlaySE(SE_SELECT); + PrintStorageActionText(PC_TEXT_PUT_IN_BAG); + ShowYesNoWindow(0); + sPSSData->state = 1; + break; + case 1: + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case MENU_B_PRESSED: + case 1: + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + break; + case 0: + if (AddBagItem(sPSSData->movingItem, 1) == TRUE) + { + ClearBottomWindow(); + sPSSData->state = 3; + } + else + { + PrintStorageActionText(PC_TEXT_BAG_FULL); + sPSSData->state = 2; + } + break; + } + break; + case 2: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + sPSSData->state = 5; + } + break; + case 3: + sub_80D1194(); + sPSSData->state = 4; + break; + case 4: + if (!sub_80D1218()) + { + sub_80CFE54(0); + SetPSSCallback(Cb_MainPSS); + } + break; + case 5: + if (!IsDma3ManagerBusyWithBgCopy()) + SetPSSCallback(Cb_MainPSS); + break; + } +} + +static void Cb_HandleMovingMonFromParty(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + CompactPartySlots(); + sub_80CB950(); + sPSSData->state++; + break; + case 1: + if (!sub_80CB9BC()) + { + sub_80CAB20(); + SetPSSCallback(Cb_MainPSS); + } + break; + } +} + +static void Cb_PrintCantStoreMail(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + PrintStorageActionText(PC_TEXT_CANT_STORE_MAIL); + sPSSData->state++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + sPSSData->state++; + break; + case 2: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + sPSSData->state++; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + SetPSSCallback(Cb_MainPSS); + break; + } +} + +static void Cb_HandleBoxOptions(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + PrintStorageActionText(PC_TEXT_WHAT_YOU_DO); + AddMenu(); + sPSSData->state++; + break; + case 1: + if (sub_80D00A8()) + return; + sPSSData->state++; + case 2: + switch (sub_80D00AC()) + { + case -1: + case 0: + sub_80CD1A8(TRUE); + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + break; + case 11: + PlaySE(SE_SELECT); + SetPSSCallback(Cb_NameBox); + break; + case 10: + PlaySE(SE_SELECT); + ClearBottomWindow(); + SetPSSCallback(Cb_HandleWallpapers); + break; + case 9: + PlaySE(SE_SELECT); + ClearBottomWindow(); + SetPSSCallback(Cb_JumpBox); + break; + } + break; + } +} + +static void Cb_HandleWallpapers(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + AddWallpaperSetsMenu(); + PrintStorageActionText(PC_TEXT_PICK_A_THEME); + sPSSData->state++; + break; + case 1: + if (!sub_80D00A8()) + sPSSData->state++; + break; + case 2: + sPSSData->wallpaperSetId = sub_80D00AC(); + switch (sPSSData->wallpaperSetId) + { + case -1: + sub_80CD1A8(TRUE); + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + break; + case 18 ... 21: + PlaySE(SE_SELECT); + sub_80D013C(); + sPSSData->wallpaperSetId -= 18; + sPSSData->state++; + break; + // New wallpaper from Walda. + case 22: + PlaySE(SE_SELECT); + sPSSData->wallpaperId = 16; + sub_80D013C(); + ClearBottomWindow(); + sPSSData->state = 6; + break; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + { + AddWallpapersMenu(sPSSData->wallpaperSetId); + PrintStorageActionText(PC_TEXT_PICK_A_WALLPAPER); + sPSSData->state++; + } + break; + case 4: + sPSSData->wallpaperId = sub_80D00AC(); + switch (sPSSData->wallpaperId) + { + case -2: + break; + case -1: + ClearBottomWindow(); + sPSSData->state = 0; + break; + default: + PlaySE(SE_SELECT); + ClearBottomWindow(); + sPSSData->wallpaperId -= 23; + SetWallpaperForCurrentBox(sPSSData->wallpaperId); + sPSSData->state++; + break; + } + break; + case 5: + if (!DoWallpaperGfxChange()) + { + sub_80CD1A8(TRUE); + SetPSSCallback(Cb_MainPSS); + } + break; + case 6: + if (!IsDma3ManagerBusyWithBgCopy()) + { + SetWallpaperForCurrentBox(sPSSData->wallpaperId); + sPSSData->state = 5; + } + break; + } +} + +static void Cb_JumpBox(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + PrintStorageActionText(PC_TEXT_JUMP_TO_WHICH_BOX); + sub_80C77E8(&sPSSData->field_1E5C, TAG_TILE_A, TAG_PAL_DAC7, 3, FALSE); + sub_80C78D4(StorageGetCurrentBox()); + sPSSData->state++; + break; + case 1: + sPSSData->newCurrBoxId = HandleBoxChooseSelectionInput(); + switch (sPSSData->newCurrBoxId) + { + case 200: + break; + default: + ClearBottomWindow(); + sub_80C78E4(); + sub_80C7890(); + if (sPSSData->newCurrBoxId == 201 || sPSSData->newCurrBoxId == StorageGetCurrentBox()) + { + sub_80CD1A8(TRUE); + SetPSSCallback(Cb_MainPSS); + } + else + { + sPSSData->state++; + } + break; + } + break; + case 2: + SetUpScrollToBox(sPSSData->newCurrBoxId); + sPSSData->state++; + break; + case 3: + if (!ScrollToBox()) + { + SetCurrentBox(sPSSData->newCurrBoxId); + SetPSSCallback(Cb_MainPSS); + } + break; + } +} + +static void Cb_NameBox(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + sub_80CE760(); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sPSSData->state++; + break; + case 1: + if (!UpdatePaletteFade()) + { + sWhichToReshow = 1; + sPSSData->screenChangeType = SCREEN_CHANGE_NAME_BOX; + SetPSSCallback(Cb_ChangeScreen); + } + break; + } +} + +static void Cb_ShowMonSummary(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + sub_80CE7E8(); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sPSSData->state++; + break; + case 1: + if (!UpdatePaletteFade()) + { + sWhichToReshow = 0; + sPSSData->screenChangeType = SCREEN_CHANGE_SUMMARY_SCREEN; + SetPSSCallback(Cb_ChangeScreen); + } + break; + } +} + +static void Cb_GiveItemFromBag(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sPSSData->state++; + break; + case 1: + if (!UpdatePaletteFade()) + { + sWhichToReshow = 2; + sPSSData->screenChangeType = SCREEN_CHANGE_ITEM_FROM_BAG; + SetPSSCallback(Cb_ChangeScreen); + } + break; + } +} + +static void Cb_OnCloseBoxPressed(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + if (IsMonBeingMoved()) + { + PlaySE(SE_HAZURE); + PrintStorageActionText(PC_TEXT_HOLDING_POKE); + sPSSData->state = 1; + } + else if (IsActiveItemMoving()) + { + SetPSSCallback(Cb_CloseBoxWhileHoldingItem); + } + else + { + PlaySE(SE_SELECT); + PrintStorageActionText(PC_TEXT_EXIT_BOX); + ShowYesNoWindow(0); + sPSSData->state = 2; + } + break; + case 1: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + } + break; + case 2: + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case MENU_B_PRESSED: + case 1: + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + break; + case 0: + PlaySE(SE_PC_OFF); + ClearBottomWindow(); + sPSSData->state++; + break; + } + break; + case 3: + sub_80F9BF4(0x14, 0, 1); + sPSSData->state++; + break; + case 4: + if (!sub_80F9C30()) + { + sub_80CABE0(); + gPlayerPartyCount = CalculatePlayerPartyCount(); + sPSSData->screenChangeType = SCREEN_CHANGE_EXIT_BOX; + SetPSSCallback(Cb_ChangeScreen); + } + break; + } +} + +static void Cb_OnBPressed(u8 taskId) +{ + switch (sPSSData->state) + { + case 0: + if (IsMonBeingMoved()) + { + PlaySE(SE_HAZURE); + PrintStorageActionText(PC_TEXT_HOLDING_POKE); + sPSSData->state = 1; + } + else if (IsActiveItemMoving()) + { + SetPSSCallback(Cb_CloseBoxWhileHoldingItem); + } + else + { + PlaySE(SE_SELECT); + PrintStorageActionText(PC_TEXT_CONTINUE_BOX); + ShowYesNoWindow(0); + sPSSData->state = 2; + } + break; + case 1: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + } + break; + case 2: + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + ClearBottomWindow(); + SetPSSCallback(Cb_MainPSS); + break; + case 1: + case MENU_B_PRESSED: + PlaySE(SE_PC_OFF); + ClearBottomWindow(); + sPSSData->state++; + break; + } + break; + case 3: + sub_80F9BF4(0x14, 0, 0); + sPSSData->state++; + break; + case 4: + if (!sub_80F9C30()) + { + sub_80CABE0(); + gPlayerPartyCount = CalculatePlayerPartyCount(); + sPSSData->screenChangeType = SCREEN_CHANGE_EXIT_BOX; + SetPSSCallback(Cb_ChangeScreen); + } + break; + } +} + +static void Cb_ChangeScreen(u8 taskId) +{ + struct BoxPokemon *boxMons; + u8 mode, monIndex, maxMonIndex; + u8 screenChangeType = sPSSData->screenChangeType; + + if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS && IsActiveItemMoving() == TRUE) + gUnknown_02039D12 = GetMovingItem(); + else + gUnknown_02039D12 = 0; + + switch (screenChangeType) + { + case SCREEN_CHANGE_EXIT_BOX: + default: + FreePSSData(); + SetMainCallback2(Cb2_ExitPSS); + break; + case SCREEN_CHANGE_SUMMARY_SCREEN: + boxMons = sPSSData->field_218C.box; + monIndex = sPSSData->field_2187; + maxMonIndex = sPSSData->field_2186; + mode = sPSSData->field_2188; + FreePSSData(); + if (mode == PSS_MODE_NORMAL && boxMons == &gUnknown_02039D14.box) + ShowPokemonSummaryScreenSet40EF(mode, boxMons, monIndex, maxMonIndex, Cb2_ReturnToPSS); + else + ShowPokemonSummaryScreen(mode, boxMons, monIndex, maxMonIndex, Cb2_ReturnToPSS); + break; + case SCREEN_CHANGE_NAME_BOX: + FreePSSData(); + DoNamingScreen(NAMING_SCREEN_BOX, GetBoxNamePtr(StorageGetCurrentBox()), 0, 0, 0, Cb2_ReturnToPSS); + break; + case SCREEN_CHANGE_ITEM_FROM_BAG: + FreePSSData(); + GoToBagMenu(11, 0, Cb2_ReturnToPSS); + break; + } + + DestroyTask(taskId); +} + +static void GiveChosenBagItem(void) +{ + u16 item = gSpecialVar_ItemId; + + if (item != 0) + { + u8 id = GetBoxCursorPosition(); + + if (sInPartyMenu) + SetMonData(&gPlayerParty[id], MON_DATA_HELD_ITEM, &item); + else + SetCurrentBoxMonData(id, MON_DATA_HELD_ITEM, &item); + + RemoveBagItem(item, 1); + } +} + +static void FreePSSData(void) +{ + sub_80D25F0(); + sub_80D01B8(); + FREE_AND_SET_NULL(sPSSData); + FreeAllWindowBuffers(); +} + +static void SetScrollingBackground(void) +{ + SetGpuReg(REG_OFFSET_BG3CNT, BGCNT_PRIORITY(3) | BGCNT_CHARBASE(3) | BGCNT_16COLOR | BGCNT_SCREENBASE(31)); + DecompressAndLoadBgGfxUsingHeap(3, gPokemonStorageScrollingBGTileset, 0, 0, 0); + LZ77UnCompVram(gPokemonStorageScrollingBGTilemap, (void *)VRAM + 0xF800); +} + +static void ScrollBackground(void) +{ + ChangeBgX(3, 128, 1); + ChangeBgY(3, 128, 2); +} + +static void LoadPSSMenuGfx(void) +{ + InitBgsFromTemplates(0, gUnknown_08572734, ARRAY_COUNT(gUnknown_08572734)); + DecompressAndLoadBgGfxUsingHeap(1, gPSSMenu_Gfx, 0, 0, 0); + LZ77UnCompWram(gUnknown_085722A0, sPSSData->field_5AC4); + SetBgTilemapBuffer(1, sPSSData->field_5AC4); + ShowBg(1); + schedule_bg_copy_tilemap_to_vram(1); +} + +static bool8 InitPSSWindows(void) +{ + if (!InitWindows(gUnknown_08572714)) + { + return FALSE; + } + else + { + DeactivateAllTextPrinters(); + return TRUE; + } +} + +static void LoadWaveformSpritePalette(void) +{ + LoadSpritePalette(&gWaveformSpritePalette); +} + +static void sub_80CA0D8(void) +{ + LoadPalette(gUnknown_085723DC, 0, 0x20); + LoadPalette(gUnknown_085723FC, 0x20, 0x20); + LoadPalette(gUnknown_085726F4, 0xF0, 0x20); + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + LoadPalette(gUnknown_0857241C, 0x30, 0x20); + else + LoadPalette(gUnknown_0857243C, 0x30, 0x20); + + SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(30)); + LoadCursorMonSprite(); + sub_80CA154(); + sub_80CA1C4(); + RefreshCursorMonData(); +} + +static void sub_80CA154(void) +{ + sPSSData->field_D94 = sub_811FFB4(TAG_TILE_10, TAG_PAL_DAC8, NULL); + sPSSData->field_D94->oam.priority = 1; + sPSSData->field_D94->subpriority = 1; + sPSSData->field_D94->pos1.x = 40; + sPSSData->field_D94->pos1.y = 150; + sPSSData->field_DA0 = (void*) OBJ_VRAM0 + 32 * GetSpriteTileStartByTag(TAG_TILE_10); +} + +static void sub_80CA1C4(void) +{ + u16 i; + struct SpriteSheet sheet = gWaveformSpriteSheet; + + LoadSpriteSheet(&sheet); + for (i = 0; i < 2; i++) + { + u8 spriteId = CreateSprite(&sSpriteTemplate_Waveform, i * 63 + 8, 9, 2); + sPSSData->field_D98[i] = &gSprites[spriteId]; + } +} + +static void RefreshCursorMonData(void) +{ + LoadCursorMonGfx(sPSSData->cursorMonSpecies, sPSSData->cursorMonPersonality); + PrintCursorMonInfo(); + sub_80CA65C(); + schedule_bg_copy_tilemap_to_vram(0); +} + +static void BoxSetMosaic(void) +{ + RefreshCursorMonData(); + if (sPSSData->cursorMonSprite) + { + sPSSData->cursorMonSprite->oam.mosaic = TRUE; + sPSSData->cursorMonSprite->data[0] = 10; + sPSSData->cursorMonSprite->data[1] = 1; + sPSSData->cursorMonSprite->callback = sub_80CA2D0; + SetGpuReg(REG_OFFSET_MOSAIC, (sPSSData->cursorMonSprite->data[0] << 12) | (sPSSData->cursorMonSprite->data[0] << 8)); + } +} + +static u8 sub_80CA2B8(void) +{ + return sPSSData->cursorMonSprite->oam.mosaic; +} + +static void sub_80CA2D0(struct Sprite *sprite) +{ + sprite->data[0] -= sprite->data[1]; + if (sprite->data[0] < 0) + sprite->data[0] = 0; + SetGpuReg(REG_OFFSET_MOSAIC, (sprite->data[0] << 12) | (sprite->data[0] << 8)); + if (sprite->data[0] == 0) + { + sprite->oam.mosaic = FALSE; + sprite->callback = SpriteCallbackDummy; + } +} + +static void LoadCursorMonSprite(void) +{ + u16 i; + u16 tileStart; + u8 palSlot; + u8 spriteId; + struct SpriteSheet sheet = {sPSSData->field_22C4, 0x800, TAG_TILE_2}; + struct SpritePalette palette = {sPSSData->field_2244, TAG_PAL_DAC6}; + struct SpriteTemplate template = sSpriteTemplate_CursorMon; + + for (i = 0; i < 0x800; i++) + sPSSData->field_22C4[i] = 0; + for (i = 0; i < 0x10; i++) + sPSSData->field_2244[i] = 0; + + sPSSData->cursorMonSprite = NULL; + + do + { + tileStart = LoadSpriteSheet(&sheet); + if (tileStart == 0) + break; + + palSlot = LoadSpritePalette(&palette); + if (palSlot == 0xFF) + break; + + spriteId = CreateSprite(&template, 40, 48, 0); + if (spriteId == MAX_SPRITES) + break; + + sPSSData->cursorMonSprite = &gSprites[spriteId]; + sPSSData->field_223A = palSlot * 16 + 0x100; + sPSSData->field_223C = (void*) OBJ_VRAM0 + tileStart * 32; + } while (0); + + if (sPSSData->cursorMonSprite == NULL) + { + FreeSpriteTilesByTag(TAG_TILE_2); + FreeSpritePaletteByTag(TAG_PAL_DAC6); + } +} + +static void LoadCursorMonGfx(u16 species, u32 pid) +{ + if (sPSSData->cursorMonSprite == NULL) + return; + + if (species != SPECIES_NONE) + { + LoadSpecialPokePic(&gMonFrontPicTable[species], sPSSData->field_22C4, species, pid, TRUE); + LZ77UnCompWram(sPSSData->cursorMonPalette, sPSSData->field_2244); + CpuCopy32(sPSSData->field_22C4, sPSSData->field_223C, 0x800); + LoadPalette(sPSSData->field_2244, sPSSData->field_223A, 0x20); + sPSSData->cursorMonSprite->invisible = FALSE; + } + else + { + sPSSData->cursorMonSprite->invisible = TRUE; + } +} + +static void PrintCursorMonInfo(void) +{ + FillWindowPixelBuffer(0, 0x11); + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + { + AddTextPrinterParameterized(0, 1, sPSSData->cursorMonNickText, 6, 0, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(0, 2, sPSSData->cursorMonSpeciesName, 6, 15, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(0, 2, sPSSData->cursorMonGenderLvlText, 10, 29, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(0, 0, sPSSData->cursorMonItemName, 6, 43, TEXT_SPEED_FF, NULL); + } + else + { + AddTextPrinterParameterized(0, 0, sPSSData->cursorMonItemName, 6, 0, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(0, 1, sPSSData->cursorMonNickText, 6, 13, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(0, 2, sPSSData->cursorMonSpeciesName, 6, 28, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(0, 2, sPSSData->cursorMonGenderLvlText, 10, 42, TEXT_SPEED_FF, NULL); + } + + CopyWindowToVram(0, 2); + if (sPSSData->cursorMonSpecies != SPECIES_NONE) + { + sub_8120084(sPSSData->cursorMonMarkings, sPSSData->field_DA0); + sPSSData->field_D94->invisible = FALSE; + } + else + { + sPSSData->field_D94->invisible = TRUE; + } +} + +static void sub_80CA65C(void) +{ + u16 i; + + if (sPSSData->cursorMonSpecies != SPECIES_NONE) + { + sub_80D27AC(0, 0, 0, 8, 2); + for (i = 0; i < 2; i++) + StartSpriteAnimIfDifferent(sPSSData->field_D98[i], i * 2 + 1); + } + else + { + sub_80D27AC(0, 0, 2, 8, 2); + for (i = 0; i < 2; i++) + StartSpriteAnim(sPSSData->field_D98[i], i * 2); + } + + sub_80D2918(0); + schedule_bg_copy_tilemap_to_vram(1); +} + +static void sub_80CA704(void) +{ + LZ77UnCompWram(gUnknown_08DD36C8, sPSSData->field_B0); + LoadPalette(gPSSMenu_Pal, 0x10, 0x20); + sub_80D2644(1, 1, sPSSData->field_B0, 12, 22); + sub_80D2644(2, 1, gUnknown_0857245C, 9, 4); + sub_80D2770(1, 10, 0); + sub_80D2770(2, 21, 0); + sub_80CAA74(); + if (sInPartyMenu) + { + sub_80CA984(TRUE); + CreatePartyMonsSprites(TRUE); + sub_80D2918(2); + sub_80D2918(1); + } + else + { + sub_80D27AC(1, 0, 20, 12, 2); + sub_80CA984(TRUE); + sub_80D2918(1); + sub_80D2918(2); + } + + schedule_bg_copy_tilemap_to_vram(1); + sPSSData->unk_02C7 = 0; +} + +static void SetUpShowPartyMenu(void) +{ + sPSSData->field_2C0 = 20; + sPSSData->field_2C2 = 2; + sPSSData->field_2C5 = 0; + CreatePartyMonsSprites(FALSE); +} + +static bool8 ShowPartyMenu(void) +{ + if (sPSSData->field_2C5 == 20) + return FALSE; + + sPSSData->field_2C0--; + sPSSData->field_2C2++; + sub_80D27F4(1, 3, 1); + sub_80D2918(1); + schedule_bg_copy_tilemap_to_vram(1); + sub_80CBAF0(8); + if (++sPSSData->field_2C5 == 20) + { + sInPartyMenu = TRUE; + return FALSE; + } + else + { + return TRUE; + } +} + +static void SetUpHidePartyMenu(void) +{ + sPSSData->field_2C0 = 0; + sPSSData->field_2C2 = 22; + sPSSData->field_2C5 = 0; + if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) + sub_80D11CC(); +} + +static bool8 HidePartyMenu(void) +{ + if (sPSSData->field_2C5 != 20) + { + sPSSData->field_2C0++; + sPSSData->field_2C2--; + sub_80D27F4(1, 3, -1); + sub_80D2918(1); + FillBgTilemapBufferRect_Palette0(1, 0x100, 10, sPSSData->field_2C2, 12, 1); + sub_80CBAF0(-8); + if (++sPSSData->field_2C5 != 20) + { + schedule_bg_copy_tilemap_to_vram(1); + return TRUE; + } + else + { + sInPartyMenu = FALSE; + DestroyAllPartyMonIcons(); + CompactPartySlots(); + sub_80D27AC(2, 0, 0, 9, 2); + sub_80D2918(2); + schedule_bg_copy_tilemap_to_vram(1); + return FALSE; + } + } + + return FALSE; +} + +static void sub_80CA984(bool8 arg0) +{ + if (arg0) + sub_80D27AC(2, 0, 0, 9, 2); + else + sub_80D27AC(2, 0, 2, 9, 2); + + sub_80D2918(2); + schedule_bg_copy_tilemap_to_vram(1); +} + +static void sub_80CA9C0(void) +{ + sPSSData->unk_02C7 = 1; + sPSSData->unk_02C8 = 30; + sPSSData->unk_02C9 = TRUE; +} + +static void sub_80CA9EC(void) +{ + if (sPSSData->unk_02C7) + { + sPSSData->unk_02C7 = 0; + sub_80CA984(TRUE); + } +} + +static void sub_80CAA14(void) +{ + if (sPSSData->unk_02C7 && ++sPSSData->unk_02C8 > 30) + { + sPSSData->unk_02C8 = 0; + sPSSData->unk_02C9 = (sPSSData->unk_02C9 == FALSE); + sub_80CA984(sPSSData->unk_02C9); + } +} + +static void sub_80CAA74(void) +{ + u8 i; + + for (i = 1; i < PARTY_SIZE; i++) + { + s32 species = GetMonData(gPlayerParty + i, MON_DATA_SPECIES); + sub_80CAAA8(i, (species != SPECIES_NONE)); + } +} + +static void sub_80CAAA8(u8 arg0, bool8 isPartyMon) +{ + u16 i, j, index; + const u16 *data; + + if (isPartyMon) + data = gUnknown_085724A4; + else + data = gUnknown_085724BC; + + index = 3 * (3 * (arg0 - 1) + 1); + index *= 4; + index += 7; + for (i = 0; i < 3; i++) + { + for (j = 0; j < 4; j++) + { + sPSSData->field_B0[index + j] = data[j]; + } + data += 4; + index += 12; + } +} + +static void sub_80CAB20(void) +{ + sub_80CAA74(); + sub_80D27AC(1, 0, 0, 12, 22); + sub_80D2918(1); + schedule_bg_copy_tilemap_to_vram(1); +} + +static void SetUpDoShowPartyMenu(void) +{ + sPSSData->showPartyMenuState = 0; + PlaySE(SE_WIN_OPEN); + SetUpShowPartyMenu(); +} + +static bool8 DoShowPartyMenu(void) +{ + switch (sPSSData->showPartyMenuState) + { + case 0: + if (!ShowPartyMenu()) + { + sub_80CDBA0(); + sPSSData->showPartyMenuState++; + } + break; + case 1: + if (!sub_80CD554()) + { + if (sPSSData->setMosaic) + BoxSetMosaic(); + sPSSData->showPartyMenuState++; + } + break; + case 2: + return FALSE; + } + return TRUE; +} + +static void sub_80CABE0(void) +{ + if (gUnknown_02039D10 != StorageGetCurrentBox()) + { + FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG); + VarSet(VAR_STORAGE_UNKNOWN, StorageGetCurrentBox()); + } +} + +static void sub_80CAC1C(void) +{ + SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(29)); + LoadUserWindowBorderGfx(1, 2, 208); + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17); + CopyBgTilemapBufferToVram(0); +} + +static void PrintStorageActionText(u8 id) +{ + u8 *txtPtr; + + DynamicPlaceholderTextUtil_Reset(); + switch (gPCStorageActionTexts[id].format) + { + case PC_TEXT_FMT_NORMAL: + break; + case PC_TEXT_FMT_MON_NAME_1: + case PC_TEXT_FMT_MON_NAME_2: + case PC_TEXT_FMT_MON_NAME_3: + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sPSSData->cursorMonNick); + break; + case PC_TEXT_FMT_MON_NAME_4: + case PC_TEXT_FMT_MON_NAME_5: + case PC_TEXT_FMT_MON_NAME_6: + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sPSSData->field_21E0); + break; + case PC_TEXT_FMT_ITEM_NAME: + if (IsActiveItemMoving()) + txtPtr = StringCopy(sPSSData->itemName, GetMovingItemName()); + else + txtPtr = StringCopy(sPSSData->itemName, sPSSData->cursorMonItemName); + + while (*(txtPtr - 1) == CHAR_SPACE) + txtPtr--; + + *txtPtr = EOS; + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sPSSData->itemName); + break; + } + + DynamicPlaceholderTextUtil_ExpandPlaceholders(sPSSData->field_2190, gPCStorageActionTexts[id].text); + FillWindowPixelBuffer(1, 0x11); + AddTextPrinterParameterized(1, 1, sPSSData->field_2190, 0, 1, TEXT_SPEED_FF, NULL); + sub_8098858(1, 2, 14); + PutWindowTilemap(1); + CopyWindowToVram(1, 2); + schedule_bg_copy_tilemap_to_vram(0); +} + +static void ShowYesNoWindow(s8 cursorPos) +{ + CreateYesNoMenu(&sYesNoWindowTemplate, 11, 14, 0); + Menu_MoveCursorNoWrapAround(cursorPos); +} + +static void ClearBottomWindow(void) +{ + sub_8198070(1, FALSE); + schedule_bg_copy_tilemap_to_vram(0); +} + +static void AddWallpaperSetsMenu(void) +{ + InitMenu(); + SetMenuText(18); + SetMenuText(19); + SetMenuText(20); + SetMenuText(21); + if (IsWaldaWallpaperUnlocked()) + SetMenuText(22); + AddMenu(); +} + +static void AddWallpapersMenu(u8 wallpaperSet) +{ + InitMenu(); + switch (wallpaperSet) + { + case 0: + SetMenuText(23); + SetMenuText(24); + SetMenuText(25); + SetMenuText(26); + break; + case 1: + SetMenuText(27); + SetMenuText(28); + SetMenuText(29); + SetMenuText(30); + break; + case 2: + SetMenuText(31); + SetMenuText(32); + SetMenuText(33); + SetMenuText(34); + break; + case 3: + SetMenuText(35); + SetMenuText(36); + SetMenuText(37); + SetMenuText(38); + break; + } + AddMenu(); +} + +static u8 GetCurrentBoxOption(void) +{ + return sCurrentBoxOption; +} + +static void sub_80CAEAC(void) +{ + if (!IsCursorOnBox()) + { + if (sInPartyMenu) + sub_80D0D8C(CURSOR_AREA_IN_PARTY, GetBoxCursorPosition()); + else + sub_80D0D8C(CURSOR_AREA_IN_BOX, GetBoxCursorPosition()); + } + + if (gUnknown_02039D12 != 0) + { + sub_80D0F38(gUnknown_02039D12); + sub_80CFE54(3); + } +} + +static void sub_80CAF04(void) +{ + u16 i; + + LoadMonIconPalettes(); + for (i = 0; i < 40; i++) + sPSSData->field_B08[i] = 0; + for (i = 0; i < 40; i++) + sPSSData->field_B58[i] = 0; + for (i = 0; i < PARTY_SIZE; i++) + sPSSData->partySprites[i] = NULL; + for (i = 0; i < IN_BOX_COUNT; i++) + sPSSData->boxMonsSprites[i] = NULL; + + sPSSData->movingMonSprite = NULL; + sPSSData->field_78C = 0; +} + +static u8 sub_80CAFAC(void) +{ + return (IsCursorInBox() ? 2 : 1); +} + +static void CreateMovingMonIcon(void) +{ + u32 personality = GetMonData(&sPSSData->movingMon, MON_DATA_PERSONALITY); + u16 species = GetMonData(&sPSSData->movingMon, MON_DATA_SPECIES2); + u8 priority = sub_80CAFAC(); + + sPSSData->movingMonSprite = CreateMonIconSprite(species, personality, 0, 0, priority, 7); + sPSSData->movingMonSprite->callback = sub_80CC100; +} + +static void sub_80CB028(u8 boxId) +{ + u8 boxPosition; + u16 i, j, count; + u16 species; + u32 personality; + + count = 0; + boxPosition = 0; + for (i = 0; i < IN_BOX_COLUMNS; i++) + { + for (j = 0; j < IN_BOX_ROWS; j++) + { + species = GetBoxMonDataAt(boxId, boxPosition, MON_DATA_SPECIES2); + if (species != SPECIES_NONE) + { + personality = GetBoxMonDataAt(boxId, boxPosition, MON_DATA_PERSONALITY); + sPSSData->boxMonsSprites[count] = CreateMonIconSprite(species, personality, 8 * (3 * j) + 100, 8 * (3 * i) + 44, 2, 19 - j); + } + else + { + sPSSData->boxMonsSprites[count] = NULL; + } + boxPosition++; + count++; + } + } + + if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) + { + for (boxPosition = 0; boxPosition < IN_BOX_COUNT; boxPosition++) + { + if (GetBoxMonDataAt(boxId, boxPosition, MON_DATA_HELD_ITEM) == 0) + sPSSData->boxMonsSprites[boxPosition]->oam.objMode = 1; + } + } +} + +static void sub_80CB140(u8 boxPosition) +{ + u16 species = GetCurrentBoxMonData(boxPosition, MON_DATA_SPECIES2); + + if (species != SPECIES_NONE) + { + s16 x = 8 * (3 * (boxPosition % IN_BOX_ROWS)) + 100; + s16 y = 8 * (3 * (boxPosition / IN_BOX_ROWS)) + 44; + u32 personality = GetCurrentBoxMonData(boxPosition, MON_DATA_PERSONALITY); + + sPSSData->boxMonsSprites[boxPosition] = CreateMonIconSprite(species, personality, x, y, 2, 19 - (boxPosition % IN_BOX_ROWS)); + if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) + sPSSData->boxMonsSprites[boxPosition]->oam.objMode = 1; + } +} + +static void sub_80CB1F0(s16 arg0) +{ + u16 i; + + for (i = 0; i < IN_BOX_COUNT; i++) + { + if (sPSSData->boxMonsSprites[i] != NULL) + { + sPSSData->boxMonsSprites[i]->data[2] = arg0; + sPSSData->boxMonsSprites[i]->data[4] = 1; + sPSSData->boxMonsSprites[i]->callback = sub_80CB278; + } + } +} + +static void sub_80CB234(struct Sprite *sprite) +{ + if (sprite->data[1] != 0) + { + sprite->data[1]--; + sprite->pos1.x += sprite->data[2]; + } + else + { + sPSSData->field_C66--; + sprite->pos1.x = sprite->data[3]; + sprite->callback = SpriteCallbackDummy; + } +} + +static void sub_80CB278(struct Sprite *sprite) +{ + if (sprite->data[4] != 0) + { + sprite->data[4]--; + } + else + { + sprite->pos1.x += sprite->data[2]; + sprite->data[5] = sprite->pos1.x + sprite->pos2.x; + if (sprite->data[5] <= 68 || sprite->data[5] >= 252) + sprite->callback = SpriteCallbackDummy; + } +} + +static void DestroyAllIconsInRow(u8 row) +{ + u16 column; + u8 boxPosition = row; + + for (column = 0; column < IN_BOX_COLUMNS; column++) + { + if (sPSSData->boxMonsSprites[boxPosition] != NULL) + { + DestroyBoxMonIcon(sPSSData->boxMonsSprites[boxPosition]); + sPSSData->boxMonsSprites[boxPosition] = NULL; + } + boxPosition += IN_BOX_ROWS; + } +} + +static u8 sub_80CB2F8(u8 row, u16 times, s16 xDelta) +{ + s32 i; + u16 y = 44; + s16 xDest = 8 * (3 * row) + 100; + u16 x = xDest - ((times + 1) * xDelta); + u8 subpriority = 19 - row; + u8 count = 0; + u8 boxPosition = row; + + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + { + for (i = 0; i < IN_BOX_COLUMNS; i++) + { + if (sPSSData->boxSpecies[boxPosition] != SPECIES_NONE) + { + sPSSData->boxMonsSprites[boxPosition] = CreateMonIconSprite(sPSSData->boxSpecies[boxPosition], + sPSSData->boxPersonalities[boxPosition], + x, y, 2, subpriority); + if (sPSSData->boxMonsSprites[boxPosition] != NULL) + { + sPSSData->boxMonsSprites[boxPosition]->data[1] = times; + sPSSData->boxMonsSprites[boxPosition]->data[2] = xDelta; + sPSSData->boxMonsSprites[boxPosition]->data[3] = xDest; + sPSSData->boxMonsSprites[boxPosition]->callback = sub_80CB234; + count++; + } + } + boxPosition += IN_BOX_ROWS; + y += 24; + } + } + else + { + for (i = 0; i < IN_BOX_COLUMNS; i++) + { + if (sPSSData->boxSpecies[boxPosition] != SPECIES_NONE) + { + sPSSData->boxMonsSprites[boxPosition] = CreateMonIconSprite(sPSSData->boxSpecies[boxPosition], + sPSSData->boxPersonalities[boxPosition], + x, y, 2, subpriority); + if (sPSSData->boxMonsSprites[boxPosition] != NULL) + { + sPSSData->boxMonsSprites[boxPosition]->data[1] = times; + sPSSData->boxMonsSprites[boxPosition]->data[2] = xDelta; + sPSSData->boxMonsSprites[boxPosition]->data[3] = xDest; + sPSSData->boxMonsSprites[boxPosition]->callback = sub_80CB234; + if (GetBoxMonDataAt(sPSSData->field_C5C, boxPosition, MON_DATA_HELD_ITEM) == 0) + sPSSData->boxMonsSprites[boxPosition]->oam.objMode = 1; + count++; + } + } + boxPosition += IN_BOX_ROWS; + y += 24; + } + } + + return count; +} + +static void sub_80CB4CC(u8 boxId, s8 direction) +{ + sPSSData->field_C6A = 0; + sPSSData->field_C6B = boxId; + sPSSData->field_C69 = direction; + sPSSData->field_C60 = 32; + sPSSData->field_C64 = -(6 * direction); + sPSSData->field_C66 = 0; + SetBoxSpeciesAndPersonalities(boxId); + if (direction > 0) + sPSSData->field_C68 = 0; + else + sPSSData->field_C68 = IN_BOX_ROWS - 1; + + sPSSData->field_C62 = (24 * sPSSData->field_C68) + 100; + sub_80CB1F0(sPSSData->field_C64); +} + +static bool8 sub_80CB584(void) +{ + if (sPSSData->field_C60 != 0) + sPSSData->field_C60--; + + switch (sPSSData->field_C6A) + { + case 0: + sPSSData->field_C62 += sPSSData->field_C64; + if (sPSSData->field_C62 <= 64 || sPSSData->field_C62 >= 252) + { + DestroyAllIconsInRow(sPSSData->field_C68); + sPSSData->field_C62 += sPSSData->field_C69 * 24; + sPSSData->field_C6A++; + } + break; + case 1: + sPSSData->field_C62 += sPSSData->field_C64; + sPSSData->field_C66 += sub_80CB2F8(sPSSData->field_C68, sPSSData->field_C60, sPSSData->field_C64); + if ((sPSSData->field_C69 > 0 && sPSSData->field_C68 == IN_BOX_ROWS - 1) + || (sPSSData->field_C69 < 0 && sPSSData->field_C68 == 0)) + { + sPSSData->field_C6A++; + } + else + { + sPSSData->field_C68 += sPSSData->field_C69; + sPSSData->field_C6A = 0; + } + break; + case 2: + if (sPSSData->field_C66 == 0) + { + sPSSData->field_C60++; + return FALSE; + } + break; + default: + return FALSE; + } + + return TRUE; +} + +static void SetBoxSpeciesAndPersonalities(u8 boxId) +{ + s32 i, j, boxPosition; + + boxPosition = 0; + for (i = 0; i < IN_BOX_COLUMNS; i++) + { + for (j = 0; j < IN_BOX_ROWS; j++) + { + sPSSData->boxSpecies[boxPosition] = GetBoxMonDataAt(boxId, boxPosition, MON_DATA_SPECIES2); + if (sPSSData->boxSpecies[boxPosition] != SPECIES_NONE) + sPSSData->boxPersonalities[boxPosition] = GetBoxMonDataAt(boxId, boxPosition, MON_DATA_PERSONALITY); + boxPosition++; + } + } + + sPSSData->field_C5C = boxId; +} + +static void DestroyBoxMonIconAtPosition(u8 boxPosition) +{ + if (sPSSData->boxMonsSprites[boxPosition] != NULL) + { + DestroyBoxMonIcon(sPSSData->boxMonsSprites[boxPosition]); + sPSSData->boxMonsSprites[boxPosition] = NULL; + } +} + +static void SetBoxMonIconObjMode(u8 boxPosition, u8 objMode) +{ + if (sPSSData->boxMonsSprites[boxPosition] != NULL) + { + sPSSData->boxMonsSprites[boxPosition]->oam.objMode = objMode; + } +} + +static void CreatePartyMonsSprites(bool8 arg0) +{ + u16 i, count; + u16 species = GetMonData(&gPlayerParty[0], MON_DATA_SPECIES2); + u32 personality = GetMonData(&gPlayerParty[0], MON_DATA_PERSONALITY); + + sPSSData->partySprites[0] = CreateMonIconSprite(species, personality, 104, 64, 1, 12); + count = 1; + for (i = 1; i < PARTY_SIZE; i++) + { + species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); + if (species != SPECIES_NONE) + { + personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY); + sPSSData->partySprites[i] = CreateMonIconSprite(species, personality, 152, 8 * (3 * (i - 1)) + 16, 1, 12); + count++; + } + else + { + sPSSData->partySprites[i] = NULL; + } + } + + if (!arg0) + { + for (i = 0; i < count; i++) + { + sPSSData->partySprites[i]->pos1.y -= 160; + sPSSData->partySprites[i]->invisible = TRUE; + } + } + + if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) + { + for (i = 0; i < PARTY_SIZE; i++) + { + if (sPSSData->partySprites[i] != NULL && GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM) == 0) + sPSSData->partySprites[i]->oam.objMode = 1; + } + } +} + +static void sub_80CB950(void) +{ + u16 i, count; + + sPSSData->field_C5E = 0; + for (i = 0, count = 0; i < PARTY_SIZE; i++) + { + if (sPSSData->partySprites[i] != NULL) + { + if (i != count) + { + sub_80CB9D0(sPSSData->partySprites[i], count); + sPSSData->partySprites[i] = NULL; + sPSSData->field_C5E++; + } + count++; + } + } +} + +static u8 sub_80CB9BC(void) +{ + return sPSSData->field_C5E; +} + +static void sub_80CB9D0(struct Sprite *sprite, u16 partyId) +{ + s16 x, y; + + sprite->data[1] = partyId; + if (partyId == 0) + x = 104, y = 64; + else + x = 152, y = 8 * (3 * (partyId - 1)) + 16; + + sprite->data[2] = (u16)(sprite->pos1.x) * 8; + sprite->data[3] = (u16)(sprite->pos1.y) * 8; + sprite->data[4] = ((x * 8) - sprite->data[2]) / 8; + sprite->data[5] = ((y * 8) - sprite->data[3]) / 8; + sprite->data[6] = 8; + sprite->callback = sub_80CBA3C; +} + +static void sub_80CBA3C(struct Sprite *sprite) +{ + if (sprite->data[6] != 0) + { + s16 x = sprite->data[2] += sprite->data[4]; + s16 y = sprite->data[3] += sprite->data[5]; + sprite->pos1.x = x / 8u; + sprite->pos1.y = y / 8u; + sprite->data[6]--; + } + else + { + if (sprite->data[1] == 0) + { + sprite->pos1.x = 104; + sprite->pos1.y = 64; + } + else + { + sprite->pos1.x = 152; + sprite->pos1.y = 8 * (3 * (sprite->data[1] - 1)) + 16; + } + sprite->callback = SpriteCallbackDummy; + sPSSData->partySprites[sprite->data[1]] = sprite; + sPSSData->field_C5E--; + } +} + +static void DestroyMovingMonIcon(void) +{ + if (sPSSData->movingMonSprite != NULL) + { + DestroyBoxMonIcon(sPSSData->movingMonSprite); + sPSSData->movingMonSprite = NULL; + } +} + +static void sub_80CBAF0(s16 yDelta) +{ + u16 i, posY; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (sPSSData->partySprites[i] != NULL) + { + sPSSData->partySprites[i]->pos1.y += yDelta; + posY = sPSSData->partySprites[i]->pos1.y + sPSSData->partySprites[i]->pos2.y + sPSSData->partySprites[i]->centerToCornerVecY; + posY += 16; + if (posY > 192) + sPSSData->partySprites[i]->invisible = TRUE; + else + sPSSData->partySprites[i]->invisible = FALSE; + } + } +} + +static void DestroyPartyMonIcon(u8 partyId) +{ + if (sPSSData->partySprites[partyId] != NULL) + { + DestroyBoxMonIcon(sPSSData->partySprites[partyId]); + sPSSData->partySprites[partyId] = NULL; + } +} + +static void DestroyAllPartyMonIcons(void) +{ + u16 i; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (sPSSData->partySprites[i] != NULL) + { + DestroyBoxMonIcon(sPSSData->partySprites[i]); + sPSSData->partySprites[i] = NULL; + } + } +} + +static void SetPartyMonIconObjMode(u8 partyId, u8 objMode) +{ + if (sPSSData->partySprites[partyId] != NULL) + { + sPSSData->partySprites[partyId]->oam.objMode = objMode; + } +} + +static void sub_80CBC14(u8 mode, u8 id) +{ + if (mode == MODE_PARTY) + { + sPSSData->movingMonSprite = sPSSData->partySprites[id]; + sPSSData->partySprites[id] = NULL; + } + else if (mode == MODE_BOX) + { + sPSSData->movingMonSprite = sPSSData->boxMonsSprites[id]; + sPSSData->boxMonsSprites[id] = NULL; + } + else + { + return; + } + + sPSSData->movingMonSprite->callback = sub_80CC100; + sPSSData->movingMonSprite->oam.priority = sub_80CAFAC(); + sPSSData->movingMonSprite->subpriority = 7; +} + +static void sub_80CBCAC(u8 boxId, u8 position) +{ + if (boxId == TOTAL_BOXES_COUNT) // party mon + { + sPSSData->partySprites[position] = sPSSData->movingMonSprite; + sPSSData->partySprites[position]->oam.priority = 1; + sPSSData->partySprites[position]->subpriority = 12; + } + else + { + sPSSData->boxMonsSprites[position] = sPSSData->movingMonSprite; + sPSSData->boxMonsSprites[position]->oam.priority = 2; + sPSSData->boxMonsSprites[position]->subpriority = 19 - (position % IN_BOX_ROWS); + } + sPSSData->movingMonSprite->callback = SpriteCallbackDummy; + sPSSData->movingMonSprite = NULL; +} + +static void sub_80CBD5C(u8 boxId, u8 position) +{ + if (boxId == TOTAL_BOXES_COUNT) // party mon + sPSSData->field_B00 = &sPSSData->partySprites[position]; + else + sPSSData->field_B00 = &sPSSData->boxMonsSprites[position]; + + sPSSData->movingMonSprite->callback = SpriteCallbackDummy; + sPSSData->field_C5D = 0; +} + +static bool8 sub_80CBDC4(void) +{ + if (sPSSData->field_C5D == 16) + return FALSE; + + sPSSData->field_C5D++; + if (sPSSData->field_C5D & 1) + { + (*sPSSData->field_B00)->pos1.y--; + sPSSData->movingMonSprite->pos1.y++; + } + + (*sPSSData->field_B00)->pos2.x = gSineTable[sPSSData->field_C5D * 8] / 16; + sPSSData->movingMonSprite->pos2.x = -(gSineTable[sPSSData->field_C5D * 8] / 16); + if (sPSSData->field_C5D == 8) + { + sPSSData->movingMonSprite->oam.priority = (*sPSSData->field_B00)->oam.priority; + sPSSData->movingMonSprite->subpriority = (*sPSSData->field_B00)->subpriority; + (*sPSSData->field_B00)->oam.priority = sub_80CAFAC(); + (*sPSSData->field_B00)->subpriority = 7; + } + + if (sPSSData->field_C5D == 16) + { + struct Sprite *sprite = sPSSData->movingMonSprite; + sPSSData->movingMonSprite = (*sPSSData->field_B00); + *sPSSData->field_B00 = sprite; + + sPSSData->movingMonSprite->callback = sub_80CC100; + (*sPSSData->field_B00)->callback = SpriteCallbackDummy; + } + + return TRUE; +} + +static void sub_80CBF14(u8 mode, u8 position) +{ + switch (mode) + { + case MODE_PARTY: + sPSSData->field_B04 = &sPSSData->partySprites[position]; + break; + case MODE_BOX: + sPSSData->field_B04 = &sPSSData->boxMonsSprites[position]; + break; + case MODE_2: + sPSSData->field_B04 = &sPSSData->movingMonSprite; + break; + default: + return; + } + + if (*sPSSData->field_B04 != NULL) + { + InitSpriteAffineAnim(*sPSSData->field_B04); + (*sPSSData->field_B04)->oam.affineMode = 1; + (*sPSSData->field_B04)->affineAnims = gSpriteAffineAnimTable_857291C; + StartSpriteAffineAnim(*sPSSData->field_B04, 0); + } +} + +static bool8 sub_80CBFD8(void) +{ + if (*sPSSData->field_B04 == NULL || (*sPSSData->field_B04)->invisible) + return FALSE; + + if ((*sPSSData->field_B04)->affineAnimEnded) + (*sPSSData->field_B04)->invisible = TRUE; + + return TRUE; +} + +static void sub_80CC020(void) +{ + if (*sPSSData->field_B04 != NULL) + { + FreeOamMatrix((*sPSSData->field_B04)->oam.matrixNum); + DestroyBoxMonIcon(*sPSSData->field_B04); + *sPSSData->field_B04 = NULL; + } +} + +static void sub_80CC064(void) +{ + if (*sPSSData->field_B04 != NULL) + { + (*sPSSData->field_B04)->invisible = FALSE; + StartSpriteAffineAnim(*sPSSData->field_B04, 1); + } +} + +static bool8 sub_80CC0A0(void) +{ + if (sPSSData->field_B04 == NULL) + return FALSE; + + if ((*sPSSData->field_B04)->affineAnimEnded) + sPSSData->field_B04 = NULL; + + return TRUE; +} + +static void SetMovingMonPriority(u8 priority) +{ + sPSSData->movingMonSprite->oam.priority = priority; +} + +static void sub_80CC100(struct Sprite *sprite) +{ + sprite->pos1.x = sPSSData->field_CB4->pos1.x; + sprite->pos1.y = sPSSData->field_CB4->pos1.y + sPSSData->field_CB4->pos2.y + 4; +} + +static u16 sub_80CC124(u16 species) +{ + u16 i, var; + + for (i = 0; i < 40; i++) + { + if (sPSSData->field_B58[i] == species) + break; + } + + if (i == 40) + { + for (i = 0; i < 40; i++) + { + if (sPSSData->field_B58[i] == 0) + break; + } + if (i == 40) + return 0xFFFF; + } + + sPSSData->field_B58[i] = species; + sPSSData->field_B08[i]++; + var = 16 * i; + CpuCopy32(GetMonIconTiles(species, TRUE), (void*)(OBJ_VRAM0) + var * 32, 0x200); + + return var; +} + +static void sub_80CC1E0(u16 species) +{ + u16 i; + + for (i = 0; i < 40; i++) + { + if (sPSSData->field_B58[i] == species) + { + if (--sPSSData->field_B08[i] == 0) + sPSSData->field_B58[i] = 0; + break; + } + } +} + +static struct Sprite *CreateMonIconSprite(u16 species, u32 personality, s16 x, s16 y, u8 oamPriority, u8 subpriority) +{ + u16 tileNum; + u8 spriteId; + struct SpriteTemplate tempalte = gUnknown_085728D4; + + species = GetIconSpecies(species, personality); + tempalte.paletteTag = 0xDAC0 + gMonIconPaletteIndices[species]; + tileNum = sub_80CC124(species); + if (tileNum == 0xFFFF) + return NULL; + + spriteId = CreateSprite(&tempalte, x, y, subpriority); + if (spriteId == MAX_SPRITES) + { + sub_80CC1E0(species); + return NULL; + } + + gSprites[spriteId].oam.tileNum = tileNum; + gSprites[spriteId].oam.priority = oamPriority; + gSprites[spriteId].data[0] = species; + return &gSprites[spriteId]; +} + +static void DestroyBoxMonIcon(struct Sprite *sprite) +{ + sub_80CC1E0(sprite->data[0]); + DestroySprite(sprite); +} + +static void sub_80CC32C(u8 boxId) +{ + u8 taskId = CreateTask(sub_80CC370, 2); + + gTasks[taskId].data[2] = boxId; +} + +static bool8 sub_80CC35C(void) +{ + return FuncIsActiveTask(sub_80CC370); +} + +static void sub_80CC370(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + sPSSData->field_2D2 = 0; + sPSSData->bg2_X = 0; + task->data[1] = RequestDma3Fill(0, sPSSData->field_4AC4, 0x1000, 1); + break; + case 1: + if (CheckForSpaceForDma3Request(task->data[1]) == -1) + return; + + SetBgTilemapBuffer(2, sPSSData->field_4AC4); + ShowBg(2); + break; + case 2: + LoadWallpaperGfx(task->data[2], 0); + break; + case 3: + if (!WaitForWallpaperGfxLoad()) + return; + + sub_80CCB50(task->data[2]); + sub_80CD02C(); + sub_80CB028(task->data[2]); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(2) | BGCNT_SCREENBASE(27) | BGCNT_TXT512x256); + break; + case 4: + DestroyTask(taskId); + break; + default: + task->data[0] = 0; + return; + } + + task->data[0]++; +} + +static void SetUpScrollToBox(u8 boxId) +{ + s8 direction = sub_80CC644(boxId); + + sPSSData->field_2CE = (direction > 0) ? 6 : -6; + sPSSData->field_2D3 = (direction > 0) ? 1 : 2; + sPSSData->field_2D0 = 32; + sPSSData->field_2D4 = boxId; + sPSSData->field_2D6 = (direction <= 0) ? 5 : 0; + sPSSData->field_2D8 = direction; + sPSSData->field_2DA = (direction > 0) ? 264 : 56; + sPSSData->field_2DC = (direction <= 0) ? 5 : 0; + sPSSData->field_2DE = 0; + sPSSData->field_2E0 = 2; + sPSSData->field_A64 = boxId; + sPSSData->field_A65 = direction; + sPSSData->field_A63 = 0; +} + +static bool8 ScrollToBox(void) +{ + bool8 var; + + switch (sPSSData->field_A63) + { + case 0: + LoadWallpaperGfx(sPSSData->field_A64, sPSSData->field_A65); + sPSSData->field_A63++; + case 1: + if (!WaitForWallpaperGfxLoad()) + return TRUE; + + sub_80CB4CC(sPSSData->field_A64, sPSSData->field_A65); + sub_80CCCFC(sPSSData->field_A64, sPSSData->field_A65); + sub_80CD0B8(sPSSData->field_A65); + break; + case 2: + var = sub_80CB584(); + if (sPSSData->field_2D0 != 0) + { + sPSSData->bg2_X += sPSSData->field_2CE; + if (--sPSSData->field_2D0 != 0) + return TRUE; + sub_80CCEE0(); + sub_80CD158(); + } + return var; + } + + sPSSData->field_A63++; + return TRUE; +} + +static s8 sub_80CC644(u8 boxId) +{ + u8 i; + u8 currentBox = StorageGetCurrentBox(); + + for (i = 0; currentBox != boxId; i++) + { + currentBox++; + if (currentBox >= TOTAL_BOXES_COUNT) + currentBox = 0; + } + + return (i < TOTAL_BOXES_COUNT / 2) ? 1 : -1; +} + +static void SetWallpaperForCurrentBox(u8 wallpaperId) +{ + u8 boxId = StorageGetCurrentBox(); + SetBoxWallpaper(boxId, wallpaperId); + sPSSData->wallpaperChangeState = 0; +} + +static bool8 DoWallpaperGfxChange(void) +{ + switch (sPSSData->wallpaperChangeState) + { + case 0: + BeginNormalPaletteFade(sPSSData->field_738, 1, 0, 16, RGB_WHITEALPHA); + sPSSData->wallpaperChangeState++; + break; + case 1: + if (!UpdatePaletteFade()) + { + u8 curBox = StorageGetCurrentBox(); + LoadWallpaperGfx(curBox, 0); + sPSSData->wallpaperChangeState++; + } + break; + case 2: + if (WaitForWallpaperGfxLoad() == TRUE) + { + sub_80CCF9C(); + BeginNormalPaletteFade(sPSSData->field_738, 1, 16, 0, RGB_WHITEALPHA); + sPSSData->wallpaperChangeState++; + } + break; + case 3: + if (!UpdatePaletteFade()) + sPSSData->wallpaperChangeState++; + break; + case 4: + return FALSE; + } + + return TRUE; +} + +static void LoadWallpaperGfx(u8 boxId, s8 direction) +{ + u8 wallpaperId; + const struct WallpaperTable *wallpaperGfx; + void *iconGfx; + u32 size1, size2; + + sPSSData->field_6F9 = 0; + sPSSData->field_6FA = boxId; + sPSSData->field_6FB = direction; + if (sPSSData->field_6FB != 0) + { + sPSSData->field_2D2 = (sPSSData->field_2D2 == 0); + sub_80CCAE0(sPSSData->field_4AC4); + } + + wallpaperId = GetBoxWallpaper(sPSSData->field_6FA); + if (wallpaperId != WALLPAPER_FRIENDS) + { + wallpaperGfx = &gWallpaperTable[wallpaperId]; + LZ77UnCompWram(wallpaperGfx->tileMap, sPSSData->field_792); + sub_80CCA3C(sPSSData->field_792, sPSSData->field_6FB, sPSSData->field_2D2); + + if (sPSSData->field_6FB != 0) + LoadPalette(wallpaperGfx->palettes, (sPSSData->field_2D2 * 32) + 0x40, 0x40); + else + CpuCopy16(wallpaperGfx->palettes, &gPlttBufferUnfaded[(sPSSData->field_2D2 * 32) + 0x40], 0x40); + + sPSSData->wallpaperTiles = malloc_and_decompress(wallpaperGfx->tiles, &size1); + LoadBgTiles(2, sPSSData->wallpaperTiles, size1, sPSSData->field_2D2 << 8); + } + else + { + wallpaperGfx = &gFriendsWallpaperTable[GetWaldaWallpaperPatternId()]; + LZ77UnCompWram(wallpaperGfx->tileMap, sPSSData->field_792); + sub_80CCA3C(sPSSData->field_792, sPSSData->field_6FB, sPSSData->field_2D2); + + CpuCopy16(wallpaperGfx->palettes, sPSSData->field_792, 0x40); + CpuCopy16(GetWaldaWallpaperColorsPtr(), &sPSSData->field_792[1], 4); + CpuCopy16(GetWaldaWallpaperColorsPtr(), &sPSSData->field_792[17], 4); + + if (sPSSData->field_6FB != 0) + LoadPalette(sPSSData->field_792, (sPSSData->field_2D2 * 32) + 0x40, 0x40); + else + CpuCopy16(sPSSData->field_792, &gPlttBufferUnfaded[(sPSSData->field_2D2 * 32) + 0x40], 0x40); + + sPSSData->wallpaperTiles = malloc_and_decompress(wallpaperGfx->tiles, &size1); + iconGfx = malloc_and_decompress(gFriendsIcons[GetWaldaWallpaperIconId()], &size2); + CpuCopy32(iconGfx, sPSSData->wallpaperTiles + 0x800, size2); + Free(iconGfx); + LoadBgTiles(2, sPSSData->wallpaperTiles, size1, sPSSData->field_2D2 << 8); + } + + CopyBgTilemapBufferToVram(2); +} + +static bool32 WaitForWallpaperGfxLoad(void) +{ + if (IsDma3ManagerBusyWithBgCopy()) + return FALSE; + + if (sPSSData->wallpaperTiles != NULL) + { + Free(sPSSData->wallpaperTiles); + sPSSData->wallpaperTiles = NULL; + } + return TRUE; +} + +static void sub_80CCA3C(const void *tilemap, s8 direction, u8 arg2) +{ + s16 var = (arg2 * 2) + 3; + s16 x = ((sPSSData->bg2_X / 8 + 10) + (direction * 24)) & 0x3F; + + CopyRectToBgTilemapBufferRect(2, tilemap, 0, 0, 0x14, 0x12, x, 2, 0x14, 0x12, 0x11, arg2 << 8, var); + + if (direction == 0) + return; + else if (direction > 0) + x *= 1, x += 0x14; // x * 1 is needed to match, but can be safely removed as it makes no functional difference + else + x -= 4; + + FillBgTilemapBufferRect(2, 0, x, 2, 4, 0x12, 0x11); +} + +static void sub_80CCAE0(void *arg0) +{ + u16 i; + u16 *dest = arg0; + s16 r3 = ((sPSSData->bg2_X / 8) + 30) & 0x3F; + + if (r3 <= 31) + dest += r3 + 0x260; + else + dest += r3 + 0x640; + + for (i = 0; i < 0x2C; i++) + { + *dest++ = 0; + r3 = (r3 + 1) & 0x3F; + if (r3 == 0) + dest -= 0x420; + if (r3 == 0x20) + dest += 0x3e0; + } +} + +static void sub_80CCB50(u8 boxId) +{ + u8 tagIndex; + s16 r6; + u16 i; + + struct SpriteSheet spriteSheet = {sPSSData->field_2F8, 0x200, TAG_TILE_3}; + struct SpritePalette palettes[] = { + {sPSSData->field_6FC, TAG_PAL_DAC9}, + {} + }; + + u16 wallpaperId = GetBoxWallpaper(boxId); + + sPSSData->field_6FC[14] = gUnknown_08577574[wallpaperId][0]; + sPSSData->field_6FC[15] = gUnknown_08577574[wallpaperId][1]; + LoadSpritePalettes(palettes); + sPSSData->field_738 = 0x3f0; + + tagIndex = IndexOfSpritePaletteTag(TAG_PAL_DAC9); + sPSSData->field_71C = 0x10e + 16 * tagIndex; + sPSSData->field_738 |= 0x10000 << tagIndex; + + tagIndex = IndexOfSpritePaletteTag(TAG_PAL_DAC9); + sPSSData->field_71E = 0x10e + 16 * tagIndex; + sPSSData->field_738 |= 0x10000 << tagIndex; + + StringCopyPadded(sPSSData->field_21B8, GetBoxNamePtr(boxId), 0, 8); + sub_80C6D80(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2); + LoadSpriteSheet(&spriteSheet); + r6 = sub_80CD00C(GetBoxNamePtr(boxId)); + + for (i = 0; i < 2; i++) + { + u8 spriteId = CreateSprite(&gSpriteTemplate_857B0A8, r6 + i * 32, 28, 24); + sPSSData->field_720[i] = &gSprites[spriteId]; + StartSpriteAnim(sPSSData->field_720[i], i); + } + sPSSData->field_6F8 = 0; +} + +static void sub_80CCCFC(u8 boxId, s8 direction) +{ + u16 r8; + s16 x, x2; + u16 i; + struct SpriteSheet spriteSheet = {sPSSData->field_2F8, 0x200, TAG_TILE_3}; + struct SpriteTemplate template = gSpriteTemplate_857B0A8; + + sPSSData->field_6F8 = (sPSSData->field_6F8 == 0); + if (sPSSData->field_6F8 == 0) + { + spriteSheet.tag = TAG_TILE_3; + r8 = sPSSData->field_71C; + } + else + { + spriteSheet.tag = TAG_TILE_4; + r8 = sPSSData->field_71C; + template.tileTag = TAG_TILE_4; + template.paletteTag = TAG_PAL_DAC9; + } + + StringCopyPadded(sPSSData->field_21B8, GetBoxNamePtr(boxId), 0, 8); + sub_80C6D80(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2); + LoadSpriteSheet(&spriteSheet); + LoadPalette(gUnknown_08577574[GetBoxWallpaper(boxId)], r8, 4); + x = sub_80CD00C(GetBoxNamePtr(boxId)); + x2 = x; + x2 += direction * 192; + + for (i = 0; i < 2; i++) + { + u8 spriteId = CreateSprite(&template, i * 32 + x2, 28, 24); + + sPSSData->field_728[i] = &gSprites[spriteId]; + sPSSData->field_728[i]->data[0] = (-direction) * 6; + sPSSData->field_728[i]->data[1] = i * 32 + x; + sPSSData->field_728[i]->data[2] = 0; + sPSSData->field_728[i]->callback = sub_80CCF30; + StartSpriteAnim(sPSSData->field_728[i], i); + + sPSSData->field_720[i]->data[0] = (-direction) * 6; + sPSSData->field_720[i]->data[1] = 1; + sPSSData->field_720[i]->callback = sub_80CCF64; + } +} + +static void sub_80CCEE0(void) +{ + if (sPSSData->field_6F8 == 0) + FreeSpriteTilesByTag(TAG_TILE_4); + else + FreeSpriteTilesByTag(TAG_TILE_3); + + sPSSData->field_720[0] = sPSSData->field_728[0]; + sPSSData->field_720[1] = sPSSData->field_728[1]; +} + +static void sub_80CCF30(struct Sprite *sprite) +{ + if (sprite->data[2] != 0) + sprite->data[2]--; + else if ((sprite->pos1.x += sprite->data[0]) == sprite->data[1]) + sprite->callback = SpriteCallbackDummy; +} + +static void sub_80CCF64(struct Sprite *sprite) +{ + if (sprite->data[1] != 0) + { + sprite->data[1]--; + } + else + { + sprite->pos1.x += sprite->data[0]; + sprite->data[2] = sprite->pos1.x + sprite->pos2.x; + if (sprite->data[2] < 0x40 || sprite->data[2] > 0x100) + DestroySprite(sprite); + } +} + +static void sub_80CCF9C(void) +{ + u8 boxId = StorageGetCurrentBox(); + u8 wallpaperId = GetBoxWallpaper(boxId); + if (sPSSData->field_6F8 == 0) + CpuCopy16(gUnknown_08577574[wallpaperId], gPlttBufferUnfaded + sPSSData->field_71C, 4); + else + CpuCopy16(gUnknown_08577574[wallpaperId], gPlttBufferUnfaded + sPSSData->field_71E, 4); +} + +static s16 sub_80CD00C(const u8 *string) +{ + return 0xB0 - GetStringWidth(1, string, 0) / 2; +} + +static void sub_80CD02C(void) +{ + u16 i; + + LoadSpriteSheet(&gUnknown_0857B080); + for (i = 0; i < 2; i++) + { + u8 spriteId = CreateSprite(&gUnknown_0857B0E0, 0x5c + i * 0x88, 28, 22); + if (spriteId != MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[spriteId]; + StartSpriteAnim(sprite, i); + sprite->data[3] = (i == 0) ? -1 : 1; + sPSSData->field_730[i] = sprite; + } + } + if (IsCursorOnBox()) + sub_80CD1A8(TRUE); +} + +static void sub_80CD0B8(s8 direction) +{ + u16 i; + + for (i = 0; i < 2; i++) + { + sPSSData->field_730[i]->pos2.x = 0; + sPSSData->field_730[i]->data[0] = 2; + } + if (direction < 0) + { + sPSSData->field_730[0]->data[1] = 29; + sPSSData->field_730[1]->data[1] = 5; + sPSSData->field_730[0]->data[2] = 0x48; + sPSSData->field_730[1]->data[2] = 0x48; + } + else + { + sPSSData->field_730[0]->data[1] = 5; + sPSSData->field_730[1]->data[1] = 29; + sPSSData->field_730[0]->data[2] = 0xF8; + sPSSData->field_730[1]->data[2] = 0xF8; + } + sPSSData->field_730[0]->data[7] = 0; + sPSSData->field_730[1]->data[7] = 1; +} + +static void sub_80CD158(void) +{ + u16 i; + + for (i = 0; i < 2; i++) + { + sPSSData->field_730[i]->pos1.x = 0x88 * i + 0x5c; + sPSSData->field_730[i]->pos2.x = 0; + sPSSData->field_730[i]->invisible = FALSE; + } + sub_80CD1A8(TRUE); +} + +static void sub_80CD1A8(bool8 a0) +{ + u16 i; + + if (a0) + { + for (i = 0; i < 2; i++) + { + sPSSData->field_730[i]->data[0] = 1; + sPSSData->field_730[i]->data[1] = 0; + sPSSData->field_730[i]->data[2] = 0; + sPSSData->field_730[i]->data[4] = 0; + } + } + else + { + for (i = 0; i < 2; i++) + { + sPSSData->field_730[i]->data[0] = 0; + } + } +} + +static void sub_80CD210(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->pos2.x = 0; + break; + case 1: + if (++sprite->data[1] > 3) + { + sprite->data[1] = 0; + sprite->pos2.x += sprite->data[3]; + if (++sprite->data[2] > 5) + { + sprite->data[2] = 0; + sprite->pos2.x = 0; + } + } + break; + case 2: + sprite->data[0] = 3; + break; + case 3: + sprite->pos1.x -= sPSSData->field_2CE; + if (sprite->pos1.x < 73 || sprite->pos1.x > 247) + sprite->invisible = TRUE; + if (--sprite->data[1] == 0) + { + sprite->pos1.x = sprite->data[2]; + sprite->invisible = FALSE; + sprite->data[0] = 4; + } + break; + case 4: + sprite->pos1.x -= sPSSData->field_2CE; + break; + } +} + +static struct Sprite *sub_80CD2E8(u16 x, u16 y, u8 animId, u8 priority, u8 subpriority) +{ + u8 spriteId = CreateSprite(&gUnknown_0857B0E0, x, y, subpriority); + if (spriteId == MAX_SPRITES) + return NULL; + + animId %= 2; + StartSpriteAnim(&gSprites[spriteId], animId); + gSprites[spriteId].oam.priority = priority; + gSprites[spriteId].callback = SpriteCallbackDummy; + return &gSprites[spriteId]; +} + +static void sub_80CD36C(void) +{ + if (sPSSData->boxOption != BOX_OPTION_DEPOSIT) + sBoxCursorArea = CURSOR_AREA_IN_BOX; + else + sBoxCursorArea = CURSOR_AREA_IN_PARTY; + + sBoxCursorPosition = 0; + sIsMonBeingMoved = FALSE; + sMovingMonOrigBoxId = 0; + sMovingMonOrigBoxPos = 0; + sCanOnlyMove = FALSE; + sub_80CDC0C(); + sub_80CFC14(); + sPSSData->field_CD6 = 1; + sPSSData->inBoxMovingMode = 0; + sub_80CEB40(); +} + +static void sub_80CD3EC(void) +{ + sub_80CFC14(); + sub_80CEBDC(); + sPSSData->field_CD6 = 1; + sPSSData->inBoxMovingMode = 0; + if (sIsMonBeingMoved) + { + sPSSData->movingMon = gUnknown_02039D14; + CreateMovingMonIcon(); + } +} + +static void sub_80CD444(u8 cursorArea, u8 cursorPosition, u16 *x, u16 *y) +{ + switch (cursorArea) + { + case CURSOR_AREA_IN_BOX: + *x = (cursorPosition % IN_BOX_ROWS) * 24 + 100; + *y = (cursorPosition / IN_BOX_ROWS) * 24 + 32; + break; + case CURSOR_AREA_IN_PARTY: + if (cursorPosition == 0) + { + *x = 0x68; + *y = 0x34; + } + else if (cursorPosition == PARTY_SIZE) + { + *x = 0x98; + *y = 0x84; + } + else + { + *x = 0x98; + *y = (cursorPosition - 1) * 24 + 4; + } + break; + case CURSOR_AREA_BOX: + *x = 0xa2; + *y = 0x0c; + break; + case CURSOR_AREA_BUTTONS: + *y = sIsMonBeingMoved ? 8 : 14; + *x = cursorPosition * 0x58 + 0x78; + break; + case 4: + *x = 0xa0; + *y = 0x60; + break; + } +} + +static u16 sub_80CD504(void) +{ + switch (sBoxCursorArea) + { + case CURSOR_AREA_IN_PARTY: + return GetMonData(&gPlayerParty[sBoxCursorPosition], MON_DATA_SPECIES); + case CURSOR_AREA_IN_BOX: + return GetCurrentBoxMonData(sBoxCursorPosition, MON_DATA_SPECIES); + default: + return SPECIES_NONE; + } +} + +static bool8 sub_80CD554(void) +{ + s16 tmp; + + if (sPSSData->field_CD0 == 0) + { + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + return FALSE; + else + return sub_80D1218(); + } + else if (--sPSSData->field_CD0 != 0) + { + sPSSData->field_CBC += sPSSData->field_CC4; + sPSSData->field_CC0 += sPSSData->field_CC8; + sPSSData->field_CB4->pos1.x = sPSSData->field_CBC >> 8; + sPSSData->field_CB4->pos1.y = sPSSData->field_CC0 >> 8; + if (sPSSData->field_CB4->pos1.x > 0x100) + { + tmp = sPSSData->field_CB4->pos1.x - 0x100; + sPSSData->field_CB4->pos1.x = tmp + 0x40; + } + if (sPSSData->field_CB4->pos1.x < 0x40) + { + tmp = 0x40 - sPSSData->field_CB4->pos1.x; + sPSSData->field_CB4->pos1.x = 0x100 - tmp; + } + if (sPSSData->field_CB4->pos1.y > 0xb0) + { + tmp = sPSSData->field_CB4->pos1.y - 0xb0; + sPSSData->field_CB4->pos1.y = tmp - 0x10; + } + if (sPSSData->field_CB4->pos1.y < -0x10) + { + tmp = -0x10 - sPSSData->field_CB4->pos1.y; + sPSSData->field_CB4->pos1.y = 0xb0 - tmp; + } + if (sPSSData->field_CD7 && --sPSSData->field_CD7 == 0) + sPSSData->field_CB4->vFlip = (sPSSData->field_CB4->vFlip == FALSE); + } + else + { + sPSSData->field_CB4->pos1.x = sPSSData->field_CCC; + sPSSData->field_CB4->pos1.y = sPSSData->field_CCE; + sub_80CDA68(); + } + + return TRUE; +} + +static void sub_80CD6AC(u8 newCurosrArea, u8 newCursorPosition) +{ + u16 x, y; + + sub_80CD444(newCurosrArea, newCursorPosition, &x, &y); + sPSSData->field_CD4 = newCurosrArea; + sPSSData->field_CD5 = newCursorPosition; + sPSSData->field_CCC = x; + sPSSData->field_CCE = y; +} + +static void sub_80CD70C(void) +{ + int r7, r0; + + if (sPSSData->field_CD2 != 0 || sPSSData->field_CD3 != 0) + sPSSData->field_CD0 = 12; + else + sPSSData->field_CD0 = 6; + + if (sPSSData->field_CD7) + sPSSData->field_CD7 = sPSSData->field_CD0 >> 1; + + switch (sPSSData->field_CD2) + { + default: + r7 = sPSSData->field_CCE - sPSSData->field_CB4->pos1.y; + break; + case -1: + r7 = sPSSData->field_CCE - 0xc0 - sPSSData->field_CB4->pos1.y; + break; + case 1: + r7 = sPSSData->field_CCE + 0xc0 - sPSSData->field_CB4->pos1.y; + break; + } + + switch (sPSSData->field_CD3) + { + default: + r0 = sPSSData->field_CCC - sPSSData->field_CB4->pos1.x; + break; + case -1: + r0 = sPSSData->field_CCC - 0xc0 - sPSSData->field_CB4->pos1.x; + break; + case 1: + r0 = sPSSData->field_CCC + 0xc0 - sPSSData->field_CB4->pos1.x; + break; + } + + r7 <<= 8; + r0 <<= 8; + sPSSData->field_CC4 = r0 / sPSSData->field_CD0; + sPSSData->field_CC8 = r7 / sPSSData->field_CD0; + sPSSData->field_CBC = sPSSData->field_CB4->pos1.x << 8; + sPSSData->field_CC0 = sPSSData->field_CB4->pos1.y << 8; +} + +static void sub_80CD894(u8 newCurosrArea, u8 newCursorPosition) +{ + sub_80CD6AC(newCurosrArea, newCursorPosition); + sub_80CD70C(); + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + { + if (sPSSData->inBoxMovingMode == 0 && !sIsMonBeingMoved) + StartSpriteAnim(sPSSData->field_CB4, 1); + } + else + { + if (!IsActiveItemMoving()) + StartSpriteAnim(sPSSData->field_CB4, 1); + } + + if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) + { + if (sBoxCursorArea == CURSOR_AREA_IN_BOX) + sub_80D0E50(CURSOR_AREA_IN_BOX, sBoxCursorPosition); + else if (sBoxCursorArea == CURSOR_AREA_IN_PARTY) + sub_80D0E50(CURSOR_AREA_IN_PARTY, sBoxCursorPosition); + + if (newCurosrArea == CURSOR_AREA_IN_BOX) + sub_80D0D8C(newCurosrArea, newCursorPosition); + else if (newCurosrArea == CURSOR_AREA_IN_PARTY) + sub_80D0D8C(newCurosrArea, newCursorPosition); + } + + if (newCurosrArea == CURSOR_AREA_IN_PARTY && sBoxCursorArea != CURSOR_AREA_IN_PARTY) + { + sPSSData->field_CD6 = newCurosrArea; + sPSSData->field_CB8->invisible = TRUE; + } + + switch (newCurosrArea) + { + case CURSOR_AREA_IN_PARTY: + case CURSOR_AREA_BOX: + case CURSOR_AREA_BUTTONS: + sPSSData->field_CB4->oam.priority = 1; + sPSSData->field_CB8->invisible = TRUE; + sPSSData->field_CB8->oam.priority = 1; + break; + case CURSOR_AREA_IN_BOX: + if (sPSSData->inBoxMovingMode != 0) + { + sPSSData->field_CB4->oam.priority = 0; + sPSSData->field_CB8->invisible = TRUE; + } + else + { + sPSSData->field_CB4->oam.priority = 2; + if (sBoxCursorArea == CURSOR_AREA_IN_BOX && sIsMonBeingMoved) + SetMovingMonPriority(2); + } + break; + } +} + +static void sub_80CDA68(void) +{ + sBoxCursorArea = sPSSData->field_CD4; + sBoxCursorPosition = sPSSData->field_CD5; + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + { + if (sPSSData->inBoxMovingMode == 0 && !sIsMonBeingMoved) + StartSpriteAnim(sPSSData->field_CB4, 0); + } + else + { + if (!IsActiveItemMoving()) + StartSpriteAnim(sPSSData->field_CB4, 0); + } + + sub_80CEB40(); + switch (sBoxCursorArea) + { + case CURSOR_AREA_BUTTONS: + SetMovingMonPriority(1); + break; + case CURSOR_AREA_BOX: + sub_80CD1A8(TRUE); + break; + case CURSOR_AREA_IN_PARTY: + sPSSData->field_CB8->subpriority = 13; + SetMovingMonPriority(1); + break; + case CURSOR_AREA_IN_BOX: + if (sPSSData->inBoxMovingMode == 0) + { + sPSSData->field_CB4->oam.priority = 1; + sPSSData->field_CB8->oam.priority = 2; + sPSSData->field_CB8->subpriority = 21; + sPSSData->field_CB8->invisible = FALSE; + SetMovingMonPriority(2); + } + break; + } +} + +static void sub_80CDBA0(void) +{ + u8 partyCount; + + if (!sIsMonBeingMoved) + { + partyCount = 0; + } + else + { + partyCount = CalculatePlayerPartyCount(); + if (partyCount >= PARTY_SIZE) + partyCount = PARTY_SIZE - 1; + } + if (sPSSData->field_CB4->vFlip) + sPSSData->field_CD7 = 1; + sub_80CD894(CURSOR_AREA_IN_PARTY, partyCount); +} + +static void sub_80CDBF8(u8 cursorBoxPosition) +{ + sub_80CD894(CURSOR_AREA_IN_BOX, cursorBoxPosition); +} + +EWRAM_DATA static u8 gUnknown_02039D7E = 0; + +static void sub_80CDC0C(void) +{ + gUnknown_02039D7E = 0; +} + +static void sub_80CDC18(void) +{ + gUnknown_02039D7E = sBoxCursorPosition; +} + +static u8 sub_80CDC2C(void) +{ + return gUnknown_02039D7E; +} + +static void InitMonPlaceChange(u8 a0) +{ + static bool8 (*const placeChangeFuncs[])(void) = + { + MonPlaceChange_Move, + MonPlaceChange_Place, + MonPlaceChange_Shift, + }; + + sPSSData->monPlaceChangeFunc = placeChangeFuncs[a0]; + sPSSData->monPlaceChangeState = 0; +} + +static void sub_80CDC64(bool8 arg0) +{ + if (!arg0) + sPSSData->monPlaceChangeFunc = sub_80CDEB4; + else + sPSSData->monPlaceChangeFunc = sub_80CDEC4; + + sPSSData->monPlaceChangeState = 0; +} + +static bool8 DoMonPlaceChange(void) +{ + return sPSSData->monPlaceChangeFunc(); +} + +static bool8 MonPlaceChange_Move(void) +{ + switch (sPSSData->monPlaceChangeState) + { + case 0: + if (sIsMonBeingMoved) + return FALSE; + StartSpriteAnim(sPSSData->field_CB4, 2); + sPSSData->monPlaceChangeState++; + break; + case 1: + if (!sub_80CDED4()) + { + StartSpriteAnim(sPSSData->field_CB4, 3); + MoveMon(); + sPSSData->monPlaceChangeState++; + } + break; + case 2: + if (!sub_80CDF08()) + sPSSData->monPlaceChangeState++; + break; + case 3: + return FALSE; + } + + return TRUE; +} + +static bool8 MonPlaceChange_Place(void) +{ + switch (sPSSData->monPlaceChangeState) + { + case 0: + if (!sub_80CDED4()) + { + StartSpriteAnim(sPSSData->field_CB4, 2); + PlaceMon(); + sPSSData->monPlaceChangeState++; + } + break; + case 1: + if (!sub_80CDF08()) + { + StartSpriteAnim(sPSSData->field_CB4, 0); + sPSSData->monPlaceChangeState++; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static bool8 MonPlaceChange_Shift(void) +{ + switch (sPSSData->monPlaceChangeState) + { + case 0: + switch (sBoxCursorArea) + { + case CURSOR_AREA_IN_PARTY: + sPSSData->field_D91 = TOTAL_BOXES_COUNT; + break; + case CURSOR_AREA_IN_BOX: + sPSSData->field_D91 = StorageGetCurrentBox(); + break; + default: + return FALSE; + } + StartSpriteAnim(sPSSData->field_CB4, 2); + sub_80CBD5C(sPSSData->field_D91, sBoxCursorPosition); + sPSSData->monPlaceChangeState++; + break; + case 1: + if (!sub_80CBDC4()) + { + StartSpriteAnim(sPSSData->field_CB4, 3); + SetShiftedMonData(sPSSData->field_D91, sBoxCursorPosition); + sPSSData->monPlaceChangeState++; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static bool8 sub_80CDEB4(void) +{ + return sub_80CDED4(); +} + +static bool8 sub_80CDEC4(void) +{ + return sub_80CDF08(); +} + +static bool8 sub_80CDED4(void) +{ + switch (sPSSData->field_CB4->pos2.y) + { + default: + sPSSData->field_CB4->pos2.y++; + break; + case 0: + sPSSData->field_CB4->pos2.y++; + break; + case 8: + return FALSE; + } + + return TRUE; +} + +static bool8 sub_80CDF08(void) +{ + switch (sPSSData->field_CB4->pos2.y) + { + case 0: + return FALSE; + default: + sPSSData->field_CB4->pos2.y--; + break; + } + + return TRUE; +} + +static void MoveMon(void) +{ + switch (sBoxCursorArea) + { + case CURSOR_AREA_IN_PARTY: + SetMovedMonData(TOTAL_BOXES_COUNT, sBoxCursorPosition); + sub_80CBC14(MODE_PARTY, sBoxCursorPosition); + break; + case CURSOR_AREA_IN_BOX: + if (sPSSData->inBoxMovingMode == 0) + { + SetMovedMonData(StorageGetCurrentBox(), sBoxCursorPosition); + sub_80CBC14(MODE_BOX, sBoxCursorPosition); + } + break; + default: + return; + } + + sIsMonBeingMoved = TRUE; +} + +static void PlaceMon(void) +{ + u8 boxId; + + switch (sBoxCursorArea) + { + case CURSOR_AREA_IN_PARTY: + SetPlacedMonData(TOTAL_BOXES_COUNT, sBoxCursorPosition); + sub_80CBCAC(TOTAL_BOXES_COUNT, sBoxCursorPosition); + break; + case CURSOR_AREA_IN_BOX: + boxId = StorageGetCurrentBox(); + SetPlacedMonData(boxId, sBoxCursorPosition); + sub_80CBCAC(boxId, sBoxCursorPosition); + break; + default: + return; + } + + sIsMonBeingMoved = FALSE; +} + +static void sub_80CE00C(void) +{ + sub_80CEB40(); +} + +static void SetMovedMonData(u8 boxId, u8 position) +{ + if (boxId == TOTAL_BOXES_COUNT) + sPSSData->movingMon = gPlayerParty[sBoxCursorPosition]; + else + BoxMonAtToMon(boxId, position, &sPSSData->movingMon); + + PurgeMonOrBoxMon(boxId, position); + sMovingMonOrigBoxId = boxId; + sMovingMonOrigBoxPos = position; +} + +static void SetPlacedMonData(u8 boxId, u8 position) +{ + if (boxId == TOTAL_BOXES_COUNT) + { + gPlayerParty[position] = sPSSData->movingMon; + } + else + { + BoxMonRestorePP(&sPSSData->movingMon.box); + SetBoxMonAt(boxId, position, &sPSSData->movingMon.box); + } +} + +static void PurgeMonOrBoxMon(u8 boxId, u8 position) +{ + if (boxId == TOTAL_BOXES_COUNT) + ZeroMonData(&gPlayerParty[position]); + else + ZeroBoxMonAt(boxId, position); +} + +static void SetShiftedMonData(u8 boxId, u8 position) +{ + if (boxId == TOTAL_BOXES_COUNT) + sPSSData->field_2108 = gPlayerParty[position]; + else + BoxMonAtToMon(boxId, position, &sPSSData->field_2108); + + SetPlacedMonData(boxId, position); + sPSSData->movingMon = sPSSData->field_2108; + SetCursorMonData(&sPSSData->movingMon, MODE_PARTY); + sMovingMonOrigBoxId = boxId; + sMovingMonOrigBoxPos = position; +} + +static bool8 TryStorePartyMonInBox(u8 boxId) +{ + s16 boxPosition = GetFirstFreeBoxSpot(boxId); + if (boxPosition == -1) + return FALSE; + + if (sIsMonBeingMoved) + { + SetPlacedMonData(boxId, boxPosition); + DestroyMovingMonIcon(); + sIsMonBeingMoved = FALSE; + } + else + { + SetMovedMonData(TOTAL_BOXES_COUNT, sBoxCursorPosition); + SetPlacedMonData(boxId, boxPosition); + DestroyPartyMonIcon(sBoxCursorPosition); + } + + if (boxId == StorageGetCurrentBox()) + sub_80CB140(boxPosition); + + StartSpriteAnim(sPSSData->field_CB4, 1); + return TRUE; +} + +static void sub_80CE22C(void) +{ + StartSpriteAnim(sPSSData->field_CB4, 0); + sub_80CEB40(); +} + +static void sub_80CE250(void) +{ + u8 mode; + + if (sIsMonBeingMoved) + mode = MODE_2; + else if (sBoxCursorArea == CURSOR_AREA_IN_PARTY) + mode = MODE_PARTY; + else + mode = MODE_BOX; + + sub_80CBF14(mode, sBoxCursorPosition); + StringCopy(sPSSData->field_21E0, sPSSData->cursorMonNick); +} + +static bool8 sub_80CE2A8(void) +{ + if (!sub_80CBFD8()) + { + StartSpriteAnim(sPSSData->field_CB4, 0); + return FALSE; + } + else + { + return TRUE; + } +} + +static void ReleaseMon(void) +{ + u8 boxId; + + sub_80CC020(); + if (sIsMonBeingMoved) + { + sIsMonBeingMoved = FALSE; + } + else + { + if (sBoxCursorArea == CURSOR_AREA_IN_PARTY) + boxId = TOTAL_BOXES_COUNT; + else + boxId = StorageGetCurrentBox(); + + PurgeMonOrBoxMon(boxId, sBoxCursorPosition); + } + sub_80CEB40(); +} + +static void sub_80CE324(void) +{ + if (sIsMonBeingMoved) + StartSpriteAnim(sPSSData->field_CB4, 3); +} + +struct +{ + s8 mapGroup; + s8 mapNum; + u16 move; +} static const gUnknown_0857B9A4[] = +{ + {MAP_GROUPS_COUNT, 0, MOVE_SURF}, + {MAP_GROUPS_COUNT, 0, MOVE_DIVE}, + {MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MOVE_STRENGTH}, + {MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MOVE_ROCK_SMASH}, + {MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MOVE_STRENGTH}, + {MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MOVE_ROCK_SMASH}, +}; + +static void sub_80CE350(u16 *moves) +{ + s32 i; + + for (i = 0; i < ARRAY_COUNT(gUnknown_0857B9A4); i++) + { + if (gUnknown_0857B9A4[i].mapGroup == MAP_GROUPS_COUNT + || (gUnknown_0857B9A4[i].mapGroup == gSaveBlock1Ptr->location.mapGroup && gUnknown_0857B9A4[i].mapNum == gSaveBlock1Ptr->location.mapNum)) + { + *moves = gUnknown_0857B9A4[i].move; + moves++; + } + } + + *moves = MOVES_COUNT; +} + +static void InitCanRelaseMonVars(void) +{ + if (!AtLeastThreeUsableMons()) + { + sPSSData->field_216D = 1; + sPSSData->field_216C = 0; + return; + } + + if (sIsMonBeingMoved) + { + sPSSData->field_2108 = sPSSData->movingMon; + sPSSData->field_2170 = -1; + sPSSData->field_2171 = -1; + } + else + { + if (sBoxCursorArea == CURSOR_AREA_IN_PARTY) + { + sPSSData->field_2108 = gPlayerParty[sBoxCursorPosition]; + sPSSData->field_2170 = TOTAL_BOXES_COUNT; + } + else + { + BoxMonAtToMon(StorageGetCurrentBox(), sBoxCursorPosition, &sPSSData->field_2108); + sPSSData->field_2170 = StorageGetCurrentBox(); + } + sPSSData->field_2171 = sBoxCursorPosition; + } + + sub_80CE350(sPSSData->field_2176); + sPSSData->field_2174 = GetMonData(&sPSSData->field_2108, MON_DATA_KNOWN_MOVES, sPSSData->field_2176); + if (sPSSData->field_2174 != 0) + { + sPSSData->field_216D = 0; + } + else + { + sPSSData->field_216D = 1; + sPSSData->field_216C = 1; + } + + sPSSData->field_2172 = 0; +} + +static bool32 AtLeastThreeUsableMons(void) +{ + s32 i, j, count; + + count = (sIsMonBeingMoved != FALSE); + for (j = 0; j < PARTY_SIZE; j++) + { + if (GetMonData(&gPlayerParty[j], MON_DATA_SANITY_HAS_SPECIES)) + count++; + } + + if (count >= 3) + return TRUE; + + for (i = 0; i < TOTAL_BOXES_COUNT; i++) + { + for (j = 0; j < IN_BOX_COUNT; j++) + { + if (CheckBoxMonSanityAt(i, j)) + { + if (++count >= 3) + return TRUE; + } + } + } + + return FALSE; +} + +static s8 RunCanReleaseMon(void) +{ + u16 i; + u16 knownMoves; + + if (sPSSData->field_216D) + return sPSSData->field_216C; + + switch (sPSSData->field_2172) + { + case 0: + for (i = 0; i < PARTY_SIZE; i++) + { + if (sPSSData->field_2170 != TOTAL_BOXES_COUNT || sPSSData->field_2171 != i) + { + knownMoves = GetMonData(gPlayerParty + i, MON_DATA_KNOWN_MOVES, sPSSData->field_2176); + sPSSData->field_2174 &= ~(knownMoves); + } + } + if (sPSSData->field_2174 == 0) + { + sPSSData->field_216D = 1; + sPSSData->field_216C = 1; + } + else + { + sPSSData->field_216E = 0; + sPSSData->field_216F = 0; + sPSSData->field_2172++; + } + break; + case 1: + for (i = 0; i < IN_BOX_COUNT; i++) + { + knownMoves = GetAndCopyBoxMonDataAt(sPSSData->field_216E, sPSSData->field_216F, MON_DATA_KNOWN_MOVES, sPSSData->field_2176); + if (knownMoves != 0 + && !(sPSSData->field_2170 == sPSSData->field_216E && sPSSData->field_2171 == sPSSData->field_216F)) + { + sPSSData->field_2174 &= ~(knownMoves); + if (sPSSData->field_2174 == 0) + { + sPSSData->field_216D = 1; + sPSSData->field_216C = 1; + break; + } + } + if (++sPSSData->field_216F >= IN_BOX_COUNT) + { + sPSSData->field_216F = 0; + if (++sPSSData->field_216E >= TOTAL_BOXES_COUNT) + { + sPSSData->field_216D = 1; + sPSSData->field_216C = 0; + } + } + } + break; + } + + return -1; +} + +static void sub_80CE760(void) +{ + if (sIsMonBeingMoved) + gUnknown_02039D14 = sPSSData->movingMon; +} + +static void sub_80CE790(void) +{ + if (sIsMonBeingMoved) + { + if (sMovingMonOrigBoxId == TOTAL_BOXES_COUNT) + sPSSData->movingMon = gUnknown_02039D14; + else + sPSSData->movingMon.box = gUnknown_02039D14.box; + } +} + +static void sub_80CE7E8(void) +{ + if (sIsMonBeingMoved) + { + sub_80CE760(); + sPSSData->field_218C.mon = &gUnknown_02039D14; + sPSSData->field_2187 = 0; + sPSSData->field_2186 = 0; + sPSSData->field_2188 = 0; + } + else if (sBoxCursorArea == CURSOR_AREA_IN_PARTY) + { + sPSSData->field_218C.mon = gPlayerParty; + sPSSData->field_2187 = sBoxCursorPosition; + sPSSData->field_2186 = CountPartyMons() - 1; + sPSSData->field_2188 = 0; + } + else + { + sPSSData->field_218C.box = GetBoxedMonPtr(StorageGetCurrentBox(), 0); + sPSSData->field_2187 = sBoxCursorPosition; + sPSSData->field_2186 = IN_BOX_COUNT - 1; + sPSSData->field_2188 = 2; + } +} + +static void sub_80CE8E4(void) +{ + if (sIsMonBeingMoved) + sub_80CE790(); + else + sBoxCursorPosition = gUnknown_0203CF20; +} + +s16 CompactPartySlots(void) +{ + s16 retVal = -1; + u16 i, last; + + for (i = 0, last = 0; i < PARTY_SIZE; i++) + { + u16 species = GetMonData(gPlayerParty + i, MON_DATA_SPECIES); + if (species != SPECIES_NONE) + { + if (i != last) + gPlayerParty[last] = gPlayerParty[i]; + last++; + } + else if (retVal == -1) + { + retVal = i; + } + } + for (; last < PARTY_SIZE; last++) + ZeroMonData(gPlayerParty + last); + + return retVal; +} + +static void SetMonMarkings(u8 markings) +{ + sPSSData->cursorMonMarkings = markings; + if (sIsMonBeingMoved) + { + SetMonData(&sPSSData->movingMon, MON_DATA_MARKINGS, &markings); + } + else + { + if (sBoxCursorArea == CURSOR_AREA_IN_PARTY) + SetMonData(gPlayerParty + sBoxCursorPosition, MON_DATA_MARKINGS, &markings); + if (sBoxCursorArea == CURSOR_AREA_IN_BOX) + SetCurrentBoxMonData(sBoxCursorPosition, MON_DATA_MARKINGS, &markings); + } +} + +static bool8 CanMovePartyMon(void) +{ + if (sBoxCursorArea == CURSOR_AREA_IN_PARTY && !sIsMonBeingMoved && CountPartyAliveNonEggMonsExcept(sBoxCursorPosition) == 0) + return TRUE; + else + return FALSE; +} + +static bool8 CanShiftMon(void) +{ + if (sIsMonBeingMoved) + { + if (sBoxCursorArea == CURSOR_AREA_IN_PARTY && CountPartyAliveNonEggMonsExcept(sBoxCursorPosition) == 0) + { + if (sPSSData->cursorMonIsEgg || GetMonData(&sPSSData->movingMon, MON_DATA_HP) == 0) + return FALSE; + } + return TRUE; + } + return FALSE; +} + +static bool8 IsMonBeingMoved(void) +{ + return sIsMonBeingMoved; +} + +static bool8 IsCursorOnBox(void) +{ + return (sBoxCursorArea == CURSOR_AREA_BOX); +} + +static bool8 IsCursorOnCloseBox(void) +{ + return (sBoxCursorArea == CURSOR_AREA_BUTTONS && sBoxCursorPosition == 1); +} + +static bool8 IsCursorInBox(void) +{ + return (sBoxCursorArea == CURSOR_AREA_IN_BOX); +} + +static void sub_80CEB40(void) +{ + sPSSData->setMosaic = (sIsMonBeingMoved == FALSE); + if (!sIsMonBeingMoved) + { + switch (sBoxCursorArea) + { + case CURSOR_AREA_IN_PARTY: + if (sBoxCursorPosition < PARTY_SIZE) + { + SetCursorMonData(&gPlayerParty[sBoxCursorPosition], MODE_PARTY); + break; + } + // fallthrough + case CURSOR_AREA_BUTTONS: + case CURSOR_AREA_BOX: + SetCursorMonData(NULL, MODE_2); + break; + case CURSOR_AREA_IN_BOX: + SetCursorMonData(GetBoxedMonPtr(StorageGetCurrentBox(), sBoxCursorPosition), MODE_BOX); + break; + } + } +} + +static void sub_80CEBDC(void) +{ + if (sIsMonBeingMoved) + SetCursorMonData(&gUnknown_02039D14, MODE_PARTY); + else + sub_80CEB40(); +} + +static void SetCursorMonData(void *pokemon, u8 mode) +{ + u8 *txtPtr; + u16 gender; + bool8 sanityIsBagEgg; + + sPSSData->cursorMonItem = 0; + gender = MON_MALE; + sanityIsBagEgg = FALSE; + if (mode == MODE_PARTY) + { + struct Pokemon *mon = (struct Pokemon *)pokemon; + + sPSSData->cursorMonSpecies = GetMonData(mon, MON_DATA_SPECIES2); + if (sPSSData->cursorMonSpecies != SPECIES_NONE) + { + sanityIsBagEgg = GetMonData(mon, MON_DATA_SANITY_IS_BAD_EGG); + if (sanityIsBagEgg) + sPSSData->cursorMonIsEgg = TRUE; + else + sPSSData->cursorMonIsEgg = GetMonData(mon, MON_DATA_IS_EGG); + + GetMonData(mon, MON_DATA_NICKNAME, sPSSData->cursorMonNick); + StringGetEnd10(sPSSData->cursorMonNick); + sPSSData->cursorMonLevel = GetMonData(mon, MON_DATA_LEVEL); + sPSSData->cursorMonMarkings = GetMonData(mon, MON_DATA_MARKINGS); + sPSSData->cursorMonPersonality = GetMonData(mon, MON_DATA_PERSONALITY); + sPSSData->cursorMonPalette = GetMonFrontSpritePal(mon); + gender = GetMonGender(mon); + sPSSData->cursorMonItem = GetMonData(mon, MON_DATA_HELD_ITEM); + } + } + else if (mode == MODE_BOX) + { + struct BoxPokemon *boxMon = (struct BoxPokemon *)pokemon; + + sPSSData->cursorMonSpecies = GetBoxMonData(pokemon, MON_DATA_SPECIES2); + if (sPSSData->cursorMonSpecies != SPECIES_NONE) + { + u32 otId = GetBoxMonData(boxMon, MON_DATA_OT_ID); + sanityIsBagEgg = GetBoxMonData(boxMon, MON_DATA_SANITY_IS_BAD_EGG); + if (sanityIsBagEgg) + sPSSData->cursorMonIsEgg = TRUE; + else + sPSSData->cursorMonIsEgg = GetBoxMonData(boxMon, MON_DATA_IS_EGG); + + + GetBoxMonData(boxMon, MON_DATA_NICKNAME, sPSSData->cursorMonNick); + StringGetEnd10(sPSSData->cursorMonNick); + sPSSData->cursorMonLevel = GetLevelFromBoxMonExp(boxMon); + sPSSData->cursorMonMarkings = GetBoxMonData(boxMon, MON_DATA_MARKINGS); + sPSSData->cursorMonPersonality = GetBoxMonData(boxMon, MON_DATA_PERSONALITY); + sPSSData->cursorMonPalette = GetFrontSpritePalFromSpeciesAndPersonality(sPSSData->cursorMonSpecies, otId, sPSSData->cursorMonPersonality); + gender = GetGenderFromSpeciesAndPersonality(sPSSData->cursorMonSpecies, sPSSData->cursorMonPersonality); + sPSSData->cursorMonItem = GetBoxMonData(boxMon, MON_DATA_HELD_ITEM); + } + } + else + { + sPSSData->cursorMonSpecies = SPECIES_NONE; + sPSSData->cursorMonItem = 0; + } + + if (sPSSData->cursorMonSpecies == SPECIES_NONE) + { + StringFill(sPSSData->cursorMonNick, CHAR_SPACE, 5); + StringFill(sPSSData->cursorMonNickText, CHAR_SPACE, 8); + StringFill(sPSSData->cursorMonSpeciesName, CHAR_SPACE, 8); + StringFill(sPSSData->cursorMonGenderLvlText, CHAR_SPACE, 8); + StringFill(sPSSData->cursorMonItemName, CHAR_SPACE, 8); + } + else if (sPSSData->cursorMonIsEgg) + { + if (sanityIsBagEgg) + StringCopyPadded(sPSSData->cursorMonNickText, sPSSData->cursorMonNick, CHAR_SPACE, 5); + else + StringCopyPadded(sPSSData->cursorMonNickText, gText_EggNickname, CHAR_SPACE, 8); + + StringFill(sPSSData->cursorMonSpeciesName, CHAR_SPACE, 8); + StringFill(sPSSData->cursorMonGenderLvlText, CHAR_SPACE, 8); + StringFill(sPSSData->cursorMonItemName, CHAR_SPACE, 8); + } + else + { + if (sPSSData->cursorMonSpecies == SPECIES_NIDORAN_F || sPSSData->cursorMonSpecies == SPECIES_NIDORAN_M) + gender = MON_GENDERLESS; + + StringCopyPadded(sPSSData->cursorMonNickText, sPSSData->cursorMonNick, CHAR_SPACE, 5); + + txtPtr = sPSSData->cursorMonSpeciesName; + *(txtPtr)++ = CHAR_SLASH; + StringCopyPadded(txtPtr, gSpeciesNames[sPSSData->cursorMonSpecies], CHAR_SPACE, 5); + + txtPtr = sPSSData->cursorMonGenderLvlText; + *(txtPtr)++ = EXT_CTRL_CODE_BEGIN; + *(txtPtr)++ = 4; + switch (gender) + { + case MON_MALE: + *(txtPtr)++ = 4; + *(txtPtr)++ = 1; + *(txtPtr)++ = 5; + *(txtPtr)++ = CHAR_MALE; + break; + case MON_FEMALE: + *(txtPtr)++ = 6; + *(txtPtr)++ = 1; + *(txtPtr)++ = 7; + *(txtPtr)++ = CHAR_FEMALE; + break; + default: + *(txtPtr)++ = 2; + *(txtPtr)++ = 1; + *(txtPtr)++ = 3; + *(txtPtr)++ = 0x77; + break; + } + + *(txtPtr++) = EXT_CTRL_CODE_BEGIN; + *(txtPtr++) = 4; + *(txtPtr++) = 2; + *(txtPtr++) = 1; + *(txtPtr++) = 3; + *(txtPtr++) = 0; + *(txtPtr++) = CHAR_SPECIAL_F9; + *(txtPtr++) = 5; + + txtPtr = ConvertIntToDecimalStringN(txtPtr, sPSSData->cursorMonLevel, STR_CONV_MODE_LEFT_ALIGN, 3); + txtPtr[0] = CHAR_SPACE; + txtPtr[1] = EOS; + + if (sPSSData->cursorMonItem != 0) + StringCopyPadded(sPSSData->cursorMonItemName, ItemId_GetName(sPSSData->cursorMonItem), CHAR_SPACE, 8); + else + StringFill(sPSSData->cursorMonItemName, CHAR_SPACE, 8); + } +} + +static u8 HandleInput_InBox(void) +{ + switch (sPSSData->inBoxMovingMode) + { + case 0: + default: + return InBoxInput_Normal(); + case 1: + return InBoxInput_GrabbingMultiple(); + case 2: + return InBoxInput_MovingMultiple(); + } +} + +// This group of four functions handling input simply CANNOT be matched. +// GF must have written them in a really weird way, a way not a sane person could dream to reproduce. +#ifdef NONMATCHING +static u8 InBoxInput_Normal(void) +{ + u8 retVal; + s8 cursorArea = sBoxCursorArea; + s8 cursorPosition = sBoxCursorPosition; + + sPSSData->field_CD2 = 0; + sPSSData->field_CD3 = 0; + sPSSData->field_CD7 = 0; + retVal = 0; + if (!(gMain.newAndRepeatedKeys & DPAD_UP)) + { + if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + retVal = TRUE; + cursorPosition += IN_BOX_ROWS; + if (cursorPosition >= IN_BOX_COUNT) + { + cursorArea = CURSOR_AREA_BUTTONS; + cursorPosition -= IN_BOX_COUNT; + cursorPosition /= 3; + sPSSData->field_CD2 = 1; + sPSSData->field_CD7 = 1; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + retVal = TRUE; + if (sBoxCursorPosition % IN_BOX_ROWS != 0) + { + cursorPosition--; + } + else + { + sPSSData->field_CD3 = -1; + cursorPosition += (IN_BOX_ROWS - 1); + } + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + retVal = TRUE; + if ((sBoxCursorPosition + 1) % IN_BOX_ROWS != 0) + { + cursorPosition++; + } + else + { + sPSSData->field_CD3 = 1; + cursorPosition -= (IN_BOX_ROWS - 1); + } + } + else if (gMain.newKeys & START_BUTTON) + { + retVal = TRUE; + cursorArea = CURSOR_AREA_BOX; + cursorPosition = 0; + } + else + { + if ((gMain.newKeys & A_BUTTON) && sub_80CFA5C()) + { + if (!sCanOnlyMove) + return 8; + + if (sPSSData->boxOption == BOX_OPTION_MOVE_MONS || sIsMonBeingMoved == TRUE) + { + switch (sub_80CFF98(0)) + { + case 1: + return 11; + case 2: + return 12; + case 3: + return 13; + case 4: + return 14; + case 5: + return 15; + case 12: + return 16; + case 13: + return 17; + case 15: + return 18; + } + } + else + { + sPSSData->inBoxMovingMode = 1; + return 20; + } + } + + if (gMain.newKeys & B_BUTTON) + return 19; + + if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR) + { + if (gMain.heldKeys & L_BUTTON) + return 10; + if (gMain.heldKeys & R_BUTTON) + return 9; + } + + if (gMain.newKeys & SELECT_BUTTON) + { + sub_80CFDC4(); + return 0; + } + retVal = FALSE; + } + } + else + { + retVal = TRUE; + if (sBoxCursorPosition >= IN_BOX_ROWS) + { + cursorPosition -= IN_BOX_ROWS; + } + else + { + cursorArea = CURSOR_AREA_BOX; + cursorPosition = 0; + } + } + + if (retVal) + sub_80CD894(cursorArea, cursorPosition); + + return retVal; +} +#else +NAKED +static u8 InBoxInput_Normal(void) +{ + asm_unified("\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + ldr r0, =sBoxCursorArea\n\ + ldrb r0, [r0]\n\ + mov r8, r0\n\ + ldr r2, =sBoxCursorPosition\n\ + ldrb r4, [r2]\n\ + ldr r5, =sPSSData\n\ + ldr r0, [r5]\n\ + ldr r1, =0x00000cd2\n\ + mov r10, r1\n\ + add r0, r10\n\ + movs r1, 0\n\ + strb r1, [r0]\n\ + ldr r0, [r5]\n\ + ldr r7, =0x00000cd3\n\ + adds r0, r7\n\ + strb r1, [r0]\n\ + ldr r0, [r5]\n\ + ldr r3, =0x00000cd7\n\ + mov r9, r3\n\ + add r0, r9\n\ + strb r1, [r0]\n\ + ldr r6, =gMain\n\ + ldrh r1, [r6, 0x30]\n\ + movs r0, 0x40\n\ + ands r0, r1\n\ + adds r3, r2, 0\n\ + cmp r0, 0\n\ + beq _080CF14C\n\ + b _080CF33C\n\ +_080CF14C:\n\ + movs r0, 0x80\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF1A8\n\ + movs r6, 0x1\n\ + lsls r0, r4, 24\n\ + movs r1, 0xC0\n\ + lsls r1, 19\n\ + adds r0, r1\n\ + lsrs r4, r0, 24\n\ + asrs r0, 24\n\ + cmp r0, 0x1D\n\ + bgt _080CF168\n\ + b _080CF358\n\ +_080CF168:\n\ + movs r2, 0x3\n\ + mov r8, r2\n\ + subs r0, 0x1E\n\ + lsls r0, 24\n\ + asrs r0, 24\n\ + movs r1, 0x3\n\ + bl __divsi3\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + ldr r0, [r5]\n\ + add r0, r10\n\ + strb r6, [r0]\n\ + ldr r0, [r5]\n\ + add r0, r9\n\ + strb r6, [r0]\n\ + b _080CF358\n\ + .pool\n\ +_080CF1A8:\n\ + movs r0, 0x20\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF1DE\n\ + movs r6, 0x1\n\ + movs r0, 0\n\ + ldrsb r0, [r3, r0]\n\ + movs r1, 0x6\n\ + bl __modsi3\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080CF1CA\n\ + lsls r0, r4, 24\n\ + movs r3, 0xFF\n\ + lsls r3, 24\n\ + b _080CF34C\n\ +_080CF1CA:\n\ + ldr r0, [r5]\n\ + adds r0, r7\n\ + movs r1, 0xFF\n\ + strb r1, [r0]\n\ + lsls r0, r4, 24\n\ + movs r1, 0xA0\n\ + lsls r1, 19\n\ + adds r0, r1\n\ + lsrs r4, r0, 24\n\ + b _080CF358\n\ +_080CF1DE:\n\ + movs r0, 0x10\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF212\n\ + movs r6, 0x1\n\ + movs r0, 0\n\ + ldrsb r0, [r3, r0]\n\ + adds r0, 0x1\n\ + movs r1, 0x6\n\ + bl __modsi3\n\ + cmp r0, 0\n\ + beq _080CF204\n\ + lsls r0, r4, 24\n\ + movs r2, 0x80\n\ + lsls r2, 17\n\ + adds r0, r2\n\ + lsrs r4, r0, 24\n\ + b _080CF358\n\ +_080CF204:\n\ + ldr r0, [r5]\n\ + adds r0, r7\n\ + strb r6, [r0]\n\ + lsls r0, r4, 24\n\ + movs r3, 0xFB\n\ + lsls r3, 24\n\ + b _080CF34C\n\ +_080CF212:\n\ + ldrh r1, [r6, 0x2E]\n\ + movs r0, 0x8\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF220\n\ + movs r6, 0x1\n\ + b _080CF352\n\ +_080CF220:\n\ + movs r4, 0x1\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF2E4\n\ + bl sub_80CFA5C\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080CF2E4\n\ + ldr r0, =sCanOnlyMove\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _080CF244\n\ + movs r0, 0x8\n\ + b _080CF366\n\ + .pool\n\ +_080CF244:\n\ + ldr r1, [r5]\n\ + ldrb r0, [r1, 0x1]\n\ + cmp r0, 0x2\n\ + bne _080CF254\n\ + ldr r0, =sIsMonBeingMoved\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x1\n\ + bne _080CF2D4\n\ +_080CF254:\n\ + movs r0, 0\n\ + bl sub_80CFF98\n\ + subs r0, 0x1\n\ + lsls r0, 24\n\ + asrs r0, 24\n\ + cmp r0, 0xE\n\ + bhi _080CF2E4\n\ + lsls r0, 2\n\ + ldr r1, =_080CF278\n\ + adds r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ + .pool\n\ + .align 2, 0\n\ +_080CF278:\n\ + .4byte _080CF2B4\n\ + .4byte _080CF2B8\n\ + .4byte _080CF2BC\n\ + .4byte _080CF2C0\n\ + .4byte _080CF2C4\n\ + .4byte _080CF2E4\n\ + .4byte _080CF2E4\n\ + .4byte _080CF2E4\n\ + .4byte _080CF2E4\n\ + .4byte _080CF2E4\n\ + .4byte _080CF2E4\n\ + .4byte _080CF2C8\n\ + .4byte _080CF2CC\n\ + .4byte _080CF2E4\n\ + .4byte _080CF2D0\n\ +_080CF2B4:\n\ + movs r0, 0xB\n\ + b _080CF366\n\ +_080CF2B8:\n\ + movs r0, 0xC\n\ + b _080CF366\n\ +_080CF2BC:\n\ + movs r0, 0xD\n\ + b _080CF366\n\ +_080CF2C0:\n\ + movs r0, 0xE\n\ + b _080CF366\n\ +_080CF2C4:\n\ + movs r0, 0xF\n\ + b _080CF366\n\ +_080CF2C8:\n\ + movs r0, 0x10\n\ + b _080CF366\n\ +_080CF2CC:\n\ + movs r0, 0x11\n\ + b _080CF366\n\ +_080CF2D0:\n\ + movs r0, 0x12\n\ + b _080CF366\n\ +_080CF2D4:\n\ + ldr r2, =0x000021ff\n\ + adds r0, r1, r2\n\ + strb r4, [r0]\n\ + movs r0, 0x14\n\ + b _080CF366\n\ + .pool\n\ +_080CF2E4:\n\ + ldr r2, =gMain\n\ + ldrh r1, [r2, 0x2E]\n\ + movs r0, 0x2\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF2F8\n\ + movs r0, 0x13\n\ + b _080CF366\n\ + .pool\n\ +_080CF2F8:\n\ + ldr r0, =gSaveBlock2Ptr\n\ + ldr r0, [r0]\n\ + ldrb r0, [r0, 0x13]\n\ + cmp r0, 0x1\n\ + bne _080CF326\n\ + ldrh r1, [r2, 0x2C]\n\ + movs r0, 0x80\n\ + lsls r0, 2\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF318\n\ + movs r0, 0xA\n\ + b _080CF366\n\ + .pool\n\ +_080CF318:\n\ + movs r0, 0x80\n\ + lsls r0, 1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF326\n\ + movs r0, 0x9\n\ + b _080CF366\n\ +_080CF326:\n\ + ldrh r1, [r2, 0x2E]\n\ + movs r0, 0x4\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF338\n\ + bl sub_80CFDC4\n\ + movs r0, 0\n\ + b _080CF366\n\ +_080CF338:\n\ + movs r6, 0\n\ + b _080CF364\n\ +_080CF33C:\n\ + movs r6, 0x1\n\ + movs r0, 0\n\ + ldrsb r0, [r2, r0]\n\ + cmp r0, 0x5\n\ + ble _080CF352\n\ + lsls r0, r4, 24\n\ + movs r3, 0xFA\n\ + lsls r3, 24\n\ +_080CF34C:\n\ + adds r0, r3\n\ + lsrs r4, r0, 24\n\ + b _080CF358\n\ +_080CF352:\n\ + movs r0, 0x2\n\ + mov r8, r0\n\ + movs r4, 0\n\ +_080CF358:\n\ + cmp r6, 0\n\ + beq _080CF364\n\ + mov r0, r8\n\ + adds r1, r4, 0\n\ + bl sub_80CD894\n\ +_080CF364:\n\ + adds r0, r6, 0\n\ +_080CF366:\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + "); +} +#endif + +static u8 InBoxInput_GrabbingMultiple(void) +{ + if (gMain.heldKeys & A_BUTTON) + { + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (sBoxCursorPosition / IN_BOX_ROWS != 0) + { + sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition - IN_BOX_ROWS); + return 21; + } + else + { + return 24; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if (sBoxCursorPosition + IN_BOX_ROWS < IN_BOX_COUNT) + { + sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition + IN_BOX_ROWS); + return 21; + } + else + { + return 24; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + if (sBoxCursorPosition % IN_BOX_ROWS != 0) + { + sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition - 1); + return 21; + } + else + { + return 24; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if ((sBoxCursorPosition + 1) % IN_BOX_ROWS != 0) + { + sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition + 1); + return 21; + } + else + { + return 24; + } + } + else + { + return 0; + } + } + else + { + if (sub_80D0BA4() == sBoxCursorPosition) + { + sPSSData->inBoxMovingMode = 0; + sPSSData->field_CB8->invisible = FALSE; + return 22; + } + else + { + sIsMonBeingMoved = (sPSSData->cursorMonSpecies != SPECIES_NONE); + sPSSData->inBoxMovingMode = 2; + sMovingMonOrigBoxId = StorageGetCurrentBox(); + return 23; + } + } +} + +static u8 InBoxInput_MovingMultiple(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (sub_80D0580(0)) + { + sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition - IN_BOX_ROWS); + return 25; + } + else + { + return 24; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if (sub_80D0580(1)) + { + sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition + IN_BOX_ROWS); + return 25; + } + else + { + return 24; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + if (sub_80D0580(2)) + { + sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition - 1); + return 25; + } + else + { + return 10; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if (sub_80D0580(3)) + { + sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition + 1); + return 25; + } + else + { + return 9; + } + } + else if (gMain.newKeys & A_BUTTON) + { + if (sub_80D0BC0()) + { + sIsMonBeingMoved = FALSE; + sPSSData->inBoxMovingMode = 0; + return 26; + } + else + { + return 24; + } + } + else if (gMain.newKeys & B_BUTTON) + { + return 24; + } + else + { + if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR) + { + if (gMain.heldKeys & L_BUTTON) + return 10; + if (gMain.heldKeys & R_BUTTON) + return 9; + } + + return 0; + } +} + +#ifdef NONMATCHING +static u8 HandleInput_InParty(void) +{ + u8 retVal; + bool8 gotoBox; + s8 cursorArea = sBoxCursorArea; + s8 cursorPosition = sBoxCursorPosition; + + sPSSData->field_CD3 = 0; + sPSSData->field_CD2 = 0; + sPSSData->field_CD7 = 0; + gotoBox = FALSE; + retVal = 0; + + if (!(gMain.newAndRepeatedKeys & DPAD_UP)) + { + if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if (++cursorPosition > PARTY_SIZE) + cursorPosition = 0; + if (cursorPosition != sBoxCursorPosition) + retVal = 1; + } + else if ((gMain.newAndRepeatedKeys & DPAD_LEFT) && sBoxCursorPosition != 0) + { + retVal = 1; + sPSSData->field_CD6 = sBoxCursorPosition; + cursorPosition = 0; + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if (sBoxCursorPosition == 0) + { + retVal = 1; + cursorPosition = sPSSData->field_CD6; + } + else + { + retVal = 6; + cursorArea = CURSOR_AREA_IN_BOX; + cursorPosition = 0; + } + } + else + { + if (gMain.newKeys & A_BUTTON) + { + if (sBoxCursorPosition == PARTY_SIZE) + { + if (sPSSData->boxOption == BOX_OPTION_DEPOSIT) + return 4; + + gotoBox = TRUE; + } + else if (sub_80CFA5C()) + { + if (!sCanOnlyMove) + return 8; + + switch (sub_80CFF98(0)) + { + case 1: + return 11; + case 2: + return 12; + case 3: + return 13; + case 4: + return 14; + case 5: + return 15; + case 12: + return 16; + case 13: + return 17; + case 15: + return 18; + } + } + } + + if (gMain.newKeys & B_BUTTON) + { + if (sPSSData->boxOption == BOX_OPTION_DEPOSIT) + return 19; + + gotoBox = TRUE; + } + + if (gotoBox) + { + retVal = 6; + cursorArea = CURSOR_AREA_IN_BOX; + cursorPosition = 0; + } + else if (gMain.newKeys & SELECT_BUTTON) + { + sub_80CFDC4(); + return 0; + } + } + } + else + { + if (--cursorPosition < 0) + cursorPosition = PARTY_SIZE; + if (cursorPosition != sBoxCursorPosition) + retVal = 1; + } + if (retVal != 0) + { + if (retVal != 6) + sub_80CD894(cursorArea, cursorPosition); + } + + return retVal; +} +#else +NAKED +static u8 HandleInput_InParty(void) +{ + asm_unified("\n\ + push {r4-r7,lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6,r7}\n\ + ldr r0, =sBoxCursorArea\n\ + ldrb r0, [r0]\n\ + mov r9, r0\n\ + ldr r6, =sBoxCursorPosition\n\ + ldrb r4, [r6]\n\ + ldr r2, =sPSSData\n\ + ldr r0, [r2]\n\ + ldr r1, =0x00000cd3\n\ + adds r0, r1\n\ + movs r1, 0\n\ + strb r1, [r0]\n\ + ldr r0, [r2]\n\ + ldr r3, =0x00000cd2\n\ + adds r0, r3\n\ + strb r1, [r0]\n\ + ldr r0, [r2]\n\ + adds r3, 0x5\n\ + adds r0, r3\n\ + strb r1, [r0]\n\ + mov r8, r1\n\ + movs r7, 0\n\ + ldr r1, =gMain\n\ + ldrh r3, [r1, 0x30]\n\ + movs r0, 0x40\n\ + ands r0, r3\n\ + adds r5, r6, 0\n\ + mov r12, r1\n\ + cmp r0, 0\n\ + beq _080CF608\n\ + b _080CF7A8\n\ +_080CF608:\n\ + movs r0, 0x80\n\ + ands r0, r3\n\ + cmp r0, 0\n\ + beq _080CF64C\n\ + lsls r0, r4, 24\n\ + movs r1, 0x80\n\ + lsls r1, 17\n\ + adds r0, r1\n\ + lsrs r4, r0, 24\n\ + asrs r0, 24\n\ + cmp r0, 0x6\n\ + ble _080CF622\n\ + movs r4, 0\n\ +_080CF622:\n\ + lsls r0, r4, 24\n\ + asrs r0, 24\n\ + movs r1, 0\n\ + ldrsb r1, [r5, r1]\n\ + cmp r0, r1\n\ + bne _080CF630\n\ + b _080CF7C6\n\ +_080CF630:\n\ + movs r7, 0x1\n\ + b _080CF7CA\n\ + .pool\n\ +_080CF64C:\n\ + movs r0, 0x20\n\ + ands r0, r3\n\ + cmp r0, 0\n\ + beq _080CF670\n\ + ldrb r1, [r5]\n\ + movs r0, 0\n\ + ldrsb r0, [r5, r0]\n\ + cmp r0, 0\n\ + beq _080CF670\n\ + movs r7, 0x1\n\ + ldr r0, [r2]\n\ + ldr r2, =0x00000cd6\n\ + adds r0, r2\n\ + strb r1, [r0]\n\ + movs r4, 0\n\ + b _080CF7C6\n\ + .pool\n\ +_080CF670:\n\ + mov r3, r12\n\ + ldrh r1, [r3, 0x30]\n\ + movs r0, 0x10\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF69E\n\ + movs r0, 0\n\ + ldrsb r0, [r5, r0]\n\ + cmp r0, 0\n\ + bne _080CF694\n\ + movs r7, 0x1\n\ + ldr r0, [r2]\n\ + ldr r1, =0x00000cd6\n\ + adds r0, r1\n\ + ldrb r4, [r0]\n\ + b _080CF7C6\n\ + .pool\n\ +_080CF694:\n\ + movs r7, 0x6\n\ + movs r2, 0\n\ + mov r9, r2\n\ + movs r4, 0\n\ + b _080CF7C6\n\ +_080CF69E:\n\ + mov r3, r12\n\ + ldrh r1, [r3, 0x2E]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF75C\n\ + movs r0, 0\n\ + ldrsb r0, [r5, r0]\n\ + cmp r0, 0x6\n\ + bne _080CF6C4\n\ + ldr r0, [r2]\n\ + ldrb r0, [r0, 0x1]\n\ + cmp r0, 0x1\n\ + bne _080CF6BE\n\ + movs r0, 0x4\n\ + b _080CF7D8\n\ +_080CF6BE:\n\ + movs r0, 0x1\n\ + mov r8, r0\n\ + b _080CF75C\n\ +_080CF6C4:\n\ + bl sub_80CFA5C\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080CF75C\n\ + ldr r0, =sCanOnlyMove\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _080CF6E0\n\ + movs r0, 0x8\n\ + b _080CF7D8\n\ + .pool\n\ +_080CF6E0:\n\ + movs r0, 0\n\ + bl sub_80CFF98\n\ + subs r0, 0x1\n\ + lsls r0, 24\n\ + asrs r0, 24\n\ + cmp r0, 0xE\n\ + bhi _080CF75C\n\ + lsls r0, 2\n\ + ldr r1, =_080CF700\n\ + adds r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ + .pool\n\ + .align 2, 0\n\ +_080CF700:\n\ + .4byte _080CF73C\n\ + .4byte _080CF740\n\ + .4byte _080CF744\n\ + .4byte _080CF748\n\ + .4byte _080CF74C\n\ + .4byte _080CF75C\n\ + .4byte _080CF75C\n\ + .4byte _080CF75C\n\ + .4byte _080CF75C\n\ + .4byte _080CF75C\n\ + .4byte _080CF75C\n\ + .4byte _080CF750\n\ + .4byte _080CF754\n\ + .4byte _080CF75C\n\ + .4byte _080CF758\n\ +_080CF73C:\n\ + movs r0, 0xB\n\ + b _080CF7D8\n\ +_080CF740:\n\ + movs r0, 0xC\n\ + b _080CF7D8\n\ +_080CF744:\n\ + movs r0, 0xD\n\ + b _080CF7D8\n\ +_080CF748:\n\ + movs r0, 0xE\n\ + b _080CF7D8\n\ +_080CF74C:\n\ + movs r0, 0xF\n\ + b _080CF7D8\n\ +_080CF750:\n\ + movs r0, 0x10\n\ + b _080CF7D8\n\ +_080CF754:\n\ + movs r0, 0x11\n\ + b _080CF7D8\n\ +_080CF758:\n\ + movs r0, 0x12\n\ + b _080CF7D8\n\ +_080CF75C:\n\ + ldr r2, =gMain\n\ + ldrh r1, [r2, 0x2E]\n\ + movs r0, 0x2\n\ + ands r0, r1\n\ + mov r12, r2\n\ + cmp r0, 0\n\ + beq _080CF784\n\ + ldr r0, =sPSSData\n\ + ldr r0, [r0]\n\ + ldrb r0, [r0, 0x1]\n\ + cmp r0, 0x1\n\ + bne _080CF780\n\ + movs r0, 0x13\n\ + b _080CF7D8\n\ + .pool\n\ +_080CF780:\n\ + movs r1, 0x1\n\ + mov r8, r1\n\ +_080CF784:\n\ + mov r2, r8\n\ + cmp r2, 0\n\ + beq _080CF794\n\ + movs r7, 0x6\n\ + movs r3, 0\n\ + mov r9, r3\n\ + movs r4, 0\n\ + b _080CF7C6\n\ +_080CF794:\n\ + mov r0, r12\n\ + ldrh r1, [r0, 0x2E]\n\ + movs r0, 0x4\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF7C6\n\ + bl sub_80CFDC4\n\ + movs r0, 0\n\ + b _080CF7D8\n\ +_080CF7A8:\n\ + lsls r0, r4, 24\n\ + movs r1, 0xFF\n\ + lsls r1, 24\n\ + adds r0, r1\n\ + lsrs r4, r0, 24\n\ + cmp r0, 0\n\ + bge _080CF7B8\n\ + movs r4, 0x6\n\ +_080CF7B8:\n\ + lsls r0, r4, 24\n\ + asrs r0, 24\n\ + movs r1, 0\n\ + ldrsb r1, [r6, r1]\n\ + cmp r0, r1\n\ + beq _080CF7C6\n\ + movs r7, 0x1\n\ +_080CF7C6:\n\ + cmp r7, 0\n\ + beq _080CF7D6\n\ +_080CF7CA:\n\ + cmp r7, 0x6\n\ + beq _080CF7D6\n\ + mov r0, r9\n\ + adds r1, r4, 0\n\ + bl sub_80CD894\n\ +_080CF7D6:\n\ + adds r0, r7, 0\n\ +_080CF7D8:\n\ + pop {r3,r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1"); +} +#endif + +#ifdef NONMATCHING +static u8 HandleInput_OnBox(void) +{ + u8 retVal; + s8 cursorArea = sBoxCursorArea; + s8 cursorPosition = sBoxCursorPosition; + + sPSSData->field_CD3 = 0; + sPSSData->field_CD2 = 0; + sPSSData->field_CD7 = 0; + retVal = 0; + + if (!(gMain.newAndRepeatedKeys & DPAD_UP)) + { + if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + retVal = 1; + cursorArea = CURSOR_AREA_IN_BOX; + cursorPosition = 2; + } + else + { + if (gMain.heldKeys & DPAD_LEFT) + return 10; + if (gMain.heldKeys & DPAD_RIGHT) + return 9; + + if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR) + { + if (gMain.heldKeys & L_BUTTON) + return 10; + if (gMain.heldKeys & R_BUTTON) + return 9; + } + + if (gMain.newKeys & A_BUTTON) + { + sub_80CD1A8(FALSE); + AddBoxMenu(); + return 7; + } + + if (gMain.newKeys & B_BUTTON) + return 19; + + if (gMain.newKeys & SELECT_BUTTON) + { + sub_80CFDC4(); + return 0; + } + + retVal = 0; + } + } + else + { + retVal = 1; + cursorArea = CURSOR_AREA_BUTTONS; + cursorPosition = 0; + sPSSData->field_CD7 = 1; + } + + if (retVal) + { + if (cursorArea != CURSOR_AREA_BOX) + sub_80CD1A8(FALSE); + sub_80CD894(cursorArea, cursorPosition); + } + + return retVal; +} +#else +NAKED +static u8 HandleInput_OnBox(void) +{ + asm_unified("\n\ + push {r4-r6,lr}\n\ + ldr r3, =sPSSData\n\ + ldr r0, [r3]\n\ + ldr r1, =0x00000cd3\n\ + adds r0, r1\n\ + movs r1, 0\n\ + strb r1, [r0]\n\ + ldr r0, [r3]\n\ + ldr r2, =0x00000cd2\n\ + adds r0, r2\n\ + strb r1, [r0]\n\ + ldr r0, [r3]\n\ + ldr r5, =0x00000cd7\n\ + adds r0, r5\n\ + strb r1, [r0]\n\ + ldr r1, =gMain\n\ + ldrh r2, [r1, 0x30]\n\ + movs r0, 0x40\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + bne _080CF8AA\n\ + movs r0, 0x80\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _080CF834\n\ + movs r4, 0x1\n\ + movs r1, 0\n\ + movs r6, 0x2\n\ + b _080CF8B6\n\ + .pool\n\ +_080CF834:\n\ + ldrh r2, [r1, 0x2C]\n\ + movs r0, 0x20\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + bne _080CF85A\n\ + movs r0, 0x10\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + bne _080CF86E\n\ + ldr r0, =gSaveBlock2Ptr\n\ + ldr r0, [r0]\n\ + ldrb r0, [r0, 0x13]\n\ + cmp r0, 0x1\n\ + bne _080CF872\n\ + movs r0, 0x80\n\ + lsls r0, 2\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _080CF864\n\ +_080CF85A:\n\ + movs r0, 0xA\n\ + b _080CF8D2\n\ + .pool\n\ +_080CF864:\n\ + movs r0, 0x80\n\ + lsls r0, 1\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _080CF872\n\ +_080CF86E:\n\ + movs r0, 0x9\n\ + b _080CF8D2\n\ +_080CF872:\n\ + ldrh r1, [r1, 0x2E]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF88A\n\ + movs r0, 0\n\ + bl sub_80CD1A8\n\ + bl AddBoxMenu\n\ + movs r0, 0x7\n\ + b _080CF8D2\n\ +_080CF88A:\n\ + movs r0, 0x2\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF896\n\ + movs r0, 0x13\n\ + b _080CF8D2\n\ +_080CF896:\n\ + movs r0, 0x4\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF8A6\n\ + bl sub_80CFDC4\n\ + movs r0, 0\n\ + b _080CF8D2\n\ +_080CF8A6:\n\ + movs r4, 0\n\ + b _080CF8D0\n\ +_080CF8AA:\n\ + movs r4, 0x1\n\ + movs r1, 0x3\n\ + movs r6, 0\n\ + ldr r0, [r3]\n\ + adds r0, r5\n\ + strb r4, [r0]\n\ +_080CF8B6:\n\ + cmp r4, 0\n\ + beq _080CF8D0\n\ + lsls r5, r1, 24\n\ + cmp r1, 0x2\n\ + beq _080CF8C6\n\ + movs r0, 0\n\ + bl sub_80CD1A8\n\ +_080CF8C6:\n\ + lsrs r0, r5, 24\n\ + lsls r1, r6, 24\n\ + lsrs r1, 24\n\ + bl sub_80CD894\n\ +_080CF8D0:\n\ + adds r0, r4, 0\n\ +_080CF8D2:\n\ + pop {r4-r6}\n\ + pop {r1}\n\ + bx r1\n\ + "); +} +#endif + +#ifdef NONMATCHING +static u8 HandleInput_OnButtons(void) +{ + u8 retVal; + s8 cursorArea = sBoxCursorArea; + s8 cursorPosition = sBoxCursorPosition; + + sPSSData->field_CD3 = 0; + sPSSData->field_CD2 = 0; + sPSSData->field_CD7 = 0; + + if (!(gMain.newAndRepeatedKeys & DPAD_UP)) + { + if (gMain.newAndRepeatedKeys & (DPAD_DOWN | START_BUTTON)) + { + retVal = 1; + cursorArea = CURSOR_AREA_BOX; + cursorPosition = 0; + sPSSData->field_CD7 = 1; + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + retVal = 1; + if (--cursorPosition < 0) + { + cursorPosition = 1; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + retVal = 1; + if (++cursorPosition > 1) + { + cursorPosition = 0; + } + } + else if (gMain.newKeys & A_BUTTON) + { + return (cursorPosition == 0) ? 5 : 4; + } + else if (gMain.newKeys & B_BUTTON) + { + return 19; + } + else if (gMain.newKeys & SELECT_BUTTON) + { + sub_80CFDC4(); + return 0; + } + else + { + retVal = 0; + } + } + else + { + retVal = 1; + cursorArea = CURSOR_AREA_IN_BOX; + sPSSData->field_CD2 = -1; + cursorPosition = (sBoxCursorPosition == 0) ? IN_BOX_COUNT - 1 - 5 : IN_BOX_COUNT - 1; + sPSSData->field_CD7 = 1; + } + + if (retVal != 0) + { + sub_80CD894(cursorArea, cursorPosition); + } + + return retVal; +} +#else +NAKED +static u8 HandleInput_OnButtons(void) +{ + asm_unified("\n\ + push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + ldr r0, =sBoxCursorArea\n\ + ldrb r0, [r0]\n\ + mov r8, r0\n\ + ldr r0, =sBoxCursorPosition\n\ + mov r12, r0\n\ + ldrb r2, [r0]\n\ + ldr r3, =sPSSData\n\ + ldr r0, [r3]\n\ + ldr r1, =0x00000cd3\n\ + adds r0, r1\n\ + movs r1, 0\n\ + strb r1, [r0]\n\ + ldr r0, [r3]\n\ + ldr r6, =0x00000cd2\n\ + adds r0, r6\n\ + strb r1, [r0]\n\ + ldr r0, [r3]\n\ + ldr r5, =0x00000cd7\n\ + adds r0, r5\n\ + strb r1, [r0]\n\ + ldr r7, =gMain\n\ + ldrh r1, [r7, 0x30]\n\ + movs r0, 0x40\n\ + ands r0, r1\n\ + adds r4, r3, 0\n\ + cmp r0, 0\n\ + bne _080CF9B2\n\ + movs r0, 0x88\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF944\n\ + movs r7, 0x1\n\ + movs r0, 0x2\n\ + mov r8, r0\n\ + movs r2, 0\n\ + ldr r0, [r4]\n\ + b _080CF9D0\n\ + .pool\n\ +_080CF944:\n\ + movs r0, 0x20\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF960\n\ + movs r7, 0x1\n\ + lsls r0, r2, 24\n\ + movs r1, 0xFF\n\ + lsls r1, 24\n\ + adds r0, r1\n\ + lsrs r2, r0, 24\n\ + cmp r0, 0\n\ + bge _080CF9D4\n\ + movs r2, 0x1\n\ + b _080CF9D4\n\ +_080CF960:\n\ + movs r0, 0x10\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF97E\n\ + movs r7, 0x1\n\ + lsls r0, r2, 24\n\ + movs r1, 0x80\n\ + lsls r1, 17\n\ + adds r0, r1\n\ + lsrs r2, r0, 24\n\ + asrs r0, 24\n\ + cmp r0, 0x1\n\ + ble _080CF9D4\n\ + movs r2, 0\n\ + b _080CF9D4\n\ +_080CF97E:\n\ + ldrh r1, [r7, 0x2E]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF992\n\ + movs r0, 0x4\n\ + cmp r2, 0\n\ + bne _080CF9E2\n\ + movs r0, 0x5\n\ + b _080CF9E2\n\ +_080CF992:\n\ + movs r0, 0x2\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF99E\n\ + movs r0, 0x13\n\ + b _080CF9E2\n\ +_080CF99E:\n\ + movs r0, 0x4\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080CF9AE\n\ + bl sub_80CFDC4\n\ + movs r0, 0\n\ + b _080CF9E2\n\ +_080CF9AE:\n\ + movs r7, 0\n\ + b _080CF9E0\n\ +_080CF9B2:\n\ + movs r7, 0x1\n\ + movs r0, 0\n\ + mov r8, r0\n\ + ldr r0, [r3]\n\ + adds r0, r6\n\ + movs r1, 0xFF\n\ + strb r1, [r0]\n\ + mov r1, r12\n\ + movs r0, 0\n\ + ldrsb r0, [r1, r0]\n\ + movs r2, 0x1D\n\ + cmp r0, 0\n\ + bne _080CF9CE\n\ + movs r2, 0x18\n\ +_080CF9CE:\n\ + ldr r0, [r3]\n\ +_080CF9D0:\n\ + adds r0, r5\n\ + strb r7, [r0]\n\ +_080CF9D4:\n\ + cmp r7, 0\n\ + beq _080CF9E0\n\ + mov r0, r8\n\ + adds r1, r2, 0\n\ + bl sub_80CD894\n\ +_080CF9E0:\n\ + adds r0, r7, 0\n\ +_080CF9E2:\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1"); +} +#endif + +static u8 HandleInput(void) +{ + struct + { + u8 (*func)(void); + s8 area; + } + static const inputFuncs[] = + { + {HandleInput_InBox, CURSOR_AREA_IN_BOX}, + {HandleInput_InParty, CURSOR_AREA_IN_PARTY}, + {HandleInput_OnBox, CURSOR_AREA_BOX}, + {HandleInput_OnButtons, CURSOR_AREA_BUTTONS}, + {NULL, 0}, + }; + + u16 i = 0; + while (inputFuncs[i].func != NULL) + { + if (inputFuncs[i].area == sBoxCursorArea) + return inputFuncs[i].func(); + i++; + } + + return 0; +} + +static void AddBoxMenu(void) +{ + InitMenu(); + SetMenuText(9); + SetMenuText(10); + SetMenuText(11); + SetMenuText(0); +} + +static u8 sub_80CFA5C(void) +{ + InitMenu(); + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + return sub_80CFA84(); + else + return sub_80CFB44(); +} + +static bool8 sub_80CFA84(void) +{ + u16 var0 = sub_80CD504(); + + switch (sPSSData->boxOption) + { + case BOX_OPTION_DEPOSIT: + if (var0) + SetMenuText(1); + else + return FALSE; + break; + case BOX_OPTION_WITHDRAW: + if (var0) + SetMenuText(2); + else + return FALSE; + break; + case BOX_OPTION_MOVE_MONS: + if (sIsMonBeingMoved) + { + if (var0) + SetMenuText(4); + else + SetMenuText(5); + } + else + { + if (var0) + SetMenuText(3); + else + return FALSE; + } + break; + case BOX_OPTION_MOVE_ITEMS: + default: + return FALSE; + } + + SetMenuText(6); + if (sPSSData->boxOption == BOX_OPTION_MOVE_MONS) + { + if (!sBoxCursorArea) + SetMenuText(2); + else + SetMenuText(1); + } + + SetMenuText(8); + SetMenuText(7); + SetMenuText(0); + return TRUE; +} + +static bool8 sub_80CFB44(void) +{ + if (sPSSData->cursorMonSpecies == SPECIES_EGG) + return FALSE; + + if (!IsActiveItemMoving()) + { + if (sPSSData->cursorMonItem == 0) + { + if (sPSSData->cursorMonSpecies == SPECIES_NONE) + return FALSE; + + SetMenuText(14); + } + else + { + if (!ItemIsMail(sPSSData->cursorMonItem)) + { + SetMenuText(12); + SetMenuText(16); + } + SetMenuText(17); + } + } + else + { + if (sPSSData->cursorMonItem == 0) + { + if (sPSSData->cursorMonSpecies == SPECIES_NONE) + return FALSE; + + SetMenuText(13); + } + else + { + if (ItemIsMail(sPSSData->cursorMonItem) == TRUE) + return FALSE; + + SetMenuText(15); + } + } + + SetMenuText(0); + return TRUE; +} + +static void sub_80CFBF4(struct Sprite *sprite) +{ + sprite->pos1.x = sPSSData->field_CB4->pos1.x; + sprite->pos1.y = sPSSData->field_CB4->pos1.y + 20; +} + +static void sub_80CFC14(void) +{ + u16 x, y; + u8 spriteId; + u8 priority, subpriority; + struct SpriteSheet spriteSheets[] = + { + {gHandCursorTiles, 0x800, 0}, + {gHandCursorShadowTiles, 0x80, 1}, + {} + }; + + struct SpritePalette spritePalettes[] = + { + {gHandCursorPalette, TAG_PAL_DAC7}, + {} + }; + + static const struct OamData sOamData_857BA0C = + { + .size = 2, + .priority = 1, + }; + static const struct OamData sOamData_857BA14 = + { + .size = 1, + .priority = 1, + }; + + static const union AnimCmd sSpriteAnim_857BA1C[] = + { + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(16, 30), + ANIMCMD_JUMP(0) + }; + static const union AnimCmd sSpriteAnim_857BA28[] = + { + ANIMCMD_FRAME(0, 5), + ANIMCMD_END + }; + static const union AnimCmd sSpriteAnim_857BA30[] = + { + ANIMCMD_FRAME(32, 5), + ANIMCMD_END + }; + static const union AnimCmd sSpriteAnim_857BA38[] = + { + ANIMCMD_FRAME(48, 5), + ANIMCMD_END + }; + + static const union AnimCmd *const sSpriteAnimTable_857BA40[] = + { + sSpriteAnim_857BA1C, + sSpriteAnim_857BA28, + sSpriteAnim_857BA30, + sSpriteAnim_857BA38 + }; + + static const struct SpriteTemplate gSpriteTemplate_857BA50 = + { + .tileTag = TAG_TILE_0, + .paletteTag = TAG_PAL_WAVEFORM, + .oam = &sOamData_857BA0C, + .anims = sSpriteAnimTable_857BA40, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }; + + static const struct SpriteTemplate gSpriteTemplate_857BA68 = + { + .tileTag = TAG_TILE_1, + .paletteTag = TAG_PAL_WAVEFORM, + .oam = &sOamData_857BA14, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CFBF4, + }; + + LoadSpriteSheets(spriteSheets); + LoadSpritePalettes(spritePalettes); + sPSSData->field_CD8[0] = IndexOfSpritePaletteTag(TAG_PAL_WAVEFORM); + sPSSData->field_CD8[1] = IndexOfSpritePaletteTag(TAG_PAL_DAC7); + + sub_80CD444(sBoxCursorArea, sBoxCursorPosition, &x, &y); + spriteId = CreateSprite(&gSpriteTemplate_857BA50, x, y, 6); + if (spriteId != MAX_SPRITES) + { + sPSSData->field_CB4 = &gSprites[spriteId]; + sPSSData->field_CB4->oam.paletteNum = sPSSData->field_CD8[sCanOnlyMove]; + sPSSData->field_CB4->oam.priority = 1; + if (sIsMonBeingMoved) + StartSpriteAnim(sPSSData->field_CB4, 3); + } + else + { + sPSSData->field_CB4 = NULL; + } + + if (sBoxCursorArea == CURSOR_AREA_IN_PARTY) + { + subpriority = 13; + priority = 1; + } + else + { + subpriority = 21; + priority = 2; + } + + spriteId = CreateSprite(&gSpriteTemplate_857BA68, 0, 0, subpriority); + if (spriteId != MAX_SPRITES) + { + sPSSData->field_CB8 = &gSprites[spriteId]; + sPSSData->field_CB8->oam.priority = priority; + if (sBoxCursorArea) + sPSSData->field_CB8->invisible = 1; + } + else + { + sPSSData->field_CB8 = NULL; + } +} + +static void sub_80CFDC4(void) +{ + sCanOnlyMove = !sCanOnlyMove; + sPSSData->field_CB4->oam.paletteNum = sPSSData->field_CD8[sCanOnlyMove]; +} + +static u8 GetBoxCursorPosition(void) +{ + return sBoxCursorPosition; +} + +static void sub_80CFE14(u8 *arg0, u8 *arg1) +{ + if (sBoxCursorArea == CURSOR_AREA_IN_BOX) + { + *arg0 = sBoxCursorPosition % IN_BOX_ROWS; + *arg1 = sBoxCursorPosition / IN_BOX_ROWS; + } + else + { + *arg0 = 0; + *arg1 = 0; + } +} + +static void sub_80CFE54(u8 animNum) +{ + StartSpriteAnim(sPSSData->field_CB4, animNum); +} + +static u8 sub_80CFE78(void) +{ + return sMovingMonOrigBoxId; +} + +static void sub_80CFE84(void) +{ + sPSSData->field_CB4->oam.priority = 1; +} + +static void sub_80CFEA8(void) +{ + if (sBoxCursorArea == CURSOR_AREA_IN_BOX) + sub_80D0E50(CURSOR_AREA_IN_BOX, sBoxCursorPosition); +} + +static void sub_80CFECC(void) +{ + if (sBoxCursorArea == CURSOR_AREA_IN_BOX) + sub_80D0D8C(CURSOR_AREA_IN_BOX, sBoxCursorPosition); +} + +static void InitMenu(void) +{ + sPSSData->menuItemsCount = 0; + sPSSData->menuWidth = 0; + sPSSData->menuWindow.bg = 0; + sPSSData->menuWindow.paletteNum = 15; + sPSSData->menuWindow.baseBlock = 92; +} + +static const u8 *const gUnknown_0857BA80[] = +{ + gPCText_Cancel, + gPCText_Store, + gPCText_Withdraw, + gPCText_Move, + gPCText_Shift, + gPCText_Place, + gPCText_Summary, + gPCText_Release, + gPCText_Mark, + gPCText_Jump, + gPCText_Wallpaper, + gPCText_Name, + gPCText_Take, + gPCText_Give, + gPCText_Give, + gPCText_Switch, + gPCText_Bag, + gPCText_Info, + gPCText_Scenery1, + gPCText_Scenery2, + gPCText_Scenery3, + gPCText_Etcetera, + gPCText_Friends, + gPCText_Forest, + gPCText_City, + gPCText_Desert, + gPCText_Savanna, + gPCText_Crag, + gPCText_Volcano, + gPCText_Snow, + gPCText_Cave, + gPCText_Beach, + gPCText_Seafloor, + gPCText_River, + gPCText_Sky, + gPCText_PolkaDot, + gPCText_Pokecenter, + gPCText_Machine, + gPCText_Simple, +}; + +static void SetMenuText(u8 textId) +{ + if (sPSSData->menuItemsCount < 7) + { + u8 len; + struct StorageMenu *menu = &sPSSData->menuItems[sPSSData->menuItemsCount]; + + menu->text = gUnknown_0857BA80[textId]; + menu->textId = textId; + len = StringLength(menu->text); + if (len > sPSSData->menuWidth) + sPSSData->menuWidth = len; + + sPSSData->menuItemsCount++; + } +} + +static s8 sub_80CFF98(u8 arg0) +{ + if (arg0 >= sPSSData->menuItemsCount) + return -1; + else + return sPSSData->menuItems[arg0].textId; +} + +static void AddMenu(void) +{ + sPSSData->menuWindow.width = sPSSData->menuWidth + 2; + sPSSData->menuWindow.height = 2 * sPSSData->menuItemsCount; + sPSSData->menuWindow.tilemapLeft = 29 - sPSSData->menuWindow.width; + sPSSData->menuWindow.tilemapTop = 15 - sPSSData->menuWindow.height; + sPSSData->field_CB0 = AddWindow(&sPSSData->menuWindow); + ClearWindowTilemap(sPSSData->field_CB0); + SetWindowBorderStyle(sPSSData->field_CB0, FALSE, 11, 14); + PrintMenuTable(sPSSData->field_CB0, sPSSData->menuItemsCount, (void*)sPSSData->menuItems); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sPSSData->field_CB0, sPSSData->menuItemsCount, 0); + schedule_bg_copy_tilemap_to_vram(0); + sPSSData->field_CAE = 0; +} + +static bool8 sub_80D00A8(void) +{ + return FALSE; +} + +static s16 sub_80D00AC(void) +{ + s32 textId = -2; + + if (!(gMain.newKeys & A_BUTTON)) + { + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + textId = -1; + } + + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + Menu_MoveCursor(-1); + } + else if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + Menu_MoveCursor(1); + } + } + else + { + textId = Menu_GetCursorPos(); + } + + if (textId != -2) + sub_80D013C(); + + if (textId >= 0) + textId = sPSSData->menuItems[textId].textId; + + #ifndef NONMATCHING + asm("":::"r4"); + #endif // NONMATCHING + return textId; +} + +static void sub_80D013C(void) +{ + sub_8198070(sPSSData->field_CB0, TRUE); + RemoveWindow(sPSSData->field_CB0); +} + +// The functions below handle moving and grabbing multiple mons at once. +// The icons are converted to background 0 which coordinates are changed while moving mons. +// There is also a bit of math involved in determining how many column/rows of mons to grab/move. + +static const struct WindowTemplate gUnknown_0857BB1C = +{ + .bg = 0, + .tilemapLeft = 10, + .tilemapTop = 3, + .width = 20, + .height = 18, + .paletteNum = 9, + .baseBlock = 0xA, +}; + +EWRAM_DATA static struct +{ + u8 field_0; + u8 state; + u8 fromRow; + u8 fromColumn; + u8 toRow; + u8 toColumn; + u8 field_6; + u8 field_7; + u8 minRow; + u8 minColumn; + u8 rowsTotal; + u8 columsTotal; + u16 bgX; + u16 bgY; + u16 field_10; + struct BoxPokemon boxMons[IN_BOX_COUNT]; +} +*sMoveMonsPtr = NULL; + +static bool8 sub_80D0164(void) +{ + sMoveMonsPtr = Alloc(sizeof(*sMoveMonsPtr)); + if (sMoveMonsPtr != NULL) + { + sPSSData->field_2200 = AddWindow8Bit(&gUnknown_0857BB1C); + if (sPSSData->field_2200 != 0xFF) + { + FillWindowPixelBuffer(sPSSData->field_2200, 0); + return TRUE; + } + } + + return FALSE; +} + +static void sub_80D01B8(void) +{ + if (sMoveMonsPtr != NULL) + Free(sMoveMonsPtr); +} + +static void sub_80D01D0(u8 arg0) +{ + sMoveMonsPtr->field_0 = arg0; + sMoveMonsPtr->state = 0; +} + +static bool8 sub_80D01E4(void) +{ + switch (sMoveMonsPtr->field_0) + { + case 0: + return sub_80D024C(); + case 1: + return sub_80D0344(); + case 2: + return sub_80D03B0(); + case 3: + return sub_80D0420(); + case 4: + return sub_80D04A0(); + case 5: + return sub_80D04C8(); + } + + return FALSE; +} + +static bool8 sub_80D024C(void) +{ + switch (sMoveMonsPtr->state) + { + case 0: + HideBg(0); + sub_80D304C(0x80); + sMoveMonsPtr->state++; + break; + case 1: + sub_80CFE14(&sMoveMonsPtr->fromRow, &sMoveMonsPtr->fromColumn); + sMoveMonsPtr->toRow = sMoveMonsPtr->fromRow; + sMoveMonsPtr->toColumn = sMoveMonsPtr->fromColumn; + ChangeBgX(0, -1024, 0); + ChangeBgY(0, -1024, 0); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20); + FillWindowPixelBuffer8Bit(sPSSData->field_2200, 0); + sub_80D07B0(sMoveMonsPtr->fromRow, sMoveMonsPtr->fromColumn); + SetBgAttribute(0, 4, 1); + PutWindowTilemap(sPSSData->field_2200); + CopyWindowToVram8Bit(sPSSData->field_2200, 3); + BlendPalettes(0x3F00, 8, RGB_WHITE); + sub_80CFE54(2); + SetGpuRegBits(REG_OFFSET_BG0CNT, BGCNT_256COLOR); + sMoveMonsPtr->state++; + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + ShowBg(0); + return FALSE; + } + break; + } + + return TRUE; +} + +static bool8 sub_80D0344(void) +{ + switch (sMoveMonsPtr->state) + { + case 0: + HideBg(0); + sMoveMonsPtr->state++; + break; + case 1: + sub_80D0B5C(); + sub_80CFE54(0); + sMoveMonsPtr->state++; + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_80CFE84(); + LoadPalette(stdpal_get(3), 0xD0, 0x20); + ShowBg(0); + return FALSE; + } + break; + } + + return TRUE; +} + +static bool8 sub_80D03B0(void) +{ + switch (sMoveMonsPtr->state) + { + case 0: + if (!sub_80CD554()) + { + sub_80CFE14(&sMoveMonsPtr->field_6, &sMoveMonsPtr->field_7); + sub_80D062C(); + sMoveMonsPtr->toRow = sMoveMonsPtr->field_6; + sMoveMonsPtr->toColumn = sMoveMonsPtr->field_7; + CopyWindowToVram8Bit(sPSSData->field_2200, 2); + sMoveMonsPtr->state++; + } + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool8 sub_80D0420(void) +{ + u8 var1, var2; + + switch (sMoveMonsPtr->state) + { + case 0: + sub_80D08CC(); + sub_80D09A4(); + sub_80CDC64(FALSE); + sMoveMonsPtr->state++; + break; + case 1: + if (!DoMonPlaceChange()) + { + sub_80CFE54(3); + sub_80D0884(0, 256, 8); + sub_80CDC64(TRUE); + sMoveMonsPtr->state++; + } + break; + case 2: + var1 = sub_80D0894(); + var2 = DoMonPlaceChange(); + if (!var1 && !var2) + return FALSE; + break; + } + + return TRUE; +} + +static bool8 sub_80D04A0(void) +{ + u8 var1 = sub_80CD554(); + u8 var2 = sub_80D0894(); + + if (!var1 && !var2) + return FALSE; + else + return TRUE; +} + +static bool8 sub_80D04C8(void) +{ + switch (sMoveMonsPtr->state) + { + case 0: + sub_80D0AAC(); + sub_80D0884(0, -256, 8); + sub_80CDC64(FALSE); + sMoveMonsPtr->state++; + break; + case 1: + if (!DoMonPlaceChange() && !sub_80D0894()) + { + sub_80D0A1C(); + sub_80CFE54(2); + sub_80CDC64(TRUE); + HideBg(0); + sMoveMonsPtr->state++; + } + break; + case 2: + if (!DoMonPlaceChange()) + { + sub_80CFE54(0); + sub_80D0B5C(); + sMoveMonsPtr->state++; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + { + LoadPalette(stdpal_get(3), 0xD0, 0x20); + sub_80CFE84(); + ShowBg(0); + return FALSE; + } + break; + } + + return TRUE; +} + +static bool8 sub_80D0580(u8 arg0) +{ + switch (arg0) + { + case 0: + if (sMoveMonsPtr->minColumn == 0) + return FALSE; + sMoveMonsPtr->minColumn--; + sub_80D0884(0, 1024, 6); + break; + case 1: + if (sMoveMonsPtr->minColumn + sMoveMonsPtr->columsTotal >= 5) + return FALSE; + sMoveMonsPtr->minColumn++; + sub_80D0884(0, -1024, 6); + break; + case 2: + if (sMoveMonsPtr->minRow == 0) + return FALSE; + sMoveMonsPtr->minRow--; + sub_80D0884(1024, 0, 6); + break; + case 3: + if (sMoveMonsPtr->minRow + sMoveMonsPtr->rowsTotal > 5) + return FALSE; + sMoveMonsPtr->minRow++; + sub_80D0884(-1024, 0, 6); + break; + } + + return TRUE; +} + +static void sub_80D062C(void) +{ + s16 var = (abs(sMoveMonsPtr->fromRow - sMoveMonsPtr->field_6)) - (abs(sMoveMonsPtr->fromRow - sMoveMonsPtr->toRow)); + s16 var2 = (abs(sMoveMonsPtr->fromColumn - sMoveMonsPtr->field_7)) - (abs(sMoveMonsPtr->fromColumn - sMoveMonsPtr->toColumn)); + + if (var > 0) + sub_80D06D0(sMoveMonsPtr->field_6, sMoveMonsPtr->fromColumn, sMoveMonsPtr->toColumn); + + if (var < 0) + { + sub_80D0740(sMoveMonsPtr->toRow, sMoveMonsPtr->fromColumn, sMoveMonsPtr->toColumn); + sub_80D06D0(sMoveMonsPtr->field_6, sMoveMonsPtr->fromColumn, sMoveMonsPtr->toColumn); + } + + if (var2 > 0) + sub_80D0708(sMoveMonsPtr->field_7, sMoveMonsPtr->fromRow, sMoveMonsPtr->toRow); + + if (var2 < 0) + { + sub_80D0778(sMoveMonsPtr->toColumn, sMoveMonsPtr->fromRow, sMoveMonsPtr->toRow); + sub_80D0708(sMoveMonsPtr->field_7, sMoveMonsPtr->fromRow, sMoveMonsPtr->toRow); + } +} + +static void sub_80D06D0(u8 arg0, u8 arg1, u8 arg2) +{ + u8 var1 = arg1; + + if (arg1 > arg2) + { + arg1 = arg2; + arg2 = var1; + } + + while (arg1 <= arg2) + sub_80D07B0(arg0, arg1++); +} + +static void sub_80D0708(u8 arg0, u8 arg1, u8 arg2) +{ + u8 var1 = arg1; + + if (arg1 > arg2) + { + arg1 = arg2; + arg2 = var1; + } + + while (arg1 <= arg2) + sub_80D07B0(arg1++, arg0); +} + +static void sub_80D0740(u8 arg0, u8 arg1, u8 arg2) +{ + u8 var1 = arg1; + + if (arg1 > arg2) + { + arg1 = arg2; + arg2 = var1; + } + + while (arg1 <= arg2) + sub_80D0834(arg0, arg1++); +} + +static void sub_80D0778(u8 arg0, u8 arg1, u8 arg2) +{ + u8 var1 = arg1; + + if (arg1 > arg2) + { + arg1 = arg2; + arg2 = var1; + } + + while (arg1 <= arg2) + sub_80D0834(arg1++, arg0); +} + +static void sub_80D07B0(u8 arg0, u8 arg1) +{ + u8 position = arg0 + (6 * arg1); + u16 species = GetCurrentBoxMonData(position, MON_DATA_SPECIES2); + u32 personality = GetCurrentBoxMonData(position, MON_DATA_PERSONALITY); + + if (species != SPECIES_NONE) + { + const u8 *iconGfx = GetMonIconPtr(species, personality, 1); + u8 index = GetValidMonIconPalIndex(species) + 8; + + BlitBitmapRectToWindow4BitTo8Bit(sPSSData->field_2200, + iconGfx, + 0, + 0, + 32, + 32, + 24 * arg0, + 24 * arg1, + 32, + 32, + index); + } +} + +static void sub_80D0834(u8 arg0, u8 arg1) +{ + u8 position = arg0 + (6 * arg1); + u16 species = GetCurrentBoxMonData(position, MON_DATA_SPECIES2); + + if (species != SPECIES_NONE) + { + FillWindowPixelRect8Bit(sPSSData->field_2200, + 0, + 24 * arg0, + 24 * arg1, + 32, + 32); + } +} + +static void sub_80D0884(u16 arg0, u16 arg1, u16 arg2) +{ + sMoveMonsPtr->bgX = arg0; + sMoveMonsPtr->bgY = arg1; + sMoveMonsPtr->field_10 = arg2; +} + +static u8 sub_80D0894(void) +{ + if (sMoveMonsPtr->field_10 != 0) + { + ChangeBgX(0, sMoveMonsPtr->bgX, 1); + ChangeBgY(0, sMoveMonsPtr->bgY, 1); + sMoveMonsPtr->field_10--; + } + + return sMoveMonsPtr->field_10; +} + +static void sub_80D08CC(void) +{ + s32 i, j, r8, r9; + s32 rowCount, columnCount; + u8 boxId; + u8 monArrayId; + + sMoveMonsPtr->minRow = min(sMoveMonsPtr->fromRow, sMoveMonsPtr->toRow); + sMoveMonsPtr->minColumn = min(sMoveMonsPtr->fromColumn, sMoveMonsPtr->toColumn); + sMoveMonsPtr->rowsTotal = abs(sMoveMonsPtr->fromRow - sMoveMonsPtr->toRow) + 1; + sMoveMonsPtr->columsTotal = abs(sMoveMonsPtr->fromColumn - sMoveMonsPtr->toColumn) + 1; + boxId = StorageGetCurrentBox(); + monArrayId = 0; + rowCount = sMoveMonsPtr->minRow + sMoveMonsPtr->rowsTotal; + columnCount = sMoveMonsPtr->minColumn + sMoveMonsPtr->columsTotal; + for (i = sMoveMonsPtr->minColumn; i < columnCount; i++) + { + u8 boxPosition = (IN_BOX_ROWS * i) + sMoveMonsPtr->minRow; + for (j = sMoveMonsPtr->minRow; j < rowCount; j++) + { + struct BoxPokemon *boxMon = GetBoxedMonPtr(boxId, boxPosition); + + sMoveMonsPtr->boxMons[monArrayId] = *boxMon; + monArrayId++; + boxPosition++; + } + } +} + +static void sub_80D09A4(void) +{ + s32 i, j; + s32 rowCount = sMoveMonsPtr->minRow + sMoveMonsPtr->rowsTotal; + s32 columnCount = sMoveMonsPtr->minColumn + sMoveMonsPtr->columsTotal; + u8 boxId = StorageGetCurrentBox(); + + for (i = sMoveMonsPtr->minColumn; i < columnCount; i++) + { + u8 boxPosition = (IN_BOX_ROWS * i) + sMoveMonsPtr->minRow; + for (j = sMoveMonsPtr->minRow; j < rowCount; j++) + { + DestroyBoxMonIconAtPosition(boxPosition); + ZeroBoxMonAt(boxId, boxPosition); + boxPosition++; + } + } +} + +static void sub_80D0A1C(void) +{ + s32 i, j; + s32 rowCount = sMoveMonsPtr->minRow + sMoveMonsPtr->rowsTotal; + s32 columnCount = sMoveMonsPtr->minColumn + sMoveMonsPtr->columsTotal; + u8 monArrayId = 0; + + for (i = sMoveMonsPtr->minColumn; i < columnCount; i++) + { + u8 boxPosition = (IN_BOX_ROWS * i) + sMoveMonsPtr->minRow; + for (j = sMoveMonsPtr->minRow; j < rowCount; j++) + { + if (GetBoxMonData(&sMoveMonsPtr->boxMons[monArrayId], MON_DATA_SANITY_HAS_SPECIES)) + sub_80CB140(boxPosition); + monArrayId++; + boxPosition++; + } + } +} + +static void sub_80D0AAC(void) +{ + s32 i, j; + s32 rowCount = sMoveMonsPtr->minRow + sMoveMonsPtr->rowsTotal; + s32 columnCount = sMoveMonsPtr->minColumn + sMoveMonsPtr->columsTotal; + u8 boxId = StorageGetCurrentBox(); + u8 monArrayId = 0; + + for (i = sMoveMonsPtr->minColumn; i < columnCount; i++) + { + u8 boxPosition = (IN_BOX_ROWS * i) + sMoveMonsPtr->minRow; + for (j = sMoveMonsPtr->minRow; j < rowCount; j++) + { + if (GetBoxMonData(&sMoveMonsPtr->boxMons[monArrayId], MON_DATA_SANITY_HAS_SPECIES)) + SetBoxMonAt(boxId, boxPosition, &sMoveMonsPtr->boxMons[monArrayId]); + boxPosition++; + monArrayId++; + } + } +} + +static void sub_80D0B5C(void) +{ + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + SetBgAttribute(0, 4, 0); + ClearGpuRegBits(REG_OFFSET_BG0CNT, BGCNT_256COLOR); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); + CopyBgTilemapBufferToVram(0); +} + +static u8 sub_80D0BA4(void) +{ + return (IN_BOX_ROWS * sMoveMonsPtr->fromColumn) + sMoveMonsPtr->fromRow; +} + +static bool8 sub_80D0BC0(void) +{ + s32 i, j; + s32 rowCount = sMoveMonsPtr->minRow + sMoveMonsPtr->rowsTotal; + s32 columnCount = sMoveMonsPtr->minColumn + sMoveMonsPtr->columsTotal; + u8 monArrayId = 0; + + for (i = sMoveMonsPtr->minColumn; i < columnCount; i++) + { + u8 boxPosition = (IN_BOX_ROWS * i) + sMoveMonsPtr->minRow; + for (j = sMoveMonsPtr->minRow; j < rowCount; j++) + { + if (GetBoxMonData(&sMoveMonsPtr->boxMons[monArrayId], MON_DATA_SANITY_HAS_SPECIES) + && GetCurrentBoxMonData(boxPosition, MON_DATA_SANITY_HAS_SPECIES)) + return FALSE; + + monArrayId++; + boxPosition++; + } + } + + return TRUE; +} + +static const u32 gUnknown_0857BB24[] = INCBIN_U32("graphics/pokemon_storage/unknown_frame.4bpp"); + +static const struct OamData sOamData_857BBA4 = +{ + .y = 0, + .affineMode = 1, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AffineAnimCmd sSpriteAffineAnim_857BBAC[] = +{ + AFFINEANIMCMD_FRAME(128, 128, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_857BBBC[] = +{ + AFFINEANIMCMD_FRAME(88, 88, 0, 0), + AFFINEANIMCMD_FRAME(5, 5, 0, 8), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_857BBD4[] = +{ + AFFINEANIMCMD_FRAME(128, 128, 0, 0), + AFFINEANIMCMD_FRAME(-5, -5, 0, 8), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_857BBEC[] = +{ + AFFINEANIMCMD_FRAME(128, 128, 0, 0), + AFFINEANIMCMD_FRAME(10, 10, 0, 12), + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_857BC0C[] = +{ + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(-10, -10, 0, 12), + AFFINEANIMCMD_FRAME(128, 128, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_857BC2C[] = +{ + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(-5, -5, 0, 16), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_857BC44[] = +{ + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_857BC44[] = +{ + sSpriteAffineAnim_857BBAC, + sSpriteAffineAnim_857BBBC, + sSpriteAffineAnim_857BBD4, + sSpriteAffineAnim_857BBEC, + sSpriteAffineAnim_857BC0C, + sSpriteAffineAnim_857BC2C, + sSpriteAffineAnim_857BC44 +}; + +static const struct SpriteTemplate gSpriteTemplate_857BC70 = +{ + .tileTag = TAG_TILE_7, + .paletteTag = TAG_PAL_DACB, + .oam = &sOamData_857BBA4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_857BC44, + .callback = SpriteCallbackDummy, +}; + +static void sub_80D0C60(void) +{ + s32 i; + u8 spriteId; + struct CompressedSpriteSheet spriteSheet; + struct SpriteTemplate spriteTemplate; + + if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) + { + spriteSheet.data = gUnknown_03000F78; + spriteSheet.size = 0x200; + spriteTemplate = gSpriteTemplate_857BC70; + + for (i = 0; i < 3; i++) + { + spriteSheet.tag = TAG_TILE_7 + i; + LoadCompressedSpriteSheet(&spriteSheet); + sPSSData->field_2204[i].tiles = GetSpriteTileStartByTag(spriteSheet.tag) * 32 + (void*)(OBJ_VRAM0); + sPSSData->field_2204[i].palIndex = AllocSpritePalette(TAG_PAL_DACB + i); + sPSSData->field_2204[i].palIndex *= 16; + sPSSData->field_2204[i].palIndex += 0x100; + spriteTemplate.tileTag = TAG_TILE_7 + i; + spriteTemplate.paletteTag = TAG_PAL_DACB + i; + spriteId = CreateSprite(&spriteTemplate, 0, 0, 11); + sPSSData->field_2204[i].sprite = &gSprites[spriteId]; + sPSSData->field_2204[i].sprite->invisible = TRUE; + sPSSData->field_2204[i].unk10 = 0; + } + } + sPSSData->movingItem = 0; +} + +// The functions below handle new features of MOVE_ITEMS box option. +static bool32 sub_80D1324(u8 cursorArea, u8 cursorPos); +static const u32 *GetItemIconPic(u16 itemId); +static const u32 *GetItemIconPalette(u16 itemId); +static u8 sub_80D12E8(void); +static void sub_80D140C(u8 id, u8 cursorArea, u8 cursorPos); +static void sub_80D1524(u8 id, const u32 *itemTiles, const u32 *itemPal); +static void sub_80D15D4(u8 id, u8 animNum); +static void sub_80D1740(u8 id, bool8 arg1); +static u8 sub_80D1370(u8 cursorArea, u8 cursorPos); +static void sub_80D1604(u8 id, u8 arg1, u8 arg2, u8 arg3); +static void sub_80D1AD8(struct Sprite *sprite); +static void sub_80D1A48(struct Sprite *sprite); +static void sub_80D1A74(struct Sprite *sprite); +static void sub_80D1B14(struct Sprite *sprite); +static void sub_80D1B94(struct Sprite *sprite); +static void sub_80D1CCC(struct Sprite *sprite); +static void sub_80D1C30(struct Sprite *sprite); + +static void sub_80D0D8C(u8 cursorArea, u8 cursorPos) +{ + u16 heldItem; + + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + return; + if (sub_80D1324(cursorArea, cursorPos)) + return; + + switch (cursorArea) + { + case CURSOR_AREA_IN_BOX: + if (!GetCurrentBoxMonData(cursorPos, MON_DATA_SANITY_HAS_SPECIES)) + return; + heldItem = GetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM); + break; + case CURSOR_AREA_IN_PARTY: + if (cursorPos >= PARTY_SIZE || !GetMonData(&gPlayerParty[cursorPos], MON_DATA_SANITY_HAS_SPECIES)) + return; + heldItem = GetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM); + break; + default: + return; + } + + if (heldItem != 0) + { + const u32 *tiles = GetItemIconPic(heldItem); + const u32 *pal = GetItemIconPalette(heldItem); + u8 id = sub_80D12E8(); + + sub_80D140C(id, cursorArea, cursorPos); + sub_80D1524(id, tiles, pal); + sub_80D15D4(id, 1); + sub_80D1740(id, TRUE); + } +} + +static void sub_80D0E50(u8 cursorArea, u8 cursorPos) +{ + u8 id; + + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + return; + + id = sub_80D1370(cursorArea, cursorPos); + sub_80D15D4(id, 2); + sub_80D1604(id, 0, cursorArea, cursorPos); +} + +static void Item_FromMonToMoving(u8 cursorArea, u8 cursorPos) +{ + u8 id; + u16 item; + + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + return; + + id = sub_80D1370(cursorArea, cursorPos); + item = 0; + sub_80D15D4(id, 3); + sub_80D1604(id, 1, cursorArea, cursorPos); + sub_80D140C(id, 2, 0); + if (cursorArea == CURSOR_AREA_IN_BOX) + { + SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &item); + SetBoxMonIconObjMode(cursorPos, 1); + } + else + { + SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &item); + SetPartyMonIconObjMode(cursorPos, 1); + } + + sPSSData->movingItem = sPSSData->cursorMonItem; +} + +static void sub_80D0F38(u16 item) +{ + const u32 *tiles = GetItemIconPic(item); + const u32 *pal = GetItemIconPalette(item); + u8 id = sub_80D12E8(); + + sub_80D1524(id, tiles, pal); + sub_80D15D4(id, 6); + sub_80D1604(id, 1, 0, 0); + sub_80D140C(id, 2, 0); + sub_80D1740(id, TRUE); + sPSSData->movingItem = item; +} + +static void Item_SwitchMonsWithMoving(u8 cursorArea, u8 cursorPos) +{ + u8 id; + u16 item; + + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + return; + + id = sub_80D1370(cursorArea, cursorPos); + sub_80D15D4(id, 3); + sub_80D1604(id, 3, 2, 0); + if (cursorArea == CURSOR_AREA_IN_BOX) + { + item = GetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM); + SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &sPSSData->movingItem); + sPSSData->movingItem = item; + } + else + { + item = GetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM); + SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &sPSSData->movingItem); + sPSSData->movingItem = item; + } + + id = sub_80D1370(2, 0); + sub_80D15D4(id, 4); + sub_80D1604(id, 4, cursorArea, cursorPos); +} + +static void Item_GiveMovingToMon(u8 cursorArea, u8 cursorPos) +{ + u8 id; + + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + return; + + id = sub_80D1370(2, 0); + sub_80D15D4(id, 4); + sub_80D1604(id, 2, cursorArea, cursorPos); + if (cursorArea == CURSOR_AREA_IN_BOX) + { + SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &sPSSData->movingItem); + SetBoxMonIconObjMode(cursorPos, 0); + } + else + { + SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &sPSSData->movingItem); + SetPartyMonIconObjMode(cursorPos, 0); + } +} + +static void Item_TakeMons(u8 cursorArea, u8 cursorPos) +{ + u8 id; + u16 item; + + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + return; + + item = 0; + id = sub_80D1370(cursorArea, cursorPos); + sub_80D15D4(id, 2); + sub_80D1604(id, 0, cursorArea, cursorPos); + if (cursorArea == CURSOR_AREA_IN_BOX) + { + SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &item); + SetBoxMonIconObjMode(cursorPos, 1); + } + else + { + SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &item); + SetPartyMonIconObjMode(cursorPos, 1); + } +} + +static void sub_80D1194(void) +{ + if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) + { + u8 id = sub_80D1370(2, 0); + sub_80D15D4(id, 5); + sub_80D1604(id, 0, 2, 0); + } +} + +static void sub_80D11CC(void) +{ + s32 i; + + if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) + return; + + for (i = 0; i < 3; i++) + { + if (sPSSData->field_2204[i].unk10 && sPSSData->field_2204[i].unk8 == 1) + sub_80D1604(i, 7, 2, 0); + } +} + +static bool8 sub_80D1218(void) +{ + s32 i; + + for (i = 0; i < 3; i++) + { + if (sPSSData->field_2204[i].unk10) + { + if (!sPSSData->field_2204[i].sprite->affineAnimEnded && sPSSData->field_2204[i].sprite->affineAnimBeginning) + return TRUE; + if (sPSSData->field_2204[i].sprite->callback != SpriteCallbackDummy && sPSSData->field_2204[i].sprite->callback != sub_80D1AD8) + return TRUE; + } + } + + return FALSE; +} + +static bool8 IsActiveItemMoving(void) +{ + s32 i; + + if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) + { + for (i = 0; i < 3; i++) + { + if (sPSSData->field_2204[i].unk10 && sPSSData->field_2204[i].unk8 == 2) + return TRUE; + } + } + + return FALSE; +} + +static const u8 *GetMovingItemName(void) +{ + return ItemId_GetName(sPSSData->movingItem); +} + +static u16 GetMovingItem(void) +{ + return sPSSData->movingItem; +} + +static u8 sub_80D12E8(void) +{ + u8 i; + + for (i = 0; i < 3; i++) + { + if (sPSSData->field_2204[i].unk10 == 0) + { + sPSSData->field_2204[i].unk10 = 1; + return i; + } + } + + return 3; +} + +static bool32 sub_80D1324(u8 cursorArea, u8 cursorPos) +{ + s32 i; + + for (i = 0; i < 3; i++) + { + if (sPSSData->field_2204[i].unk10 + && sPSSData->field_2204[i].unk8 == cursorArea + && sPSSData->field_2204[i].unk9 == cursorPos) + return TRUE; + } + + return FALSE; +} + +static u8 sub_80D1370(u8 cursorArea, u8 cursorPos) +{ + u8 i; + + for (i = 0; i < 3; i++) + { + if (sPSSData->field_2204[i].unk10 + && sPSSData->field_2204[i].unk8 == cursorArea + && sPSSData->field_2204[i].unk9 == cursorPos) + return i; + } + + return 3; +} + +static u8 sub_80D13C4(struct Sprite *sprite) +{ + u8 i; + + for (i = 0; i < 3; i++) + { + if (sPSSData->field_2204[i].unk10 + && sPSSData->field_2204[i].sprite == sprite) + return i; + } + + return 3; +} + +static void sub_80D140C(u8 id, u8 cursorArea, u8 cursorPos) +{ + u8 row, column; + + if (id >= 3) + return; + + switch (cursorArea) + { + case CURSOR_AREA_IN_BOX: + row = cursorPos % IN_BOX_ROWS; + column = cursorPos / IN_BOX_ROWS; + sPSSData->field_2204[id].sprite->pos1.x = (24 * row) + 112; + sPSSData->field_2204[id].sprite->pos1.y = (24 * column) + 56; + sPSSData->field_2204[id].sprite->oam.priority = 2; + break; + case CURSOR_AREA_IN_PARTY: + if (cursorPos == 0) + { + sPSSData->field_2204[id].sprite->pos1.x = 116; + sPSSData->field_2204[id].sprite->pos1.y = 76; + } + else + { + sPSSData->field_2204[id].sprite->pos1.x = 164; + sPSSData->field_2204[id].sprite->pos1.y = 24 * (cursorPos - 1) + 28; + } + sPSSData->field_2204[id].sprite->oam.priority = 1; + break; + } + + sPSSData->field_2204[id].unk8 = cursorArea; + sPSSData->field_2204[id].unk9 = cursorPos; +} + +static void sub_80D1524(u8 id, const u32 *itemTiles, const u32 *itemPal) +{ + s32 i; + + if (id >= 3) + return; + + CpuFastFill(0, sPSSData->field_42C4, 0x200); + LZ77UnCompWram(itemTiles, sPSSData->field_22C4); + for (i = 0; i < 3; i++) + CpuFastCopy(sPSSData->field_22C4 + (i * 0x60), sPSSData->field_42C4 + (i * 0x80), 0x60); + + CpuFastCopy(sPSSData->field_42C4, sPSSData->field_2204[id].tiles, 0x200); + LZ77UnCompWram(itemPal, sPSSData->field_42C4); + LoadPalette(sPSSData->field_42C4, sPSSData->field_2204[id].palIndex, 0x20); +} + +static void sub_80D15D4(u8 id, u8 animNum) +{ + if (id >= 3) + return; + + StartSpriteAffineAnim(sPSSData->field_2204[id].sprite, animNum); +} + +static void sub_80D1604(u8 id, u8 arg1, u8 arg2, u8 arg3) +{ + if (id >= 3) + return; + + switch (arg1) + { + case 0: + sPSSData->field_2204[id].sprite->data[0] = id; + sPSSData->field_2204[id].sprite->callback = sub_80D1A48; + break; + case 1: + sPSSData->field_2204[id].sprite->data[0] = 0; + sPSSData->field_2204[id].sprite->callback = sub_80D1A74; + break; + case 2: + sPSSData->field_2204[id].sprite->data[0] = 0; + sPSSData->field_2204[id].sprite->data[6] = arg2; + sPSSData->field_2204[id].sprite->data[7] = arg3; + sPSSData->field_2204[id].sprite->callback = sub_80D1B14; + break; + case 3: + sPSSData->field_2204[id].sprite->data[0] = 0; + sPSSData->field_2204[id].sprite->callback = sub_80D1B94; + sPSSData->field_2204[id].sprite->data[6] = arg2; + sPSSData->field_2204[id].sprite->data[7] = arg3; + break; + case 4: + sPSSData->field_2204[id].sprite->data[0] = 0; + sPSSData->field_2204[id].sprite->data[6] = arg2; + sPSSData->field_2204[id].sprite->data[7] = arg3; + sPSSData->field_2204[id].sprite->callback = sub_80D1C30; + break; + case 7: + sPSSData->field_2204[id].sprite->callback = sub_80D1CCC; + break; + } +} + +static void sub_80D1740(u8 id, bool8 arg1) +{ + if (id >= 3) + return; + + sPSSData->field_2204[id].unk10 = arg1; + sPSSData->field_2204[id].sprite->invisible = (arg1 == FALSE); +} + +static const u32 *GetItemIconPic(u16 itemId) +{ + return GetItemIconPicOrPalette(itemId, 0); +} + +static const u32 *GetItemIconPalette(u16 itemId) +{ + return GetItemIconPicOrPalette(itemId, 1); +} + +static void PrintItemDescription(void) +{ + const u8 *description; + + if (IsActiveItemMoving()) + description = ItemId_GetDescription(sPSSData->movingItem); + else + description = ItemId_GetDescription(sPSSData->cursorMonItem); + + FillWindowPixelBuffer(2, 0x11); + AddTextPrinterParameterized5(2, 1, description, 4, 0, 0, NULL, 0, 1); +} + +static void sub_80D1818(void) +{ + sPSSData->field_2236 = 0x15; + LoadBgTiles(0, gUnknown_0857BB24, 0x80, 0x13A); + sub_80D19B4(0); +} + +static bool8 sub_80D184C(void) +{ + s32 i, var; + + if (sPSSData->field_2236 == 0) + return FALSE; + + sPSSData->field_2236--; + var = 0x15 - sPSSData->field_2236; + for (i = 0; i < var; i++) + { + WriteSequenceToBgTilemapBuffer(0, GetBgAttribute(0, 10) + 0x14 + sPSSData->field_2236 + i, i, 13, 1, 7, 15, 21); + } + + sub_80D19B4(var); + return (sPSSData->field_2236 != 0); +} + +static bool8 sub_80D18E4(void) +{ + s32 i, var; + + if (sPSSData->field_2236 == 0x16) + return FALSE; + + if (sPSSData->field_2236 == 0) + FillBgTilemapBufferRect(0, 0, 21, 12, 1, 9, 17); + + sPSSData->field_2236++; + var = 0x15 - sPSSData->field_2236; + for (i = 0; i < var; i++) + { + WriteSequenceToBgTilemapBuffer(0, GetBgAttribute(0, 10) + 0x14 + sPSSData->field_2236 + i, i, 13, 1, 7, 15, 21); + } + + if (var >= 0) + sub_80D19B4(var); + + FillBgTilemapBufferRect(0, 0, var + 1, 12, 1, 9, 0x11); + schedule_bg_copy_tilemap_to_vram(0); + return TRUE; +} + +static void sub_80D19B4(u32 arg0) +{ + if (arg0 != 0) + { + FillBgTilemapBufferRect(0, 0x13A, 0, 0xC, arg0, 1, 0xFu); + FillBgTilemapBufferRect(0, 0x93A, 0, 0x14, arg0, 1, 0xFu); + } + FillBgTilemapBufferRect(0, 0x13B, arg0, 0xD, 1, 7, 0xFu); + FillBgTilemapBufferRect(0, 0x13C, arg0, 0xC, 1, 1, 0xFu); + FillBgTilemapBufferRect(0, 0x13D, arg0, 0x14, 1, 1, 0xFu); + schedule_bg_copy_tilemap_to_vram(0); +} + +static void sub_80D1A48(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + { + sub_80D1740(sprite->data[0], FALSE); + sprite->callback = SpriteCallbackDummy; + } +} + +static void sub_80D1A74(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->data[1] = sprite->pos1.x << 4; + sprite->data[2] = sprite->pos1.y << 4; + sprite->data[3] = 10; + sprite->data[4] = 21; + sprite->data[5] = 0; + sprite->data[0]++; + case 1: + sprite->data[1] -= sprite->data[3]; + sprite->data[2] -= sprite->data[4]; + sprite->pos1.x = sprite->data[1] >> 4; + sprite->pos1.y = sprite->data[2] >> 4; + if (++sprite->data[5] > 11) + sprite->callback = sub_80D1AD8; + break; + } +} + +static void sub_80D1AD8(struct Sprite *sprite) +{ + sprite->pos1.x = sPSSData->field_CB4->pos1.x + 4; + sprite->pos1.y = sPSSData->field_CB4->pos1.y + sPSSData->field_CB4->pos2.y + 8; + sprite->oam.priority = sPSSData->field_CB4->oam.priority; +} + +static void sub_80D1B14(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->data[1] = sprite->pos1.x << 4; + sprite->data[2] = sprite->pos1.y << 4; + sprite->data[3] = 10; + sprite->data[4] = 21; + sprite->data[5] = 0; + sprite->data[0]++; + case 1: + sprite->data[1] += sprite->data[3]; + sprite->data[2] += sprite->data[4]; + sprite->pos1.x = sprite->data[1] >> 4; + sprite->pos1.y = sprite->data[2] >> 4; + if (++sprite->data[5] > 11) + { + sub_80D140C(sub_80D13C4(sprite), sprite->data[6], sprite->data[7]); + sprite->callback = SpriteCallbackDummy; + } + break; + } +} + +static void sub_80D1B94(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->data[1] = sprite->pos1.x << 4; + sprite->data[2] = sprite->pos1.y << 4; + sprite->data[3] = 10; + sprite->data[4] = 21; + sprite->data[5] = 0; + sprite->data[0]++; + case 1: + sprite->data[1] -= sprite->data[3]; + sprite->data[2] -= sprite->data[4]; + sprite->pos1.x = sprite->data[1] >> 4; + sprite->pos1.y = sprite->data[2] >> 4; + sprite->pos2.x = gSineTable[sprite->data[5] * 8] >> 4; + if (++sprite->data[5] > 11) + { + sub_80D140C(sub_80D13C4(sprite), sprite->data[6], sprite->data[7]); + sprite->pos2.x = 0; + sprite->callback = sub_80D1AD8; + } + break; + } +} + +static void sub_80D1C30(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->data[1] = sprite->pos1.x << 4; + sprite->data[2] = sprite->pos1.y << 4; + sprite->data[3] = 10; + sprite->data[4] = 21; + sprite->data[5] = 0; + sprite->data[0]++; + case 1: + sprite->data[1] += sprite->data[3]; + sprite->data[2] += sprite->data[4]; + sprite->pos1.x = sprite->data[1] >> 4; + sprite->pos1.y = sprite->data[2] >> 4; + sprite->pos2.x = -(gSineTable[sprite->data[5] * 8] >> 4); + if (++sprite->data[5] > 11) + { + sub_80D140C(sub_80D13C4(sprite), sprite->data[6], sprite->data[7]); + sprite->callback = SpriteCallbackDummy; + sprite->pos2.x = 0; + } + break; + } +} + +static void sub_80D1CCC(struct Sprite *sprite) +{ + sprite->pos1.y -= 8; + if (sprite->pos1.y + sprite->pos2.y < -16) + { + sprite->callback = SpriteCallbackDummy; + sub_80D1740(sub_80D13C4(sprite), FALSE); + } +} + +void nullsub_pss(void) +{ + +} + +void nullsub_98(void) +{ + +} + +// Functions here are general utility functions. +u8 StorageGetCurrentBox(void) +{ + return gPokemonStoragePtr->currentBox; +} + +static void SetCurrentBox(u8 boxId) +{ + if (boxId < TOTAL_BOXES_COUNT) + gPokemonStoragePtr->currentBox = boxId; +} + +u32 GetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request) +{ + if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT) + return GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], request); + else + return 0; +} + +void SetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, const void *value) +{ + if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT) + SetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], request, value); +} + +u32 GetCurrentBoxMonData(u8 boxPosition, s32 request) +{ + return GetBoxMonDataAt(gPokemonStoragePtr->currentBox, boxPosition, request); +} + +void SetCurrentBoxMonData(u8 boxPosition, s32 request, const void *value) +{ + SetBoxMonDataAt(gPokemonStoragePtr->currentBox, boxPosition, request, value); +} + +void GetBoxMonNickAt(u8 boxId, u8 boxPosition, u8 *dst) +{ + if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT) + GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_NICKNAME, dst); + else + *dst = EOS; +} + +u32 GetBoxMonLevelAt(u8 boxId, u8 boxPosition) +{ + u32 lvl; + + // BUG: Missed 'else' statement. + if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT && GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SANITY_HAS_SPECIES)) + lvl = GetLevelFromBoxMonExp(&gPokemonStoragePtr->boxes[boxId][boxPosition]); + // else + lvl = 0; + + return lvl; +} + +void SetBoxMonNickAt(u8 boxId, u8 boxPosition, const u8 *nick) +{ + if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT) + SetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_NICKNAME, nick); +} + +u32 GetAndCopyBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, void *dst) +{ + if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT) + return GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], request, dst); + else + return 0; +} + +void SetBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *src) +{ + if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT) + gPokemonStoragePtr->boxes[boxId][boxPosition] = *src; +} + +void CopyBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *dst) +{ + if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT) + *dst = gPokemonStoragePtr->boxes[boxId][boxPosition]; +} + +void CreateBoxMonAt(u8 boxId, u8 boxPosition, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 personality, u8 otIDType, u32 otID) +{ + if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT) + { + CreateBoxMon(&gPokemonStoragePtr->boxes[boxId][boxPosition], + species, + level, + fixedIV, + hasFixedPersonality, personality, + otIDType, otID); + } +} + +void ZeroBoxMonAt(u8 boxId, u8 boxPosition) +{ + if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT) + ZeroBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition]); +} + +void BoxMonAtToMon(u8 boxId, u8 boxPosition, struct Pokemon *dst) +{ + if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT) + BoxMonToMon(&gPokemonStoragePtr->boxes[boxId][boxPosition], dst); +} + +struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 boxPosition) +{ + if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT) + return &gPokemonStoragePtr->boxes[boxId][boxPosition]; + else + return NULL; +} + +u8 *GetBoxNamePtr(u8 boxId) +{ + if (boxId < TOTAL_BOXES_COUNT) + return gPokemonStoragePtr->boxNames[boxId]; + else + return NULL; +} + +u8 GetBoxWallpaper(u8 boxId) +{ + if (boxId < TOTAL_BOXES_COUNT) + return gPokemonStoragePtr->boxWallpapers[boxId]; + else + return 0; +} + +void SetBoxWallpaper(u8 boxId, u8 wallpaperId) +{ + if (boxId < TOTAL_BOXES_COUNT && wallpaperId < WALLPAPER_COUNT) + gPokemonStoragePtr->boxWallpapers[boxId] = wallpaperId; +} + +s16 sub_80D214C(struct BoxPokemon *boxMons, u8 currIndex, u8 maxIndex, u8 arg3) +{ + s16 i; + s16 adder = -1; + + if (arg3 < 2) + adder = 1; + + if (arg3 == 1 || arg3 == 3) + { + for (i = (s8)currIndex + adder; i >= 0 && i <= maxIndex; i += adder) + { + if (GetBoxMonData(&boxMons[i], MON_DATA_SPECIES) != SPECIES_NONE) + return i; + } + } + else + { + for (i = (s8)currIndex + adder; i >= 0 && i <= maxIndex; i += adder) + { + if (GetBoxMonData(&boxMons[i], MON_DATA_SPECIES) != SPECIES_NONE + && !GetBoxMonData(&boxMons[i], MON_DATA_IS_EGG)) + return i; + } + } + + return -1; +} + +bool8 CheckFreePokemonStorageSpace(void) +{ + s32 i, j; + + for (i = 0; i < TOTAL_BOXES_COUNT; i++) + { + for (j = 0; j < IN_BOX_COUNT; j++) + { + if (!GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_HAS_SPECIES)) + return TRUE; + } + } + + return FALSE; +} + +bool32 CheckBoxMonSanityAt(u32 boxId, u32 boxPosition) +{ + if (boxId < TOTAL_BOXES_COUNT + && boxPosition < IN_BOX_COUNT + && GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SANITY_HAS_SPECIES) + && !GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SANITY_IS_EGG) + && !GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SANITY_IS_BAD_EGG)) + return TRUE; + else + return FALSE; +} + +u32 CountStorageNonEggMons(void) +{ + s32 i, j; + u32 count = 0; + + for (i = 0; i < TOTAL_BOXES_COUNT; i++) + { + for (j = 0; j < IN_BOX_COUNT; j++) + { + if (GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_HAS_SPECIES) + && !GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_IS_EGG)) + count++; + } + } + + return count; +} + +u32 CountAllStorageMons(void) +{ + s32 i, j; + u32 count = 0; + + for (i = 0; i < TOTAL_BOXES_COUNT; i++) + { + for (j = 0; j < IN_BOX_COUNT; j++) + { + if (GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_HAS_SPECIES) + || GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_IS_EGG)) + count++; + } + } + + return count; +} + +bool32 AnyStorageMonWithMove(u16 moveId) +{ + u16 moves[] = {moveId, MOVES_COUNT}; + s32 i, j; + + for (i = 0; i < TOTAL_BOXES_COUNT; i++) + { + for (j = 0; j < IN_BOX_COUNT; j++) + { + if (GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_HAS_SPECIES) + && !GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_IS_EGG) + && GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_KNOWN_MOVES, moves)) + return TRUE; + } + } + + return FALSE; +} + +void ResetWaldaWallpaper(void) +{ + gSaveBlock1Ptr->waldaPhrase.iconId = 0; + gSaveBlock1Ptr->waldaPhrase.patternId = 0; + gSaveBlock1Ptr->waldaPhrase.patternUnlocked = FALSE; + gSaveBlock1Ptr->waldaPhrase.colors[0] = RGB(21, 25, 30); + gSaveBlock1Ptr->waldaPhrase.colors[1] = RGB(6, 12, 24); + gSaveBlock1Ptr->waldaPhrase.text[0] = EOS; +} + +void SetWaldaWallpaperLockedOrUnlocked(bool32 unlocked) +{ + gSaveBlock1Ptr->waldaPhrase.patternUnlocked = unlocked; +} + +bool32 IsWaldaWallpaperUnlocked(void) +{ + return gSaveBlock1Ptr->waldaPhrase.patternUnlocked; +} + +u32 GetWaldaWallpaperPatternId(void) +{ + return gSaveBlock1Ptr->waldaPhrase.patternId; +} + +void SetWaldaWallpaperPatternId(u8 id) +{ + if (id < FRIENDS_WALLPAPERS_COUNT) + gSaveBlock1Ptr->waldaPhrase.patternId = id; +} + +u32 GetWaldaWallpaperIconId(void) +{ + return gSaveBlock1Ptr->waldaPhrase.iconId; +} + +void SetWaldaWallpaperIconId(u8 id) +{ + if (id < 30) + gSaveBlock1Ptr->waldaPhrase.iconId = id; +} + +u16 *GetWaldaWallpaperColorsPtr(void) +{ + return gSaveBlock1Ptr->waldaPhrase.colors; +} + +void SetWaldaWallpaperColors(u16 color1, u16 color2) +{ + gSaveBlock1Ptr->waldaPhrase.colors[0] = color1; + gSaveBlock1Ptr->waldaPhrase.colors[1] = color2; +} + +u8 *GetWaldaPhrasePtr(void) +{ + return gSaveBlock1Ptr->waldaPhrase.text; +} + +void SetWaldaPhrase(const u8 *src) +{ + StringCopy(gSaveBlock1Ptr->waldaPhrase.text, src); +} + +bool32 IsWaldaPhraseEmpty(void) +{ + return (gSaveBlock1Ptr->waldaPhrase.text[0] == EOS); +} + +// Not sure what the purpose of these functions is. +// They seem to only be called while PSS is initialized. + +EWRAM_DATA static struct UnkStruct_2039D84 *gUnknown_02039D84 = NULL; +EWRAM_DATA static u16 gUnknown_02039D88 = 0; + +static void sub_80D259C(u8 count) +{ + u16 i; + + gUnknown_02039D84 = Alloc(sizeof(*gUnknown_02039D84) * count); + gUnknown_02039D88 = (gUnknown_02039D84 == NULL) ? 0 : count; + for (i = 0; i < gUnknown_02039D88; i++) + { + gUnknown_02039D84[i].field_18 = NULL; + gUnknown_02039D84[i].field_2C = 0; + } +} + +static void sub_80D25F0(void) +{ + Free(gUnknown_02039D84); +} + +static void sub_80D2604(void) +{ + s32 i; + + for (i = 0; i < gUnknown_02039D88; i++) + { + if (gUnknown_02039D84[i].field_2C == 1) + sub_80D2918(i); + } +} + +struct +{ + u16 a; + u16 b; +} +static const sUnkVars[][4] = +{ + { + {0x0100, 0x0100}, + {0x0200, 0x0100}, + {0x0100, 0x0200}, + {0x0200, 0x0200}, + }, + { + {0x0080, 0x0080}, + {0x0100, 0x0100}, + {0x0200, 0x0200}, + {0x0400, 0x0400}, + }, +}; + +static void sub_80D2644(u8 id, u8 bg, const void *arg2, u16 arg3, u16 arg4) +{ + u16 attribute1, attribute2; + + if (id >= gUnknown_02039D88) + return; + + gUnknown_02039D84[id].field_18 = NULL; + gUnknown_02039D84[id].field_1C = arg2; + gUnknown_02039D84[id].field_2B = bg; + gUnknown_02039D84[id].field_24 = arg3; + gUnknown_02039D84[id].field_26 = arg4; + + attribute1 = GetBgAttribute(bg, 3); + attribute2 = GetBgAttribute(bg, 9); + gUnknown_02039D84[id].field_20 = sUnkVars[attribute2][attribute1].a; + gUnknown_02039D84[id].field_22 = sUnkVars[attribute2][attribute1].b; + if (attribute2 != 0) + gUnknown_02039D84[id].field_2A = 1; + else + gUnknown_02039D84[id].field_2A = 2; + + gUnknown_02039D84[id].field_28 = gUnknown_02039D84[id].field_2A * arg3; + gUnknown_02039D84[id].field_0[1].field_4 = arg3; + gUnknown_02039D84[id].field_0[1].field_6 = arg4; + gUnknown_02039D84[id].field_0[1].field_0 = 0; + gUnknown_02039D84[id].field_0[1].field_2 = 0; + gUnknown_02039D84[id].field_0[1].field_8 = 0; + gUnknown_02039D84[id].field_0[1].field_A = 0; + gUnknown_02039D84[id].field_0[0] = gUnknown_02039D84[id].field_0[1]; + gUnknown_02039D84[id].field_2C = 1; +} + +static void sub_80D2740(u8 id, const void *arg1) +{ + if (id >= gUnknown_02039D88) + return; + + gUnknown_02039D84[id].field_18 = arg1; + gUnknown_02039D84[id].field_2C = 1; +} + +static void sub_80D2770(u8 id, u16 arg1, u16 arg2) +{ + if (id >= gUnknown_02039D88) + return; + + gUnknown_02039D84[id].field_0[1].field_8 = arg1; + gUnknown_02039D84[id].field_0[1].field_A = arg2; + gUnknown_02039D84[id].field_2C = 1; +} + +static void sub_80D27AC(u8 id, u16 arg1, u16 arg2, u16 arg3, u16 arg4) +{ + if (id >= gUnknown_02039D88) + return; + + gUnknown_02039D84[id].field_0[1].field_0 = arg1; + gUnknown_02039D84[id].field_0[1].field_2 = arg2; + gUnknown_02039D84[id].field_0[1].field_4 = arg3; + gUnknown_02039D84[id].field_0[1].field_6 = arg4; + gUnknown_02039D84[id].field_2C = 1; +} + +static void sub_80D27F4(u8 id, u8 arg1, s8 arg2) +{ + if (id >= gUnknown_02039D88) + return; + + switch (arg1) + { + case 0: + gUnknown_02039D84[id].field_0[1].field_8 += arg2; + gUnknown_02039D84[id].field_0[1].field_4 -= arg2; + break; + case 1: + gUnknown_02039D84[id].field_0[1].field_0 += arg2; + gUnknown_02039D84[id].field_0[1].field_4 += arg2; + break; + case 2: + gUnknown_02039D84[id].field_0[1].field_A += arg2; + gUnknown_02039D84[id].field_0[1].field_6 -= arg2; + break; + case 3: + gUnknown_02039D84[id].field_0[1].field_2 -= arg2; + gUnknown_02039D84[id].field_0[1].field_6 += arg2; + break; + case 4: + gUnknown_02039D84[id].field_0[1].field_8 += arg2; + break; + case 5: + gUnknown_02039D84[id].field_0[1].field_A += arg2; + break; + } + + gUnknown_02039D84[id].field_2C = 1; +} + +static void sub_80D2918(u8 id) +{ + if (id >= gUnknown_02039D88) + return; + + if (gUnknown_02039D84[id].field_18 != NULL) + sub_80D2960(id); + + sub_80D29F8(id); + gUnknown_02039D84[id].field_0[0] = gUnknown_02039D84[id].field_0[1]; +} + +static void sub_80D2960(u8 id) +{ + s32 i; + u32 adder = gUnknown_02039D84[id].field_2A * gUnknown_02039D84[id].field_20; + const void *tiles = (gUnknown_02039D84[id].field_18 + (adder * gUnknown_02039D84[id].field_0[0].field_A)) + + (gUnknown_02039D84[id].field_2A * gUnknown_02039D84[id].field_0[0].field_8); + + for (i = 0; i < gUnknown_02039D84[id].field_0[0].field_6; i++) + { + CopyToBgTilemapBufferRect(gUnknown_02039D84[id].field_2B, + tiles, + gUnknown_02039D84[id].field_0[0].field_8, + gUnknown_02039D84[id].field_0[0].field_A + i, + gUnknown_02039D84[id].field_0[0].field_4, + 1); + tiles += adder; + } +} + +static void sub_80D29F8(u8 id) +{ + s32 i; + u32 adder = gUnknown_02039D84[id].field_2A * gUnknown_02039D84[id].field_24; + const void *tiles = (gUnknown_02039D84[id].field_1C + (adder * gUnknown_02039D84[id].field_0[1].field_2)) + + (gUnknown_02039D84[id].field_2A * gUnknown_02039D84[id].field_0[1].field_0); + + for (i = 0; i < gUnknown_02039D84[id].field_0[1].field_6; i++) + { + CopyToBgTilemapBufferRect(gUnknown_02039D84[id].field_2B, + tiles, + gUnknown_02039D84[id].field_0[1].field_8, + gUnknown_02039D84[id].field_0[1].field_A + i, + gUnknown_02039D84[id].field_0[1].field_4, + 1); + tiles += adder; + } +} + +EWRAM_DATA static struct UnkStruct_2000020 *gUnknown_02039D8C = NULL; + +static void sub_80D2A90(struct UnkStruct_2000020 *arg0, struct UnkStruct_2000028 *arg1, u32 arg2) +{ + gUnknown_02039D8C = arg0; + arg0->unk_00 = arg1; + arg0->unk_05 = arg2; + arg0->unk_04 = 0; +} + +static void sub_80D2AA4(void) +{ + u16 i; + + if (gUnknown_02039D8C->unk_04) + { + for (i = 0; i < gUnknown_02039D8C->unk_04; i++) + { + struct UnkStruct_2000028 *unkStruct = &gUnknown_02039D8C->unk_00[i]; + unkStruct->unk_0c(unkStruct); + } + + gUnknown_02039D8C->unk_04 = 0; + } +} + +static bool8 sub_80D2AEC(u8 *dest, u16 dLeft, u16 dTop, const u8 *src, u16 sLeft, u16 sTop, u16 width, u16 height, u16 unkArg) +{ + struct UnkStruct_2000028 *unkStruct; + + if (gUnknown_02039D8C->unk_04 >= gUnknown_02039D8C->unk_05) + return FALSE; + + unkStruct = &gUnknown_02039D8C->unk_00[gUnknown_02039D8C->unk_04++]; + unkStruct->unk_08 = width * 2; + unkStruct->unk_04 = dest + 2 * (dTop * 32 + dLeft); + unkStruct->unk_00 = src + 2 * (sTop * unkArg + sLeft); + unkStruct->newField = height; + unkStruct->unk_0a = unkArg; + unkStruct->unk_0c = sub_80D2B88; + return TRUE; +} + +static void sub_80D2B88(struct UnkStruct_2000028 *unkStruct) +{ + u16 i; + + for (i = 0; i < unkStruct->newField; i++) + { + CpuSet(unkStruct->unk_00, unkStruct->unk_04, (unkStruct->unk_08 / 2)); + unkStruct->unk_04 += 64; + unkStruct->unk_00 += (unkStruct->unk_0a * 2); + } +} + +static bool8 sub_80D2BC0(void *dest, u16 dLeft, u16 dTop, u16 width, u16 height) +{ + struct UnkStruct_2000028 *unkStruct; + + if (gUnknown_02039D8C->unk_04 >= gUnknown_02039D8C->unk_05) + return FALSE; + + unkStruct = &gUnknown_02039D8C->unk_00[gUnknown_02039D8C->unk_04++]; + unkStruct->unk_08 = width * 2; + unkStruct->unk_04 = dest + ((dTop * 32) + dLeft) * 2; + unkStruct->newField = height; + unkStruct->unk_0c = sub_80D2C1C; + return TRUE; +} + +static void sub_80D2C1C(struct UnkStruct_2000028 *unkStruct) +{ + u16 i; + + for (i = 0; i < unkStruct->newField; i++) + { + Dma3FillLarge_(0, unkStruct->unk_04, unkStruct->unk_08, 16); + unkStruct->unk_04 += 64; + } +} diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 4fb20c72b..e6714e2a8 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -5,6 +5,7 @@ #include "frontier_util.h" #include "battle_message.h" #include "battle_tent.h" +#include "battle_factory.h" #include "bg.h" #include "contest.h" #include "contest_effect.h" @@ -45,8 +46,6 @@ #include "constants/songs.h" #include "constants/species.h" -extern bool8 sub_81A6BF4(void); - static EWRAM_DATA struct UnkSummaryStruct { /*0x00*/ union { @@ -129,7 +128,6 @@ struct UnkStruct_61CC04 }; // forward declarations -bool8 sub_81B1250(void); static bool8 SummaryScreen_LoadGraphics(void); static void SummaryScreen_LoadingCB2(void); static void InitBGs(void); @@ -238,8 +236,6 @@ static void sub_81C4568(u8 a, u8 b); static u8 sub_81C45F4(struct Pokemon *a, s16 *b); static u8 sub_81C47B4(struct Pokemon *unused); static void sub_81C4844(struct Sprite *); -void SummaryScreen_SetUnknownTaskId(u8 a); -void SummaryScreen_DestroyUnknownTask(void); static void sub_81C48F0(void); static void CreateMonMarkingsSprite(struct Pokemon *mon); static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon); @@ -1005,7 +1001,7 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, pssData->maxMonIndex = maxMonIndex; pssData->callback = callback; - if (mode == PSS_MODE_UNK2) + if (mode == PSS_MODE_BOX) pssData->isBoxMon = TRUE; else pssData->isBoxMon = FALSE; @@ -1013,7 +1009,7 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, switch (mode) { case PSS_MODE_NORMAL: - case PSS_MODE_UNK2: + case PSS_MODE_BOX: pssData->minPageIndex = 0; pssData->maxPageIndex = 3; break; @@ -1255,23 +1251,23 @@ static bool8 SummaryScreen_DecompressGraphics(void) pssData->unk40F0++; break; case 7: - LoadCompressedObjectPic(&sSpriteSheet_MoveTypes); + LoadCompressedSpriteSheet(&sSpriteSheet_MoveTypes); pssData->unk40F0++; break; case 8: - LoadCompressedObjectPic(&gUnknown_0861D074); + LoadCompressedSpriteSheet(&gUnknown_0861D074); pssData->unk40F0++; break; case 9: - LoadCompressedObjectPic(&gUnknown_0861D0F8); + LoadCompressedSpriteSheet(&gUnknown_0861D0F8); pssData->unk40F0++; break; case 10: - LoadCompressedObjectPalette(&gUnknown_0861D100); + LoadCompressedSpritePalette(&gUnknown_0861D100); pssData->unk40F0++; break; case 11: - LoadCompressedObjectPalette(&gUnknown_0861D07C); + LoadCompressedSpritePalette(&gUnknown_0861D07C); pssData->unk40F0++; break; case 12: @@ -1310,7 +1306,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a) sum->altAbility = GetMonData(a, MON_DATA_ALT_ABILITY); sum->item = GetMonData(a, MON_DATA_HELD_ITEM); sum->pid = GetMonData(a, MON_DATA_PERSONALITY); - sum->sanity = GetMonData(a, MON_DATA_SANITY_BIT1); + sum->sanity = GetMonData(a, MON_DATA_SANITY_IS_BAD_EGG); if (sum->sanity) sum->isEgg = TRUE; @@ -1327,7 +1323,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a) sum->ppBonuses = GetMonData(a, MON_DATA_PP_BONUSES); break; case 2: - if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE) + if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_BOX || pssData->unk40EF == TRUE) { sum->nature = GetNature(a); sum->currentHP = GetMonData(a, MON_DATA_HP); @@ -1500,7 +1496,7 @@ static void sub_81C0604(u8 taskId, s8 a) } r4_2 = sub_80D214C(pssData->monList.boxMons, pssData->curMonIndex, pssData->maxMonIndex, a); } - else if (sub_81B1250() == 1) + else if (IsMultiBattle() == TRUE) { r4_2 = sub_81C09B4(a); } @@ -2147,7 +2143,7 @@ static void sub_81C174C(u8 taskId) static bool8 sub_81C18A8(void) { - if (pssData->firstMoveIndex == MAX_MON_MOVES || pssData->newMove == MOVE_NONE || sub_81B6D14(pssData->summary.moves[pssData->firstMoveIndex]) != 1) + if (pssData->firstMoveIndex == MAX_MON_MOVES || pssData->newMove == MOVE_NONE || IsMoveHm(pssData->summary.moves[pssData->firstMoveIndex]) != 1) return TRUE; else return FALSE; @@ -3254,7 +3250,7 @@ static void PrintHeldItemName(void) const u8 *text; int offset; - if (pssData->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == TRUE && (pssData->curMonIndex == 1 || pssData->curMonIndex == 4 || pssData->curMonIndex == 5)) + if (pssData->summary.item == ITEM_ENIGMA_BERRY && IsMultiBattle() == TRUE && (pssData->curMonIndex == 1 || pssData->curMonIndex == 4 || pssData->curMonIndex == 5)) { text = ItemId_GetName(ITEM_ENIGMA_BERRY); } @@ -3829,7 +3825,7 @@ static u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) { if (gMonSpritesGfxPtr != NULL) { - if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE) + if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_BOX || pssData->unk40EF == TRUE) { HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); } @@ -3840,7 +3836,7 @@ static u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) } else { - if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE) + if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_BOX || pssData->unk40EF == TRUE) { HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid); } @@ -3854,7 +3850,7 @@ static u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) return -1; case 1: pal = GetMonSpritePalStructFromOtIdPersonality(summary->species2, summary->OTID, summary->pid); - LoadCompressedObjectPalette(pal); + LoadCompressedSpritePalette(pal); SetMultiuseSpriteTemplateToPokemon(pal->tag, 1); (*a1)++; return -1; diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c index 934972b7c..fe5e1089e 100644 --- a/src/post_battle_event_funcs.c +++ b/src/post_battle_event_funcs.c @@ -50,8 +50,8 @@ int GameClear(void) ribbonCounts[i].partyIndex = i; ribbonCounts[i].count = 0; - if (GetMonData(mon, MON_DATA_SANITY_BIT2) - && !GetMonData(mon, MON_DATA_SANITY_BIT3) + if (GetMonData(mon, MON_DATA_SANITY_HAS_SPECIES) + && !GetMonData(mon, MON_DATA_SANITY_IS_EGG) && !GetMonData(mon, MON_DATA_CHAMPION_RIBBON)) { u8 val[1] = {TRUE}; diff --git a/src/psychic.c b/src/psychic.c index efd15f746..371c24ce8 100644 --- a/src/psychic.c +++ b/src/psychic.c @@ -1,18 +1,33 @@ #include "global.h" #include "battle_anim.h" +#include "gpu_regs.h" +#include "palette.h" +#include "sound.h" +#include "scanline_effect.h" +#include "trig.h" #include "constants/rgb.h" +#include "constants/songs.h" -extern void sub_80A77C8(struct Sprite *); -extern void sub_810F1EC(struct Sprite *); -extern void sub_810F1EC(struct Sprite *); -extern void sub_810F58C(struct Sprite *); -extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *); -extern void sub_810F634(struct Sprite *); -extern void sub_810F6B0(struct Sprite *); -extern void sub_810FBA8(struct Sprite *); -extern void sub_810FDF0(struct Sprite *); -extern void sub_80A77C8(struct Sprite *); -extern void sub_8110240(struct Sprite *); +void sub_810F1EC(struct Sprite *); +void sub_810F58C(struct Sprite *); +void sub_810F634(struct Sprite *); +void sub_810F6B0(struct Sprite *); +void sub_810FBA8(struct Sprite *); +void sub_810FDF0(struct Sprite *); +void sub_8110240(struct Sprite *); +static void sub_810F340(struct Sprite *); +static void sub_810F3C8(struct Sprite *); +static void sub_810F400(struct Sprite *); +static void sub_810F46C(struct Sprite *); +static void sub_810F524(struct Sprite *); +static void sub_810F740(struct Sprite *); +static void sub_810F774(struct Sprite *); +static void sub_810F810(u8); +static void sub_810F898(u8); +static void sub_810F9D4(u8); +static void sub_810FD3C(u8); +static void sub_810FF34(u8); +static void sub_8110134(u8); const union AffineAnimCmd gUnknown_0859652C[] = { @@ -403,3 +418,744 @@ const struct SpriteTemplate gUnknown_08596920 = .affineAnims = gUnknown_08596918, .callback = sub_8110240, }; + +void sub_810F1EC(struct Sprite *sprite) +{ + u8 isContest = IsContest(); + + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER || isContest) + { + sprite->oam.priority = 2; + sprite->subpriority = 200; + } + + if (!isContest) + { + u8 battlerCopy; + u8 battler = battlerCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + u8 rank = GetBattlerSpriteBGPriorityRank(battler); + int var0 = 1; + u8 toBG_2 = (rank ^ var0) != 0; + + if (IsBattlerSpriteVisible(battler)) + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); + + battler = BATTLE_PARTNER(battlerCopy); + if (IsBattlerSpriteVisible(battler)) + MoveBattlerSpriteToBG(battler, toBG_2 ^ var0, FALSE); + } + + if (!isContest && IsDoubleBattle()) + { + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + sprite->pos1.x = 72; + sprite->pos1.y = 80; + } + else + { + sprite->pos1.x = 176; + sprite->pos1.y = 40; + } + } + else + { + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[0] = -gBattleAnimArgs[0]; + + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1]; + } + + sprite->data[0] = 256 + IndexOfSpritePaletteTag(gBattleAnimArgs[2]) * 16; + + if (isContest) + { + sprite->pos1.y += 9; + sprite->callback = sub_810F3C8; + sprite->callback(sprite); + } + else + { + sprite->callback = sub_810F340; + } +} + +static void sub_810F340(struct Sprite *sprite) +{ + u8 battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + if (!sprite->data[7]) + { + sprite->data[7] = 1; + return; + } + + if (IsBattlerSpriteVisible(battler)) + gSprites[gBattlerSpriteIds[battler]].invisible = 1; + + battler = BATTLE_PARTNER(battler); + if (IsBattlerSpriteVisible(battler)) + gSprites[gBattlerSpriteIds[battler]].invisible = 1; + + sprite->callback = sub_810F3C8; + sprite->callback(sprite); +} + +static void sub_810F3C8(struct Sprite *sprite) +{ + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[3], 16 - sprite->data[3])); + if (sprite->data[3] == 13) + sprite->callback = sub_810F400; + else + sprite->data[3]++; +} + +static void sub_810F400(struct Sprite *sprite) +{ + u16 color; + u16 startOffset; + int i; + + if (++sprite->data[1] == 2) + { + sprite->data[1] = 0; + startOffset = sprite->data[0]; + color = gPlttBufferFaded[startOffset + 8]; + + for (i = 8; i > 0; i--) + gPlttBufferFaded[startOffset + i] = gPlttBufferFaded[startOffset + i - 1]; + + gPlttBufferFaded[startOffset + 1] = color; + + if (++sprite->data[2] == 16) + sprite->callback = sub_810F46C; + } +} + +static void sub_810F46C(struct Sprite *sprite) +{ + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[3], 16 - sprite->data[3])); + + if (--sprite->data[3] == -1) + { + if (!IsContest()) + { + u8 battlerCopy; + u8 battler = battlerCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + + if (IsBattlerSpriteVisible(battler)) + gSprites[gBattlerSpriteIds[battler]].invisible = 0; + + battler = BATTLE_PARTNER(battlerCopy); + if (IsBattlerSpriteVisible(battler)) + gSprites[gBattlerSpriteIds[battler]].invisible = 0; + } + + sprite->invisible = 1; + sprite->callback = sub_810F524; + } +} + +static void sub_810F524(struct Sprite *sprite) +{ + if (!IsContest()) + { + u8 battlerCopy; + u8 battler = battlerCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + u8 rank = GetBattlerSpriteBGPriorityRank(battler); + int var0 = 1; + u8 toBG_2 = (rank ^ var0) != 0; + + if (IsBattlerSpriteVisible(battler)) + sub_80A477C(toBG_2); + + battler = battlerCopy ^ 2; + if (IsBattlerSpriteVisible(battler)) + sub_80A477C(toBG_2 ^ var0); + } + + sprite->callback = DestroyAnimSprite; +} + +void sub_810F58C(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + int arg3 = gBattleAnimArgs[3]; + bool8 respectMonPicOffsets = FALSE; + if (arg3 == 0) + respectMonPicOffsets = TRUE; + + if (!IsContest() && IsDoubleBattle()) + { + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + sprite->pos1.x = 72 - gBattleAnimArgs[0]; + sprite->pos1.y = gBattleAnimArgs[1] + 80; + } + else + { + sprite->pos1.x = gBattleAnimArgs[0] + 176; + sprite->pos1.y = gBattleAnimArgs[1] + 40; + } + } + else + { + if (gBattleAnimArgs[2] == 0) + InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets); + else + InitSpritePosToAnimTarget(sprite, respectMonPicOffsets); + } + + sprite->data[0]++; + } + else + { + if (sprite->animEnded || sprite->affineAnimEnded) + DestroySpriteAndMatrix(sprite); + } +} + +void sub_810F634(struct Sprite *sprite) +{ + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + { + StartSpriteAnim(sprite, 1); + sprite->pos1.x -= 40; + sprite->pos1.y += 10; + sprite->data[1] = -1; + } + else + { + sprite->pos1.x += 40; + sprite->pos1.y -= 10; + sprite->data[1] = 1; + } + + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); + sprite->callback = RunStoredCallbackWhenAnimEnds; +} + +void sub_810F6B0(struct Sprite *sprite) +{ + s16 x = sub_80A861C(gBattleAnimAttacker, 1) / 2; + s16 y = sub_80A861C(gBattleAnimAttacker, 0) / -2; + + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + x = -x; + + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + x; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + y; + + if (sprite->pos1.y < 16) + sprite->pos1.y = 16; + + StoreSpriteCallbackInData6(sprite, sub_810F740); + sprite->callback = RunStoredCallbackWhenAnimEnds; +} + +static void sub_810F740(struct Sprite *sprite) +{ + sprite->oam.affineMode = 1; + sprite->affineAnims = gUnknown_08596740; + sprite->data[0] = 0; + InitSpriteAffineAnim(sprite); + sprite->callback = sub_810F774; +} + +static void sub_810F774(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (sprite->affineAnimEnded) + { + FreeOamMatrix(sprite->oam.matrixNum); + sprite->oam.affineMode = 0; + sprite->data[1] = 18; + sprite->data[0]++; + } + break; + case 1: + if (--sprite->data[1] == -1) + DestroyAnimSprite(sprite); + break; + } +} + +void sub_810F7D4(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + task->data[0] = spriteId; + PrepareAffineAnimInTaskData(task, spriteId, gUnknown_0859675C); + task->func = sub_810F810; +} + +static void sub_810F810(u8 taskId) +{ + if (!RunAffineAnimFromTaskData(&gTasks[taskId])) + DestroyAnimVisualTask(taskId); +} + +void sub_810F83C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + task->data[0] = spriteId; + task->data[1] = 0; + task->data[2] = 0; + task->data[3] = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? 4 : 8; + + PrepareAffineAnimInTaskData(task, task->data[0], gUnknown_0859677C); + task->func = sub_810F898; +} + +static void sub_810F898(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[1]) + { + case 0: + RunAffineAnimFromTaskData(task); + if (++task->data[2] > 19) + task->data[1]++; + break; + case 1: + if (task->data[3] != 0) + { + gSprites[task->data[0]].pos2.y -= 8; + task->data[3]--; + } + else + { + gSprites[task->data[0]].invisible = 1; + gSprites[task->data[0]].pos1.x = 272; + ResetSpriteRotScale(task->data[0]); + DestroyAnimVisualTask(taskId); + } + break; + } +} + +void sub_810F940(u8 taskId) +{ + u16 var0, var1; + + struct Task *task = &gTasks[taskId]; + + task->data[3] = 16; + task->data[4] = 0; + task->data[13] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + + var0 = sub_80A861C(gBattleAnimAttacker, 1) / 3; + var1 = sub_80A861C(gBattleAnimAttacker, 0) / 3; + task->data[12] = var0 > var1 ? var0 : var1; + + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); + + task->func = sub_810F9D4; +} + +static void sub_810F9D4(u8 taskId) +{ + u16 i; + u8 spriteId; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (++task->data[1] > 8) + { + task->data[1] = 0; + spriteId = CreateSprite(&gUnknown_08596794, task->data[13], task->data[14], 0); + task->data[task->data[2] + 8] = spriteId; + if (spriteId != MAX_SPRITES) + { + switch (task->data[2]) + { + case 0: + gSprites[spriteId].pos2.x = task->data[12]; + gSprites[spriteId].pos2.y = -task->data[12]; + break; + case 1: + gSprites[spriteId].pos2.x = -task->data[12]; + gSprites[spriteId].pos2.y = task->data[12]; + break; + case 2: + gSprites[spriteId].pos2.x = task->data[12]; + gSprites[spriteId].pos2.y = task->data[12]; + break; + case 3: + gSprites[spriteId].pos2.x = -task->data[12]; + gSprites[spriteId].pos2.y = -task->data[12]; + break; + } + } + + if (++task->data[2] == 5) + task->data[0]++; + } + break; + case 1: + if (task->data[1] & 1) + task->data[3]--; + else + task->data[4]++; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[3], task->data[4])); + if (++task->data[1] == 32) + { + for (i = 8; i < 13; i++) + { + if (task->data[i] != 64) + DestroySprite(&gSprites[task->data[i]]); + } + + task->data[0]++; + } + break; + case 2: + task->data[0]++; + break; + case 3: + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + DestroyAnimVisualTask(taskId); + break; + } +} + +static void sub_810FB60(struct Sprite *sprite) +{ + if (sprite->data[1] > sprite->data[0] - 10) + sprite->invisible = sprite->data[1] & 1; + + if (sprite->data[1] == sprite->data[0]) + DestroyAnimSprite(sprite); + + sprite->data[1]++; +} + +void sub_810FBA8(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + } + + sprite->data[0] = gBattleAnimArgs[1]; + sprite->callback = sub_810FB60; +} + +void sub_810FBF0(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (IsContest()) + { + if (gBattleAnimArgs[0] == 1) + { + task->data[10] = -10; + task->data[11] = sub_80A861C(gBattleAnimTarget, 5) - 8; + task->data[12] = sub_80A861C(gBattleAnimTarget, 2) + 8; + task->data[13] = sub_80A861C(gBattleAnimAttacker, 5) - 8; + task->data[14] = sub_80A861C(gBattleAnimAttacker, 2) + 8; + } + else + { + task->data[10] = 10; + task->data[11] = sub_80A861C(gBattleAnimAttacker, 4) + 8; + task->data[12] = sub_80A861C(gBattleAnimAttacker, 3) - 8; + task->data[13] = sub_80A861C(gBattleAnimTarget, 4) + 8; + task->data[14] = sub_80A861C(gBattleAnimTarget, 3) - 8; + } + } + else + { + if (gBattleAnimArgs[0] == 1) + { + task->data[10] = -10; + task->data[11] = sub_80A861C(gBattleAnimTarget, 4) + 8; + task->data[12] = sub_80A861C(gBattleAnimTarget, 2) + 8; + task->data[13] = sub_80A861C(gBattleAnimAttacker, 4) + 8; + task->data[14] = sub_80A861C(gBattleAnimAttacker, 2) + 8; + } + else + { + task->data[10] = 10; + task->data[11] = sub_80A861C(gBattleAnimAttacker, 5) - 8; + task->data[12] = sub_80A861C(gBattleAnimAttacker, 3) - 8; + task->data[13] = sub_80A861C(gBattleAnimTarget, 5) - 8; + task->data[14] = sub_80A861C(gBattleAnimTarget, 3) - 8; + } + } + + task->data[1] = 6; + task->func = sub_810FD3C; +} + +static void sub_810FD3C(u8 taskId) +{ + u8 spriteId; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (++task->data[1] > 6) + { + task->data[1] = 0; + spriteId = CreateSprite(&gUnknown_08596864, task->data[11], task->data[12], 0); + if (spriteId != 64) + { + gSprites[spriteId].data[0] = 16; + gSprites[spriteId].data[2] = task->data[13]; + gSprites[spriteId].data[4] = task->data[14]; + gSprites[spriteId].data[5] = task->data[10]; + + InitAnimArcTranslation(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], task->data[2] & 3); + } + + if (++task->data[2] == 12) + task->data[0]++; + } + break; + case 1: + if (++task->data[1] > 17) + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_810FDF0(struct Sprite *sprite) +{ + if (TranslateAnimArc(sprite)) + { + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); + } +} + +void sub_810FE14(u8 taskId) +{ + s16 i; + u8 yOffset; + struct ScanlineEffectParams scanlineParams; + struct Task *task = &gTasks[taskId]; + + yOffset = GetBattlerYCoordWithElevation(gBattleAnimTarget); + task->data[14] = yOffset - 32; + + switch (gBattleAnimArgs[0]) + { + case 0: + task->data[11] = 2; + task->data[12] = 5; + task->data[13] = 64; + task->data[15] = yOffset + 32; + break; + case 1: + task->data[11] = 2; + task->data[12] = 5; + task->data[13] = 192; + task->data[15] = yOffset + 32; + break; + case 2: + task->data[11] = 4; + task->data[12] = 4; + task->data[13] = 0; + task->data[15] = yOffset + 32; + break; + } + + if (task->data[14] < 0) + task->data[14] = 0; + + if (GetBattlerSpriteBGPriorityRank(gBattleAnimTarget) == 1) + { + task->data[10] = gBattle_BG1_X; + scanlineParams.dmaDest = ®_BG1HOFS; + } + else + { + task->data[10] = gBattle_BG2_X; + scanlineParams.dmaDest = ®_BG2HOFS; + } + + i = task->data[14]; + while (i <= task->data[14] + 64) + { + gScanlineEffectRegBuffers[0][i] = task->data[10]; + gScanlineEffectRegBuffers[1][i] = task->data[10]; + i++; + } + + scanlineParams.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; + scanlineParams.initState = 1; + scanlineParams.unused9 = 0; + ScanlineEffect_SetParams(scanlineParams); + task->func = sub_810FF34; +} + +static void sub_810FF34(u8 taskId) +{ + s16 sineIndex, i; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + sineIndex = task->data[13]; + i = task->data[14]; + while (i <= task->data[15]) + { + s16 var2 = (gSineTable[sineIndex] >> task->data[12]); + if (var2 > 0) + var2 += (task->data[1] & 3); + else if (var2 < 0) + var2 -= (task->data[1] & 3); + + gScanlineEffectRegBuffers[0][i] = task->data[10] + var2; + gScanlineEffectRegBuffers[1][i] = task->data[10] + var2; + sineIndex += task->data[11]; + i++; + } + + if (++task->data[1] > 23) + task->data[0]++; + break; + case 1: + gScanlineEffect.state = 3; + task->data[0]++; + break; + case 2: + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_8110034(u8 taskId) +{ + s16 spriteId; + s16 matrixNum; + struct Task *task = &gTasks[taskId]; + + matrixNum = AllocOamMatrix(); + if (matrixNum == 0xFF) + { + DestroyAnimVisualTask(taskId); + return; + } + + spriteId = CloneBattlerSpriteWithBlend(gBattleAnimArgs[0]); + if (spriteId < 0) + { + FreeOamMatrix(matrixNum); + DestroyAnimVisualTask(taskId); + return; + } + + gSprites[spriteId].callback = SpriteCallbackDummy; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE; + gSprites[spriteId].oam.matrixNum = matrixNum; + gSprites[spriteId].affineAnimPaused = 1; + gSprites[spriteId].subpriority++; + SetSpriteRotScale(spriteId, 256, 256, 0); + CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); + task->data[13] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + task->data[14] = matrixNum; + task->data[15] = spriteId; + task->func = sub_8110134; +} + +static void sub_8110134(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + task->data[1] += 4; + task->data[2] = 256 - (gSineTable[task->data[1]] >> 1); + SetSpriteRotScale(task->data[15], task->data[2], task->data[2], 0); + SetBattlerSpriteYOffsetFromOtherYScale(task->data[15], task->data[13]); + if (task->data[1] == 48) + task->data[0]++; + break; + case 1: + task->data[1] -= 4; + task->data[2] = 256 - (gSineTable[task->data[1]] >> 1);; + SetSpriteRotScale(task->data[15], task->data[2], task->data[2], 0); + SetBattlerSpriteYOffsetFromOtherYScale(task->data[15], task->data[13]); + if (task->data[1] == 0) + task->data[0]++; + break; + case 2: + obj_delete_but_dont_free_vram(&gSprites[task->data[15]]); + task->data[0]++; + break; + case 3: + FreeOamMatrix(task->data[14]); + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_8110240(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y); + + if (IsContest()) + sprite->pos1.y += 12; + + sprite->data[1] = 8; + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1])); + sprite->data[0]++; + break; + case 1: + if (sprite->affineAnimEnded) + { + PlaySE12WithPanning(SE_W100, BattleAnimAdjustPanning(-64)); + ChangeSpriteAffineAnim(sprite, 1); + sprite->data[0]++; + } + break; + case 2: + if (sprite->data[2]++ > 1) + { + sprite->data[2] = 0; + sprite->data[1]--; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1])); + if (sprite->data[1] == 0) + { + sprite->data[0]++; + sprite->invisible = 1; + } + } + + sprite->data[3] += 0x380; + sprite->pos2.y -= sprite->data[3] >> 8; + sprite->data[3] &= 0xFF; + break; + case 3: + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimSprite(sprite); + break; + } +} diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c index b22e1db32..94d81e30f 100644 --- a/src/rayquaza_scene.c +++ b/src/rayquaza_scene.c @@ -1528,14 +1528,14 @@ static void sub_81D706C(void) LZDecompressWram(gRaySceneClouds1_Tilemap, sRayScene->tilemapBuffers[1]); LZDecompressWram(gRaySceneClouds3_Tilemap, sRayScene->tilemapBuffers[2]); LoadCompressedPalette(gRaySceneClouds_Pal, 0, 0x40); - LoadCompressedObjectPic(&sUnknown_0862A8C4); - LoadCompressedObjectPic(&sUnknown_0862A8F8); - LoadCompressedObjectPic(&sUnknown_0862A924); - LoadCompressedObjectPic(&sUnknown_0862A9D4); - LoadCompressedObjectPic(&sUnknown_0862AA14); - LoadCompressedObjectPic(&sUnknown_0862AA34); - LoadCompressedObjectPalette(&sUnknown_0862A8CC); - LoadCompressedObjectPalette(&sUnknown_0862A9DC); + LoadCompressedSpriteSheet(&sUnknown_0862A8C4); + LoadCompressedSpriteSheet(&sUnknown_0862A8F8); + LoadCompressedSpriteSheet(&sUnknown_0862A924); + LoadCompressedSpriteSheet(&sUnknown_0862A9D4); + LoadCompressedSpriteSheet(&sUnknown_0862AA14); + LoadCompressedSpriteSheet(&sUnknown_0862AA34); + LoadCompressedSpritePalette(&sUnknown_0862A8CC); + LoadCompressedSpritePalette(&sUnknown_0862A9DC); } static void Task_DuoFightAnim(u8 taskId) @@ -1943,8 +1943,8 @@ static void sub_81D7E9C(void) LZDecompressWram(gRaySceneOvercast_Tilemap, sRayScene->tilemapBuffers[1]); LZDecompressWram(gRaySceneRayquaza_Tilemap, sRayScene->tilemapBuffers[2]); LoadCompressedPalette(gRaySceneRayquaza_Pal, 0, 0x40); - LoadCompressedObjectPic(&sUnknown_0862AA90); - LoadCompressedObjectPalette(&sUnknown_0862AA98); + LoadCompressedSpriteSheet(&sUnknown_0862AA90); + LoadCompressedSpritePalette(&sUnknown_0862AA98); } static void Task_RayTakesFlightAnim(u8 taskId) @@ -2118,9 +2118,9 @@ static void sub_81D8358(void) LoadCompressedPalette(gRaySceneOvercast2_Pal, 0, 0x40); gPlttBufferUnfaded[0] = RGB_WHITE; gPlttBufferFaded[0] = RGB_WHITE; - LoadCompressedObjectPic(&sUnknown_0862AAFC); - LoadCompressedObjectPic(&sUnknown_0862AB04); - LoadCompressedObjectPalette(&sUnknown_0862AB0C); + LoadCompressedSpriteSheet(&sUnknown_0862AAFC); + LoadCompressedSpriteSheet(&sUnknown_0862AB04); + LoadCompressedSpritePalette(&sUnknown_0862AB0C); } static void sub_81D844C(void) @@ -2489,16 +2489,16 @@ static void sub_81D8CC4(void) LZDecompressWram(gRaySceneHushBg_Tilemap, sRayScene->tilemapBuffers[0]); LZDecompressWram(gRaySceneHushRing_Map, sRayScene->tilemapBuffers[2]); LoadCompressedPalette(gRaySceneHushBg_Pal, 0, 0x60); - LoadCompressedObjectPic(&sUnknown_0862AC28); - LoadCompressedObjectPic(&sUnknown_0862AC30); - LoadCompressedObjectPic(&sUnknown_0862AC38); - LoadCompressedObjectPic(&sUnknown_0862AC40); - LoadCompressedObjectPic(&sUnknown_0862AC48); - LoadCompressedObjectPic(&sUnknown_0862AC50); - LoadCompressedObjectPalette(&sUnknown_0862AC58); - LoadCompressedObjectPalette(&sUnknown_0862AC60); - LoadCompressedObjectPalette(&sUnknown_0862AC68); - LoadCompressedObjectPalette(&sUnknown_0862AC70); + LoadCompressedSpriteSheet(&sUnknown_0862AC28); + LoadCompressedSpriteSheet(&sUnknown_0862AC30); + LoadCompressedSpriteSheet(&sUnknown_0862AC38); + LoadCompressedSpriteSheet(&sUnknown_0862AC40); + LoadCompressedSpriteSheet(&sUnknown_0862AC48); + LoadCompressedSpriteSheet(&sUnknown_0862AC50); + LoadCompressedSpritePalette(&sUnknown_0862AC58); + LoadCompressedSpritePalette(&sUnknown_0862AC60); + LoadCompressedSpritePalette(&sUnknown_0862AC68); + LoadCompressedSpritePalette(&sUnknown_0862AC70); } static void Task_RayChasesAwayAnim(u8 taskId) diff --git a/src/record_mixing.c b/src/record_mixing.c index 6d5d49265..2b497c82b 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -23,7 +23,7 @@ #include "menu.h" #include "overworld.h" #include "field_screen_effect.h" -#include "fldeff_80F9BCC.h" +#include "fldeff_misc.h" #include "script.h" #include "event_data.h" #include "lilycove_lady.h" diff --git a/src/region_map.c b/src/region_map.c index d7b53d631..4caf3147a 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -11,7 +11,6 @@ #include "overworld.h" #include "constants/flags.h" #include "event_data.h" -#include "rom6.h" #include "secret_base.h" #include "string_util.h" #include "international_string_util.h" @@ -20,6 +19,8 @@ #include "constants/songs.h" #include "m4a.h" #include "field_effect.h" +#include "field_specials.h" +#include "fldeff.h" #include "region_map.h" #include "constants/region_map_sections.h" #include "heal_location.h" diff --git a/src/rock.c b/src/rock.c index d82fbf9c4..ebf477ec1 100644 --- a/src/rock.c +++ b/src/rock.c @@ -367,16 +367,16 @@ void sub_8110AB4(struct Sprite *sprite) sprite->data[3] = 0; sprite->data[4] = 0; - sprite->callback = TranslateAnimLinearSimple; + sprite->callback = AnimTranslateLinearSimple; StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } void sub_8110B38(struct Sprite *sprite) { if (gBattleAnimArgs[6] == 0) - InitAnimSpritePos(sprite, 0); + InitSpritePosToAnimAttacker(sprite, 0); else - sub_80A6980(sprite, FALSE); + InitSpritePosToAnimTarget(sprite, FALSE); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = gBattleAnimArgs[2]; @@ -555,7 +555,7 @@ void AnimDirtParticleAcrossScreen(struct Sprite *sprite) void AnimRaiseSprite(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[4]); - InitAnimSpritePos(sprite, 0); + InitSpritePosToAnimAttacker(sprite, 0); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[2] = sprite->pos1.x; diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c index deec55c9d..066f7695c 100644 --- a/src/rom_8011DC0.c +++ b/src/rom_8011DC0.c @@ -189,7 +189,6 @@ extern u16 gUnknown_02022C3C; extern u8 gUnknown_02022C20[]; extern u8 gFieldLinkPlayerCount; extern u8 gUnknown_03005DB4; -extern u8 gSelectedOrderFromParty[]; extern struct MailStruct gUnknown_020321C0[PARTY_SIZE]; extern u8 gUnknown_02032298[2]; diff --git a/src/rom_8034C54.c b/src/rom_8034C54.c index e175ecc64..cc875bd3f 100644 --- a/src/rom_8034C54.c +++ b/src/rom_8034C54.c @@ -3,6 +3,7 @@ #include "alloc.h" #include "decompress.h" #include "main.h" +#include "battle_main.h" struct UnkStruct2 { @@ -31,8 +32,6 @@ struct UnkStruct1 struct UnkStruct2 *array; }; -extern const struct SpriteTemplate gUnknown_0831AC88; - // this file's functions static u8 sub_8035518(u8 arg0);; static void sub_8034EFC(struct UnkStruct2 *arg0); @@ -133,7 +132,7 @@ bool32 sub_8034D14(u32 id, s32 arg1, const struct UnkStruct3 *arg2) compSpriteSheet = *(struct CompressedSpriteSheet*)(arg2->spriteSheet); compSpriteSheet.size = GetDecompressedDataSize(arg2->spriteSheet->data); - gUnknown_02022E10->array[id].tileStart = LoadCompressedObjectPic(&compSpriteSheet); + gUnknown_02022E10->array[id].tileStart = LoadCompressedSpriteSheet(&compSpriteSheet); } if (gUnknown_02022E10->array[id].tileStart == 0xFFFF) diff --git a/src/save.c b/src/save.c index 4ae516fc9..905f075fb 100644 --- a/src/save.c +++ b/src/save.c @@ -5,6 +5,7 @@ #include "decompress.h" #include "load_save.h" #include "overworld.h" +#include "pokemon_storage_system.h" #include "main.h" #include "constants/game_stat.h" diff --git a/src/scrcmd.c b/src/scrcmd.c index e699bfeab..ab3af019d 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1485,7 +1485,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) StringExpandPlaceholders(gStringVar4, ptr + 6); - width = GetStringWidth(6, gStringVar4, -1) / 8; + width = GetStringWidth(6, gStringVar4, -1) / 8u; if (width > 0x1C) width = 0x1C; @@ -1713,8 +1713,7 @@ bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx) u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL); if (!species) break; - // UB: GetMonData() arguments don't match function definition - if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && pokemon_has_move(&gPlayerParty[i], moveId) == TRUE) + if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && MonKnowsMove(&gPlayerParty[i], moveId) == TRUE) { gSpecialVar_Result = i; gSpecialVar_0x8004 = species; diff --git a/src/script_menu.c b/src/script_menu.c index 2aa546288..6f16b1a8a 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -1640,27 +1640,27 @@ static void sub_80E2A94(u8 multichoiceId) { case 77: FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[GetMenuCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; case 76: FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[GetMenuCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; case 78: FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[GetMenuCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; case 79: FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[GetMenuCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; case 75: FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[GetMenuCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; case 74: FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[GetMenuCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; } } diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c index fc5a06024..2611c5c6d 100755 --- a/src/script_pokemon_util_80F87D8.c +++ b/src/script_pokemon_util_80F87D8.c @@ -36,8 +36,6 @@ extern const u16 gEventObjectPalette33[]; extern const u16 gEventObjectPalette34[]; extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern u8 gSelectedOrderFromParty[]; - static const u8 gUnknown_0858D8EC[] = { 3, 4, 5, 14 }; static void sub_80F8EE8(u8 taskId); @@ -335,7 +333,7 @@ void ShowContestEntryMonPic(void) HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality); palette = GetMonSpritePalStructFromOtIdPersonality(species, otId, personality); - LoadCompressedObjectPalette(palette); + LoadCompressedSpritePalette(palette); SetMultiuseSpriteTemplateToPokemon(species, 1); gMultiuseSpriteTemplate.paletteTag = palette->tag; spriteId = CreateSprite(&gMultiuseSpriteTemplate, (left + 1) * 8 + 32, (top * 8) + 40, 0); diff --git a/src/secret_base.c b/src/secret_base.c index 9b5685d8b..7e7b10a9a 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -16,12 +16,14 @@ #include "overworld.h" #include "fieldmap.h" #include "field_camera.h" +#include "field_specials.h" #include "field_player_avatar.h" #include "field_screen_effect.h" #include "field_weather.h" #include "event_object_movement.h" #include "field_effect.h" -#include "fldeff_80F9BCC.h" +#include "fldeff.h" +#include "fldeff_misc.h" #include "metatile_behavior.h" #include "map_name_popup.h" #include "string_util.h" @@ -32,7 +34,6 @@ #include "event_data.h" #include "battle.h" #include "battle_setup.h" -#include "rom6.h" #include "decoration.h" #include "link.h" #include "tv.h" @@ -188,7 +189,7 @@ void sub_80E8B6C(void) continue; } gSpecialVar_Result = TRUE; - VarSet(VAR_0x4054, i); + VarSet(VAR_CURRENT_SECRET_BASE, i); break; } } @@ -318,7 +319,7 @@ void sub_80E8E18(void) { gSaveBlock1Ptr->secretBases[0].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; } - VarSet(VAR_0x4054, 0); + VarSet(VAR_CURRENT_SECRET_BASE, 0); StringCopyN(gSaveBlock1Ptr->secretBases[0].trainerName, gSaveBlock2Ptr->playerName, sub_80E8DF4(gSaveBlock2Ptr->playerName)); gSaveBlock1Ptr->secretBases[0].gender = gSaveBlock2Ptr->playerGender; gSaveBlock1Ptr->secretBases[0].language = GAME_LANGUAGE; @@ -381,7 +382,7 @@ void sub_80E8FD0(u8 taskId) } break; case 1: - secretBaseRecordId = VarGet(VAR_0x4054); + secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE); if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 < 255) { gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 ++; @@ -477,7 +478,7 @@ void sub_80E9238(u8 flagIn) if (CurrentMapIsSecretBase()) { - curBaseId = VarGet(VAR_0x4054); + curBaseId = VarGet(VAR_CURRENT_SECRET_BASE); decorations = gSaveBlock1Ptr->secretBases[curBaseId].decorations; decorPos = gSaveBlock1Ptr->secretBases[curBaseId].decorationPos; for (x = 0; x < 16; x ++) @@ -520,7 +521,7 @@ void sub_80E933C(void) } else { - curBase = VarGet(VAR_0x4054); + curBase = VarGet(VAR_CURRENT_SECRET_BASE); roomDecor = gSaveBlock1Ptr->secretBases[curBase].decorations; roomDecorPos = gSaveBlock1Ptr->secretBases[curBase].decorationPos; nDecor = 16; @@ -556,7 +557,7 @@ void sub_80E933C(void) show_sprite(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); sub_808EBA8(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); sub_808F254(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - if (CurrentMapIsSecretBase() == TRUE && VarGet(VAR_0x4054) != 0) + if (CurrentMapIsSecretBase() == TRUE && VarGet(VAR_CURRENT_SECRET_BASE) != 0) { if (category == DECORCAT_DOLL) { @@ -592,7 +593,7 @@ void sub_80E9578(void) void sub_80E95D4(void) { - VarSet(VAR_OBJ_GFX_ID_F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_0x4054))]); + VarSet(VAR_OBJ_GFX_ID_F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_CURRENT_SECRET_BASE))]); } void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events) @@ -679,7 +680,7 @@ u8 *sub_80E9780(u8 *dest, u8 secretBaseRecordId) u8 *GetSecretBaseMapName(u8 *dest) { - return sub_80E9780(dest, VarGet(VAR_0x4054)); + return sub_80E9780(dest, VarGet(VAR_CURRENT_SECRET_BASE)); } void sub_80E980C(void) @@ -687,7 +688,7 @@ void sub_80E980C(void) u8 secretBaseRecordId; const u8 *src; - secretBaseRecordId = VarGet(VAR_0x4054); + secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE); src = gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName; *StringCopyN(gStringVar1, src, sub_80E8DF4(src)) = EOS; ConvertInternationalString(gStringVar1, gSaveBlock1Ptr->secretBases[secretBaseRecordId].language); @@ -827,7 +828,7 @@ u8 sub_80E9BA8(void) void sub_80E9BDC(void) { - if (sub_80E9878(VarGet(VAR_0x4054)) == TRUE) + if (sub_80E9878(VarGet(VAR_CURRENT_SECRET_BASE)) == TRUE) { gSpecialVar_Result = 1; } @@ -843,7 +844,7 @@ void sub_80E9BDC(void) void sub_80E9C2C(void) { - gSaveBlock1Ptr->secretBases[VarGet(VAR_0x4054)].sbr_field_1_6 ^= 1; + gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_6 ^= 1; FlagSet(0x10C); } @@ -1079,7 +1080,7 @@ void sub_80EA18C(u8 taskId) void task_pc_turn_off(u8 taskId) { - if (VarGet(VAR_0x4054) == 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) == 0) { ScriptContext1_SetupScript(gUnknown_0823B4E8); } @@ -1099,7 +1100,7 @@ const u8 *GetSecretBaseTrainerLoseText(void) { u8 param; - param = sub_80EA20C(VarGet(VAR_0x4054)); + param = sub_80EA20C(VarGet(VAR_CURRENT_SECRET_BASE)); if (param == 0) { return SecretBase_RedCave1_Text_274966; @@ -1148,7 +1149,7 @@ void sub_80EA2E4(void) void sub_80EA30C(void) { - gSaveBlock1Ptr->secretBases[VarGet(VAR_0x4054)].sbr_field_1_5 = gSpecialVar_Result; + gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_5 = gSpecialVar_Result; } void sub_80EA354(void) @@ -1156,7 +1157,7 @@ void sub_80EA354(void) u16 secretBaseRecordId; u8 i; - secretBaseRecordId = VarGet(VAR_0x4054); + secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE); if (!FlagGet(0x922)) { for (i = 0; i < 20; i ++) @@ -1181,7 +1182,7 @@ void sub_80EA3E4(u8 taskId) switch (data[1]) { case 0: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { gUnknown_0203A01D = TRUE; } @@ -1254,7 +1255,7 @@ void sub_80EA3E4(u8 taskId) } else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE) { - sub_80FA5E4(MapGridGetMetatileIdAt(x, y), x, y); + PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y); if (gUnknown_0203A01D == TRUE) { switch ((int)MapGridGetMetatileIdAt(x, y)) @@ -1276,7 +1277,7 @@ void sub_80EA3E4(u8 taskId) { VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x400); } - sub_80FA794(x, y); + ShatterSecretBaseBreakableDoor(x, y); } else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){ if (gUnknown_0203A01D == TRUE) { @@ -1781,7 +1782,7 @@ void sub_80EB1AC(void) VarSet(VAR_0x40ED, 0); VarSet(VAR_0x40EE, 0); VarSet(VAR_0x40EF, 0); - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40F0, TRUE); } @@ -1809,7 +1810,7 @@ void sub_80EB218(void) void sub_80EB290(void) { - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x800); } @@ -1817,7 +1818,7 @@ void sub_80EB290(void) void sub_80EB2C8(void) { - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x400); } @@ -1825,7 +1826,7 @@ void sub_80EB2C8(void) void sub_80EB300(void) { - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) & ~0x3800); VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) & ~0x001); @@ -1835,7 +1836,7 @@ void sub_80EB300(void) void sub_80EB368(void) { - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) & ~0x3800); VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) & ~0x001); @@ -1845,7 +1846,7 @@ void sub_80EB368(void) void sub_80EB3D0(void) { - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) & ~0x3800); VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) & ~0x001); @@ -1855,7 +1856,7 @@ void sub_80EB3D0(void) void sub_80EB438(void) { - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) & ~0x3800); VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) & ~0x001); @@ -1886,7 +1887,7 @@ void sub_80EB498(void) case 0x332: case 0x333: case 0x334: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x4000); } @@ -1904,7 +1905,7 @@ void sub_80EB56C(void) { case 0x28a: case 0x28b: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x40); } @@ -1927,21 +1928,21 @@ void sub_80EB56C(void) case 0x2f9: case 0x2fa: case 0x2fb: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x8); } break; case 0x22c: case 0x233: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x40); } break; case 0x288: case 0x289: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x100); } @@ -1949,7 +1950,7 @@ void sub_80EB56C(void) case 0x22d: case 0x22e: case 0x22f: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x10); } @@ -1977,7 +1978,7 @@ void sub_80EB56C(void) case 0x2cd: case 0x2ce: case 0x2cf: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x8); } @@ -2004,7 +2005,7 @@ void sub_80EB9E0(void) case 0x2be: case 0x2c3: case 0x2c6: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x8); } @@ -2042,14 +2043,14 @@ void sub_80EBB28(void) case 0x2c4: case 0x2c5: case 0x2c7: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x8); } break; case 0x280: case 0x281: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x100); } @@ -2057,7 +2058,7 @@ void sub_80EBB28(void) case 0x225: case 0x226: case 0x227: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x10); } @@ -2075,7 +2076,7 @@ void sub_80EBE7C(void) { case 0x28d: case 0x28e: - if (VarGet(VAR_0x4054) != 0) + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x4); } diff --git a/src/smokescreen.c b/src/smokescreen.c index 9b37cd234..d9780bbb6 100644 --- a/src/smokescreen.c +++ b/src/smokescreen.c @@ -14,8 +14,8 @@ u8 sub_807521C(s16 x, s16 y, u8 a3) if (GetSpriteTileStartByTag(gUnknown_0831C620.tag) == 0xFFFF) { - LoadCompressedObjectPicUsingHeap(&gUnknown_0831C620); - LoadCompressedObjectPaletteUsingHeap(&gUnknown_0831C628); + LoadCompressedSpriteSheetUsingHeap(&gUnknown_0831C620); + LoadCompressedSpritePaletteUsingHeap(&gUnknown_0831C628); } mainSpriteId = CreateInvisibleSpriteWithCallback(sub_8075370); diff --git a/src/sound.c b/src/sound.c index ba3f659cc..c63183bdc 100644 --- a/src/sound.c +++ b/src/sound.c @@ -28,7 +28,6 @@ IWRAM_DATA static u16 sFanfareCounter; // iwram common bool8 gDisableMusic; -extern u32 gBattleTypeFlags; extern struct MusicPlayerInfo gMPlayInfo_BGM; extern struct MusicPlayerInfo gMPlayInfo_SE1; extern struct MusicPlayerInfo gMPlayInfo_SE2; @@ -37,8 +36,6 @@ extern struct ToneData gCryTable[]; extern struct ToneData gCryTable2[]; extern const struct Fanfare sFanfares[]; -extern u16 SpeciesToCryId(u16); - static void Task_Fanfare(u8 taskId); static void CreateFanfareTask(void); static void Task_DuckBGMForPokemonCry(u8 taskId); diff --git a/src/start_menu.c b/src/start_menu.c index 0e52f05fb..ad7b4b6cc 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -574,13 +574,13 @@ static bool8 HandleStartMenuInput(void) if (gMain.newKeys & DPAD_UP) { PlaySE(SE_SELECT); - sStartMenuCursorPos = MoveMenuCursor(-1); + sStartMenuCursorPos = Menu_MoveCursor(-1); } if (gMain.newKeys & DPAD_DOWN) { PlaySE(SE_SELECT); - sStartMenuCursorPos = MoveMenuCursor(1); + sStartMenuCursorPos = Menu_MoveCursor(1); } if (gMain.newKeys & A_BUTTON) diff --git a/src/starter_choose.c b/src/starter_choose.c index 46aac5590..afa3fabbf 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -412,8 +412,8 @@ void CB2_ChooseStarter(void) LoadPalette(GetOverworldTextboxPalettePtr(), 0xE0, 0x20); LoadPalette(gBirchBagGrassPal, 0, 0x40); - LoadCompressedObjectPic(&gUnknown_085B1ED8[0]); - LoadCompressedObjectPic(&gUnknown_085B1EE8[0]); + LoadCompressedSpriteSheet(&gUnknown_085B1ED8[0]); + LoadCompressedSpriteSheet(&gUnknown_085B1EE8[0]); LoadSpritePalettes(gUnknown_085B1EF8); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); diff --git a/src/text.c b/src/text.c index 07c15596e..a439d3ced 100644 --- a/src/text.c +++ b/src/text.c @@ -9,12 +9,12 @@ #include "window.h" #include "text.h" #include "blit.h" +#include "menu.h" #include "dynamic_placeholder_text_util.h" extern u8 GetKeypadIconWidth(u8 keypadIconId); extern u16 Font6Func(struct TextPrinter *textPrinter); extern u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese); -extern int GetPlayerTextSpeed(); EWRAM_DATA struct TextPrinter gTempTextPrinter = {0}; EWRAM_DATA struct TextPrinter gTextPrinters[NUM_TEXT_PRINTERS] = {0}; @@ -1858,7 +1858,7 @@ u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32) return NULL; } -u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) +s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) { bool8 isJapanese; int minGlyphWidth; @@ -1868,7 +1868,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) u32 lineWidth; const u8 *bufferPointer; int glyphWidth; - u32 width; + s32 width; isJapanese = 0; minGlyphWidth = 0; @@ -2028,7 +2028,8 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) if (lineWidth > width) return lineWidth; - return width; + else + return width; } u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str) diff --git a/src/title_screen.c b/src/title_screen.c index d60e3fc0b..c6e9aa26f 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -518,9 +518,9 @@ void CB2_InitTitleScreen(void) ResetSpriteData(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 9; - LoadCompressedObjectPic(&sSpriteSheet_EmeraldVersion[0]); - LoadCompressedObjectPic(&sSpriteSheet_PressStart[0]); - LoadCompressedObjectPic(&sPokemonLogoShineSpriteSheet[0]); + LoadCompressedSpriteSheet(&sSpriteSheet_EmeraldVersion[0]); + LoadCompressedSpriteSheet(&sSpriteSheet_PressStart[0]); + LoadCompressedSpriteSheet(&sPokemonLogoShineSpriteSheet[0]); LoadPalette(gTitleScreenEmeraldVersionPal, 0x100, 0x20); LoadSpritePalette(&sSpritePalette_PressStart[0]); gMain.state = 2; diff --git a/src/trade.c b/src/trade.c index f409e0206..c2e546847 100644 --- a/src/trade.c +++ b/src/trade.c @@ -425,7 +425,7 @@ void sub_80773D0(void) gMain.state++; break; case 8: - sub_81B5D30(); + LoadHeldItemIcons(); sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28[0], 0); gMain.state++; break; @@ -611,7 +611,7 @@ void sub_8077B74(void) gMain.state++; break; case 8: - sub_81B5D30(); + LoadHeldItemIcons(); sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28[0], 0); gMain.state++; break; @@ -3333,7 +3333,7 @@ bool32 sub_807A7BC(u16 a0, u8 a1) return FALSE; } -u32 sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6) +int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6) { u8 r9 = a0.unk_01_0; u8 r2 = a0.unk_00_7; diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index f5354a1e8..5ddae218b 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -115,7 +115,7 @@ static void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 else { sCreatingSpriteTemplate.paletteTag = paletteTag; - LoadCompressedObjectPalette(GetMonSpritePalStructFromOtIdPersonality(species, otId, personality)); + LoadCompressedSpritePalette(GetMonSpritePalStructFromOtIdPersonality(species, otId, personality)); } } else @@ -128,7 +128,7 @@ static void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 else { sCreatingSpriteTemplate.paletteTag = paletteTag; - LoadCompressedObjectPalette(&gTrainerFrontPicPaletteTable[species]); + LoadCompressedSpritePalette(&gTrainerFrontPicPaletteTable[species]); } } } @@ -6,6 +6,8 @@ #include "event_data.h" #include "fieldmap.h" #include "field_camera.h" +#include "field_specials.h" +#include "fldeff.h" #include "strings.h" #include "string_util.h" #include "international_string_util.h" @@ -24,7 +26,6 @@ #include "event_scripts.h" #include "shop.h" #include "lilycove_lady.h" -#include "rom6.h" #include "pokedex.h" #include "event_object_movement.h" #include "text.h" @@ -2572,13 +2573,13 @@ void sub_80EEA70(void) show->secretBaseSecrets.flags = VarGet(0x40ee) + (VarGet(0x40ef) << 16); tv_store_id_3x(show); show->secretBaseSecrets.language = gGameLanguage; - if (show->secretBaseSecrets.language == LANGUAGE_JAPANESE || gSaveBlock1Ptr->secretBases[VarGet(VAR_0x4054)].language == LANGUAGE_JAPANESE) + if (show->secretBaseSecrets.language == LANGUAGE_JAPANESE || gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].language == LANGUAGE_JAPANESE) { show->secretBaseSecrets.baseOwnersNameLanguage = LANGUAGE_JAPANESE; } else { - show->secretBaseSecrets.baseOwnersNameLanguage = gSaveBlock1Ptr->secretBases[VarGet(VAR_0x4054)].language; + show->secretBaseSecrets.baseOwnersNameLanguage = gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].language; } } } @@ -3469,7 +3470,7 @@ void ChangeBoxPokemonNickname(void) void ChangeBoxPokemonNickname_CB(void) { - SetBoxMonNickFromAnyBox(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos, gStringVar2); + SetBoxMonNickAt(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos, gStringVar2); CB2_ReturnToFieldContinueScriptPlayMapMusic(); } diff --git a/src/unk_transition.c b/src/unk_transition.c index 18cee2544..7346e06ab 100644 --- a/src/unk_transition.c +++ b/src/unk_transition.c @@ -35,11 +35,13 @@ static bool8 sub_81DB290(struct Task *task); static bool8 sub_81DB328(struct Task *task); // const rom data -// TODO: move those from .s file to .c -extern const u32 gUnknown_0862AD54[]; -extern const u32 gUnknown_0862AF30[]; -extern const u32 gUnknown_0862B0DC[]; -extern const u16 gUnknown_0862B53C[]; +static const u32 gUnknown_0862AD54[] = INCBIN_U32("graphics/battle_transitions/frontier_transition.4bpp.lz"); +static const u32 gUnknown_0862AF30[] = INCBIN_U32("graphics/battle_transitions/frontier_transition.bin"); +static const u32 gUnknown_0862B0DC[] = INCBIN_U32("graphics/battle_transitions/frontier_transition_circles.4bpp.lz"); +static const u16 gUnknown_0862B53C[] = INCBIN_U16("graphics/battle_transitions/frontier_transition.gbapal"); + +// Unused Empty data. Feel free to delete. +static const u8 sFiller[0x1C0] = {0}; static const struct OamData sOamData_862B71C = { @@ -185,7 +187,7 @@ static void sub_81DA700(void) LZ77UnCompVram(gUnknown_0862AD54, dst2); LZ77UnCompVram(gUnknown_0862AF30, dst1); LoadPalette(gUnknown_0862B53C, 0xF0, 0x20); - LoadCompressedObjectPic(&sUnknown_0862B724); + LoadCompressedSpriteSheet(&sUnknown_0862B724); LoadSpritePalette(&sUnknown_0862B72C); } diff --git a/src/walda_phrase.c b/src/walda_phrase.c index ff2ee7399..83004777f 100644 --- a/src/walda_phrase.c +++ b/src/walda_phrase.c @@ -7,18 +7,11 @@ #include "text.h" #include "new_game.h" #include "overworld.h" +#include "pokemon_storage_system.h" +#include "field_screen_effect.h" extern const u8 gText_Peekaboo[]; -extern u8 *GetWaldaPhrasePtr(void); -extern bool32 IsWaldaPhraseEmpty(void); -extern void sub_80AF168(void); -extern void SetWaldaPhrase(const u8 *src); -extern void SetWaldaWallpaperPatternId(u8 patternId); -extern void SetWaldaWallpaperIconId(u8 iconId); -extern void SetWaldaWallpaperColors(u16 backgroundColor, u16 foregroundColor); -extern void SetWaldaWallpaperLockedOrUnlocked(bool32 unlocked); - // this file's functions static void CB2_HandleGivenWaldaPhrase(void); static u32 GetWaldaPhraseInputCase(u8 *inputPtr); diff --git a/src/wallclock.c b/src/wallclock.c index 5c8d920e7..58704c8a3 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -623,7 +623,7 @@ static void LoadWallClockGraphics(void) ResetSpriteData(); ResetPaletteFade(); FreeAllSpritePalettes(); - LoadCompressedObjectPic(&gUnknown_085B2208); + LoadCompressedSpriteSheet(&gUnknown_085B2208); LoadSpritePalettes(gUnknown_085B2218); } diff --git a/src/water.c b/src/water.c index 955526ccd..42ab1d67f 100644 --- a/src/water.c +++ b/src/water.c @@ -1,21 +1,60 @@ #include "global.h" +#include "battle.h" #include "battle_anim.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "palette.h" +#include "random.h" +#include "scanline_effect.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" +#include "util.h" +#include "constants/battle.h" #include "constants/rgb.h" extern void sub_810721C(struct Sprite *); +extern void sub_8107228(struct Sprite *); extern void sub_8107260(struct Sprite *); +extern void sub_8107380(struct Sprite *); +extern void sub_8107408(struct Sprite *); +extern void sub_8107430(struct Sprite *); extern void sub_810744C(struct Sprite *); +extern void sub_81074E4(struct Sprite *); extern void sub_81075EC(struct Sprite *); +extern void sub_8107674(struct Sprite *); extern void sub_8107730(struct Sprite *); +extern void sub_81077A4(struct Sprite *); extern void sub_81077C0(struct Sprite *); extern void sub_80A78AC(struct Sprite *); extern void sub_8107894(struct Sprite *); extern void sub_81078D0(struct Sprite *); +extern void sub_810790C(struct Sprite *); extern void sub_8108034(struct Sprite *); +extern void sub_8108098(struct Sprite *); extern void sub_810851C(struct Sprite *); +extern void sub_81087C0(struct Sprite *); +extern void sub_810886C(struct Sprite *); +extern void sub_8108B2C(struct Sprite *); +extern void sub_8108B94(struct Sprite *); extern void sub_8108BE0(struct Sprite *); +extern void sub_8108C08(struct Sprite *); extern void sub_8108C54(struct Sprite *); +extern void sub_8108CDC(struct Sprite *); extern void sub_80A8EE4(struct Sprite *); +void sub_810756C(u8); +void sub_81076F4(u8); +void sub_8107B84(u8); +void sub_8107CC4(u8); +void sub_8107D58(u8); +void sub_8108140(u8); +void sub_810862C(u8); +void sub_8108978(u8); +u8 sub_8108384(void); +void sub_8108408(struct Task*, u8); +void sub_810871C(struct Task*, u8); +void sub_8108AC0(struct Task*); +void sub_8108D54(struct Sprite*, int, int); extern const union AffineAnimCmd *const gUnknown_08593420[]; extern const union AffineAnimCmd *const gUnknown_08596208[]; @@ -440,3 +479,2149 @@ const struct SpriteTemplate gUnknown_08595328 = .affineAnims = gUnknown_085952F4, .callback = sub_80A8EE4, }; + +extern const struct SpriteTemplate gUnknown_08597388; + +void AnimTask_CreateRaindrops(u8 taskId) +{ + u8 x, y; + + if (gTasks[taskId].data[0] == 0) + { + gTasks[taskId].data[1] = gBattleAnimArgs[0]; + gTasks[taskId].data[2] = gBattleAnimArgs[1]; + gTasks[taskId].data[3] = gBattleAnimArgs[2]; + } + gTasks[taskId].data[0]++; + if (gTasks[taskId].data[0] % gTasks[taskId].data[2] == 1) + { + x = Random2() % 240; + y = Random2() % 80; + CreateSprite(&gUnknown_08595020, x, y, 4); + } + if (gTasks[taskId].data[0] == gTasks[taskId].data[3]) + DestroyAnimVisualTask(taskId); +} + +void sub_810721C(struct Sprite *sprite) +{ + sprite->callback = sub_8107228; +} + +void sub_8107228(struct Sprite *sprite) +{ + if (++sprite->data[0] <= 13) + { + sprite->pos2.x++; + sprite->pos2.y += 4; + } + if (sprite->animEnded) + DestroySprite(sprite); +} + +void sub_8107260(struct Sprite *sprite) +{ + u8 spriteId; + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1]; + sprite->animPaused = TRUE; + } + else + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1]; + sprite->animPaused = TRUE; + } + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[6]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + InitAnimLinearTranslation(sprite); + spriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); + sprite->data[5] = spriteId; + sprite->pos1.x -= Sin((u8)gBattleAnimArgs[4], gBattleAnimArgs[2]); + sprite->pos1.y -= Cos((u8)gBattleAnimArgs[4], gBattleAnimArgs[3]); + gSprites[spriteId].data[0] = gBattleAnimArgs[2]; + gSprites[spriteId].data[1] = gBattleAnimArgs[3]; + gSprites[spriteId].data[2] = gBattleAnimArgs[5]; + gSprites[spriteId].data[3] = (u8)gBattleAnimArgs[4] * 256; + gSprites[spriteId].data[4] = gBattleAnimArgs[6]; + sprite->callback = sub_8107380; + sprite->callback(sprite); +} + +void sub_8107380(struct Sprite *sprite) +{ + u8 otherSpriteId = sprite->data[5]; + u8 timer = gSprites[otherSpriteId].data[4]; + u16 trigIndex = gSprites[otherSpriteId].data[3]; + + sprite->data[0] = 1; + AnimTranslateLinear(sprite); + sprite->pos2.x += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]); + sprite->pos2.y += Cos(trigIndex >> 8, gSprites[otherSpriteId].data[1]); + gSprites[otherSpriteId].data[3] = trigIndex + gSprites[otherSpriteId].data[2]; + if (--timer != 0) + { + gSprites[otherSpriteId].data[4] = timer; + } + else + { + sprite->callback = sub_8107408; + DestroySprite(&gSprites[otherSpriteId]); + } +} + +void sub_8107408(struct Sprite *sprite) +{ + sprite->animPaused = FALSE; + sprite->callback = RunStoredCallbackWhenAnimEnds; + StoreSpriteCallbackInData6(sprite, sub_8107430); +} + +void sub_8107430(struct Sprite *sprite) +{ + sprite->data[0] = 10; + sprite->callback = WaitAnimForDuration; + StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); +} + +void sub_810744C(struct Sprite *sprite) +{ + s16 unkArg; + + InitSpritePosToAnimAttacker(sprite, TRUE); + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + unkArg = -gBattleAnimArgs[2]; + else + unkArg = gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + unkArg; + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + InitAnimLinearTranslation(sprite); + sprite->callback = sub_81074E4; + sprite->affineAnimPaused = TRUE; + sprite->callback(sprite); +} + +void sub_81074E4(struct Sprite *sprite) +{ + if ((u16)gBattleAnimArgs[ARG_RET_ID] == 0xFFFF) + { + StartSpriteAnim(sprite, 1); + sprite->affineAnimPaused = FALSE; + } + if (AnimTranslateLinear(sprite)) + DestroyAnimSprite(sprite); +} + +void sub_8107528(u8 taskId) +{ + gTasks[taskId].data[0] = gBattleAnimArgs[0]; + gTasks[taskId].data[2] = IndexOfSpritePaletteTag(ANIM_TAG_RAINBOW_RINGS) * 16 + 256; + gTasks[taskId].func = sub_810756C; +} + +#ifdef NONMATCHING +void sub_810756C(u8 taskId) +{ + int i; + u16 palIndex; + u16 *palPtr1; + u16 *palPtr2; + u16 rgbBuffer; + + if (++gTasks[taskId].data[10] == 3) + { + gTasks[taskId].data[10] = 0; + palIndex = gTasks[taskId].data[2] + 1; + palPtr1 = &gPlttBufferFaded[palIndex]; + rgbBuffer = *palPtr1; + palPtr2 = &palPtr1[1]; + for (i = 0; i < 7; i++) + palPtr1[i] = palPtr2[i]; + gPlttBufferFaded[palIndex + 7] = rgbBuffer; + } + if (++gTasks[taskId].data[11] == gTasks[taskId].data[0]) + DestroyAnimVisualTask(taskId); +} +#else +NAKED +void sub_810756C(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + ldr r1, =gTasks\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + adds r2, r0, r1\n\ + ldrh r0, [r2, 0x1C]\n\ + adds r0, 0x1\n\ + strh r0, [r2, 0x1C]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + mov r12, r1\n\ + cmp r0, 0x3\n\ + bne _081075BE\n\ + movs r0, 0\n\ + strh r0, [r2, 0x1C]\n\ + ldrh r0, [r2, 0xC]\n\ + adds r0, 0x1\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + ldr r1, =gPlttBufferFaded\n\ + lsls r0, r5, 1\n\ + adds r0, r1\n\ + ldrh r6, [r0]\n\ + adds r7, r1, 0\n\ + adds r3, r0, 0x2\n\ + movs r1, 0x6\n\ + adds r2, r0, 0\n\ +_081075A8:\n\ + ldrh r0, [r3]\n\ + strh r0, [r2]\n\ + adds r3, 0x2\n\ + adds r2, 0x2\n\ + subs r1, 0x1\n\ + cmp r1, 0\n\ + bge _081075A8\n\ + adds r0, r5, 0x7\n\ + lsls r0, 1\n\ + adds r0, r7\n\ + strh r6, [r0]\n\ +_081075BE:\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + add r0, r12\n\ + ldrh r1, [r0, 0x1E]\n\ + adds r1, 0x1\n\ + strh r1, [r0, 0x1E]\n\ + lsls r1, 16\n\ + asrs r1, 16\n\ + movs r2, 0x8\n\ + ldrsh r0, [r0, r2]\n\ + cmp r1, r0\n\ + bne _081075DE\n\ + adds r0, r4, 0\n\ + bl DestroyAnimVisualTask\n\ +_081075DE:\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); +} +#endif + +void sub_81075EC(struct Sprite *sprite) +{ + u16 retArg; + + InitSpritePosToAnimAttacker(sprite, TRUE); + sprite->data[0] = 30; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + InitAnimLinearTranslation(sprite); + sprite->data[5] = 0xD200 / sprite->data[0]; + sprite->data[7] = gBattleAnimArgs[3]; + retArg = gBattleAnimArgs[ARG_RET_ID]; + if (gBattleAnimArgs[ARG_RET_ID] > 127) + { + sprite->data[6] = (retArg - 127) * 256; + sprite->data[7] = -sprite->data[7]; + } + else + { + sprite->data[6] = retArg * 256; + } + sprite->callback = sub_8107674; + sprite->callback(sprite); +} + +void sub_8107674(struct Sprite *sprite) +{ + if (AnimTranslateLinear(sprite)) + DestroyAnimSprite(sprite); + sprite->pos2.y += Sin(sprite->data[6] >> 8, sprite->data[7]); + if ((sprite->data[6] + sprite->data[5]) >> 8 > 127) + { + sprite->data[6] = 0; + sprite->data[7] = -sprite->data[7]; + } + else + { + sprite->data[6] += sprite->data[5]; + } +} + +void sub_81076C8(u8 taskId) +{ + gTasks[taskId].data[0] = gBattleAnimArgs[0]; + gBattleAnimArgs[ARG_RET_ID] = 0; + gTasks[taskId].func = sub_81076F4; +} + +void sub_81076F4(u8 taskId) +{ + gBattleAnimArgs[ARG_RET_ID] = (gBattleAnimArgs[ARG_RET_ID] + 3) & 0xFF; + if (--gTasks[taskId].data[0] == 0) + DestroyAnimVisualTask(taskId); +} + +void sub_8107730(struct Sprite *sprite) +{ + u8 priority; + + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); + sprite->pos2.y = -10; + priority = GetBattlerSpriteSubpriority(gBattleAnimAttacker); + if (!IsContest()) + { + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + sprite->pos2.x = 10; + sprite->subpriority = priority + 2; + } + else + { + sprite->pos2.x = -10; + sprite->subpriority = priority - 2; + } + } + else + { + sprite->pos2.x = -10; + sprite->subpriority = priority + 2; + } + sprite->callback = sub_81077A4; +} + +void sub_81077A4(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + DestroyAnimSprite(sprite); +} + +void sub_81077C0(struct Sprite *sprite) +{ + bool8 animType; + u8 coordType; + if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) + { + gBattleAnimArgs[0] *= -1; + if (GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_PLAYER_LEFT || GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT) + gBattleAnimArgs[0] *= -1; + } + if ((gBattleAnimArgs[5] & 0xFF00) == 0) + animType = TRUE; + else + animType = FALSE; + if ((u8)gBattleAnimArgs[5] == 0) + coordType = 3; + else + coordType = 1; + InitSpritePosToAnimAttacker(sprite, animType); + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, coordType) + gBattleAnimArgs[3]; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +void sub_8107894(struct Sprite *sprite) +{ + InitSpritePosToAnimTarget(sprite, TRUE); + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2]; + sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[4]; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +void sub_81078D0(struct Sprite *sprite) +{ + if (gBattleAnimArgs[3]) + InitSpritePosToAnimTarget(sprite, TRUE); + else + InitSpritePosToAnimAttacker(sprite, TRUE); + sprite->data[7] = gBattleAnimArgs[2]; + sprite->callback = sub_810790C; +} + +void sub_810790C(struct Sprite *sprite) +{ + sprite->data[0] = (sprite->data[0] + 11) & 0xFF; + sprite->pos2.x = Sin(sprite->data[0], 4); + sprite->data[1] += 48; + sprite->pos2.y = -(sprite->data[1] >> 8); + if (--sprite->data[7] == -1) + DestroyAnimSprite(sprite); +} + +#ifdef NONMATCHING +void AnimTask_CreateSurfWave(u8 taskId) +{ + struct UnknownAnimStruct2 unk; + u8 taskId2; + + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); + SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1); + sub_80A6B30(&unk); + if (!IsContest()) + { + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + sub_80A6D48(unk.bgId, gUnknown_08D95E00); + else + sub_80A6D48(unk.bgId, gUnknown_08D960D0); + } + else + { + sub_80A6D60(&unk, gUnknown_08D963A4, 1); + } + sub_80A6CC0(unk.bgId, gBattleAnimBackgroundImage_Surf, unk.tilesOffset); + if (gBattleAnimArgs[0] == 0) + LoadCompressedPalette(gBattleAnimBackgroundPalette_Surf, unk.unk8 * 16, 32); + else + LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, unk.unk8 * 16, 32); + taskId2 = CreateTask(sub_8107D58, gTasks[taskId].priority + 1); + gTasks[taskId].data[15] = taskId2; + gTasks[taskId2].data[0] = 0; + gTasks[taskId2].data[1] = 0x1000; + gTasks[taskId2].data[2] = 0x1000; + if (IsContest()) + { + gBattle_BG1_X = -80; + gBattle_BG1_Y = -48; + gTasks[taskId].data[0] = 2; + gTasks[taskId].data[1] = 1; + gTasks[taskId2].data[3] = 0; + } + else if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + { + gBattle_BG1_X = -224; + gBattle_BG1_Y = 256; + gTasks[taskId].data[0] = 2; + gTasks[taskId].data[1] = -1; + gTasks[taskId2].data[3] = 1; + } + else + { + gBattle_BG1_X = 0; + gBattle_BG1_Y = -48; + gTasks[taskId].data[0] = -2; + gTasks[taskId].data[1] = 1; + gTasks[taskId2].data[3] = 0; + } + SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); + SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); + if (gTasks[taskId2].data[3] == 0) + { + gTasks[taskId2].data[4] = 48; + gTasks[taskId2].data[5] = 112; + } + else + { + gTasks[taskId2].data[4] = 0; + gTasks[taskId2].data[5] = 0; + } + gTasks[taskId].data[6] = 1; + gTasks[taskId].func = sub_8107B84; +} +#else +NAKED +void AnimTask_CreateSurfWave(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x10\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r10, r0\n\ + ldr r1, =0x00003f42\n\ + movs r0, 0x50\n\ + bl SetGpuReg\n\ + movs r1, 0x80\n\ + lsls r1, 5\n\ + movs r0, 0x52\n\ + bl SetGpuReg\n\ + movs r0, 0x1\n\ + movs r1, 0x4\n\ + movs r2, 0x1\n\ + bl SetAnimBgAttribute\n\ + movs r0, 0x1\n\ + movs r1, 0\n\ + movs r2, 0x1\n\ + bl SetAnimBgAttribute\n\ + mov r0, sp\n\ + bl sub_80A6B30\n\ + bl IsContest\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _081079E0\n\ + movs r0, 0x1\n\ + movs r1, 0x3\n\ + movs r2, 0x1\n\ + bl SetAnimBgAttribute\n\ + ldr r0, =gBattleAnimAttacker\n\ + ldrb r0, [r0]\n\ + bl GetBattlerSide\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x1\n\ + bne _081079D0\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x9]\n\ + ldr r1, =gUnknown_08D95E00\n\ + bl sub_80A6D48\n\ + b _081079EA\n\ + .pool\n\ +_081079D0:\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x9]\n\ + ldr r1, =gUnknown_08D960D0\n\ + bl sub_80A6D48\n\ + b _081079EA\n\ + .pool\n\ +_081079E0:\n\ + ldr r1, =gUnknown_08D963A4\n\ + mov r0, sp\n\ + movs r2, 0x1\n\ + bl sub_80A6D60\n\ +_081079EA:\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x9]\n\ + ldr r1, =gBattleAnimBackgroundImage_Surf\n\ + mov r2, sp\n\ + ldrh r2, [r2, 0xA]\n\ + bl sub_80A6CC0\n\ + ldr r0, =gBattleAnimArgs\n\ + movs r1, 0\n\ + ldrsh r0, [r0, r1]\n\ + cmp r0, 0\n\ + bne _08107A24\n\ + ldr r0, =gBattleAnimBackgroundPalette_Surf\n\ + mov r1, sp\n\ + ldrb r1, [r1, 0x8]\n\ + lsls r1, 4\n\ + movs r2, 0x20\n\ + bl LoadCompressedPalette\n\ + b _08107A32\n\ + .pool\n\ +_08107A24:\n\ + ldr r0, =gBattleAnimBackgroundImageMuddyWater_Pal\n\ + mov r1, sp\n\ + ldrb r1, [r1, 0x8]\n\ + lsls r1, 4\n\ + movs r2, 0x20\n\ + bl LoadCompressedPalette\n\ +_08107A32:\n\ + ldr r0, =sub_8107D58\n\ + ldr r4, =gTasks\n\ + mov r2, r10\n\ + lsls r5, r2, 2\n\ + adds r1, r5, r2\n\ + lsls r1, 3\n\ + adds r6, r1, r4\n\ + ldrb r1, [r6, 0x7]\n\ + adds r1, 0x1\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + bl CreateTask\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ + movs r0, 0\n\ + mov r9, r0\n\ + mov r1, r8\n\ + strh r1, [r6, 0x26]\n\ + mov r2, r8\n\ + lsls r0, r2, 2\n\ + add r0, r8\n\ + lsls r0, 3\n\ + adds r7, r0, r4\n\ + mov r0, r9\n\ + strh r0, [r7, 0x8]\n\ + movs r0, 0x80\n\ + lsls r0, 5\n\ + strh r0, [r7, 0xA]\n\ + strh r0, [r7, 0xC]\n\ + bl IsContest\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + cmp r4, 0\n\ + beq _08107AB4\n\ + ldr r1, =0x0000ffb0\n\ + adds r0, r1, 0\n\ + ldr r2, =gBattle_BG1_X\n\ + strh r0, [r2]\n\ + adds r1, 0x20\n\ + adds r0, r1, 0\n\ + ldr r2, =gBattle_BG1_Y\n\ + strh r0, [r2]\n\ + movs r0, 0x2\n\ + strh r0, [r6, 0x8]\n\ + movs r0, 0x1\n\ + strh r0, [r6, 0xA]\n\ + mov r0, r9\n\ + strh r0, [r7, 0xE]\n\ + b _08107B0E\n\ + .pool\n\ +_08107AB4:\n\ + ldr r0, =gBattleAnimAttacker\n\ + ldrb r0, [r0]\n\ + bl GetBattlerSide\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + cmp r1, 0x1\n\ + bne _08107AF8\n\ + ldr r2, =0x0000ff20\n\ + adds r0, r2, 0\n\ + ldr r2, =gBattle_BG1_X\n\ + strh r0, [r2]\n\ + movs r2, 0x80\n\ + lsls r2, 1\n\ + adds r0, r2, 0\n\ + ldr r2, =gBattle_BG1_Y\n\ + strh r0, [r2]\n\ + movs r0, 0x2\n\ + strh r0, [r6, 0x8]\n\ + ldr r0, =0x0000ffff\n\ + strh r0, [r6, 0xA]\n\ + strh r1, [r7, 0xE]\n\ + b _08107B0E\n\ + .pool\n\ +_08107AF8:\n\ + ldr r0, =gBattle_BG1_X\n\ + strh r4, [r0]\n\ + ldr r1, =0x0000ffd0\n\ + adds r0, r1, 0\n\ + ldr r2, =gBattle_BG1_Y\n\ + strh r0, [r2]\n\ + ldr r0, =0x0000fffe\n\ + strh r0, [r6, 0x8]\n\ + movs r0, 0x1\n\ + strh r0, [r6, 0xA]\n\ + strh r4, [r7, 0xE]\n\ +_08107B0E:\n\ + ldr r0, =gBattle_BG1_X\n\ + ldrh r1, [r0]\n\ + movs r0, 0x14\n\ + bl SetGpuReg\n\ + ldr r2, =gBattle_BG1_Y\n\ + ldrh r1, [r2]\n\ + movs r0, 0x16\n\ + bl SetGpuReg\n\ + ldr r1, =gTasks\n\ + mov r2, r8\n\ + lsls r0, r2, 2\n\ + add r0, r8\n\ + lsls r0, 3\n\ + adds r1, r0, r1\n\ + movs r2, 0xE\n\ + ldrsh r0, [r1, r2]\n\ + cmp r0, 0\n\ + bne _08107B54\n\ + movs r0, 0x30\n\ + strh r0, [r1, 0x10]\n\ + movs r0, 0x70\n\ + b _08107B58\n\ + .pool\n\ +_08107B54:\n\ + movs r0, 0\n\ + strh r0, [r1, 0x10]\n\ +_08107B58:\n\ + strh r0, [r1, 0x12]\n\ + ldr r1, =gTasks\n\ + mov r2, r10\n\ + adds r0, r5, r2\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + movs r1, 0x1\n\ + strh r1, [r0, 0x14]\n\ + ldr r1, =sub_8107B84\n\ + str r1, [r0]\n\ + add sp, 0x10\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); +} +#endif + +#ifdef NONMATCHING +void sub_8107B84(u8 taskId) +{ + struct UnknownAnimStruct2 unk; + u8 i; + u16 rgbBuffer; + u16 *BGptrX = &gBattle_BG1_X; + u16 *BGptrY = &gBattle_BG1_Y; + s16 unkUse; + u32 palOffset; + u16 palNum; + + *BGptrX += gTasks[taskId].data[0]; + *BGptrY += gTasks[taskId].data[1]; + sub_80A6B30(&unk); + gTasks[taskId].data[2] += gTasks[taskId].data[1]; + if (++gTasks[taskId].data[5] == 4) + { + rgbBuffer = gPlttBufferFaded[unk.unk8 * 16 + 7]; + for (i = 6; i != 0; i--) + { + palNum = unk.unk8 * 16; + palOffset = 1 + i; + gPlttBufferFaded[palNum + palOffset] = gPlttBufferFaded[palNum + palOffset - 1]; + } + gPlttBufferFaded[unk.unk8 * 16 + 1] = rgbBuffer; + gTasks[taskId].data[5] = 0; + } + if (++gTasks[taskId].data[6] > 1) + { + gTasks[taskId].data[6] = 0; + unkUse = ++gTasks[taskId].data[3]; + if (unkUse <= 13) + { + gTasks[gTasks[taskId].data[15]].data[1] = unkUse | ((16 - unkUse) * 256); + gTasks[taskId].data[4]++; + } + if (gTasks[taskId].data[3] > 54) + { + unkUse = --gTasks[taskId].data[4]; + gTasks[gTasks[taskId].data[15]].data[1] = unkUse | ((16 - unkUse) * 256); + } + } + if (!(gTasks[gTasks[taskId].data[15]].data[1] & 0x1F)) + { + gTasks[taskId].data[0] = gTasks[gTasks[taskId].data[15]].data[1] & 0x1F; + gTasks[taskId].func = sub_8107CC4; + } +} +#else +NAKED +void sub_8107B84(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + sub sp, 0x10\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + ldr r1, =gBattle_BG1_X\n\ + ldr r2, =gBattle_BG1_Y\n\ + ldr r0, =gTasks\n\ + lsls r4, r5, 2\n\ + adds r4, r5\n\ + lsls r4, 3\n\ + adds r4, r0\n\ + ldrh r0, [r4, 0x8]\n\ + ldrh r3, [r1]\n\ + adds r0, r3\n\ + strh r0, [r1]\n\ + ldrh r0, [r4, 0xA]\n\ + ldrh r1, [r2]\n\ + adds r0, r1\n\ + strh r0, [r2]\n\ + mov r0, sp\n\ + bl sub_80A6B30\n\ + ldrh r0, [r4, 0xA]\n\ + ldrh r3, [r4, 0xC]\n\ + adds r0, r3\n\ + strh r0, [r4, 0xC]\n\ + ldrh r0, [r4, 0x12]\n\ + adds r0, 0x1\n\ + strh r0, [r4, 0x12]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + cmp r0, 0x4\n\ + bne _08107C18\n\ + ldr r1, =gPlttBufferFaded\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x8]\n\ + lsls r0, 4\n\ + adds r0, 0x7\n\ + lsls r0, 1\n\ + adds r0, r1\n\ + ldrh r6, [r0]\n\ + movs r2, 0x6\n\ + adds r7, r1, 0\n\ + adds r3, r7, 0\n\ + mov r4, sp\n\ +_08107BDE:\n\ + ldrb r0, [r4, 0x8]\n\ + lsls r0, 4\n\ + adds r1, r2, 0x1\n\ + adds r0, r1\n\ + lsls r1, r0, 1\n\ + adds r1, r3\n\ + subs r0, 0x1\n\ + lsls r0, 1\n\ + adds r0, r3\n\ + ldrh r0, [r0]\n\ + strh r0, [r1]\n\ + subs r0, r2, 0x1\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + cmp r2, 0\n\ + bne _08107BDE\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x8]\n\ + lsls r0, 4\n\ + adds r0, 0x1\n\ + lsls r0, 1\n\ + adds r0, r7\n\ + strh r6, [r0]\n\ + ldr r1, =gTasks\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + strh r2, [r0, 0x12]\n\ +_08107C18:\n\ + ldr r1, =gTasks\n\ + lsls r2, r5, 2\n\ + adds r0, r2, r5\n\ + lsls r0, 3\n\ + adds r3, r0, r1\n\ + ldrh r0, [r3, 0x14]\n\ + adds r0, 0x1\n\ + strh r0, [r3, 0x14]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + adds r4, r1, 0\n\ + adds r6, r2, 0\n\ + cmp r0, 0x1\n\ + ble _08107C86\n\ + movs r0, 0\n\ + strh r0, [r3, 0x14]\n\ + ldrh r0, [r3, 0xE]\n\ + adds r2, r0, 0x1\n\ + strh r2, [r3, 0xE]\n\ + lsls r0, r2, 16\n\ + asrs r0, 16\n\ + cmp r0, 0xD\n\ + bgt _08107C62\n\ + movs r1, 0x26\n\ + ldrsh r0, [r3, r1]\n\ + lsls r1, r0, 2\n\ + adds r1, r0\n\ + lsls r1, 3\n\ + adds r1, r4\n\ + movs r0, 0x10\n\ + subs r0, r2\n\ + lsls r0, 8\n\ + orrs r2, r0\n\ + strh r2, [r1, 0xA]\n\ + ldrh r0, [r3, 0x10]\n\ + adds r0, 0x1\n\ + strh r0, [r3, 0x10]\n\ +_08107C62:\n\ + movs r1, 0xE\n\ + ldrsh r0, [r3, r1]\n\ + cmp r0, 0x36\n\ + ble _08107C86\n\ + ldrh r2, [r3, 0x10]\n\ + subs r2, 0x1\n\ + strh r2, [r3, 0x10]\n\ + movs r1, 0x26\n\ + ldrsh r0, [r3, r1]\n\ + lsls r1, r0, 2\n\ + adds r1, r0\n\ + lsls r1, 3\n\ + adds r1, r4\n\ + movs r0, 0x10\n\ + subs r0, r2\n\ + lsls r0, 8\n\ + orrs r2, r0\n\ + strh r2, [r1, 0xA]\n\ +_08107C86:\n\ + adds r0, r6, r5\n\ + lsls r0, 3\n\ + adds r2, r0, r4\n\ + movs r3, 0x26\n\ + ldrsh r1, [r2, r3]\n\ + lsls r0, r1, 2\n\ + adds r0, r1\n\ + lsls r0, 3\n\ + adds r0, r4\n\ + ldrh r0, [r0, 0xA]\n\ + movs r3, 0x1F\n\ + ands r3, r0\n\ + cmp r3, 0\n\ + bne _08107CA8\n\ + strh r3, [r2, 0x8]\n\ + ldr r0, =sub_8107CC4\n\ + str r0, [r2]\n\ +_08107CA8:\n\ + add sp, 0x10\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); +} +#endif + +void sub_8107CC4(u8 taskId) +{ + u16 *BGptrX = &gBattle_BG1_X; + u16 *BGptrY = &gBattle_BG1_Y; + if (gTasks[taskId].data[0] == 0) + { + sub_80A6C68(1); + sub_80A6C68(2); + gTasks[taskId].data[0]++; + } + else + { + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0); + *BGptrX = 0; + *BGptrY = 0; + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); + gTasks[gTasks[taskId].data[15]].data[15] = -1; + DestroyAnimVisualTask(taskId); + } +} + +#ifdef NONMATCHING +void sub_8107D58(u8 taskId) +{ + s16 i; + struct ScanlineEffectParams params; + struct Task *task = &gTasks[taskId]; + // u16 *scanlineBuffer; + + switch (task->data[0]) + { + case 0: + for (i = 0; i < task->data[4]; i++) + { + /* scanlineBuffer = &gScanlineEffectRegBuffers[0][i]; + *(u16 *)(&gScanlineEffect) = task->data[2]; + *scanlineBuffer = task->data[2] & -1; */ + gScanlineEffectRegBuffers[1][i] = task->data[2]; + gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[2] & 0xFFFF)); + } + for (i = task->data[4]; i < task->data[5]; i++) + { + gScanlineEffectRegBuffers[1][i] = task->data[1]; + gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[1] & 0xFFFF)); + } + for (i = task->data[5]; i < 160; i++) + { + gScanlineEffectRegBuffers[1][i] = task->data[2]; + gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[2] & 0xFFFF)); + } + if (task->data[4] == 0) + { + gScanlineEffectRegBuffers[1][i] = task->data[1]; + gScanlineEffectRegBuffers[0][i] = task->data[1]; + } + else + { + gScanlineEffectRegBuffers[1][i] = task->data[2]; + gScanlineEffectRegBuffers[0][i] = task->data[2]; + } + params.dmaDest = (vu16 *)REG_ADDR_BLDALPHA; + params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; + params.initState = 1; + params.unused9 = 0; + ScanlineEffect_SetParams(params); + task->data[0]++; + break; + case 1: + if (task->data[3] == 0) + { + if (--task->data[4] <= 0) + { + task->data[4] = 0; + task->data[0]++; + } + } + else if (++task->data[5] > 111) + { + task->data[0]++; + } + for (i = 0; i < task->data[4]; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + } + for (i = task->data[4]; i < task->data[5]; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; + } + for (i = task->data[5]; i < 160; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + } + break; + case 2: + for (i = 0; i < task->data[4]; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + } + for (i = task->data[4]; i < task->data[5]; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; + } + for (i = task->data[5]; i < 160; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + } + if (task->data[15] == -1) + { + ScanlineEffect_Stop(); + DestroyTask(taskId); + } + break; + } +} +#else +NAKED +void sub_8107D58(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + sub sp, 0xC\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ + lsls r0, r7, 2\n\ + adds r0, r7\n\ + lsls r0, 3\n\ + ldr r1, =gTasks\n\ + adds r4, r0, r1\n\ + movs r1, 0x8\n\ + ldrsh r0, [r4, r1]\n\ + cmp r0, 0x1\n\ + bne _08107D74\n\ + b _08107EAC\n\ +_08107D74:\n\ + cmp r0, 0x1\n\ + bgt _08107D84\n\ + cmp r0, 0\n\ + beq _08107D8C\n\ + b _08108022\n\ + .pool\n\ +_08107D84:\n\ + cmp r0, 0x2\n\ + bne _08107D8A\n\ + b _08107F78\n\ +_08107D8A:\n\ + b _08108022\n\ +_08107D8C:\n\ + movs r3, 0\n\ + movs r2, 0x10\n\ + ldrsh r0, [r4, r2]\n\ + ldr r1, =gScanlineEffectRegBuffers\n\ + mov r12, r1\n\ + cmp r3, r0\n\ + bge _08107DCA\n\ + mov r7, r12\n\ + movs r5, 0xF0\n\ + lsls r5, 3\n\ + add r5, r12\n\ + ldr r6, =0x0000ffff\n\ +_08107DA4:\n\ + lsls r2, r3, 16\n\ + asrs r2, 16\n\ + lsls r1, r2, 1\n\ + adds r3, r1, r7\n\ + adds r1, r5\n\ + ldrh r0, [r4, 0xC]\n\ + strh r0, [r1]\n\ + ldrh r1, [r4, 0xC]\n\ + adds r0, r6, 0\n\ + ands r0, r1\n\ + strh r0, [r3]\n\ + adds r2, 0x1\n\ + lsls r2, 16\n\ + lsrs r3, r2, 16\n\ + asrs r2, 16\n\ + movs r1, 0x10\n\ + ldrsh r0, [r4, r1]\n\ + cmp r2, r0\n\ + blt _08107DA4\n\ +_08107DCA:\n\ + ldrh r3, [r4, 0x10]\n\ + lsls r2, r3, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x12\n\ + ldrsh r0, [r4, r3]\n\ + cmp r1, r0\n\ + bge _08107E04\n\ + ldr r5, =gScanlineEffectRegBuffers\n\ + movs r0, 0xF0\n\ + lsls r0, 3\n\ + adds r6, r5, r0\n\ + ldr r7, =0x0000ffff\n\ +_08107DE2:\n\ + asrs r2, 16\n\ + lsls r1, r2, 1\n\ + adds r3, r1, r5\n\ + adds r1, r6\n\ + ldrh r0, [r4, 0xA]\n\ + strh r0, [r1]\n\ + ldrh r1, [r4, 0xA]\n\ + adds r0, r7, 0\n\ + ands r0, r1\n\ + strh r0, [r3]\n\ + adds r2, 0x1\n\ + lsls r2, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x12\n\ + ldrsh r0, [r4, r3]\n\ + cmp r1, r0\n\ + blt _08107DE2\n\ +_08107E04:\n\ + ldrh r3, [r4, 0x12]\n\ + lsls r2, r3, 16\n\ + asrs r0, r2, 16\n\ + cmp r0, 0x9F\n\ + bgt _08107E3A\n\ + ldr r5, =gScanlineEffectRegBuffers\n\ + movs r0, 0xF0\n\ + lsls r0, 3\n\ + adds r6, r5, r0\n\ + ldr r7, =0x0000ffff\n\ +_08107E18:\n\ + asrs r2, 16\n\ + lsls r1, r2, 1\n\ + adds r3, r1, r5\n\ + adds r1, r6\n\ + ldrh r0, [r4, 0xC]\n\ + strh r0, [r1]\n\ + ldrh r1, [r4, 0xC]\n\ + adds r0, r7, 0\n\ + ands r0, r1\n\ + strh r0, [r3]\n\ + adds r2, 0x1\n\ + lsls r2, 16\n\ + lsrs r3, r2, 16\n\ + lsls r2, r3, 16\n\ + asrs r0, r2, 16\n\ + cmp r0, 0x9F\n\ + ble _08107E18\n\ +_08107E3A:\n\ + movs r1, 0x10\n\ + ldrsh r0, [r4, r1]\n\ + cmp r0, 0\n\ + bne _08107E64\n\ + lsls r0, r3, 16\n\ + asrs r0, 15\n\ + mov r3, r12\n\ + adds r2, r0, r3\n\ + movs r1, 0xF0\n\ + lsls r1, 3\n\ + add r1, r12\n\ + adds r0, r1\n\ + ldrh r1, [r4, 0xA]\n\ + strh r1, [r0]\n\ + ldrh r0, [r4, 0xA]\n\ + b _08107E7A\n\ + .pool\n\ +_08107E64:\n\ + lsls r0, r3, 16\n\ + asrs r0, 15\n\ + mov r1, r12\n\ + adds r2, r0, r1\n\ + movs r1, 0xF0\n\ + lsls r1, 3\n\ + add r1, r12\n\ + adds r0, r1\n\ + ldrh r1, [r4, 0xC]\n\ + strh r1, [r0]\n\ + ldrh r0, [r4, 0xC]\n\ +_08107E7A:\n\ + strh r0, [r2]\n\ + ldr r0, =0x04000052\n\ + str r0, [sp]\n\ + ldr r0, =0xa2600001\n\ + str r0, [sp, 0x4]\n\ + mov r1, sp\n\ + movs r2, 0\n\ + movs r0, 0x1\n\ + strb r0, [r1, 0x8]\n\ + mov r0, sp\n\ + strb r2, [r0, 0x9]\n\ + ldr r0, [sp]\n\ + ldr r1, [sp, 0x4]\n\ + ldr r2, [sp, 0x8]\n\ + bl ScanlineEffect_SetParams\n\ + ldrh r0, [r4, 0x8]\n\ + adds r0, 0x1\n\ + strh r0, [r4, 0x8]\n\ + b _08108022\n\ + .pool\n\ +_08107EAC:\n\ + movs r2, 0xE\n\ + ldrsh r1, [r4, r2]\n\ + cmp r1, 0\n\ + bne _08107EC4\n\ + ldrh r0, [r4, 0x10]\n\ + subs r0, 0x1\n\ + strh r0, [r4, 0x10]\n\ + lsls r0, 16\n\ + cmp r0, 0\n\ + bgt _08107ED8\n\ + strh r1, [r4, 0x10]\n\ + b _08107ED2\n\ +_08107EC4:\n\ + ldrh r0, [r4, 0x12]\n\ + adds r0, 0x1\n\ + strh r0, [r4, 0x12]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + cmp r0, 0x6F\n\ + ble _08107ED8\n\ +_08107ED2:\n\ + ldrh r0, [r4, 0x8]\n\ + adds r0, 0x1\n\ + strh r0, [r4, 0x8]\n\ +_08107ED8:\n\ + movs r3, 0\n\ + movs r1, 0x10\n\ + ldrsh r0, [r4, r1]\n\ + cmp r3, r0\n\ + bge _08107F0C\n\ + ldr r6, =gScanlineEffectRegBuffers\n\ + ldr r5, =gScanlineEffect\n\ +_08107EE6:\n\ + lsls r1, r3, 16\n\ + asrs r1, 16\n\ + lsls r3, r1, 1\n\ + ldrb r2, [r5, 0x14]\n\ + lsls r0, r2, 4\n\ + subs r0, r2\n\ + lsls r0, 7\n\ + adds r3, r0\n\ + adds r3, r6\n\ + ldrh r0, [r4, 0xC]\n\ + strh r0, [r3]\n\ + adds r1, 0x1\n\ + lsls r1, 16\n\ + lsrs r3, r1, 16\n\ + asrs r1, 16\n\ + movs r2, 0x10\n\ + ldrsh r0, [r4, r2]\n\ + cmp r1, r0\n\ + blt _08107EE6\n\ +_08107F0C:\n\ + ldrh r3, [r4, 0x10]\n\ + lsls r2, r3, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x12\n\ + ldrsh r0, [r4, r3]\n\ + cmp r1, r0\n\ + bge _08107F40\n\ + ldr r6, =gScanlineEffectRegBuffers\n\ + ldr r5, =gScanlineEffect\n\ +_08107F1E:\n\ + asrs r3, r2, 16\n\ + lsls r2, r3, 1\n\ + ldrb r1, [r5, 0x14]\n\ + lsls r0, r1, 4\n\ + subs r0, r1\n\ + lsls r0, 7\n\ + adds r2, r0\n\ + adds r2, r6\n\ + ldrh r0, [r4, 0xA]\n\ + strh r0, [r2]\n\ + adds r3, 0x1\n\ + lsls r2, r3, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x12\n\ + ldrsh r0, [r4, r3]\n\ + cmp r1, r0\n\ + blt _08107F1E\n\ +_08107F40:\n\ + ldrh r3, [r4, 0x12]\n\ + lsls r1, r3, 16\n\ + asrs r0, r1, 16\n\ + cmp r0, 0x9F\n\ + bgt _08108022\n\ + ldr r6, =gScanlineEffectRegBuffers\n\ + ldr r5, =gScanlineEffect\n\ +_08107F4E:\n\ + asrs r3, r1, 16\n\ + lsls r2, r3, 1\n\ + ldrb r1, [r5, 0x14]\n\ + lsls r0, r1, 4\n\ + subs r0, r1\n\ + lsls r0, 7\n\ + adds r2, r0\n\ + adds r2, r6\n\ + ldrh r0, [r4, 0xC]\n\ + strh r0, [r2]\n\ + adds r3, 0x1\n\ + lsls r1, r3, 16\n\ + asrs r0, r1, 16\n\ + cmp r0, 0x9F\n\ + ble _08107F4E\n\ + b _08108022\n\ + .pool\n\ +_08107F78:\n\ + movs r3, 0\n\ + movs r1, 0x10\n\ + ldrsh r0, [r4, r1]\n\ + cmp r3, r0\n\ + bge _08107FAC\n\ + ldr r6, =gScanlineEffectRegBuffers\n\ + ldr r5, =gScanlineEffect\n\ +_08107F86:\n\ + lsls r1, r3, 16\n\ + asrs r1, 16\n\ + lsls r3, r1, 1\n\ + ldrb r2, [r5, 0x14]\n\ + lsls r0, r2, 4\n\ + subs r0, r2\n\ + lsls r0, 7\n\ + adds r3, r0\n\ + adds r3, r6\n\ + ldrh r0, [r4, 0xC]\n\ + strh r0, [r3]\n\ + adds r1, 0x1\n\ + lsls r1, 16\n\ + lsrs r3, r1, 16\n\ + asrs r1, 16\n\ + movs r2, 0x10\n\ + ldrsh r0, [r4, r2]\n\ + cmp r1, r0\n\ + blt _08107F86\n\ +_08107FAC:\n\ + ldrh r3, [r4, 0x10]\n\ + lsls r2, r3, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x12\n\ + ldrsh r0, [r4, r3]\n\ + cmp r1, r0\n\ + bge _08107FE0\n\ + ldr r6, =gScanlineEffectRegBuffers\n\ + ldr r5, =gScanlineEffect\n\ +_08107FBE:\n\ + asrs r3, r2, 16\n\ + lsls r2, r3, 1\n\ + ldrb r1, [r5, 0x14]\n\ + lsls r0, r1, 4\n\ + subs r0, r1\n\ + lsls r0, 7\n\ + adds r2, r0\n\ + adds r2, r6\n\ + ldrh r0, [r4, 0xA]\n\ + strh r0, [r2]\n\ + adds r3, 0x1\n\ + lsls r2, r3, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x12\n\ + ldrsh r0, [r4, r3]\n\ + cmp r1, r0\n\ + blt _08107FBE\n\ +_08107FE0:\n\ + ldrh r3, [r4, 0x12]\n\ + lsls r1, r3, 16\n\ + asrs r0, r1, 16\n\ + cmp r0, 0x9F\n\ + bgt _0810800C\n\ + ldr r6, =gScanlineEffectRegBuffers\n\ + ldr r5, =gScanlineEffect\n\ +_08107FEE:\n\ + asrs r3, r1, 16\n\ + lsls r2, r3, 1\n\ + ldrb r1, [r5, 0x14]\n\ + lsls r0, r1, 4\n\ + subs r0, r1\n\ + lsls r0, 7\n\ + adds r2, r0\n\ + adds r2, r6\n\ + ldrh r0, [r4, 0xC]\n\ + strh r0, [r2]\n\ + adds r3, 0x1\n\ + lsls r1, r3, 16\n\ + asrs r0, r1, 16\n\ + cmp r0, 0x9F\n\ + ble _08107FEE\n\ +_0810800C:\n\ + movs r0, 0x26\n\ + ldrsh r1, [r4, r0]\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + cmp r1, r0\n\ + bne _08108022\n\ + bl ScanlineEffect_Stop\n\ + adds r0, r7, 0\n\ + bl DestroyTask\n\ +_08108022:\n\ + add sp, 0xC\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); +} +#endif + +void sub_8108034(struct Sprite *sprite) +{ + s16 randData; + s16 randData2; + + sprite->oam.tileNum += 8; + InitSpritePosToAnimTarget(sprite, TRUE); + randData = (Random2() & 0xFF) | 256; + randData2 = (Random2() & 0x1FF); + if (randData2 > 255) + randData2 = 256 - randData2; + sprite->data[1] = randData; + sprite->data[2] = randData2; + sprite->callback = sub_8108098; +} + +void sub_8108098(struct Sprite *sprite) +{ + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + if (sprite->data[1] & 1) + sprite->pos2.x = -(sprite->data[3] >> 8); + else + sprite->pos2.x = sprite->data[3] >> 8; + sprite->pos2.y = sprite->data[4] >> 8; + if (++sprite->data[0] == 21) + DestroyAnimSprite(sprite); +} + +void sub_81080E4(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); + task->data[5] = gSprites[task->data[15]].pos1.y; + task->data[1] = sub_8108384(); + PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); + task->func = sub_8108140; +} + +void sub_8108140(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + sub_80A805C(task, task->data[15], 0x100, 0x100, 224, 0x200, 32); + task->data[0]++; + case 1: + if (++task->data[3] > 1) + { + task->data[3] = 0; + if (++task->data[4] & 1) + { + gSprites[task->data[15]].pos2.x = 3; + gSprites[task->data[15]].pos1.y++; + } + else + { + gSprites[task->data[15]].pos2.x = -3; + } + } + if (sub_80A80C8(task) == 0) + { + SetBattlerSpriteYOffsetFromYScale(task->data[15]); + gSprites[task->data[15]].pos2.x = 0; + task->data[3] = 0; + task->data[4] = 0; + task->data[0]++; + } + break; + case 2: + if (++task->data[3] > 4) + { + sub_80A805C(task, task->data[15], 224, 0x200, 384, 224, 8); + task->data[3] = 0; + task->data[0]++; + } + break; + case 3: + if (sub_80A80C8(task) == 0) + { + task->data[3] = 0; + task->data[4] = 0; + task->data[0]++; + } + break; + case 4: + sub_8108408(task, taskId); + task->data[0]++; + case 5: + if (++task->data[3] > 1) + { + task->data[3] = 0; + if (++task->data[4] & 1) + gSprites[task->data[15]].pos2.y += 2; + else + gSprites[task->data[15]].pos2.y -= 2; + if (task->data[4] == 10) + { + sub_80A805C(task, task->data[15], 384, 224, 0x100, 0x100, 8); + task->data[3] = 0; + task->data[4] = 0; + task->data[0]++; + } + } + break; + case 6: + gSprites[task->data[15]].pos1.y--; + if (sub_80A80C8(task) == 0) + { + ResetSpriteRotScale(task->data[15]); + gSprites[task->data[15]].pos1.y = task->data[5]; + task->data[4] = 0; + task->data[0]++; + } + break; + case 7: + if (task->data[2] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +u8 sub_8108384(void) +{ + u8 i; + u16 hp; + u16 maxhp; + u16 partyIndex; + struct Pokemon *slot; + + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker]; + slot = &gPlayerParty[partyIndex]; + maxhp = GetMonData(slot, MON_DATA_MAX_HP); + hp = GetMonData(slot, MON_DATA_HP); + maxhp /= 4; + } + else + { + partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker]; + slot = &gEnemyParty[partyIndex]; + maxhp = GetMonData(slot, MON_DATA_MAX_HP); + hp = GetMonData(slot, MON_DATA_HP); + maxhp /= 4; + } + for (i = 0; i < 3; i++) + { + if (hp < maxhp * (i + 1)) + return i; + } + return 3; +} + +void sub_8108408(struct Task *task, u8 taskId) +{ + s16 i; + s16 attackerCoordX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + s16 attackerCoordY = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + s16 trigIndex = 172; + u8 subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; + s16 increment = 4 - task->data[1]; + u8 spriteId; + + if (increment <= 0) + increment = 1; + for (i = 0; i < 20; i += increment) + { + spriteId = CreateSprite(&gUnknown_08595268, attackerCoordX, attackerCoordY, subpriority); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[1] = i; + gSprites[spriteId].data[2] = attackerCoordX * 16; + gSprites[spriteId].data[3] = attackerCoordY * 16; + gSprites[spriteId].data[4] = Cos(trigIndex, 64); + gSprites[spriteId].data[5] = Sin(trigIndex, 64); + gSprites[spriteId].data[6] = taskId; + gSprites[spriteId].data[7] = 2; + if (task->data[2] & 1) + sub_810851C(&gSprites[spriteId]); + task->data[2]++; + } + trigIndex = (trigIndex + increment * 2); + trigIndex &= 0xFF; + } +} + +void sub_810851C(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->data[4] += (sprite->data[1] % 6) * 3; + sprite->data[5] += (sprite->data[1] % 3) * 3; + sprite->data[0]++; + case 1: + sprite->data[2] += sprite->data[4]; + sprite->data[3] += sprite->data[5]; + sprite->pos1.x = sprite->data[2] >> 4; + sprite->pos1.y = sprite->data[3] >> 4; + if (sprite->pos1.x < -8 || sprite->pos1.x > 248 || sprite->pos1.y < -8 || sprite->pos1.y > 120) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + DestroySprite(sprite); + } + break; + } +} + +void sub_81085C8(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[1] = sub_8108384(); + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + task->data[4] = 136; + task->data[6] = 40; + } + else + { + task->data[4] = 16; + task->data[6] = 80; + } + task->data[5] = 98; + task->data[7] = task->data[4] + 49; + task->data[12] = task->data[1] * 5 + 5; + task->func = sub_810862C; +} + +void sub_810862C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + u8 taskId2; + + switch (task->data[0]) + { + case 0: + if (++task->data[2] > 2) + { + task->data[2] = 0; + sub_810871C(task, taskId); + } + if (task->data[10] != 0 && task->data[13] == 0) + { + gBattleAnimArgs[0] = 1; + gBattleAnimArgs[1] = 0; + gBattleAnimArgs[2] = 12; + taskId2 = CreateTask(sub_81152DC, 80); + if (taskId2 != 0xFF) + { + gTasks[taskId2].func(taskId2); + gAnimVisualTaskCount++; + } + gBattleAnimArgs[0] = 3; + taskId2 = CreateTask(sub_81152DC, 80); + if (taskId2 != 0xFF) + { + gTasks[taskId2].func(taskId2); + gAnimVisualTaskCount++; + } + task->data[13] = 1; + } + if (task->data[11] >= task->data[12]) + task->data[0]++; + break; + case 1: + if (task->data[9] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_810871C(struct Task *task, u8 taskId) +{ + u16 yPosArg = ((gSineTable[task->data[8]] + 3) >> 4) + task->data[6]; + u8 spriteId = CreateSprite(&gUnknown_08595268, task->data[7], 0, 0); + + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].callback = sub_81087C0; + gSprites[spriteId].data[5] = yPosArg; + gSprites[spriteId].data[6] = taskId; + gSprites[spriteId].data[7] = 9; + task->data[9]++; + } + task->data[11]++; + task->data[8] = (task->data[8] + 39) & 0xFF; + task->data[7] = ((task->data[7] * 0x41c64e6d + 0x3039) % task->data[5]) + task->data[4]; +} + +void sub_81087C0(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + sprite->pos1.y += 8; + if (sprite->pos1.y >= sprite->data[5]) + { + gTasks[sprite->data[6]].data[10] = 1; + sprite->data[1] = CreateSprite(&gUnknown_08597388, sprite->pos1.x, sprite->pos1.y, 1); + if (sprite->data[1] != MAX_SPRITES) + { + StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3); + gSprites[sprite->data[1]].data[6] = sprite->data[6]; + gSprites[sprite->data[1]].data[7] = sprite->data[7]; + gSprites[sprite->data[1]].callback = sub_810886C; + } + DestroySprite(sprite); + } + } +} + +void sub_810886C(struct Sprite *sprite) +{ + if (++sprite->data[1] > 1) + { + sprite->data[1] = 0; + sprite->invisible ^= 1; + if (++sprite->data[2] == 12) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); + } + } +} + +void sub_81088E4(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + task->data[7] = (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ? 1 : -1; + if (IsContest()) + task->data[7] *= -1; + task->data[5] = task->data[3] + task->data[7] * 8; + task->data[6] = task->data[4] - task->data[7] * 8; + task->data[9] = -32; + task->data[1] = 0; + task->data[0] = 0; + task->func = sub_8108978; +} + +void sub_8108978(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + sub_8108AC0(task); + if (task->data[10] != 0) + task->data[0]++; + break; + case 1: + sub_8108AC0(task); + if (++task->data[1] > 16) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 2: + sub_8108AC0(task); + task->data[5] += task->data[7] * 6; + if (!(task->data[5] >= -16 && task->data[5] <= 256)) + { + if (++task->data[12] > 2) + { + task->data[13] = 1; + task->data[0] = 6; + task->data[1] = 0; + } + else + { + task->data[1] = 0; + task->data[0]++; + } + } + break; + case 3: + sub_8108AC0(task); + task->data[6] -= task->data[7] * 2; + if (++task->data[1] > 7) + task->data[0]++; + break; + case 4: + sub_8108AC0(task); + task->data[5] -= task->data[7] * 6; + if (!(task->data[5] >= -16 && task->data[5] <= 256)) + { + task->data[12]++; + task->data[1] = 0; + task->data[0]++; + } + break; + case 5: + sub_8108AC0(task); + task->data[6] -= task->data[7] * 2; + if (++task->data[1] > 7) + task->data[0] = 2; + break; + case 6: + if (task->data[8] == 0) + task->data[0]++; + break; + default: + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_8108AC0(struct Task *task) +{ + u8 spriteId; + + if (++task->data[2] > 1) + { + task->data[2] = 0; + spriteId = CreateSprite(&gUnknown_08595268, task->data[3], task->data[4], 10); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[0] = 16; + gSprites[spriteId].data[2] = task->data[5]; + gSprites[spriteId].data[4] = task->data[6]; + gSprites[spriteId].data[5] = task->data[9]; + InitAnimArcTranslation(&gSprites[spriteId]); + gSprites[spriteId].callback = sub_8108B2C; + task->data[8]++; + } + } +} + +void sub_8108B2C(struct Sprite *sprite) +{ + if (TranslateAnimArc(sprite)) + { + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->data[0] = 6; + sprite->data[2] = (Random2() & 0x1F) - 16 + sprite->pos1.x; + sprite->data[4] = (Random2() & 0x1F) - 16 + sprite->pos1.y; + sprite->data[5] = ~(Random2() & 7); + InitAnimArcTranslation(sprite); + sprite->callback = sub_8108B94; + } +} + +void sub_8108B94(struct Sprite *sprite) +{ + u16 i; + + if (TranslateAnimArc(sprite)) + { + for (i = 0; i < NUM_TASKS; i++) + { + if (gTasks[i].func == sub_8108978) + { + gTasks[i].data[10] = 1; + gTasks[i].data[8]--; + DestroySprite(sprite); + } + } + } +} + +void sub_8108BE0(struct Sprite *sprite) +{ + sprite->pos1.x = gBattleAnimArgs[0]; + sprite->pos1.y = gBattleAnimArgs[1]; + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[2] = gBattleAnimArgs[4]; + sprite->data[3] = gBattleAnimArgs[5]; + sprite->callback = sub_8108C08; +} + +void sub_8108C08(struct Sprite *sprite) +{ + sprite->data[4] -= sprite->data[0]; + sprite->pos2.y = sprite->data[4] / 10; + sprite->data[5] = (sprite->data[5] + sprite->data[1]) & 0xFF; + sprite->pos2.x = Sin(sprite->data[5], sprite->data[2]); + if (--sprite->data[3] == 0) + DestroyAnimSprite(sprite); +} + +void sub_8108C54(struct Sprite *sprite) +{ + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + sprite->pos2.x = sprite->data[3] >> 7; + sprite->pos2.y = sprite->data[4] >> 7; + if (--sprite->data[0] == 0) + { + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); + } +} + +void sub_8108C94(struct Sprite *sprite) +{ + InitSpritePosToAnimAttacker(sprite, TRUE); + sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + sprite->data[3] = gBattleAnimArgs[2]; + sprite->data[4] = gBattleAnimArgs[3]; + sprite->callback = sub_8108CDC; +} + +void sub_8108CDC(struct Sprite *sprite) +{ + int xDiff = sprite->data[1] - sprite->pos1.x; + int yDiff = sprite->data[2] - sprite->pos1.y; + + sprite->pos2.x = (sprite->data[0] * xDiff) / sprite->data[3]; + sprite->pos2.y = (sprite->data[0] * yDiff) / sprite->data[3]; + if (++sprite->data[5] == sprite->data[4]) + { + sprite->data[5] = 0; + sub_8108D54(sprite, xDiff, yDiff); + } + if (sprite->data[3] == sprite->data[0]) + DestroyAnimSprite(sprite); + sprite->data[0]++; +} + +#ifdef NONMATCHING +void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) +{ + s16 something = sprite->data[0] / 2; + s16 combinedX = sprite->pos1.x + sprite->pos2.x; + s16 combinedY = sprite->pos1.y + sprite->pos2.y; + s16 randomSomethingY = yDiff + (Random2() % 10) - 5; + s16 randomSomethingX = -xDiff + (Random2() % 10) - 5; + s16 i; + u8 spriteId; + + for (i = 0; i <= 0; i++) + { + spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY + something, 130); + gSprites[spriteId].data[0] = 20; + gSprites[spriteId].data[1] = randomSomethingY; + gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; + if (randomSomethingX < 0) + gSprites[spriteId].data[2] = -randomSomethingX; + else + gSprites[spriteId].data[2] = randomSomethingX; + } + for (i = 0; i <= 0; i++) + { + spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY - something, 130); + gSprites[spriteId].data[0] = 20; + gSprites[spriteId].data[1] = randomSomethingY; + gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; + if (randomSomethingX > 0) + gSprites[spriteId].data[2] = -randomSomethingX; + else + gSprites[spriteId].data[2] = randomSomethingX; + } +} +#else +NAKED +void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x18\n\ + adds r4, r1, 0\n\ + adds r5, r2, 0\n\ + movs r2, 0x2E\n\ + ldrsh r1, [r0, r2]\n\ + lsrs r2, r1, 31\n\ + adds r1, r2\n\ + lsls r1, 15\n\ + lsrs r1, 16\n\ + str r1, [sp]\n\ + ldrh r1, [r0, 0x24]\n\ + ldrh r3, [r0, 0x20]\n\ + adds r1, r3\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + mov r8, r1\n\ + ldrh r1, [r0, 0x26]\n\ + ldrh r0, [r0, 0x22]\n\ + adds r1, r0\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + mov r10, r1\n\ + bl Random2\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0xA\n\ + bl __umodsi3\n\ + adds r0, r5, r0\n\ + subs r0, 0x5\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r9, r0\n\ + bl Random2\n\ + negs r4, r4\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0xA\n\ + bl __umodsi3\n\ + adds r4, r0\n\ + subs r4, 0x5\n\ + lsls r4, 16\n\ + lsrs r7, r4, 16\n\ + movs r6, 0\n\ + mov r0, r8\n\ + lsls r0, 16\n\ + mov r8, r0\n\ + mov r1, r10\n\ + lsls r1, 16\n\ + str r1, [sp, 0xC]\n\ + ldr r2, [sp]\n\ + lsls r2, 16\n\ + str r2, [sp, 0x10]\n\ + asrs r1, 16\n\ + lsls r0, r7, 16\n\ + asrs r5, r0, 16\n\ + str r0, [sp, 0x14]\n\ + negs r3, r5\n\ + str r3, [sp, 0x4]\n\ + asrs r0, r2, 16\n\ + adds r1, r0\n\ + lsls r1, 16\n\ + mov r10, r1\n\ +_08108DE2:\n\ + ldr r0, =gUnknown_08595310\n\ + mov r2, r8\n\ + asrs r1, r2, 16\n\ + mov r3, r10\n\ + asrs r2, r3, 16\n\ + movs r3, 0x82\n\ + bl CreateSprite\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + ldr r1, =gSprites\n\ + lsls r0, r2, 4\n\ + adds r0, r2\n\ + lsls r0, 2\n\ + adds r4, r0, r1\n\ + movs r0, 0x14\n\ + strh r0, [r4, 0x2E]\n\ + mov r0, r9\n\ + strh r0, [r4, 0x30]\n\ + ldr r0, =gBattleAnimAttacker\n\ + ldrb r0, [r0]\n\ + bl GetBattlerSpriteSubpriority\n\ + subs r0, 0x1\n\ + adds r1, r4, 0\n\ + adds r1, 0x43\n\ + strb r0, [r1]\n\ + cmp r5, 0\n\ + bge _08108E30\n\ + mov r1, sp\n\ + ldrh r1, [r1, 0x4]\n\ + strh r1, [r4, 0x32]\n\ + b _08108E32\n\ + .pool\n\ +_08108E30:\n\ + strh r7, [r4, 0x32]\n\ +_08108E32:\n\ + lsls r0, r6, 16\n\ + movs r2, 0x80\n\ + lsls r2, 9\n\ + adds r0, r2\n\ + lsrs r6, r0, 16\n\ + cmp r0, 0\n\ + ble _08108DE2\n\ + movs r6, 0\n\ + ldr r3, [sp, 0xC]\n\ + asrs r1, r3, 16\n\ + ldr r0, [sp, 0x14]\n\ + asrs r5, r0, 16\n\ + negs r2, r5\n\ + str r2, [sp, 0x8]\n\ + ldr r3, [sp, 0x10]\n\ + asrs r0, r3, 16\n\ + subs r1, r0\n\ + lsls r1, 16\n\ + mov r10, r1\n\ +_08108E58:\n\ + ldr r0, =gUnknown_08595310\n\ + mov r2, r8\n\ + asrs r1, r2, 16\n\ + mov r3, r10\n\ + asrs r2, r3, 16\n\ + movs r3, 0x82\n\ + bl CreateSprite\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + ldr r1, =gSprites\n\ + lsls r0, r2, 4\n\ + adds r0, r2\n\ + lsls r0, 2\n\ + adds r4, r0, r1\n\ + movs r0, 0x14\n\ + strh r0, [r4, 0x2E]\n\ + mov r0, r9\n\ + strh r0, [r4, 0x30]\n\ + ldr r0, =gBattleAnimAttacker\n\ + ldrb r0, [r0]\n\ + bl GetBattlerSpriteSubpriority\n\ + subs r0, 0x1\n\ + adds r1, r4, 0\n\ + adds r1, 0x43\n\ + strb r0, [r1]\n\ + cmp r5, 0\n\ + ble _08108EA8\n\ + mov r1, sp\n\ + ldrh r1, [r1, 0x8]\n\ + strh r1, [r4, 0x32]\n\ + b _08108EAA\n\ + .pool\n\ +_08108EA8:\n\ + strh r7, [r4, 0x32]\n\ +_08108EAA:\n\ + lsls r0, r6, 16\n\ + movs r2, 0x80\n\ + lsls r2, 9\n\ + adds r0, r2\n\ + lsrs r6, r0, 16\n\ + cmp r0, 0\n\ + ble _08108E58\n\ + add sp, 0x18\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n"); +} +#endif diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 3a8adaf15..2e6f1642a 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -40,4558 +40,7 @@ static bool8 IsAbilityAllowingEncounter(u8 level); EWRAM_DATA static u8 sWildEncountersDisabled = 0; EWRAM_DATA static u32 sFeebasRngValue = 0; -// const rom data -const struct WildPokemon gRoute101_LandMons[] = -{ - {2, 2, SPECIES_WURMPLE}, - {2, 2, SPECIES_POOCHYENA}, - {2, 2, SPECIES_WURMPLE}, - {3, 3, SPECIES_WURMPLE}, - {3, 3, SPECIES_POOCHYENA}, - {3, 3, SPECIES_POOCHYENA}, - {3, 3, SPECIES_WURMPLE}, - {3, 3, SPECIES_POOCHYENA}, - {2, 2, SPECIES_ZIGZAGOON}, - {2, 2, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_ZIGZAGOON}, -}; - -const struct WildPokemonInfo gRoute101_LandMonsInfo = {20, gRoute101_LandMons}; - -const struct WildPokemon gRoute102_LandMons[] = -{ - {3, 3, SPECIES_POOCHYENA}, - {3, 3, SPECIES_WURMPLE}, - {4, 4, SPECIES_POOCHYENA}, - {4, 4, SPECIES_WURMPLE}, - {3, 3, SPECIES_LOTAD}, - {4, 4, SPECIES_LOTAD}, - {3, 3, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_ZIGZAGOON}, - {4, 4, SPECIES_ZIGZAGOON}, - {4, 4, SPECIES_RALTS}, - {4, 4, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_SEEDOT}, -}; - -const struct WildPokemonInfo gRoute102_LandMonsInfo = {20, gRoute102_LandMons}; - -const struct WildPokemon gRoute102_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute102_WaterMonsInfo = {4, gRoute102_WaterMons}; - -const struct WildPokemon gRoute102_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_CORPHISH}, - {25, 30, SPECIES_CORPHISH}, - {30, 35, SPECIES_CORPHISH}, - {20, 25, SPECIES_CORPHISH}, - {35, 40, SPECIES_CORPHISH}, - {40, 45, SPECIES_CORPHISH}, -}; - -const struct WildPokemonInfo gRoute102_FishingMonsInfo = {30, gRoute102_FishingMons}; - -const struct WildPokemon gRoute103_LandMons[] = -{ - {2, 2, SPECIES_POOCHYENA}, - {3, 3, SPECIES_POOCHYENA}, - {3, 3, SPECIES_POOCHYENA}, - {4, 4, SPECIES_POOCHYENA}, - {2, 2, SPECIES_WINGULL}, - {3, 3, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_ZIGZAGOON}, - {4, 4, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_WINGULL}, - {3, 3, SPECIES_WINGULL}, - {2, 2, SPECIES_WINGULL}, - {4, 4, SPECIES_WINGULL}, -}; - -const struct WildPokemonInfo gRoute103_LandMonsInfo = {20, gRoute103_LandMons}; - -const struct WildPokemon gRoute103_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute103_WaterMonsInfo = {4, gRoute103_WaterMons}; - -const struct WildPokemon gRoute103_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute103_FishingMonsInfo = {30, gRoute103_FishingMons}; - -const struct WildPokemon gRoute104_LandMons[] = -{ - {4, 4, SPECIES_POOCHYENA}, - {4, 4, SPECIES_WURMPLE}, - {5, 5, SPECIES_POOCHYENA}, - {5, 5, SPECIES_MARILL}, - {4, 4, SPECIES_MARILL}, - {5, 5, SPECIES_POOCHYENA}, - {4, 4, SPECIES_TAILLOW}, - {5, 5, SPECIES_TAILLOW}, - {4, 4, SPECIES_WINGULL}, - {4, 4, SPECIES_WINGULL}, - {3, 3, SPECIES_WINGULL}, - {5, 5, SPECIES_WINGULL}, -}; - -const struct WildPokemonInfo gRoute104_LandMonsInfo = {20, gRoute104_LandMons}; - -const struct WildPokemon gRoute104_WaterMons[] = -{ - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute104_WaterMonsInfo = {4, gRoute104_WaterMons}; - -const struct WildPokemon gRoute104_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {25, 30, SPECIES_MAGIKARP}, - {30, 35, SPECIES_MAGIKARP}, - {20, 25, SPECIES_MAGIKARP}, - {35, 40, SPECIES_MAGIKARP}, - {40, 45, SPECIES_MAGIKARP}, -}; - -const struct WildPokemonInfo gRoute104_FishingMonsInfo = {30, gRoute104_FishingMons}; - -const struct WildPokemon gRoute105_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute105_WaterMonsInfo = {4, gRoute105_WaterMons}; - -const struct WildPokemon gRoute105_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute105_FishingMonsInfo = {30, gRoute105_FishingMons}; - -const struct WildPokemon gRoute110_LandMons[] = -{ - {12, 12, SPECIES_POOCHYENA}, - {12, 12, SPECIES_ELECTRIKE}, - {12, 12, SPECIES_GULPIN}, - {13, 13, SPECIES_ELECTRIKE}, - {13, 13, SPECIES_MINUN}, - {13, 13, SPECIES_ODDISH}, - {13, 13, SPECIES_MINUN}, - {13, 13, SPECIES_GULPIN}, - {12, 12, SPECIES_WINGULL}, - {12, 12, SPECIES_WINGULL}, - {12, 12, SPECIES_PLUSLE}, - {13, 13, SPECIES_PLUSLE}, -}; - -const struct WildPokemonInfo gRoute110_LandMonsInfo = {20, gRoute110_LandMons}; - -const struct WildPokemon gRoute110_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute110_WaterMonsInfo = {4, gRoute110_WaterMons}; - -const struct WildPokemon gRoute110_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute110_FishingMonsInfo = {30, gRoute110_FishingMons}; - -const struct WildPokemon gRoute111_LandMons[] = -{ - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {19, 19, SPECIES_BALTOY}, - {21, 21, SPECIES_BALTOY}, - {19, 19, SPECIES_SANDSHREW}, - {19, 19, SPECIES_TRAPINCH}, - {20, 20, SPECIES_BALTOY}, - {20, 20, SPECIES_CACNEA}, - {22, 22, SPECIES_CACNEA}, - {22, 22, SPECIES_CACNEA}, -}; - -const struct WildPokemonInfo gRoute111_LandMonsInfo = {10, gRoute111_LandMons}; - -const struct WildPokemon gRoute111_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute111_WaterMonsInfo = {4, gRoute111_WaterMons}; - -const struct WildPokemon gRoute111_RockSmashMons[] = -{ - {10, 15, SPECIES_GEODUDE}, - {5, 10, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gRoute111_RockSmashMonsInfo = {20, gRoute111_RockSmashMons}; - -const struct WildPokemon gRoute111_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {20, 25, SPECIES_BARBOACH}, - {35, 40, SPECIES_BARBOACH}, - {40, 45, SPECIES_BARBOACH}, -}; - -const struct WildPokemonInfo gRoute111_FishingMonsInfo = {30, gRoute111_FishingMons}; - -const struct WildPokemon gRoute112_LandMons[] = -{ - {15, 15, SPECIES_NUMEL}, - {15, 15, SPECIES_NUMEL}, - {15, 15, SPECIES_MARILL}, - {14, 14, SPECIES_NUMEL}, - {14, 14, SPECIES_NUMEL}, - {14, 14, SPECIES_MARILL}, - {16, 16, SPECIES_NUMEL}, - {16, 16, SPECIES_MARILL}, - {16, 16, SPECIES_NUMEL}, - {16, 16, SPECIES_NUMEL}, - {16, 16, SPECIES_NUMEL}, - {16, 16, SPECIES_NUMEL}, -}; - -const struct WildPokemonInfo gRoute112_LandMonsInfo = {20, gRoute112_LandMons}; - -const struct WildPokemon gRoute113_LandMons[] = -{ - {15, 15, SPECIES_SPINDA}, - {15, 15, SPECIES_SPINDA}, - {15, 15, SPECIES_SLUGMA}, - {14, 14, SPECIES_SPINDA}, - {14, 14, SPECIES_SPINDA}, - {14, 14, SPECIES_SLUGMA}, - {16, 16, SPECIES_SPINDA}, - {16, 16, SPECIES_SLUGMA}, - {16, 16, SPECIES_SPINDA}, - {16, 16, SPECIES_SKARMORY}, - {16, 16, SPECIES_SPINDA}, - {16, 16, SPECIES_SKARMORY}, -}; - -const struct WildPokemonInfo gRoute113_LandMonsInfo = {20, gRoute113_LandMons}; - -const struct WildPokemon gRoute114_LandMons[] = -{ - {16, 16, SPECIES_SWABLU}, - {16, 16, SPECIES_LOTAD}, - {17, 17, SPECIES_SWABLU}, - {15, 15, SPECIES_SWABLU}, - {15, 15, SPECIES_LOTAD}, - {16, 16, SPECIES_LOMBRE}, - {16, 16, SPECIES_LOMBRE}, - {18, 18, SPECIES_LOMBRE}, - {17, 17, SPECIES_SEVIPER}, - {15, 15, SPECIES_SEVIPER}, - {17, 17, SPECIES_SEVIPER}, - {15, 15, SPECIES_NUZLEAF}, -}; - -const struct WildPokemonInfo gRoute114_LandMonsInfo = {20, gRoute114_LandMons}; - -const struct WildPokemon gRoute114_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute114_WaterMonsInfo = {4, gRoute114_WaterMons}; - -const struct WildPokemon gRoute114_RockSmashMons[] = -{ - {10, 15, SPECIES_GEODUDE}, - {5, 10, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gRoute114_RockSmashMonsInfo = {20, gRoute114_RockSmashMons}; - -const struct WildPokemon gRoute114_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {20, 25, SPECIES_BARBOACH}, - {35, 40, SPECIES_BARBOACH}, - {40, 45, SPECIES_BARBOACH}, -}; - -const struct WildPokemonInfo gRoute114_FishingMonsInfo = {30, gRoute114_FishingMons}; - -const struct WildPokemon gRoute116_LandMons[] = -{ - {6, 6, SPECIES_POOCHYENA}, - {6, 6, SPECIES_WHISMUR}, - {6, 6, SPECIES_NINCADA}, - {7, 7, SPECIES_ABRA}, - {7, 7, SPECIES_NINCADA}, - {6, 6, SPECIES_TAILLOW}, - {7, 7, SPECIES_TAILLOW}, - {8, 8, SPECIES_TAILLOW}, - {7, 7, SPECIES_POOCHYENA}, - {8, 8, SPECIES_POOCHYENA}, - {7, 7, SPECIES_SKITTY}, - {8, 8, SPECIES_SKITTY}, -}; - -const struct WildPokemonInfo gRoute116_LandMonsInfo = {20, gRoute116_LandMons}; - -const struct WildPokemon gRoute117_LandMons[] = -{ - {13, 13, SPECIES_POOCHYENA}, - {13, 13, SPECIES_ODDISH}, - {14, 14, SPECIES_POOCHYENA}, - {14, 14, SPECIES_ODDISH}, - {13, 13, SPECIES_MARILL}, - {13, 13, SPECIES_ODDISH}, - {13, 13, SPECIES_ILLUMISE}, - {13, 13, SPECIES_ILLUMISE}, - {14, 14, SPECIES_ILLUMISE}, - {14, 14, SPECIES_ILLUMISE}, - {13, 13, SPECIES_VOLBEAT}, - {13, 13, SPECIES_SEEDOT}, -}; - -const struct WildPokemonInfo gRoute117_LandMonsInfo = {20, gRoute117_LandMons}; - -const struct WildPokemon gRoute117_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute117_WaterMonsInfo = {4, gRoute117_WaterMons}; - -const struct WildPokemon gRoute117_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_CORPHISH}, - {25, 30, SPECIES_CORPHISH}, - {30, 35, SPECIES_CORPHISH}, - {20, 25, SPECIES_CORPHISH}, - {35, 40, SPECIES_CORPHISH}, - {40, 45, SPECIES_CORPHISH}, -}; - -const struct WildPokemonInfo gRoute117_FishingMonsInfo = {30, gRoute117_FishingMons}; - -const struct WildPokemon gRoute118_LandMons[] = -{ - {24, 24, SPECIES_ZIGZAGOON}, - {24, 24, SPECIES_ELECTRIKE}, - {26, 26, SPECIES_ZIGZAGOON}, - {26, 26, SPECIES_ELECTRIKE}, - {26, 26, SPECIES_LINOONE}, - {26, 26, SPECIES_MANECTRIC}, - {25, 25, SPECIES_WINGULL}, - {25, 25, SPECIES_WINGULL}, - {26, 26, SPECIES_WINGULL}, - {26, 26, SPECIES_WINGULL}, - {27, 27, SPECIES_WINGULL}, - {25, 25, SPECIES_KECLEON}, -}; - -const struct WildPokemonInfo gRoute118_LandMonsInfo = {20, gRoute118_LandMons}; - -const struct WildPokemon gRoute118_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute118_WaterMonsInfo = {4, gRoute118_WaterMons}; - -const struct WildPokemon gRoute118_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_CARVANHA}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_CARVANHA}, - {20, 25, SPECIES_CARVANHA}, - {35, 40, SPECIES_CARVANHA}, - {40, 45, SPECIES_CARVANHA}, -}; - -const struct WildPokemonInfo gRoute118_FishingMonsInfo = {30, gRoute118_FishingMons}; - -const struct WildPokemon gRoute124_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute124_WaterMonsInfo = {4, gRoute124_WaterMons}; - -const struct WildPokemon gRoute124_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute124_FishingMonsInfo = {30, gRoute124_FishingMons}; - -const struct WildPokemon gPetalburgWoods_LandMons[] = -{ - {5, 5, SPECIES_POOCHYENA}, - {5, 5, SPECIES_WURMPLE}, - {5, 5, SPECIES_SHROOMISH}, - {6, 6, SPECIES_POOCHYENA}, - {5, 5, SPECIES_SILCOON}, - {5, 5, SPECIES_CASCOON}, - {6, 6, SPECIES_WURMPLE}, - {6, 6, SPECIES_SHROOMISH}, - {5, 5, SPECIES_TAILLOW}, - {5, 5, SPECIES_SLAKOTH}, - {6, 6, SPECIES_TAILLOW}, - {6, 6, SPECIES_SLAKOTH}, -}; - -const struct WildPokemonInfo gPetalburgWoods_LandMonsInfo = {20, gPetalburgWoods_LandMons}; - -const struct WildPokemon gRusturfTunnel_LandMons[] = -{ - {6, 6, SPECIES_WHISMUR}, - {7, 7, SPECIES_WHISMUR}, - {6, 6, SPECIES_WHISMUR}, - {6, 6, SPECIES_WHISMUR}, - {7, 7, SPECIES_WHISMUR}, - {7, 7, SPECIES_WHISMUR}, - {5, 5, SPECIES_WHISMUR}, - {8, 8, SPECIES_WHISMUR}, - {5, 5, SPECIES_WHISMUR}, - {8, 8, SPECIES_WHISMUR}, - {5, 5, SPECIES_WHISMUR}, - {8, 8, SPECIES_WHISMUR}, -}; - -const struct WildPokemonInfo gRusturfTunnel_LandMonsInfo = {10, gRusturfTunnel_LandMons}; - -const struct WildPokemon gGraniteCave_1F_LandMons[] = -{ - {7, 7, SPECIES_ZUBAT}, - {8, 8, SPECIES_MAKUHITA}, - {7, 7, SPECIES_MAKUHITA}, - {8, 8, SPECIES_ZUBAT}, - {9, 9, SPECIES_MAKUHITA}, - {8, 8, SPECIES_ABRA}, - {10, 10, SPECIES_MAKUHITA}, - {6, 6, SPECIES_MAKUHITA}, - {7, 7, SPECIES_GEODUDE}, - {8, 8, SPECIES_GEODUDE}, - {6, 6, SPECIES_GEODUDE}, - {9, 9, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gGraniteCave_1F_LandMonsInfo = {10, gGraniteCave_1F_LandMons}; - -const struct WildPokemon gGraniteCave_B1F_LandMons[] = -{ - {9, 9, SPECIES_ZUBAT}, - {10, 10, SPECIES_ARON}, - {9, 9, SPECIES_ARON}, - {11, 11, SPECIES_ARON}, - {10, 10, SPECIES_ZUBAT}, - {9, 9, SPECIES_ABRA}, - {10, 10, SPECIES_MAKUHITA}, - {11, 11, SPECIES_MAKUHITA}, - {10, 10, SPECIES_SABLEYE}, - {10, 10, SPECIES_SABLEYE}, - {9, 9, SPECIES_SABLEYE}, - {11, 11, SPECIES_SABLEYE}, -}; - -const struct WildPokemonInfo gGraniteCave_B1F_LandMonsInfo = {10, gGraniteCave_B1F_LandMons}; - -const struct WildPokemon gMtPyre_1F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, -}; - -const struct WildPokemonInfo gMtPyre_1F_LandMonsInfo = {10, gMtPyre_1F_LandMons}; - -const struct WildPokemon gVictoryRoad_1F_LandMons[] = -{ - {40, 40, SPECIES_GOLBAT}, - {40, 40, SPECIES_HARIYAMA}, - {40, 40, SPECIES_LAIRON}, - {40, 40, SPECIES_LOUDRED}, - {36, 36, SPECIES_ZUBAT}, - {36, 36, SPECIES_MAKUHITA}, - {38, 38, SPECIES_GOLBAT}, - {38, 38, SPECIES_HARIYAMA}, - {36, 36, SPECIES_ARON}, - {36, 36, SPECIES_WHISMUR}, - {36, 36, SPECIES_ARON}, - {36, 36, SPECIES_WHISMUR}, -}; - -const struct WildPokemonInfo gVictoryRoad_1F_LandMonsInfo = {10, gVictoryRoad_1F_LandMons}; - -const struct WildPokemon gSafariZone_South_LandMons[] = -{ - {25, 25, SPECIES_ODDISH}, - {27, 27, SPECIES_ODDISH}, - {25, 25, SPECIES_GIRAFARIG}, - {27, 27, SPECIES_GIRAFARIG}, - {25, 25, SPECIES_NATU}, - {25, 25, SPECIES_DODUO}, - {25, 25, SPECIES_GLOOM}, - {27, 27, SPECIES_WOBBUFFET}, - {25, 25, SPECIES_PIKACHU}, - {27, 27, SPECIES_WOBBUFFET}, - {27, 27, SPECIES_PIKACHU}, - {29, 29, SPECIES_WOBBUFFET}, -}; - -const struct WildPokemonInfo gSafariZone_South_LandMonsInfo = {25, gSafariZone_South_LandMons}; - -const struct WildPokemon gUnderwater2_WaterMons[] = -{ - {20, 30, SPECIES_CLAMPERL}, - {20, 30, SPECIES_CHINCHOU}, - {30, 35, SPECIES_CLAMPERL}, - {30, 35, SPECIES_RELICANTH}, - {30, 35, SPECIES_RELICANTH}, -}; - -const struct WildPokemonInfo gUnderwater2_WaterMonsInfo = {4, gUnderwater2_WaterMons}; - -const struct WildPokemon gAbandonedShip_Rooms_B1F_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACRUEL}, -}; - -const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_WaterMonsInfo = {4, gAbandonedShip_Rooms_B1F_WaterMons}; - -const struct WildPokemon gAbandonedShip_Rooms_B1F_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_TENTACOOL}, - {25, 30, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACRUEL}, - {25, 30, SPECIES_TENTACRUEL}, - {20, 25, SPECIES_TENTACRUEL}, -}; - -const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_FishingMonsInfo = {20, gAbandonedShip_Rooms_B1F_FishingMons}; - -const struct WildPokemon gGraniteCave_B2F_LandMons[] = -{ - {10, 10, SPECIES_ZUBAT}, - {11, 11, SPECIES_ARON}, - {10, 10, SPECIES_ARON}, - {11, 11, SPECIES_ZUBAT}, - {12, 12, SPECIES_ARON}, - {10, 10, SPECIES_ABRA}, - {10, 10, SPECIES_SABLEYE}, - {11, 11, SPECIES_SABLEYE}, - {12, 12, SPECIES_SABLEYE}, - {10, 10, SPECIES_SABLEYE}, - {12, 12, SPECIES_SABLEYE}, - {10, 10, SPECIES_SABLEYE}, -}; - -const struct WildPokemonInfo gGraniteCave_B2F_LandMonsInfo = {10, gGraniteCave_B2F_LandMons}; - -const struct WildPokemon gGraniteCave_B2F_RockSmashMons[] = -{ - {10, 15, SPECIES_GEODUDE}, - {10, 20, SPECIES_NOSEPASS}, - {5, 10, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gGraniteCave_B2F_RockSmashMonsInfo = {20, gGraniteCave_B2F_RockSmashMons}; - -const struct WildPokemon gFieryPath_LandMons[] = -{ - {15, 15, SPECIES_NUMEL}, - {15, 15, SPECIES_KOFFING}, - {16, 16, SPECIES_NUMEL}, - {15, 15, SPECIES_MACHOP}, - {15, 15, SPECIES_TORKOAL}, - {15, 15, SPECIES_SLUGMA}, - {16, 16, SPECIES_KOFFING}, - {16, 16, SPECIES_MACHOP}, - {14, 14, SPECIES_TORKOAL}, - {16, 16, SPECIES_TORKOAL}, - {14, 14, SPECIES_GRIMER}, - {14, 14, SPECIES_GRIMER}, -}; - -const struct WildPokemonInfo gFieryPath_LandMonsInfo = {10, gFieryPath_LandMons}; - -const struct WildPokemon gMeteorFalls_B1F_2R_LandMons[] = -{ - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {30, 30, SPECIES_BAGON}, - {35, 35, SPECIES_SOLROCK}, - {35, 35, SPECIES_BAGON}, - {37, 37, SPECIES_SOLROCK}, - {25, 25, SPECIES_BAGON}, - {39, 39, SPECIES_SOLROCK}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_2R_LandMonsInfo = {10, gMeteorFalls_B1F_2R_LandMons}; - -const struct WildPokemon gMeteorFalls_B1F_2R_WaterMons[] = -{ - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, - {25, 35, SPECIES_SOLROCK}, - {15, 25, SPECIES_SOLROCK}, - {5, 15, SPECIES_SOLROCK}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_2R_WaterMonsInfo = {4, gMeteorFalls_B1F_2R_WaterMons}; - -const struct WildPokemon gMeteorFalls_B1F_2R_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {30, 35, SPECIES_WHISCASH}, - {35, 40, SPECIES_WHISCASH}, - {40, 45, SPECIES_WHISCASH}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_2R_FishingMonsInfo = {30, gMeteorFalls_B1F_2R_FishingMons}; - -const struct WildPokemon gJaggedPass_LandMons[] = -{ - {21, 21, SPECIES_NUMEL}, - {21, 21, SPECIES_NUMEL}, - {21, 21, SPECIES_MACHOP}, - {20, 20, SPECIES_NUMEL}, - {20, 20, SPECIES_SPOINK}, - {20, 20, SPECIES_MACHOP}, - {21, 21, SPECIES_SPOINK}, - {22, 22, SPECIES_MACHOP}, - {22, 22, SPECIES_NUMEL}, - {22, 22, SPECIES_SPOINK}, - {22, 22, SPECIES_NUMEL}, - {22, 22, SPECIES_SPOINK}, -}; - -const struct WildPokemonInfo gJaggedPass_LandMonsInfo = {20, gJaggedPass_LandMons}; - -const struct WildPokemon gRoute106_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute106_WaterMonsInfo = {4, gRoute106_WaterMons}; - -const struct WildPokemon gRoute106_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute106_FishingMonsInfo = {30, gRoute106_FishingMons}; - -const struct WildPokemon gRoute107_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute107_WaterMonsInfo = {4, gRoute107_WaterMons}; - -const struct WildPokemon gRoute107_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute107_FishingMonsInfo = {30, gRoute107_FishingMons}; - -const struct WildPokemon gRoute108_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute108_WaterMonsInfo = {4, gRoute108_WaterMons}; - -const struct WildPokemon gRoute108_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute108_FishingMonsInfo = {30, gRoute108_FishingMons}; - -const struct WildPokemon gRoute109_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute109_WaterMonsInfo = {4, gRoute109_WaterMons}; - -const struct WildPokemon gRoute109_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute109_FishingMonsInfo = {30, gRoute109_FishingMons}; - -const struct WildPokemon gRoute115_LandMons[] = -{ - {23, 23, SPECIES_SWABLU}, - {23, 23, SPECIES_TAILLOW}, - {25, 25, SPECIES_SWABLU}, - {24, 24, SPECIES_TAILLOW}, - {25, 25, SPECIES_TAILLOW}, - {25, 25, SPECIES_SWELLOW}, - {24, 24, SPECIES_JIGGLYPUFF}, - {25, 25, SPECIES_JIGGLYPUFF}, - {24, 24, SPECIES_WINGULL}, - {24, 24, SPECIES_WINGULL}, - {26, 26, SPECIES_WINGULL}, - {25, 25, SPECIES_WINGULL}, -}; - -const struct WildPokemonInfo gRoute115_LandMonsInfo = {20, gRoute115_LandMons}; - -const struct WildPokemon gRoute115_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute115_WaterMonsInfo = {4, gRoute115_WaterMons}; - -const struct WildPokemon gRoute115_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute115_FishingMonsInfo = {30, gRoute115_FishingMons}; - -const struct WildPokemon gNewMauville_Inside_LandMons[] = -{ - {24, 24, SPECIES_VOLTORB}, - {24, 24, SPECIES_MAGNEMITE}, - {25, 25, SPECIES_VOLTORB}, - {25, 25, SPECIES_MAGNEMITE}, - {23, 23, SPECIES_VOLTORB}, - {23, 23, SPECIES_MAGNEMITE}, - {26, 26, SPECIES_VOLTORB}, - {26, 26, SPECIES_MAGNEMITE}, - {22, 22, SPECIES_VOLTORB}, - {22, 22, SPECIES_MAGNEMITE}, - {26, 26, SPECIES_ELECTRODE}, - {26, 26, SPECIES_MAGNETON}, -}; - -const struct WildPokemonInfo gNewMauville_Inside_LandMonsInfo = {10, gNewMauville_Inside_LandMons}; - -const struct WildPokemon gRoute119_LandMons[] = -{ - {25, 25, SPECIES_ZIGZAGOON}, - {25, 25, SPECIES_LINOONE}, - {27, 27, SPECIES_ZIGZAGOON}, - {25, 25, SPECIES_ODDISH}, - {27, 27, SPECIES_LINOONE}, - {26, 26, SPECIES_ODDISH}, - {27, 27, SPECIES_ODDISH}, - {24, 24, SPECIES_ODDISH}, - {25, 25, SPECIES_TROPIUS}, - {26, 26, SPECIES_TROPIUS}, - {27, 27, SPECIES_TROPIUS}, - {25, 25, SPECIES_KECLEON}, -}; - -const struct WildPokemonInfo gRoute119_LandMonsInfo = {15, gRoute119_LandMons}; - -const struct WildPokemon gRoute119_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute119_WaterMonsInfo = {4, gRoute119_WaterMons}; - -const struct WildPokemon gRoute119_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_CARVANHA}, - {25, 30, SPECIES_CARVANHA}, - {30, 35, SPECIES_CARVANHA}, - {20, 25, SPECIES_CARVANHA}, - {35, 40, SPECIES_CARVANHA}, - {40, 45, SPECIES_CARVANHA}, -}; - -const struct WildPokemonInfo gRoute119_FishingMonsInfo = {30, gRoute119_FishingMons}; - -const struct WildPokemon gRoute120_LandMons[] = -{ - {25, 25, SPECIES_POOCHYENA}, - {25, 25, SPECIES_MIGHTYENA}, - {27, 27, SPECIES_MIGHTYENA}, - {25, 25, SPECIES_ODDISH}, - {25, 25, SPECIES_MARILL}, - {26, 26, SPECIES_ODDISH}, - {27, 27, SPECIES_ODDISH}, - {27, 27, SPECIES_MARILL}, - {25, 25, SPECIES_ABSOL}, - {27, 27, SPECIES_ABSOL}, - {25, 25, SPECIES_KECLEON}, - {25, 25, SPECIES_SEEDOT}, -}; - -const struct WildPokemonInfo gRoute120_LandMonsInfo = {20, gRoute120_LandMons}; - -const struct WildPokemon gRoute120_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute120_WaterMonsInfo = {4, gRoute120_WaterMons}; - -const struct WildPokemon gRoute120_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {20, 25, SPECIES_BARBOACH}, - {35, 40, SPECIES_BARBOACH}, - {40, 45, SPECIES_BARBOACH}, -}; - -const struct WildPokemonInfo gRoute120_FishingMonsInfo = {30, gRoute120_FishingMons}; - -const struct WildPokemon gRoute121_LandMons[] = -{ - {26, 26, SPECIES_POOCHYENA}, - {26, 26, SPECIES_SHUPPET}, - {26, 26, SPECIES_MIGHTYENA}, - {28, 28, SPECIES_SHUPPET}, - {28, 28, SPECIES_MIGHTYENA}, - {26, 26, SPECIES_ODDISH}, - {28, 28, SPECIES_ODDISH}, - {28, 28, SPECIES_GLOOM}, - {26, 26, SPECIES_WINGULL}, - {27, 27, SPECIES_WINGULL}, - {28, 28, SPECIES_WINGULL}, - {25, 25, SPECIES_KECLEON}, -}; - -const struct WildPokemonInfo gRoute121_LandMonsInfo = {20, gRoute121_LandMons}; - -const struct WildPokemon gRoute121_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute121_WaterMonsInfo = {4, gRoute121_WaterMons}; - -const struct WildPokemon gRoute121_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute121_FishingMonsInfo = {30, gRoute121_FishingMons}; - -const struct WildPokemon gRoute122_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute122_WaterMonsInfo = {4, gRoute122_WaterMons}; - -const struct WildPokemon gRoute122_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute122_FishingMonsInfo = {30, gRoute122_FishingMons}; - -const struct WildPokemon gRoute123_LandMons[] = -{ - {26, 26, SPECIES_POOCHYENA}, - {26, 26, SPECIES_SHUPPET}, - {26, 26, SPECIES_MIGHTYENA}, - {28, 28, SPECIES_SHUPPET}, - {28, 28, SPECIES_MIGHTYENA}, - {26, 26, SPECIES_ODDISH}, - {28, 28, SPECIES_ODDISH}, - {28, 28, SPECIES_GLOOM}, - {26, 26, SPECIES_WINGULL}, - {27, 27, SPECIES_WINGULL}, - {28, 28, SPECIES_WINGULL}, - {25, 25, SPECIES_KECLEON}, -}; - -const struct WildPokemonInfo gRoute123_LandMonsInfo = {20, gRoute123_LandMons}; - -const struct WildPokemon gRoute123_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute123_WaterMonsInfo = {4, gRoute123_WaterMons}; - -const struct WildPokemon gRoute123_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute123_FishingMonsInfo = {30, gRoute123_FishingMons}; - -const struct WildPokemon gMtPyre_2F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, -}; - -const struct WildPokemonInfo gMtPyre_2F_LandMonsInfo = {10, gMtPyre_2F_LandMons}; - -const struct WildPokemon gMtPyre_3F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, -}; - -const struct WildPokemonInfo gMtPyre_3F_LandMonsInfo = {10, gMtPyre_3F_LandMons}; - -const struct WildPokemon gMtPyre_4F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {27, 27, SPECIES_DUSKULL}, - {27, 27, SPECIES_DUSKULL}, - {25, 25, SPECIES_DUSKULL}, - {29, 29, SPECIES_DUSKULL}, -}; - -const struct WildPokemonInfo gMtPyre_4F_LandMonsInfo = {10, gMtPyre_4F_LandMons}; - -const struct WildPokemon gMtPyre_5F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {27, 27, SPECIES_DUSKULL}, - {27, 27, SPECIES_DUSKULL}, - {25, 25, SPECIES_DUSKULL}, - {29, 29, SPECIES_DUSKULL}, -}; - -const struct WildPokemonInfo gMtPyre_5F_LandMonsInfo = {10, gMtPyre_5F_LandMons}; - -const struct WildPokemon gMtPyre_6F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {27, 27, SPECIES_DUSKULL}, - {27, 27, SPECIES_DUSKULL}, - {25, 25, SPECIES_DUSKULL}, - {29, 29, SPECIES_DUSKULL}, -}; - -const struct WildPokemonInfo gMtPyre_6F_LandMonsInfo = {10, gMtPyre_6F_LandMons}; - -const struct WildPokemon gMtPyre_Exterior_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {29, 29, SPECIES_VULPIX}, - {27, 27, SPECIES_VULPIX}, - {29, 29, SPECIES_VULPIX}, - {25, 25, SPECIES_VULPIX}, - {27, 27, SPECIES_WINGULL}, - {27, 27, SPECIES_WINGULL}, - {26, 26, SPECIES_WINGULL}, - {28, 28, SPECIES_WINGULL}, -}; - -const struct WildPokemonInfo gMtPyre_Exterior_LandMonsInfo = {10, gMtPyre_Exterior_LandMons}; - -const struct WildPokemon gMtPyre_Summit_LandMons[] = -{ - {28, 28, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {27, 27, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {30, 30, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {28, 28, SPECIES_DUSKULL}, - {26, 26, SPECIES_DUSKULL}, - {30, 30, SPECIES_DUSKULL}, - {28, 28, SPECIES_CHIMECHO}, - {28, 28, SPECIES_CHIMECHO}, -}; - -const struct WildPokemonInfo gMtPyre_Summit_LandMonsInfo = {10, gMtPyre_Summit_LandMons}; - -const struct WildPokemon gGraniteCave_StevensRoom_LandMons[] = -{ - {7, 7, SPECIES_ZUBAT}, - {8, 8, SPECIES_MAKUHITA}, - {7, 7, SPECIES_MAKUHITA}, - {8, 8, SPECIES_ZUBAT}, - {9, 9, SPECIES_MAKUHITA}, - {8, 8, SPECIES_ABRA}, - {10, 10, SPECIES_MAKUHITA}, - {6, 6, SPECIES_MAKUHITA}, - {7, 7, SPECIES_ARON}, - {8, 8, SPECIES_ARON}, - {7, 7, SPECIES_ARON}, - {8, 8, SPECIES_ARON}, -}; - -const struct WildPokemonInfo gGraniteCave_StevensRoom_LandMonsInfo = {10, gGraniteCave_StevensRoom_LandMons}; - -const struct WildPokemon gRoute125_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute125_WaterMonsInfo = {4, gRoute125_WaterMons}; - -const struct WildPokemon gRoute125_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute125_FishingMonsInfo = {30, gRoute125_FishingMons}; - -const struct WildPokemon gRoute126_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute126_WaterMonsInfo = {4, gRoute126_WaterMons}; - -const struct WildPokemon gRoute126_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute126_FishingMonsInfo = {30, gRoute126_FishingMons}; - -const struct WildPokemon gRoute127_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute127_WaterMonsInfo = {4, gRoute127_WaterMons}; - -const struct WildPokemon gRoute127_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute127_FishingMonsInfo = {30, gRoute127_FishingMons}; - -const struct WildPokemon gRoute128_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute128_WaterMonsInfo = {4, gRoute128_WaterMons}; - -const struct WildPokemon gRoute128_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_LUVDISC}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_LUVDISC}, - {30, 35, SPECIES_WAILMER}, - {30, 35, SPECIES_CORSOLA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute128_FishingMonsInfo = {30, gRoute128_FishingMons}; - -const struct WildPokemon gRoute129_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_WAILORD}, -}; - -const struct WildPokemonInfo gRoute129_WaterMonsInfo = {4, gRoute129_WaterMons}; - -const struct WildPokemon gRoute129_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute129_FishingMonsInfo = {30, gRoute129_FishingMons}; - -const struct WildPokemon gRoute130_LandMons[] = -{ - {30, 30, SPECIES_WYNAUT}, - {35, 35, SPECIES_WYNAUT}, - {25, 25, SPECIES_WYNAUT}, - {40, 40, SPECIES_WYNAUT}, - {20, 20, SPECIES_WYNAUT}, - {45, 45, SPECIES_WYNAUT}, - {15, 15, SPECIES_WYNAUT}, - {50, 50, SPECIES_WYNAUT}, - {10, 10, SPECIES_WYNAUT}, - {5, 5, SPECIES_WYNAUT}, - {10, 10, SPECIES_WYNAUT}, - {5, 5, SPECIES_WYNAUT}, -}; - -const struct WildPokemonInfo gRoute130_LandMonsInfo = {20, gRoute130_LandMons}; - -const struct WildPokemon gRoute130_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute130_WaterMonsInfo = {4, gRoute130_WaterMons}; - -const struct WildPokemon gRoute130_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute130_FishingMonsInfo = {30, gRoute130_FishingMons}; - -const struct WildPokemon gRoute131_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute131_WaterMonsInfo = {4, gRoute131_WaterMons}; - -const struct WildPokemon gRoute131_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute131_FishingMonsInfo = {30, gRoute131_FishingMons}; - -const struct WildPokemon gRoute132_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute132_WaterMonsInfo = {4, gRoute132_WaterMons}; - -const struct WildPokemon gRoute132_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_HORSEA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute132_FishingMonsInfo = {30, gRoute132_FishingMons}; - -const struct WildPokemon gRoute133_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute133_WaterMonsInfo = {4, gRoute133_WaterMons}; - -const struct WildPokemon gRoute133_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_HORSEA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute133_FishingMonsInfo = {30, gRoute133_FishingMons}; - -const struct WildPokemon gRoute134_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute134_WaterMonsInfo = {4, gRoute134_WaterMons}; - -const struct WildPokemon gRoute134_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_HORSEA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute134_FishingMonsInfo = {30, gRoute134_FishingMons}; - -const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACRUEL}, -}; - -const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo = {4, gAbandonedShip_HiddenFloorCorridors_WaterMons}; - -const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_TENTACOOL}, - {25, 30, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACRUEL}, - {25, 30, SPECIES_TENTACRUEL}, - {20, 25, SPECIES_TENTACRUEL}, -}; - -const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo = {20, gAbandonedShip_HiddenFloorCorridors_FishingMons}; - -const struct WildPokemon gSeafloorCavern_Room1_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room1_LandMonsInfo = {4, gSeafloorCavern_Room1_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room2_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room2_LandMonsInfo = {4, gSeafloorCavern_Room2_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room3_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room3_LandMonsInfo = {4, gSeafloorCavern_Room3_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room4_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room4_LandMonsInfo = {4, gSeafloorCavern_Room4_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room5_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room5_LandMonsInfo = {4, gSeafloorCavern_Room5_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room6_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room6_LandMonsInfo = {4, gSeafloorCavern_Room6_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room6_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room6_WaterMonsInfo = {4, gSeafloorCavern_Room6_WaterMons}; - -const struct WildPokemon gSeafloorCavern_Room6_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room6_FishingMonsInfo = {10, gSeafloorCavern_Room6_FishingMons}; - -const struct WildPokemon gSeafloorCavern_Room7_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room7_LandMonsInfo = {4, gSeafloorCavern_Room7_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room7_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room7_WaterMonsInfo = {4, gSeafloorCavern_Room7_WaterMons}; - -const struct WildPokemon gSeafloorCavern_Room7_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room7_FishingMonsInfo = {10, gSeafloorCavern_Room7_FishingMons}; - -const struct WildPokemon gSeafloorCavern_Room8_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room8_LandMonsInfo = {4, gSeafloorCavern_Room8_LandMons}; - -const struct WildPokemon gSeafloorCavern_Entrance_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Entrance_WaterMonsInfo = {4, gSeafloorCavern_Entrance_WaterMons}; - -const struct WildPokemon gSeafloorCavern_Entrance_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Entrance_FishingMonsInfo = {10, gSeafloorCavern_Entrance_FishingMons}; - -const struct WildPokemon gCaveOfOrigin_Entrance_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_Entrance_LandMonsInfo = {4, gCaveOfOrigin_Entrance_LandMons}; - -const struct WildPokemon gCaveOfOrigin_1F_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {30, 30, SPECIES_SABLEYE}, - {32, 32, SPECIES_SABLEYE}, - {34, 34, SPECIES_SABLEYE}, - {33, 33, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_1F_LandMonsInfo = {4, gCaveOfOrigin_1F_LandMons}; - -const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap1_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {30, 30, SPECIES_SABLEYE}, - {32, 32, SPECIES_SABLEYE}, - {34, 34, SPECIES_SABLEYE}, - {33, 33, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap1_LandMons}; - -const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap2_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {30, 30, SPECIES_SABLEYE}, - {32, 32, SPECIES_SABLEYE}, - {34, 34, SPECIES_SABLEYE}, - {33, 33, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap2_LandMons}; - -const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap3_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {30, 30, SPECIES_SABLEYE}, - {32, 32, SPECIES_SABLEYE}, - {34, 34, SPECIES_SABLEYE}, - {33, 33, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap3_LandMons}; - -const struct WildPokemon gNewMauville_Entrance_LandMons[] = -{ - {24, 24, SPECIES_VOLTORB}, - {24, 24, SPECIES_MAGNEMITE}, - {25, 25, SPECIES_VOLTORB}, - {25, 25, SPECIES_MAGNEMITE}, - {23, 23, SPECIES_VOLTORB}, - {23, 23, SPECIES_MAGNEMITE}, - {26, 26, SPECIES_VOLTORB}, - {26, 26, SPECIES_MAGNEMITE}, - {22, 22, SPECIES_VOLTORB}, - {22, 22, SPECIES_MAGNEMITE}, - {22, 22, SPECIES_VOLTORB}, - {22, 22, SPECIES_MAGNEMITE}, -}; - -const struct WildPokemonInfo gNewMauville_Entrance_LandMonsInfo = {10, gNewMauville_Entrance_LandMons}; - -const struct WildPokemon gSafariZone_Southwest_LandMons[] = -{ - {25, 25, SPECIES_ODDISH}, - {27, 27, SPECIES_ODDISH}, - {25, 25, SPECIES_GIRAFARIG}, - {27, 27, SPECIES_GIRAFARIG}, - {25, 25, SPECIES_NATU}, - {27, 27, SPECIES_DODUO}, - {25, 25, SPECIES_GLOOM}, - {27, 27, SPECIES_WOBBUFFET}, - {25, 25, SPECIES_PIKACHU}, - {27, 27, SPECIES_WOBBUFFET}, - {27, 27, SPECIES_PIKACHU}, - {29, 29, SPECIES_WOBBUFFET}, -}; - -const struct WildPokemonInfo gSafariZone_Southwest_LandMonsInfo = {25, gSafariZone_Southwest_LandMons}; - -const struct WildPokemon gSafariZone_Southwest_WaterMons[] = -{ - {20, 30, SPECIES_PSYDUCK}, - {20, 30, SPECIES_PSYDUCK}, - {30, 35, SPECIES_PSYDUCK}, - {30, 35, SPECIES_PSYDUCK}, - {30, 35, SPECIES_PSYDUCK}, -}; - -const struct WildPokemonInfo gSafariZone_Southwest_WaterMonsInfo = {9, gSafariZone_Southwest_WaterMons}; - -const struct WildPokemon gSafariZone_Southwest_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 25, SPECIES_GOLDEEN}, - {10, 30, SPECIES_GOLDEEN}, - {25, 30, SPECIES_GOLDEEN}, - {30, 35, SPECIES_GOLDEEN}, - {30, 35, SPECIES_SEAKING}, - {35, 40, SPECIES_SEAKING}, - {25, 30, SPECIES_SEAKING}, -}; - -const struct WildPokemonInfo gSafariZone_Southwest_FishingMonsInfo = {35, gSafariZone_Southwest_FishingMons}; - -const struct WildPokemon gSafariZone_North_LandMons[] = -{ - {27, 27, SPECIES_PHANPY}, - {27, 27, SPECIES_ODDISH}, - {29, 29, SPECIES_PHANPY}, - {29, 29, SPECIES_ODDISH}, - {27, 27, SPECIES_NATU}, - {29, 29, SPECIES_GLOOM}, - {31, 31, SPECIES_GLOOM}, - {29, 29, SPECIES_NATU}, - {29, 29, SPECIES_XATU}, - {27, 27, SPECIES_HERACROSS}, - {31, 31, SPECIES_XATU}, - {29, 29, SPECIES_HERACROSS}, -}; - -const struct WildPokemonInfo gSafariZone_North_LandMonsInfo = {25, gSafariZone_North_LandMons}; - -const struct WildPokemon gSafariZone_North_RockSmashMons[] = -{ - {10, 15, SPECIES_GEODUDE}, - {5, 10, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {20, 25, SPECIES_GEODUDE}, - {25, 30, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gSafariZone_North_RockSmashMonsInfo = {25, gSafariZone_North_RockSmashMons}; - -const struct WildPokemon gSafariZone_Northwest_LandMons[] = -{ - {27, 27, SPECIES_RHYHORN}, - {27, 27, SPECIES_ODDISH}, - {29, 29, SPECIES_RHYHORN}, - {29, 29, SPECIES_ODDISH}, - {27, 27, SPECIES_DODUO}, - {29, 29, SPECIES_GLOOM}, - {31, 31, SPECIES_GLOOM}, - {29, 29, SPECIES_DODUO}, - {29, 29, SPECIES_DODRIO}, - {27, 27, SPECIES_PINSIR}, - {31, 31, SPECIES_DODRIO}, - {29, 29, SPECIES_PINSIR}, -}; - -const struct WildPokemonInfo gSafariZone_Northwest_LandMonsInfo = {25, gSafariZone_Northwest_LandMons}; - -const struct WildPokemon gSafariZone_Northwest_WaterMons[] = -{ - {20, 30, SPECIES_PSYDUCK}, - {20, 30, SPECIES_PSYDUCK}, - {30, 35, SPECIES_PSYDUCK}, - {30, 35, SPECIES_GOLDUCK}, - {25, 40, SPECIES_GOLDUCK}, -}; - -const struct WildPokemonInfo gSafariZone_Northwest_WaterMonsInfo = {9, gSafariZone_Northwest_WaterMons}; - -const struct WildPokemon gSafariZone_Northwest_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 25, SPECIES_GOLDEEN}, - {10, 30, SPECIES_GOLDEEN}, - {25, 30, SPECIES_GOLDEEN}, - {30, 35, SPECIES_GOLDEEN}, - {30, 35, SPECIES_SEAKING}, - {35, 40, SPECIES_SEAKING}, - {25, 30, SPECIES_SEAKING}, -}; - -const struct WildPokemonInfo gSafariZone_Northwest_FishingMonsInfo = {35, gSafariZone_Northwest_FishingMons}; - -const struct WildPokemon gVictoryRoad_B1F_LandMons[] = -{ - {40, 40, SPECIES_GOLBAT}, - {40, 40, SPECIES_HARIYAMA}, - {40, 40, SPECIES_LAIRON}, - {40, 40, SPECIES_LAIRON}, - {38, 38, SPECIES_GOLBAT}, - {38, 38, SPECIES_HARIYAMA}, - {42, 42, SPECIES_GOLBAT}, - {42, 42, SPECIES_HARIYAMA}, - {42, 42, SPECIES_LAIRON}, - {38, 38, SPECIES_MAWILE}, - {42, 42, SPECIES_LAIRON}, - {38, 38, SPECIES_MAWILE}, -}; - -const struct WildPokemonInfo gVictoryRoad_B1F_LandMonsInfo = {10, gVictoryRoad_B1F_LandMons}; - -const struct WildPokemon gVictoryRoad_B1F_RockSmashMons[] = -{ - {30, 40, SPECIES_GRAVELER}, - {30, 40, SPECIES_GEODUDE}, - {35, 40, SPECIES_GRAVELER}, - {35, 40, SPECIES_GRAVELER}, - {35, 40, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gVictoryRoad_B1F_RockSmashMonsInfo = {20, gVictoryRoad_B1F_RockSmashMons}; - -const struct WildPokemon gVictoryRoad_B2F_LandMons[] = -{ - {40, 40, SPECIES_GOLBAT}, - {40, 40, SPECIES_SABLEYE}, - {40, 40, SPECIES_LAIRON}, - {40, 40, SPECIES_LAIRON}, - {42, 42, SPECIES_GOLBAT}, - {42, 42, SPECIES_SABLEYE}, - {44, 44, SPECIES_GOLBAT}, - {44, 44, SPECIES_SABLEYE}, - {42, 42, SPECIES_LAIRON}, - {42, 42, SPECIES_MAWILE}, - {44, 44, SPECIES_LAIRON}, - {44, 44, SPECIES_MAWILE}, -}; - -const struct WildPokemonInfo gVictoryRoad_B2F_LandMonsInfo = {10, gVictoryRoad_B2F_LandMons}; - -const struct WildPokemon gVictoryRoad_B2F_WaterMons[] = -{ - {30, 35, SPECIES_GOLBAT}, - {25, 30, SPECIES_GOLBAT}, - {35, 40, SPECIES_GOLBAT}, - {35, 40, SPECIES_GOLBAT}, - {35, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gVictoryRoad_B2F_WaterMonsInfo = {4, gVictoryRoad_B2F_WaterMons}; - -const struct WildPokemon gVictoryRoad_B2F_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {30, 35, SPECIES_WHISCASH}, - {35, 40, SPECIES_WHISCASH}, - {40, 45, SPECIES_WHISCASH}, -}; - -const struct WildPokemonInfo gVictoryRoad_B2F_FishingMonsInfo = {30, gVictoryRoad_B2F_FishingMons}; - -const struct WildPokemon gMeteorFalls_1F_1R_LandMons[] = -{ - {16, 16, SPECIES_ZUBAT}, - {17, 17, SPECIES_ZUBAT}, - {18, 18, SPECIES_ZUBAT}, - {15, 15, SPECIES_ZUBAT}, - {14, 14, SPECIES_ZUBAT}, - {16, 16, SPECIES_SOLROCK}, - {18, 18, SPECIES_SOLROCK}, - {14, 14, SPECIES_SOLROCK}, - {19, 19, SPECIES_ZUBAT}, - {20, 20, SPECIES_ZUBAT}, - {19, 19, SPECIES_ZUBAT}, - {20, 20, SPECIES_ZUBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_1R_LandMonsInfo = {10, gMeteorFalls_1F_1R_LandMons}; - -const struct WildPokemon gMeteorFalls_1F_1R_WaterMons[] = -{ - {5, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_ZUBAT}, - {25, 35, SPECIES_SOLROCK}, - {15, 25, SPECIES_SOLROCK}, - {5, 15, SPECIES_SOLROCK}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_1R_WaterMonsInfo = {4, gMeteorFalls_1F_1R_WaterMons}; - -const struct WildPokemon gMeteorFalls_1F_1R_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {20, 25, SPECIES_BARBOACH}, - {35, 40, SPECIES_BARBOACH}, - {40, 45, SPECIES_BARBOACH}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_1R_FishingMonsInfo = {30, gMeteorFalls_1F_1R_FishingMons}; - -const struct WildPokemon gMeteorFalls_1F_2R_LandMons[] = -{ - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_SOLROCK}, - {33, 33, SPECIES_SOLROCK}, - {37, 37, SPECIES_SOLROCK}, - {35, 35, SPECIES_GOLBAT}, - {39, 39, SPECIES_SOLROCK}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_2R_LandMonsInfo = {10, gMeteorFalls_1F_2R_LandMons}; - -const struct WildPokemon gMeteorFalls_1F_2R_WaterMons[] = -{ - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, - {25, 35, SPECIES_SOLROCK}, - {15, 25, SPECIES_SOLROCK}, - {5, 15, SPECIES_SOLROCK}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_2R_WaterMonsInfo = {4, gMeteorFalls_1F_2R_WaterMons}; - -const struct WildPokemon gMeteorFalls_1F_2R_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {30, 35, SPECIES_WHISCASH}, - {35, 40, SPECIES_WHISCASH}, - {40, 45, SPECIES_WHISCASH}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_2R_FishingMonsInfo = {30, gMeteorFalls_1F_2R_FishingMons}; - -const struct WildPokemon gMeteorFalls_B1F_1R_LandMons[] = -{ - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_SOLROCK}, - {33, 33, SPECIES_SOLROCK}, - {37, 37, SPECIES_SOLROCK}, - {35, 35, SPECIES_GOLBAT}, - {39, 39, SPECIES_SOLROCK}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_1R_LandMonsInfo = {10, gMeteorFalls_B1F_1R_LandMons}; - -const struct WildPokemon gMeteorFalls_B1F_1R_WaterMons[] = -{ - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, - {25, 35, SPECIES_SOLROCK}, - {15, 25, SPECIES_SOLROCK}, - {5, 15, SPECIES_SOLROCK}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_1R_WaterMonsInfo = {4, gMeteorFalls_B1F_1R_WaterMons}; - -const struct WildPokemon gMeteorFalls_B1F_1R_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {30, 35, SPECIES_WHISCASH}, - {35, 40, SPECIES_WHISCASH}, - {40, 45, SPECIES_WHISCASH}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_1R_FishingMonsInfo = {30, gMeteorFalls_B1F_1R_FishingMons}; - -const struct WildPokemon gShoalCave_LowTideStairsRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {32, 32, SPECIES_ZUBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideStairsRoom_LandMonsInfo = {10, gShoalCave_LowTideStairsRoom_LandMons}; - -const struct WildPokemon gShoalCave_LowTideLowerRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {32, 32, SPECIES_ZUBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideLowerRoom_LandMonsInfo = {10, gShoalCave_LowTideLowerRoom_LandMons}; - -const struct WildPokemon gShoalCave_LowTideInnerRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {32, 32, SPECIES_ZUBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_LandMonsInfo = {10, gShoalCave_LowTideInnerRoom_LandMons}; - -const struct WildPokemon gShoalCave_LowTideInnerRoom_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {25, 30, SPECIES_SPHEAL}, - {25, 30, SPECIES_SPHEAL}, - {25, 35, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_WaterMonsInfo = {4, gShoalCave_LowTideInnerRoom_WaterMons}; - -const struct WildPokemon gShoalCave_LowTideInnerRoom_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_FishingMonsInfo = {10, gShoalCave_LowTideInnerRoom_FishingMons}; - -const struct WildPokemon gShoalCave_LowTideEntranceRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {32, 32, SPECIES_ZUBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_LandMonsInfo = {10, gShoalCave_LowTideEntranceRoom_LandMons}; - -const struct WildPokemon gShoalCave_LowTideEntranceRoom_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {25, 30, SPECIES_SPHEAL}, - {25, 30, SPECIES_SPHEAL}, - {25, 35, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_WaterMonsInfo = {4, gShoalCave_LowTideEntranceRoom_WaterMons}; - -const struct WildPokemon gShoalCave_LowTideEntranceRoom_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_FishingMonsInfo = {10, gShoalCave_LowTideEntranceRoom_FishingMons}; - -const struct WildPokemon gLilycoveCity_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gLilycoveCity_WaterMonsInfo = {4, gLilycoveCity_WaterMons}; - -const struct WildPokemon gLilycoveCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_STARYU}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gLilycoveCity_FishingMonsInfo = {10, gLilycoveCity_FishingMons}; - -const struct WildPokemon gDewfordTown_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gDewfordTown_WaterMonsInfo = {4, gDewfordTown_WaterMons}; - -const struct WildPokemon gDewfordTown_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gDewfordTown_FishingMonsInfo = {10, gDewfordTown_FishingMons}; - -const struct WildPokemon gSlateportCity_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gSlateportCity_WaterMonsInfo = {4, gSlateportCity_WaterMons}; - -const struct WildPokemon gSlateportCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gSlateportCity_FishingMonsInfo = {10, gSlateportCity_FishingMons}; - -const struct WildPokemon gMossdeepCity_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gMossdeepCity_WaterMonsInfo = {4, gMossdeepCity_WaterMons}; - -const struct WildPokemon gMossdeepCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gMossdeepCity_FishingMonsInfo = {10, gMossdeepCity_FishingMons}; - -const struct WildPokemon gPacifidlogTown_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gPacifidlogTown_WaterMonsInfo = {4, gPacifidlogTown_WaterMons}; - -const struct WildPokemon gPacifidlogTown_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gPacifidlogTown_FishingMonsInfo = {10, gPacifidlogTown_FishingMons}; - -const struct WildPokemon gEverGrandeCity_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gEverGrandeCity_WaterMonsInfo = {4, gEverGrandeCity_WaterMons}; - -const struct WildPokemon gEverGrandeCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_LUVDISC}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_LUVDISC}, - {30, 35, SPECIES_WAILMER}, - {30, 35, SPECIES_CORSOLA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gEverGrandeCity_FishingMonsInfo = {10, gEverGrandeCity_FishingMons}; - -const struct WildPokemon gPetalburgCity_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, -}; - -const struct WildPokemonInfo gPetalburgCity_WaterMonsInfo = {1, gPetalburgCity_WaterMons}; - -const struct WildPokemon gPetalburgCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_CORPHISH}, - {25, 30, SPECIES_CORPHISH}, - {30, 35, SPECIES_CORPHISH}, - {20, 25, SPECIES_CORPHISH}, - {35, 40, SPECIES_CORPHISH}, - {40, 45, SPECIES_CORPHISH}, -}; - -const struct WildPokemonInfo gPetalburgCity_FishingMonsInfo = {10, gPetalburgCity_FishingMons}; - -const struct WildPokemon gUnderwater1_WaterMons[] = -{ - {20, 30, SPECIES_CLAMPERL}, - {20, 30, SPECIES_CHINCHOU}, - {30, 35, SPECIES_CLAMPERL}, - {30, 35, SPECIES_RELICANTH}, - {30, 35, SPECIES_RELICANTH}, -}; - -const struct WildPokemonInfo gUnderwater1_WaterMonsInfo = {4, gUnderwater1_WaterMons}; - -const struct WildPokemon gShoalCave_LowTideIceRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {26, 26, SPECIES_SNORUNT}, - {32, 32, SPECIES_SPHEAL}, - {30, 30, SPECIES_GOLBAT}, - {28, 28, SPECIES_SNORUNT}, - {32, 32, SPECIES_GOLBAT}, - {30, 30, SPECIES_SNORUNT}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideIceRoom_LandMonsInfo = {10, gShoalCave_LowTideIceRoom_LandMons}; - -const struct WildPokemon gSkyPillar_1F_LandMons[] = -{ - {33, 33, SPECIES_SABLEYE}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {34, 34, SPECIES_SABLEYE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_BANETTE}, - {38, 38, SPECIES_BANETTE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_CLAYDOL}, -}; - -const struct WildPokemonInfo gSkyPillar_1F_LandMonsInfo = {10, gSkyPillar_1F_LandMons}; - -const struct WildPokemon gSootopolisCity_WaterMons[] = -{ - {5, 35, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {15, 25, SPECIES_MAGIKARP}, - {25, 30, SPECIES_MAGIKARP}, - {25, 30, SPECIES_MAGIKARP}, -}; - -const struct WildPokemonInfo gSootopolisCity_WaterMonsInfo = {1, gSootopolisCity_WaterMons}; - -const struct WildPokemon gSootopolisCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {30, 35, SPECIES_MAGIKARP}, - {30, 35, SPECIES_MAGIKARP}, - {35, 40, SPECIES_GYARADOS}, - {35, 45, SPECIES_GYARADOS}, - {5, 45, SPECIES_GYARADOS}, -}; - -const struct WildPokemonInfo gSootopolisCity_FishingMonsInfo = {10, gSootopolisCity_FishingMons}; - -const struct WildPokemon gSkyPillar_3F_LandMons[] = -{ - {33, 33, SPECIES_SABLEYE}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {34, 34, SPECIES_SABLEYE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_BANETTE}, - {38, 38, SPECIES_BANETTE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_CLAYDOL}, -}; - -const struct WildPokemonInfo gSkyPillar_3F_LandMonsInfo = {10, gSkyPillar_3F_LandMons}; - -const struct WildPokemon gSkyPillar_5F_LandMons[] = -{ - {33, 33, SPECIES_SABLEYE}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {34, 34, SPECIES_SABLEYE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_BANETTE}, - {38, 38, SPECIES_BANETTE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_ALTARIA}, - {39, 39, SPECIES_ALTARIA}, - {39, 39, SPECIES_ALTARIA}, -}; - -const struct WildPokemonInfo gSkyPillar_5F_LandMonsInfo = {10, gSkyPillar_5F_LandMons}; - -const struct WildPokemon gSafariZone_Southeast_LandMons[] = -{ - {33, 33, SPECIES_SUNKERN}, - {34, 34, SPECIES_MAREEP}, - {35, 35, SPECIES_SUNKERN}, - {36, 36, SPECIES_MAREEP}, - {34, 34, SPECIES_AIPOM}, - {33, 33, SPECIES_SPINARAK}, - {35, 35, SPECIES_HOOTHOOT}, - {34, 34, SPECIES_SNUBBULL}, - {36, 36, SPECIES_STANTLER}, - {37, 37, SPECIES_GLIGAR}, - {39, 39, SPECIES_STANTLER}, - {40, 40, SPECIES_GLIGAR}, -}; - -const struct WildPokemonInfo gSafariZone_Southeast_LandMonsInfo = {25, gSafariZone_Southeast_LandMons}; - -const struct WildPokemon gSafariZone_Southeast_WaterMons[] = -{ - {25, 30, SPECIES_WOOPER}, - {25, 30, SPECIES_MARILL}, - {25, 30, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {35, 40, SPECIES_QUAGSIRE}, -}; - -const struct WildPokemonInfo gSafariZone_Southeast_WaterMonsInfo = {9, gSafariZone_Southeast_WaterMons}; - -const struct WildPokemon gSafariZone_Southeast_FishingMons[] = -{ - {25, 30, SPECIES_MAGIKARP}, - {25, 30, SPECIES_GOLDEEN}, - {25, 30, SPECIES_MAGIKARP}, - {25, 30, SPECIES_GOLDEEN}, - {30, 35, SPECIES_REMORAID}, - {25, 30, SPECIES_GOLDEEN}, - {25, 30, SPECIES_REMORAID}, - {30, 35, SPECIES_REMORAID}, - {30, 35, SPECIES_REMORAID}, - {35, 40, SPECIES_OCTILLERY}, -}; - -const struct WildPokemonInfo gSafariZone_Southeast_FishingMonsInfo = {35, gSafariZone_Southeast_FishingMons}; - -const struct WildPokemon gSafariZone_Northeast_LandMons[] = -{ - {33, 33, SPECIES_AIPOM}, - {34, 34, SPECIES_TEDDIURSA}, - {35, 35, SPECIES_AIPOM}, - {36, 36, SPECIES_TEDDIURSA}, - {34, 34, SPECIES_SUNKERN}, - {33, 33, SPECIES_LEDYBA}, - {35, 35, SPECIES_HOOTHOOT}, - {34, 34, SPECIES_PINECO}, - {36, 36, SPECIES_HOUNDOUR}, - {37, 37, SPECIES_MILTANK}, - {39, 39, SPECIES_HOUNDOUR}, - {40, 40, SPECIES_MILTANK}, -}; - -const struct WildPokemonInfo gSafariZone_Northeast_LandMonsInfo = {25, gSafariZone_Northeast_LandMons}; - -const struct WildPokemon gSafariZone_Northeast_RockSmashMons[] = -{ - {25, 30, SPECIES_SHUCKLE}, - {20, 25, SPECIES_SHUCKLE}, - {30, 35, SPECIES_SHUCKLE}, - {30, 35, SPECIES_SHUCKLE}, - {35, 40, SPECIES_SHUCKLE}, -}; - -const struct WildPokemonInfo gSafariZone_Northeast_RockSmashMonsInfo = {25, gSafariZone_Northeast_RockSmashMons}; - -const struct WildPokemon gMagmaHideout_1F_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_1F_LandMonsInfo = {10, gMagmaHideout_1F_LandMons}; - -const struct WildPokemon gMagmaHideout_2F_1R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_2F_1R_LandMonsInfo = {10, gMagmaHideout_2F_1R_LandMons}; - -const struct WildPokemon gMagmaHideout_2F_2R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_2F_2R_LandMonsInfo = {10, gMagmaHideout_2F_2R_LandMons}; - -const struct WildPokemon gMagmaHideout_3F_1R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_3F_1R_LandMonsInfo = {10, gMagmaHideout_3F_1R_LandMons}; - -const struct WildPokemon gMagmaHideout_3F_2R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_3F_2R_LandMonsInfo = {10, gMagmaHideout_3F_2R_LandMons}; - -const struct WildPokemon gMagmaHideout_4F_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_4F_LandMonsInfo = {10, gMagmaHideout_4F_LandMons}; - -const struct WildPokemon gMagmaHideout_3F_3R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_3F_3R_LandMonsInfo = {10, gMagmaHideout_3F_3R_LandMons}; - -const struct WildPokemon gMagmaHideout_2F_3R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_2F_3R_LandMonsInfo = {10, gMagmaHideout_2F_3R_LandMons}; - -const struct WildPokemon gMirageTower_1F_LandMons[] = -{ - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {22, 22, SPECIES_SANDSHREW}, - {22, 22, SPECIES_TRAPINCH}, - {23, 23, SPECIES_SANDSHREW}, - {23, 23, SPECIES_TRAPINCH}, - {24, 24, SPECIES_SANDSHREW}, - {24, 24, SPECIES_TRAPINCH}, -}; - -const struct WildPokemonInfo gMirageTower_1F_LandMonsInfo = {10, gMirageTower_1F_LandMons}; - -const struct WildPokemon gMirageTower_2F_LandMons[] = -{ - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {22, 22, SPECIES_SANDSHREW}, - {22, 22, SPECIES_TRAPINCH}, - {23, 23, SPECIES_SANDSHREW}, - {23, 23, SPECIES_TRAPINCH}, - {24, 24, SPECIES_SANDSHREW}, - {24, 24, SPECIES_TRAPINCH}, -}; - -const struct WildPokemonInfo gMirageTower_2F_LandMonsInfo = {10, gMirageTower_2F_LandMons}; - -const struct WildPokemon gMirageTower_3F_LandMons[] = -{ - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {22, 22, SPECIES_SANDSHREW}, - {22, 22, SPECIES_TRAPINCH}, - {23, 23, SPECIES_SANDSHREW}, - {23, 23, SPECIES_TRAPINCH}, - {24, 24, SPECIES_SANDSHREW}, - {24, 24, SPECIES_TRAPINCH}, -}; - -const struct WildPokemonInfo gMirageTower_3F_LandMonsInfo = {10, gMirageTower_3F_LandMons}; - -const struct WildPokemon gMirageTower_4F_LandMons[] = -{ - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {22, 22, SPECIES_SANDSHREW}, - {22, 22, SPECIES_TRAPINCH}, - {23, 23, SPECIES_SANDSHREW}, - {23, 23, SPECIES_TRAPINCH}, - {24, 24, SPECIES_SANDSHREW}, - {24, 24, SPECIES_TRAPINCH}, -}; - -const struct WildPokemonInfo gMirageTower_4F_LandMonsInfo = {10, gMirageTower_4F_LandMons}; - -const struct WildPokemon gDesertUnderpass_LandMons[] = -{ - {38, 38, SPECIES_DITTO}, - {35, 35, SPECIES_WHISMUR}, - {40, 40, SPECIES_DITTO}, - {40, 40, SPECIES_LOUDRED}, - {41, 41, SPECIES_DITTO}, - {36, 36, SPECIES_WHISMUR}, - {38, 38, SPECIES_LOUDRED}, - {42, 42, SPECIES_DITTO}, - {38, 38, SPECIES_WHISMUR}, - {43, 43, SPECIES_DITTO}, - {44, 44, SPECIES_LOUDRED}, - {45, 45, SPECIES_DITTO}, -}; - -const struct WildPokemonInfo gDesertUnderpass_LandMonsInfo = {10, gDesertUnderpass_LandMons}; - -const struct WildPokemon gArtisanCave_B1F_LandMons[] = -{ - {40, 40, SPECIES_SMEARGLE}, - {41, 41, SPECIES_SMEARGLE}, - {42, 42, SPECIES_SMEARGLE}, - {43, 43, SPECIES_SMEARGLE}, - {44, 44, SPECIES_SMEARGLE}, - {45, 45, SPECIES_SMEARGLE}, - {46, 46, SPECIES_SMEARGLE}, - {47, 47, SPECIES_SMEARGLE}, - {48, 48, SPECIES_SMEARGLE}, - {49, 49, SPECIES_SMEARGLE}, - {50, 50, SPECIES_SMEARGLE}, - {50, 50, SPECIES_SMEARGLE}, -}; - -const struct WildPokemonInfo gArtisanCave_B1F_LandMonsInfo = {10, gArtisanCave_B1F_LandMons}; - -const struct WildPokemon gArtisanCave_1F_LandMons[] = -{ - {40, 40, SPECIES_SMEARGLE}, - {41, 41, SPECIES_SMEARGLE}, - {42, 42, SPECIES_SMEARGLE}, - {43, 43, SPECIES_SMEARGLE}, - {44, 44, SPECIES_SMEARGLE}, - {45, 45, SPECIES_SMEARGLE}, - {46, 46, SPECIES_SMEARGLE}, - {47, 47, SPECIES_SMEARGLE}, - {48, 48, SPECIES_SMEARGLE}, - {49, 49, SPECIES_SMEARGLE}, - {50, 50, SPECIES_SMEARGLE}, - {50, 50, SPECIES_SMEARGLE}, -}; - -const struct WildPokemonInfo gArtisanCave_1F_LandMonsInfo = {10, gArtisanCave_1F_LandMons}; - -const struct WildPokemon gAlteringCave1_LandMons[] = -{ - {10, 10, SPECIES_ZUBAT}, - {12, 12, SPECIES_ZUBAT}, - {8, 8, SPECIES_ZUBAT}, - {14, 14, SPECIES_ZUBAT}, - {10, 10, SPECIES_ZUBAT}, - {12, 12, SPECIES_ZUBAT}, - {16, 16, SPECIES_ZUBAT}, - {6, 6, SPECIES_ZUBAT}, - {8, 8, SPECIES_ZUBAT}, - {14, 14, SPECIES_ZUBAT}, - {8, 8, SPECIES_ZUBAT}, - {14, 14, SPECIES_ZUBAT}, -}; - -const struct WildPokemonInfo gAlteringCave1_LandMonsInfo = {7, gAlteringCave1_LandMons}; - -const struct WildPokemon gAlteringCave2_LandMons[] = -{ - {7, 7, SPECIES_MAREEP}, - {9, 9, SPECIES_MAREEP}, - {5, 5, SPECIES_MAREEP}, - {11, 11, SPECIES_MAREEP}, - {7, 7, SPECIES_MAREEP}, - {9, 9, SPECIES_MAREEP}, - {13, 13, SPECIES_MAREEP}, - {3, 3, SPECIES_MAREEP}, - {5, 5, SPECIES_MAREEP}, - {11, 11, SPECIES_MAREEP}, - {5, 5, SPECIES_MAREEP}, - {11, 11, SPECIES_MAREEP}, -}; - -const struct WildPokemonInfo gAlteringCave2_LandMonsInfo = {7, gAlteringCave2_LandMons}; - -const struct WildPokemon gAlteringCave3_LandMons[] = -{ - {23, 23, SPECIES_PINECO}, - {25, 25, SPECIES_PINECO}, - {22, 22, SPECIES_PINECO}, - {27, 27, SPECIES_PINECO}, - {23, 23, SPECIES_PINECO}, - {25, 25, SPECIES_PINECO}, - {29, 29, SPECIES_PINECO}, - {19, 19, SPECIES_PINECO}, - {21, 21, SPECIES_PINECO}, - {27, 27, SPECIES_PINECO}, - {21, 21, SPECIES_PINECO}, - {27, 27, SPECIES_PINECO}, -}; - -const struct WildPokemonInfo gAlteringCave3_LandMonsInfo = {7, gAlteringCave3_LandMons}; - -const struct WildPokemon gAlteringCave4_LandMons[] = -{ - {16, 16, SPECIES_HOUNDOUR}, - {18, 18, SPECIES_HOUNDOUR}, - {14, 14, SPECIES_HOUNDOUR}, - {20, 20, SPECIES_HOUNDOUR}, - {16, 16, SPECIES_HOUNDOUR}, - {18, 18, SPECIES_HOUNDOUR}, - {22, 22, SPECIES_HOUNDOUR}, - {12, 12, SPECIES_HOUNDOUR}, - {14, 14, SPECIES_HOUNDOUR}, - {20, 20, SPECIES_HOUNDOUR}, - {14, 14, SPECIES_HOUNDOUR}, - {20, 20, SPECIES_HOUNDOUR}, -}; - -const struct WildPokemonInfo gAlteringCave4_LandMonsInfo = {7, gAlteringCave4_LandMons}; - -const struct WildPokemon gAlteringCave5_LandMons[] = -{ - {10, 10, SPECIES_TEDDIURSA}, - {12, 12, SPECIES_TEDDIURSA}, - {8, 8, SPECIES_TEDDIURSA}, - {14, 14, SPECIES_TEDDIURSA}, - {10, 10, SPECIES_TEDDIURSA}, - {12, 12, SPECIES_TEDDIURSA}, - {16, 16, SPECIES_TEDDIURSA}, - {6, 6, SPECIES_TEDDIURSA}, - {8, 8, SPECIES_TEDDIURSA}, - {14, 14, SPECIES_TEDDIURSA}, - {8, 8, SPECIES_TEDDIURSA}, - {14, 14, SPECIES_TEDDIURSA}, -}; - -const struct WildPokemonInfo gAlteringCave5_LandMonsInfo = {7, gAlteringCave5_LandMons}; - -const struct WildPokemon gAlteringCave6_LandMons[] = -{ - {22, 22, SPECIES_AIPOM}, - {24, 24, SPECIES_AIPOM}, - {20, 20, SPECIES_AIPOM}, - {26, 26, SPECIES_AIPOM}, - {22, 22, SPECIES_AIPOM}, - {24, 24, SPECIES_AIPOM}, - {28, 28, SPECIES_AIPOM}, - {18, 18, SPECIES_AIPOM}, - {20, 20, SPECIES_AIPOM}, - {26, 26, SPECIES_AIPOM}, - {20, 20, SPECIES_AIPOM}, - {26, 26, SPECIES_AIPOM}, -}; - -const struct WildPokemonInfo gAlteringCave6_LandMonsInfo = {7, gAlteringCave6_LandMons}; - -const struct WildPokemon gAlteringCave7_LandMons[] = -{ - {22, 22, SPECIES_SHUCKLE}, - {24, 24, SPECIES_SHUCKLE}, - {20, 20, SPECIES_SHUCKLE}, - {26, 26, SPECIES_SHUCKLE}, - {22, 22, SPECIES_SHUCKLE}, - {24, 24, SPECIES_SHUCKLE}, - {28, 28, SPECIES_SHUCKLE}, - {18, 18, SPECIES_SHUCKLE}, - {20, 20, SPECIES_SHUCKLE}, - {26, 26, SPECIES_SHUCKLE}, - {20, 20, SPECIES_SHUCKLE}, - {26, 26, SPECIES_SHUCKLE}, -}; - -const struct WildPokemonInfo gAlteringCave7_LandMonsInfo = {7, gAlteringCave7_LandMons}; - -const struct WildPokemon gAlteringCave8_LandMons[] = -{ - {22, 22, SPECIES_STANTLER}, - {24, 24, SPECIES_STANTLER}, - {20, 20, SPECIES_STANTLER}, - {26, 26, SPECIES_STANTLER}, - {22, 22, SPECIES_STANTLER}, - {24, 24, SPECIES_STANTLER}, - {28, 28, SPECIES_STANTLER}, - {18, 18, SPECIES_STANTLER}, - {20, 20, SPECIES_STANTLER}, - {26, 26, SPECIES_STANTLER}, - {20, 20, SPECIES_STANTLER}, - {26, 26, SPECIES_STANTLER}, -}; - -const struct WildPokemonInfo gAlteringCave8_LandMonsInfo = {7, gAlteringCave8_LandMons}; - -const struct WildPokemon gAlteringCave9_LandMons[] = -{ - {22, 22, SPECIES_SMEARGLE}, - {24, 24, SPECIES_SMEARGLE}, - {20, 20, SPECIES_SMEARGLE}, - {26, 26, SPECIES_SMEARGLE}, - {22, 22, SPECIES_SMEARGLE}, - {24, 24, SPECIES_SMEARGLE}, - {28, 28, SPECIES_SMEARGLE}, - {18, 18, SPECIES_SMEARGLE}, - {20, 20, SPECIES_SMEARGLE}, - {26, 26, SPECIES_SMEARGLE}, - {20, 20, SPECIES_SMEARGLE}, - {26, 26, SPECIES_SMEARGLE}, -}; - -const struct WildPokemonInfo gAlteringCave9_LandMonsInfo = {7, gAlteringCave9_LandMons}; - -const struct WildPokemon gMeteorFalls_StevensCave_LandMons[] = -{ - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_SOLROCK}, - {33, 33, SPECIES_SOLROCK}, - {37, 37, SPECIES_SOLROCK}, - {35, 35, SPECIES_GOLBAT}, - {39, 39, SPECIES_SOLROCK}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_StevensCave_LandMonsInfo = {10, gMeteorFalls_StevensCave_LandMons}; - -const struct WildPokemonHeader gWildMonHeaders[] = -{ - { - .mapGroup = MAP_GROUP(ROUTE101), - .mapNum = MAP_NUM(ROUTE101), - .landMonsInfo = &gRoute101_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE102), - .mapNum = MAP_NUM(ROUTE102), - .landMonsInfo = &gRoute102_LandMonsInfo, - .waterMonsInfo = &gRoute102_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute102_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE103), - .mapNum = MAP_NUM(ROUTE103), - .landMonsInfo = &gRoute103_LandMonsInfo, - .waterMonsInfo = &gRoute103_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute103_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE104), - .mapNum = MAP_NUM(ROUTE104), - .landMonsInfo = &gRoute104_LandMonsInfo, - .waterMonsInfo = &gRoute104_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute104_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE105), - .mapNum = MAP_NUM(ROUTE105), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute105_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute105_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE110), - .mapNum = MAP_NUM(ROUTE110), - .landMonsInfo = &gRoute110_LandMonsInfo, - .waterMonsInfo = &gRoute110_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute110_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE111), - .mapNum = MAP_NUM(ROUTE111), - .landMonsInfo = &gRoute111_LandMonsInfo, - .waterMonsInfo = &gRoute111_WaterMonsInfo, - .rockSmashMonsInfo = &gRoute111_RockSmashMonsInfo, - .fishingMonsInfo = &gRoute111_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE112), - .mapNum = MAP_NUM(ROUTE112), - .landMonsInfo = &gRoute112_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE113), - .mapNum = MAP_NUM(ROUTE113), - .landMonsInfo = &gRoute113_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE114), - .mapNum = MAP_NUM(ROUTE114), - .landMonsInfo = &gRoute114_LandMonsInfo, - .waterMonsInfo = &gRoute114_WaterMonsInfo, - .rockSmashMonsInfo = &gRoute114_RockSmashMonsInfo, - .fishingMonsInfo = &gRoute114_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE116), - .mapNum = MAP_NUM(ROUTE116), - .landMonsInfo = &gRoute116_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE117), - .mapNum = MAP_NUM(ROUTE117), - .landMonsInfo = &gRoute117_LandMonsInfo, - .waterMonsInfo = &gRoute117_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute117_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE118), - .mapNum = MAP_NUM(ROUTE118), - .landMonsInfo = &gRoute118_LandMonsInfo, - .waterMonsInfo = &gRoute118_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute118_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE124), - .mapNum = MAP_NUM(ROUTE124), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute124_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute124_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(PETALBURG_WOODS), - .mapNum = MAP_NUM(PETALBURG_WOODS), - .landMonsInfo = &gPetalburgWoods_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(RUSTURF_TUNNEL), - .mapNum = MAP_NUM(RUSTURF_TUNNEL), - .landMonsInfo = &gRusturfTunnel_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(GRANITE_CAVE_1F), - .mapNum = MAP_NUM(GRANITE_CAVE_1F), - .landMonsInfo = &gGraniteCave_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(GRANITE_CAVE_B1F), - .mapNum = MAP_NUM(GRANITE_CAVE_B1F), - .landMonsInfo = &gGraniteCave_B1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_1F), - .mapNum = MAP_NUM(MT_PYRE_1F), - .landMonsInfo = &gMtPyre_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(VICTORY_ROAD_1F), - .mapNum = MAP_NUM(VICTORY_ROAD_1F), - .landMonsInfo = &gVictoryRoad_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTH), - .mapNum = MAP_NUM(SAFARI_ZONE_SOUTH), - .landMonsInfo = &gSafariZone_South_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(UNDERWATER2), - .mapNum = MAP_NUM(UNDERWATER2), - .landMonsInfo = NULL, - .waterMonsInfo = &gUnderwater2_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ABANDONED_SHIP_ROOMS_B1F), - .mapNum = MAP_NUM(ABANDONED_SHIP_ROOMS_B1F), - .landMonsInfo = NULL, - .waterMonsInfo = &gAbandonedShip_Rooms_B1F_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gAbandonedShip_Rooms_B1F_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(GRANITE_CAVE_B2F), - .mapNum = MAP_NUM(GRANITE_CAVE_B2F), - .landMonsInfo = &gGraniteCave_B2F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = &gGraniteCave_B2F_RockSmashMonsInfo, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(FIERY_PATH), - .mapNum = MAP_NUM(FIERY_PATH), - .landMonsInfo = &gFieryPath_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_2R), - .mapNum = MAP_NUM(METEOR_FALLS_B1F_2R), - .landMonsInfo = &gMeteorFalls_B1F_2R_LandMonsInfo, - .waterMonsInfo = &gMeteorFalls_B1F_2R_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMeteorFalls_B1F_2R_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(JAGGED_PASS), - .mapNum = MAP_NUM(JAGGED_PASS), - .landMonsInfo = &gJaggedPass_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE106), - .mapNum = MAP_NUM(ROUTE106), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute106_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute106_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE107), - .mapNum = MAP_NUM(ROUTE107), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute107_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute107_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE108), - .mapNum = MAP_NUM(ROUTE108), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute108_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute108_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE109), - .mapNum = MAP_NUM(ROUTE109), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute109_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute109_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE115), - .mapNum = MAP_NUM(ROUTE115), - .landMonsInfo = &gRoute115_LandMonsInfo, - .waterMonsInfo = &gRoute115_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute115_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(NEW_MAUVILLE_INSIDE), - .mapNum = MAP_NUM(NEW_MAUVILLE_INSIDE), - .landMonsInfo = &gNewMauville_Inside_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE119), - .mapNum = MAP_NUM(ROUTE119), - .landMonsInfo = &gRoute119_LandMonsInfo, - .waterMonsInfo = &gRoute119_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute119_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE120), - .mapNum = MAP_NUM(ROUTE120), - .landMonsInfo = &gRoute120_LandMonsInfo, - .waterMonsInfo = &gRoute120_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute120_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE121), - .mapNum = MAP_NUM(ROUTE121), - .landMonsInfo = &gRoute121_LandMonsInfo, - .waterMonsInfo = &gRoute121_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute121_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE122), - .mapNum = MAP_NUM(ROUTE122), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute122_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute122_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE123), - .mapNum = MAP_NUM(ROUTE123), - .landMonsInfo = &gRoute123_LandMonsInfo, - .waterMonsInfo = &gRoute123_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute123_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_2F), - .mapNum = MAP_NUM(MT_PYRE_2F), - .landMonsInfo = &gMtPyre_2F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_3F), - .mapNum = MAP_NUM(MT_PYRE_3F), - .landMonsInfo = &gMtPyre_3F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_4F), - .mapNum = MAP_NUM(MT_PYRE_4F), - .landMonsInfo = &gMtPyre_4F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_5F), - .mapNum = MAP_NUM(MT_PYRE_5F), - .landMonsInfo = &gMtPyre_5F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_6F), - .mapNum = MAP_NUM(MT_PYRE_6F), - .landMonsInfo = &gMtPyre_6F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_EXTERIOR), - .mapNum = MAP_NUM(MT_PYRE_EXTERIOR), - .landMonsInfo = &gMtPyre_Exterior_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_SUMMIT), - .mapNum = MAP_NUM(MT_PYRE_SUMMIT), - .landMonsInfo = &gMtPyre_Summit_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(GRANITE_CAVE_STEVENS_ROOM), - .mapNum = MAP_NUM(GRANITE_CAVE_STEVENS_ROOM), - .landMonsInfo = &gGraniteCave_StevensRoom_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE125), - .mapNum = MAP_NUM(ROUTE125), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute125_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute125_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE126), - .mapNum = MAP_NUM(ROUTE126), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute126_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute126_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE127), - .mapNum = MAP_NUM(ROUTE127), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute127_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute127_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE128), - .mapNum = MAP_NUM(ROUTE128), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute128_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute128_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE129), - .mapNum = MAP_NUM(ROUTE129), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute129_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute129_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE130), - .mapNum = MAP_NUM(ROUTE130), - .landMonsInfo = &gRoute130_LandMonsInfo, - .waterMonsInfo = &gRoute130_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute130_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE131), - .mapNum = MAP_NUM(ROUTE131), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute131_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute131_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE132), - .mapNum = MAP_NUM(ROUTE132), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute132_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute132_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE133), - .mapNum = MAP_NUM(ROUTE133), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute133_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute133_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE134), - .mapNum = MAP_NUM(ROUTE134), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute134_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute134_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS), - .mapNum = MAP_NUM(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS), - .landMonsInfo = NULL, - .waterMonsInfo = &gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM1), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM1), - .landMonsInfo = &gSeafloorCavern_Room1_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM2), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM2), - .landMonsInfo = &gSeafloorCavern_Room2_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM3), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM3), - .landMonsInfo = &gSeafloorCavern_Room3_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM4), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM4), - .landMonsInfo = &gSeafloorCavern_Room4_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM5), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM5), - .landMonsInfo = &gSeafloorCavern_Room5_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM6), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM6), - .landMonsInfo = &gSeafloorCavern_Room6_LandMonsInfo, - .waterMonsInfo = &gSeafloorCavern_Room6_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSeafloorCavern_Room6_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM7), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM7), - .landMonsInfo = &gSeafloorCavern_Room7_LandMonsInfo, - .waterMonsInfo = &gSeafloorCavern_Room7_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSeafloorCavern_Room7_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM8), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM8), - .landMonsInfo = &gSeafloorCavern_Room8_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ENTRANCE), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ENTRANCE), - .landMonsInfo = NULL, - .waterMonsInfo = &gSeafloorCavern_Entrance_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSeafloorCavern_Entrance_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_ENTRANCE), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_ENTRANCE), - .landMonsInfo = &gCaveOfOrigin_Entrance_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_1F), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_1F), - .landMonsInfo = &gCaveOfOrigin_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1), - .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2), - .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3), - .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(NEW_MAUVILLE_ENTRANCE), - .mapNum = MAP_NUM(NEW_MAUVILLE_ENTRANCE), - .landMonsInfo = &gNewMauville_Entrance_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHWEST), - .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHWEST), - .landMonsInfo = &gSafariZone_Southwest_LandMonsInfo, - .waterMonsInfo = &gSafariZone_Southwest_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSafariZone_Southwest_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTH), - .mapNum = MAP_NUM(SAFARI_ZONE_NORTH), - .landMonsInfo = &gSafariZone_North_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = &gSafariZone_North_RockSmashMonsInfo, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHWEST), - .mapNum = MAP_NUM(SAFARI_ZONE_NORTHWEST), - .landMonsInfo = &gSafariZone_Northwest_LandMonsInfo, - .waterMonsInfo = &gSafariZone_Northwest_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSafariZone_Northwest_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(VICTORY_ROAD_B1F), - .mapNum = MAP_NUM(VICTORY_ROAD_B1F), - .landMonsInfo = &gVictoryRoad_B1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = &gVictoryRoad_B1F_RockSmashMonsInfo, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(VICTORY_ROAD_B2F), - .mapNum = MAP_NUM(VICTORY_ROAD_B2F), - .landMonsInfo = &gVictoryRoad_B2F_LandMonsInfo, - .waterMonsInfo = &gVictoryRoad_B2F_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gVictoryRoad_B2F_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_1F_1R), - .mapNum = MAP_NUM(METEOR_FALLS_1F_1R), - .landMonsInfo = &gMeteorFalls_1F_1R_LandMonsInfo, - .waterMonsInfo = &gMeteorFalls_1F_1R_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMeteorFalls_1F_1R_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_1F_2R), - .mapNum = MAP_NUM(METEOR_FALLS_1F_2R), - .landMonsInfo = &gMeteorFalls_1F_2R_LandMonsInfo, - .waterMonsInfo = &gMeteorFalls_1F_2R_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMeteorFalls_1F_2R_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_1R), - .mapNum = MAP_NUM(METEOR_FALLS_B1F_1R), - .landMonsInfo = &gMeteorFalls_B1F_1R_LandMonsInfo, - .waterMonsInfo = &gMeteorFalls_B1F_1R_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMeteorFalls_B1F_1R_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM), - .landMonsInfo = &gShoalCave_LowTideStairsRoom_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM), - .landMonsInfo = &gShoalCave_LowTideLowerRoom_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_INNER_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_INNER_ROOM), - .landMonsInfo = &gShoalCave_LowTideInnerRoom_LandMonsInfo, - .waterMonsInfo = &gShoalCave_LowTideInnerRoom_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gShoalCave_LowTideInnerRoom_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM), - .landMonsInfo = &gShoalCave_LowTideEntranceRoom_LandMonsInfo, - .waterMonsInfo = &gShoalCave_LowTideEntranceRoom_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gShoalCave_LowTideEntranceRoom_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(LILYCOVE_CITY), - .mapNum = MAP_NUM(LILYCOVE_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gLilycoveCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gLilycoveCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(DEWFORD_TOWN), - .mapNum = MAP_NUM(DEWFORD_TOWN), - .landMonsInfo = NULL, - .waterMonsInfo = &gDewfordTown_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gDewfordTown_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SLATEPORT_CITY), - .mapNum = MAP_NUM(SLATEPORT_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gSlateportCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSlateportCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(MOSSDEEP_CITY), - .mapNum = MAP_NUM(MOSSDEEP_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gMossdeepCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMossdeepCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(PACIFIDLOG_TOWN), - .mapNum = MAP_NUM(PACIFIDLOG_TOWN), - .landMonsInfo = NULL, - .waterMonsInfo = &gPacifidlogTown_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gPacifidlogTown_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(EVER_GRANDE_CITY), - .mapNum = MAP_NUM(EVER_GRANDE_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gEverGrandeCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gEverGrandeCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(PETALBURG_CITY), - .mapNum = MAP_NUM(PETALBURG_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gPetalburgCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gPetalburgCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(UNDERWATER1), - .mapNum = MAP_NUM(UNDERWATER1), - .landMonsInfo = NULL, - .waterMonsInfo = &gUnderwater1_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ICE_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ICE_ROOM), - .landMonsInfo = &gShoalCave_LowTideIceRoom_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SKY_PILLAR_1F), - .mapNum = MAP_NUM(SKY_PILLAR_1F), - .landMonsInfo = &gSkyPillar_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SOOTOPOLIS_CITY), - .mapNum = MAP_NUM(SOOTOPOLIS_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gSootopolisCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSootopolisCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SKY_PILLAR_3F), - .mapNum = MAP_NUM(SKY_PILLAR_3F), - .landMonsInfo = &gSkyPillar_3F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SKY_PILLAR_5F), - .mapNum = MAP_NUM(SKY_PILLAR_5F), - .landMonsInfo = &gSkyPillar_5F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHEAST), - .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHEAST), - .landMonsInfo = &gSafariZone_Southeast_LandMonsInfo, - .waterMonsInfo = &gSafariZone_Southeast_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSafariZone_Southeast_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHEAST), - .mapNum = MAP_NUM(SAFARI_ZONE_NORTHEAST), - .landMonsInfo = &gSafariZone_Northeast_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = &gSafariZone_Northeast_RockSmashMonsInfo, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_1F), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_1F), - .landMonsInfo = &gMagmaHideout_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_1R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_1R), - .landMonsInfo = &gMagmaHideout_2F_1R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_2R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_2R), - .landMonsInfo = &gMagmaHideout_2F_2R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_1R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_1R), - .landMonsInfo = &gMagmaHideout_3F_1R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_2R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_2R), - .landMonsInfo = &gMagmaHideout_3F_2R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_4F), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_4F), - .landMonsInfo = &gMagmaHideout_4F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_3R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_3R), - .landMonsInfo = &gMagmaHideout_3F_3R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_3R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_3R), - .landMonsInfo = &gMagmaHideout_2F_3R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MIRAGE_TOWER_1F), - .mapNum = MAP_NUM(MIRAGE_TOWER_1F), - .landMonsInfo = &gMirageTower_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MIRAGE_TOWER_2F), - .mapNum = MAP_NUM(MIRAGE_TOWER_2F), - .landMonsInfo = &gMirageTower_2F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MIRAGE_TOWER_3F), - .mapNum = MAP_NUM(MIRAGE_TOWER_3F), - .landMonsInfo = &gMirageTower_3F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MIRAGE_TOWER_4F), - .mapNum = MAP_NUM(MIRAGE_TOWER_4F), - .landMonsInfo = &gMirageTower_4F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(DESERT_UNDERPASS), - .mapNum = MAP_NUM(DESERT_UNDERPASS), - .landMonsInfo = &gDesertUnderpass_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ARTISAN_CAVE_B1F), - .mapNum = MAP_NUM(ARTISAN_CAVE_B1F), - .landMonsInfo = &gArtisanCave_B1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ARTISAN_CAVE_1F), - .mapNum = MAP_NUM(ARTISAN_CAVE_1F), - .landMonsInfo = &gArtisanCave_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave1_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave2_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave3_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave4_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave5_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave6_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave7_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave8_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave9_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_STEVENS_CAVE), - .mapNum = MAP_NUM(METEOR_FALLS_STEVENS_CAVE), - .landMonsInfo = &gMeteorFalls_StevensCave_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(UNDEFINED), - .mapNum = MAP_NUM(UNDEFINED), - .landMonsInfo = NULL, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, -}; - -const struct WildPokemon gBattlePyramidPlaceholders_1[] = -{ - {5, 5, SPECIES_BULBASAUR}, - {5, 5, SPECIES_BULBASAUR}, - {5, 5, SPECIES_BULBASAUR}, - {5, 5, SPECIES_BULBASAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_CHARMANDER}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_1Info = {4, gBattlePyramidPlaceholders_1}; - -const struct WildPokemon gBattlePyramidPlaceholders_2[] = -{ - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMANDER}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_2Info = {4, gBattlePyramidPlaceholders_2}; - -const struct WildPokemon gBattlePyramidPlaceholders_3[] = -{ - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARIZARD}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_3Info = {4, gBattlePyramidPlaceholders_3}; - -const struct WildPokemon gBattlePyramidPlaceholders_4[] = -{ - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_SQUIRTLE}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_4Info = {4, gBattlePyramidPlaceholders_4}; - -const struct WildPokemon gBattlePyramidPlaceholders_5[] = -{ - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_WARTORTLE}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_5Info = {4, gBattlePyramidPlaceholders_5}; - -const struct WildPokemon gBattlePyramidPlaceholders_6[] = -{ - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_6Info = {4, gBattlePyramidPlaceholders_6}; - -const struct WildPokemon gBattlePyramidPlaceholders_7[] = -{ - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_7Info = {8, gBattlePyramidPlaceholders_7}; - -const struct WildPokemonHeader gBattlePyramidWildMonHeaders[] = -{ - { - .mapGroup = 0, - .mapNum = 1, - .landMonsInfo = &gBattlePyramidPlaceholders_1Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 2, - .landMonsInfo = &gBattlePyramidPlaceholders_2Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 3, - .landMonsInfo = &gBattlePyramidPlaceholders_3Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 4, - .landMonsInfo = &gBattlePyramidPlaceholders_4Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 5, - .landMonsInfo = &gBattlePyramidPlaceholders_5Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 6, - .landMonsInfo = &gBattlePyramidPlaceholders_6Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 7, - .landMonsInfo = &gBattlePyramidPlaceholders_7Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 255, - .mapNum = 255, - .landMonsInfo = NULL, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, -}; - -const struct WildPokemon gBattlePikeMons_1[] = -{ - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, -}; - -const struct WildPokemonInfo gBattlePikeMonsInfo_1 = {10, gBattlePikeMons_1}; - -const struct WildPokemon gBattlePikeMons_2[] = -{ - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, -}; - -const struct WildPokemonInfo gBattlePikeMonsInfo_2 = {10, gBattlePikeMons_2}; - -const struct WildPokemon gBattlePikeMons_3[] = -{ - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, -}; - -const struct WildPokemonInfo gBattlePikeMonsInfo_3 = {10, gBattlePikeMons_3}; - -const struct WildPokemon gBattlePikeMons_4[] = -{ - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, -}; - -const struct WildPokemonInfo gBattlePikeMonsInfo_4 = {10, gBattlePikeMons_4}; - -const struct WildPokemonHeader gBattlePikeWildMonHeaders[] = -{ - { - .mapGroup = 0, - .mapNum = 1, - .landMonsInfo = &gBattlePikeMonsInfo_1, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 2, - .landMonsInfo = &gBattlePikeMonsInfo_2, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 3, - .landMonsInfo = &gBattlePikeMonsInfo_3, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 4, - .landMonsInfo = &gBattlePikeMonsInfo_4, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 255, - .mapNum = 255, - .landMonsInfo = NULL, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, -}; - -const struct WildPokemon gWildFeebasRoute119Data = {20, 25, SPECIES_FEEBAS}; - -const u16 gRoute119WaterTileData[] = -{ - 0, 0x2D, 0, - 0x2E, 0x5B, 0x83, - 0x5C, 0x8B, 0x12A, -}; +#include "data/wild_encounters.h" // code void DisableWildEncounters(bool8 disabled) @@ -4639,20 +88,12 @@ static bool8 CheckFeebas(void) x -= 7; y -= 7; -#ifdef NONMATCHING + if (y >= gRoute119WaterTileData[3 * 0 + 0] && y <= gRoute119WaterTileData[3 * 0 + 1]) + route119Section = 0; if (y >= gRoute119WaterTileData[3 * 1 + 0] && y <= gRoute119WaterTileData[3 * 1 + 1]) route119Section = 1; if (y >= gRoute119WaterTileData[3 * 2 + 0] && y <= gRoute119WaterTileData[3 * 2 + 1]) route119Section = 2; -#else - { - register const u16 *arr asm("r0"); - if (y >= (arr = gRoute119WaterTileData)[3 * 1 + 0] && y <= arr[3 * 1 + 1]) - route119Section = 1; - if (y >= arr[3 * 2 + 0] && y <= arr[3 * 2 + 1]) - route119Section = 2; - } -#endif if (Random() % 100 > 49) // 50% chance of encountering Feebas return FALSE; @@ -4802,7 +243,7 @@ static u8 ChooseWildMonLevel(const struct WildPokemon *wildPokemon) rand = Random() % range; // check ability for max level mon - if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)) + if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) { u8 ability = GetMonAbility(&gPlayerParty[0]); if (ability == ABILITY_HUSTLE || ability == ABILITY_VITAL_SPIRIT || ability == ABILITY_PRESSURE) @@ -4883,7 +324,7 @@ static u8 PickWildMonNature(void) } } // check synchronize for a pokemon with the same ability - if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3) + if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG) && GetMonAbility(&gPlayerParty[0]) == ABILITY_SYNCHRONIZE && Random() % 2 == 0) { @@ -4911,7 +352,7 @@ static void CreateWildMon(u16 species, u8 level) } if (checkCuteCharm - && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3) + && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG) && GetMonAbility(&gPlayerParty[0]) == ABILITY_CUTE_CHARM && Random() % 3 != 0) { @@ -5029,7 +470,7 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) encounterRate = encounterRate * 80 / 100; ApplyFluteEncounterRateMod(&encounterRate); ApplyCleanseTagEncounterRateMod(&encounterRate); - if (!ignoreAbility && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)) + if (!ignoreAbility && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) { u32 ability = GetMonAbility(&gPlayerParty[0]); @@ -5419,7 +860,7 @@ static bool8 IsAbilityAllowingEncounter(u8 level) { u8 ability; - if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)) + if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) return TRUE; ability = GetMonAbility(&gPlayerParty[0]); @@ -5456,7 +897,7 @@ static bool8 TryGetRandomWildMonIndexByType(const struct WildPokemon *wildMon, u static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u8 ability, u8 *monIndex) { - if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)) + if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) return FALSE; else if (GetMonAbility(&gPlayerParty[0]) != ability) return FALSE; diff --git a/src/window.c b/src/window.c index 4e1a38eff..aa1df3a12 100644 --- a/src/window.c +++ b/src/window.c @@ -276,16 +276,16 @@ void CopyWindowToVram(u8 windowId, u8 mode) switch (mode) { - case 1: - CopyBgTilemapBufferToVram(windowLocal.window.bg); - break; - case 2: - LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock); - break; - case 3: - LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock); - CopyBgTilemapBufferToVram(windowLocal.window.bg); - break; + case 1: + CopyBgTilemapBufferToVram(windowLocal.window.bg); + break; + case 2: + LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock); + break; + case 3: + LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock); + CopyBgTilemapBufferToVram(windowLocal.window.bg); + break; } } @@ -308,16 +308,16 @@ void CopyWindowRectToVram(u32 windowId, u32 mode, u32 x, u32 y, u32 w, u32 h) switch (mode) { - case 1: - CopyBgTilemapBufferToVram(windowLocal.window.bg); - break; - case 2: - LoadBgTiles(windowLocal.window.bg, windowLocal.tileData + (rectPos * 32), rectSize, windowLocal.window.baseBlock + rectPos); - break; - case 3: - LoadBgTiles(windowLocal.window.bg, windowLocal.tileData + (rectPos * 32), rectSize, windowLocal.window.baseBlock + rectPos); - CopyBgTilemapBufferToVram(windowLocal.window.bg); - break; + case 1: + CopyBgTilemapBufferToVram(windowLocal.window.bg); + break; + case 2: + LoadBgTiles(windowLocal.window.bg, windowLocal.tileData + (rectPos * 32), rectSize, windowLocal.window.baseBlock + rectPos); + break; + case 3: + LoadBgTiles(windowLocal.window.bg, windowLocal.tileData + (rectPos * 32), rectSize, windowLocal.window.baseBlock + rectPos); + CopyBgTilemapBufferToVram(windowLocal.window.bg); + break; } } } @@ -601,7 +601,7 @@ static void nullsub_9(void) } -u16 AddWindow8Bit(struct WindowTemplate *template) +u16 AddWindow8Bit(const struct WindowTemplate *template) { u16 windowId; u8* memAddress; @@ -669,12 +669,12 @@ void FillWindowPixelRect8Bit(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, FillBitmapRect8Bit(&pixelRect, x, y, width, height, fillValue); } -void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum) +void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum) { struct Bitmap sourceRect; struct Bitmap destRect; - sourceRect.pixels = (u8*)pixels; + sourceRect.pixels = (u8*) pixels; sourceRect.width = srcWidth; sourceRect.height = srcHeight; @@ -692,16 +692,16 @@ void CopyWindowToVram8Bit(u8 windowId, u8 mode) switch (mode) { - case 1: - CopyBgTilemapBufferToVram(sWindowPtr->window.bg); - break; - case 2: - LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock); - break; - case 3: - LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock); - CopyBgTilemapBufferToVram(sWindowPtr->window.bg); - break; + case 1: + CopyBgTilemapBufferToVram(sWindowPtr->window.bg); + break; + case 2: + LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock); + break; + case 3: + LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock); + CopyBgTilemapBufferToVram(sWindowPtr->window.bg); + break; } } diff --git a/sym_ewram.txt b/sym_ewram.txt index f386e9da1..f99dd1ab3 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -191,69 +191,7 @@ gUnknown_02039CF4: @ 2039CF4 gUnknown_02039CF8: @ 2039CF8 .space 0x8 -gUnknown_02039D00: @ 2039D00 - .space 0x4 - -gUnknown_02039D04: @ 2039D04 - .space 0x4 - -gUnknown_02039D08: @ 2039D08 - .space 0x4 - -gUnknown_02039D0C: @ 2039D0C - .space 0x1 - -gUnknown_02039D0D: @ 2039D0D - .space 0x1 - -gUnknown_02039D0E: @ 2039D0E - .space 0x1 - -gUnknown_02039D0F: @ 2039D0F - .space 0x1 - -gUnknown_02039D10: @ 2039D10 - .space 0x2 - -gUnknown_02039D12: @ 2039D12 - .space 0x2 - -gUnknown_02039D14: @ 2039D14 - .space 0x64 - -gUnknown_02039D78: @ 2039D78 - .space 0x1 - -gUnknown_02039D79: @ 2039D79 - .space 0x1 - -gUnknown_02039D7A: @ 2039D7A - .space 0x1 - -gUnknown_02039D7B: @ 2039D7B - .space 0x1 - -gUnknown_02039D7C: @ 2039D7C - .space 0x1 - -gUnknown_02039D7D: @ 2039D7D - .space 0x1 - -gUnknown_02039D7E: @ 2039D7E - .space 0x2 - -gUnknown_02039D80: @ 2039D80 - .space 0x4 - -gUnknown_02039D84: @ 2039D84 - .space 0x4 - -gUnknown_02039D88: @ 2039D88 - .space 0x4 - -gUnknown_02039D8C: @ 2039D8C - .space 0x4 - + .include "src/pokemon_storage_system.o" .include "src/script_movement.o" .include "src/fldeff_cut.o" .include "src/map_name_popup.o" @@ -362,49 +300,7 @@ gUnknown_0203CD88: @ 203CD88 .include "src/list_menu.o" .include "src/dynamic_placeholder_text_util.o" .include "src/item_icon.o" - -gUnknown_0203CEC4: @ 203CEC4 - .space 0x4 - -gUnknown_0203CEC8: @ 203CEC8 - .space 0xE - -gUnknown_0203CED6: @ 203CED6 - .space 0x6 - -gUnknown_0203CEDC: @ 203CEDC - .space 0x4 - -gUnknown_0203CEE0: @ 203CEE0 - .space 0x4 - -gUnknown_0203CEE4: @ 203CEE4 - .space 0x4 - -gUnknown_0203CEE8: @ 203CEE8 - .space 0x1 - -gUnknown_0203CEE9: @ 203CEE9 - .space 0x3 - -gPostMenuFieldCallback: @ 203CEEC - .space 0x4 - -gUnknown_0203CEF0: @ 203CEF0 - .space 0x4 - -gUnknown_0203CEF4: @ 203CEF4 - .space 0x4 - -gSelectedOrderFromParty: @ 203CEF8 - .space 0x4 - -gUnknown_0203CEFC: @ 203CEFC - .space 0x4 - -gUnknown_0203CF00: @ 203CF00 - .space 0x4 - + .include "src/party_menu.o" .include "src/fossil_specials.o" .include "src/fldeff_groundshake.o" .include "src/pokemon_summary_screen.o" |