mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-01-27 13:53:52 +01:00
commit
e8415c51d1
File diff suppressed because it is too large
Load Diff
701
asm/mossdeep_gym.s
Normal file
701
asm/mossdeep_gym.s
Normal file
@ -0,0 +1,701 @@
|
|||||||
|
.include "asm/macros.inc"
|
||||||
|
.include "constants/constants.inc"
|
||||||
|
|
||||||
|
.syntax unified
|
||||||
|
|
||||||
|
.text
|
||||||
|
|
||||||
|
thumb_func_start sub_81A8934
|
||||||
|
@ void sub_81A8934(u8)
|
||||||
|
sub_81A8934: @ 81A8934
|
||||||
|
push {r4,r5,lr}
|
||||||
|
lsls r0, 24
|
||||||
|
lsrs r5, r0, 24
|
||||||
|
ldr r4, =gUnknown_0203CE50
|
||||||
|
ldr r0, [r4]
|
||||||
|
cmp r0, 0
|
||||||
|
bne _081A894A
|
||||||
|
movs r0, 0x44
|
||||||
|
bl AllocZeroed
|
||||||
|
str r0, [r4]
|
||||||
|
_081A894A:
|
||||||
|
ldr r0, [r4]
|
||||||
|
adds r0, 0x41
|
||||||
|
strb r5, [r0]
|
||||||
|
pop {r4,r5}
|
||||||
|
pop {r0}
|
||||||
|
bx r0
|
||||||
|
.pool
|
||||||
|
thumb_func_end sub_81A8934
|
||||||
|
|
||||||
|
thumb_func_start sub_81A895C
|
||||||
|
sub_81A895C: @ 81A895C
|
||||||
|
push {r4,lr}
|
||||||
|
ldr r4, =gUnknown_0203CE50
|
||||||
|
ldr r0, [r4]
|
||||||
|
cmp r0, 0
|
||||||
|
beq _081A896E
|
||||||
|
bl Free
|
||||||
|
movs r0, 0
|
||||||
|
str r0, [r4]
|
||||||
|
_081A896E:
|
||||||
|
movs r0, 0xFF
|
||||||
|
movs r1, 0
|
||||||
|
movs r2, 0
|
||||||
|
bl GetEventObjectIdByLocalIdAndMap
|
||||||
|
adds r1, r0, 0
|
||||||
|
lsls r1, 24
|
||||||
|
lsrs r1, 24
|
||||||
|
lsls r0, r1, 3
|
||||||
|
adds r0, r1
|
||||||
|
lsls r0, 2
|
||||||
|
ldr r1, =gEventObjects
|
||||||
|
adds r0, r1
|
||||||
|
bl EventObjectClearHeldMovementIfFinished
|
||||||
|
bl sub_80D338C
|
||||||
|
pop {r4}
|
||||||
|
pop {r0}
|
||||||
|
bx r0
|
||||||
|
.pool
|
||||||
|
thumb_func_end sub_81A895C
|
||||||
|
|
||||||
|
thumb_func_start sub_81A89A0
|
||||||
|
sub_81A89A0: @ 81A89A0
|
||||||
|
push {r4-r7,lr}
|
||||||
|
mov r7, r10
|
||||||
|
mov r6, r9
|
||||||
|
mov r5, r8
|
||||||
|
push {r5-r7}
|
||||||
|
sub sp, 0x4
|
||||||
|
lsls r0, 24
|
||||||
|
lsrs r0, 24
|
||||||
|
str r0, [sp]
|
||||||
|
ldr r0, =gSaveBlock1Ptr
|
||||||
|
ldr r0, [r0]
|
||||||
|
movs r1, 0xC7
|
||||||
|
lsls r1, 4
|
||||||
|
adds r1, r0
|
||||||
|
mov r9, r1
|
||||||
|
movs r3, 0
|
||||||
|
mov r10, r3
|
||||||
|
mov r8, r3
|
||||||
|
_081A89C4:
|
||||||
|
mov r0, r8
|
||||||
|
lsls r4, r0, 1
|
||||||
|
adds r1, r4, r0
|
||||||
|
lsls r1, 3
|
||||||
|
add r1, r9
|
||||||
|
ldrh r0, [r1, 0x4]
|
||||||
|
adds r0, 0x7
|
||||||
|
ldrh r1, [r1, 0x6]
|
||||||
|
adds r1, 0x7
|
||||||
|
lsls r0, 16
|
||||||
|
asrs r0, 16
|
||||||
|
lsls r1, 16
|
||||||
|
asrs r1, 16
|
||||||
|
bl MapGridGetMetatileIdAt
|
||||||
|
lsls r0, 16
|
||||||
|
lsrs r1, r0, 16
|
||||||
|
ldr r0, =gUnknown_0203CE50
|
||||||
|
ldr r0, [r0]
|
||||||
|
adds r0, 0x41
|
||||||
|
ldrb r0, [r0]
|
||||||
|
movs r2, 0xA6
|
||||||
|
lsls r2, 2
|
||||||
|
cmp r0, 0
|
||||||
|
bne _081A89F8
|
||||||
|
subs r2, 0x48
|
||||||
|
_081A89F8:
|
||||||
|
ldr r0, =0x0000024f
|
||||||
|
cmp r1, r0
|
||||||
|
bls _081A8AD4
|
||||||
|
subs r1, r2
|
||||||
|
adds r0, r1, 0
|
||||||
|
cmp r1, 0
|
||||||
|
bge _081A8A08
|
||||||
|
adds r0, r1, 0x7
|
||||||
|
_081A8A08:
|
||||||
|
asrs r2, r0, 3
|
||||||
|
lsls r0, r2, 24
|
||||||
|
lsrs r0, 24
|
||||||
|
cmp r0, 0x4
|
||||||
|
bhi _081A8AD4
|
||||||
|
ldr r3, [sp]
|
||||||
|
cmp r0, r3
|
||||||
|
bne _081A8AD4
|
||||||
|
lsls r0, r2, 3
|
||||||
|
subs r0, r1, r0
|
||||||
|
lsls r0, 24
|
||||||
|
lsrs r5, r0, 24
|
||||||
|
cmp r5, 0x3
|
||||||
|
bhi _081A8AD4
|
||||||
|
movs r1, 0
|
||||||
|
movs r2, 0
|
||||||
|
cmp r5, 0x1
|
||||||
|
beq _081A8A58
|
||||||
|
cmp r5, 0x1
|
||||||
|
bgt _081A8A44
|
||||||
|
cmp r5, 0
|
||||||
|
beq _081A8A4E
|
||||||
|
b _081A8AD4
|
||||||
|
.pool
|
||||||
|
_081A8A44:
|
||||||
|
cmp r5, 0x2
|
||||||
|
beq _081A8A64
|
||||||
|
cmp r5, 0x3
|
||||||
|
beq _081A8A70
|
||||||
|
b _081A8AD4
|
||||||
|
_081A8A4E:
|
||||||
|
ldr r7, =gUnknown_08612698
|
||||||
|
movs r1, 0x1
|
||||||
|
b _081A8A74
|
||||||
|
.pool
|
||||||
|
_081A8A58:
|
||||||
|
ldr r7, =gUnknown_0861269C
|
||||||
|
movs r2, 0x1
|
||||||
|
b _081A8A74
|
||||||
|
.pool
|
||||||
|
_081A8A64:
|
||||||
|
ldr r7, =gUnknown_086126A0
|
||||||
|
movs r1, 0xFF
|
||||||
|
b _081A8A74
|
||||||
|
.pool
|
||||||
|
_081A8A70:
|
||||||
|
ldr r7, =gUnknown_086126A4
|
||||||
|
movs r2, 0xFF
|
||||||
|
_081A8A74:
|
||||||
|
mov r3, r8
|
||||||
|
adds r0, r4, r3
|
||||||
|
lsls r0, 3
|
||||||
|
mov r3, r9
|
||||||
|
adds r4, r0, r3
|
||||||
|
lsls r0, r1, 24
|
||||||
|
asrs r0, 24
|
||||||
|
ldrh r1, [r4, 0x4]
|
||||||
|
adds r0, r1
|
||||||
|
strh r0, [r4, 0x4]
|
||||||
|
lsls r0, r2, 24
|
||||||
|
asrs r0, 24
|
||||||
|
ldrh r3, [r4, 0x6]
|
||||||
|
adds r0, r3
|
||||||
|
strh r0, [r4, 0x6]
|
||||||
|
ldrb r0, [r4]
|
||||||
|
ldr r6, =gSaveBlock1Ptr
|
||||||
|
ldr r2, [r6]
|
||||||
|
ldrb r1, [r2, 0x5]
|
||||||
|
ldrb r2, [r2, 0x4]
|
||||||
|
bl GetEventObjectIdByLocalIdAndMap
|
||||||
|
lsls r0, 24
|
||||||
|
lsrs r0, 24
|
||||||
|
cmp r0, 0x10
|
||||||
|
beq _081A8ACC
|
||||||
|
mov r0, r8
|
||||||
|
adds r1, r5, 0
|
||||||
|
bl sub_81A8D60
|
||||||
|
ldrb r4, [r4]
|
||||||
|
mov r10, r4
|
||||||
|
mov r0, r10
|
||||||
|
ldr r2, [r6]
|
||||||
|
ldrb r1, [r2, 0x5]
|
||||||
|
ldrb r2, [r2, 0x4]
|
||||||
|
adds r3, r7, 0
|
||||||
|
bl ScriptMovement_StartObjectMovementScript
|
||||||
|
b _081A8AD4
|
||||||
|
.pool
|
||||||
|
_081A8ACC:
|
||||||
|
mov r0, r8
|
||||||
|
adds r1, r5, 0
|
||||||
|
bl sub_81A8D94
|
||||||
|
_081A8AD4:
|
||||||
|
mov r0, r8
|
||||||
|
adds r0, 0x1
|
||||||
|
lsls r0, 24
|
||||||
|
lsrs r0, 24
|
||||||
|
mov r8, r0
|
||||||
|
cmp r0, 0x3F
|
||||||
|
bhi _081A8AE4
|
||||||
|
b _081A89C4
|
||||||
|
_081A8AE4:
|
||||||
|
mov r0, r10
|
||||||
|
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_81A89A0
|
||||||
|
|
||||||
|
thumb_func_start sub_81A8AF8
|
||||||
|
sub_81A8AF8: @ 81A8AF8
|
||||||
|
push {r4-r7,lr}
|
||||||
|
mov r7, r10
|
||||||
|
mov r6, r9
|
||||||
|
mov r5, r8
|
||||||
|
push {r5-r7}
|
||||||
|
ldr r1, =gUnknown_0203CE50
|
||||||
|
ldr r2, [r1]
|
||||||
|
cmp r2, 0
|
||||||
|
bne _081A8B0C
|
||||||
|
b _081A8D4A
|
||||||
|
_081A8B0C:
|
||||||
|
adds r0, r2, 0
|
||||||
|
adds r0, 0x41
|
||||||
|
ldrb r0, [r0]
|
||||||
|
movs r3, 0xA6
|
||||||
|
lsls r3, 2
|
||||||
|
mov r10, r3
|
||||||
|
cmp r0, 0
|
||||||
|
bne _081A8B22
|
||||||
|
movs r0, 0x94
|
||||||
|
lsls r0, 2
|
||||||
|
mov r10, r0
|
||||||
|
_081A8B22:
|
||||||
|
ldr r0, =gSaveBlock1Ptr
|
||||||
|
ldr r0, [r0]
|
||||||
|
movs r3, 0xC7
|
||||||
|
lsls r3, 4
|
||||||
|
adds r7, r0, r3
|
||||||
|
movs r0, 0
|
||||||
|
mov r9, r0
|
||||||
|
adds r0, r2, 0
|
||||||
|
adds r0, 0x40
|
||||||
|
ldrb r0, [r0]
|
||||||
|
cmp r9, r0
|
||||||
|
bcc _081A8B3C
|
||||||
|
b _081A8D4A
|
||||||
|
_081A8B3C:
|
||||||
|
mov r8, r1
|
||||||
|
_081A8B3E:
|
||||||
|
mov r1, r8
|
||||||
|
ldr r0, [r1]
|
||||||
|
mov r2, r9
|
||||||
|
lsls r4, r2, 2
|
||||||
|
adds r0, r4
|
||||||
|
ldrb r0, [r0, 0x1]
|
||||||
|
lsls r1, r0, 1
|
||||||
|
adds r1, r0
|
||||||
|
lsls r1, 3
|
||||||
|
adds r1, r7
|
||||||
|
ldrh r0, [r1, 0x4]
|
||||||
|
adds r0, 0x7
|
||||||
|
ldrh r1, [r1, 0x6]
|
||||||
|
adds r1, 0x7
|
||||||
|
lsls r0, 16
|
||||||
|
asrs r0, 16
|
||||||
|
lsls r1, 16
|
||||||
|
asrs r1, 16
|
||||||
|
bl MapGridGetMetatileIdAt
|
||||||
|
lsls r0, 16
|
||||||
|
lsrs r0, 16
|
||||||
|
mov r3, r10
|
||||||
|
subs r1, r0, r3
|
||||||
|
adds r0, r1, 0
|
||||||
|
cmp r1, 0
|
||||||
|
bge _081A8B76
|
||||||
|
adds r0, r1, 0x7
|
||||||
|
_081A8B76:
|
||||||
|
asrs r0, 3
|
||||||
|
lsls r0, 3
|
||||||
|
subs r0, r1, r0
|
||||||
|
lsls r0, 24
|
||||||
|
lsrs r0, 24
|
||||||
|
mov r2, r8
|
||||||
|
ldr r1, [r2]
|
||||||
|
adds r1, r4
|
||||||
|
ldrb r1, [r1]
|
||||||
|
subs r0, r1
|
||||||
|
lsls r0, 24
|
||||||
|
asrs r1, r0, 24
|
||||||
|
cmp r1, 0
|
||||||
|
blt _081A8B96
|
||||||
|
cmp r1, 0x3
|
||||||
|
bne _081A8BAC
|
||||||
|
_081A8B96:
|
||||||
|
movs r0, 0x3
|
||||||
|
negs r0, r0
|
||||||
|
movs r6, 0
|
||||||
|
cmp r1, r0
|
||||||
|
bne _081A8BB4
|
||||||
|
b _081A8BB2
|
||||||
|
.pool
|
||||||
|
_081A8BAC:
|
||||||
|
movs r6, 0x2
|
||||||
|
cmp r1, 0
|
||||||
|
ble _081A8BB4
|
||||||
|
_081A8BB2:
|
||||||
|
movs r6, 0x1
|
||||||
|
_081A8BB4:
|
||||||
|
ldr r5, =gUnknown_0203CE50
|
||||||
|
ldr r0, [r5]
|
||||||
|
adds r0, r4
|
||||||
|
ldrb r1, [r0, 0x1]
|
||||||
|
lsls r0, r1, 1
|
||||||
|
adds r0, r1
|
||||||
|
lsls r0, 3
|
||||||
|
adds r0, r7
|
||||||
|
ldrb r0, [r0]
|
||||||
|
ldr r1, =gSaveBlock1Ptr
|
||||||
|
ldr r2, [r1]
|
||||||
|
ldrb r1, [r2, 0x5]
|
||||||
|
ldrb r2, [r2, 0x4]
|
||||||
|
bl GetEventObjectIdByLocalIdAndMap
|
||||||
|
lsls r0, 24
|
||||||
|
lsrs r2, r0, 24
|
||||||
|
cmp r2, 0x10
|
||||||
|
bne _081A8BDC
|
||||||
|
b _081A8D32
|
||||||
|
_081A8BDC:
|
||||||
|
ldr r0, =gEventObjects
|
||||||
|
lsls r1, r2, 3
|
||||||
|
adds r1, r2
|
||||||
|
lsls r1, 2
|
||||||
|
adds r1, r0
|
||||||
|
ldrb r0, [r1, 0x18]
|
||||||
|
lsls r0, 28
|
||||||
|
lsrs r0, 28
|
||||||
|
adds r1, r0, 0
|
||||||
|
cmp r6, 0
|
||||||
|
bne _081A8C9C
|
||||||
|
cmp r0, 0x2
|
||||||
|
beq _081A8C60
|
||||||
|
cmp r0, 0x2
|
||||||
|
bgt _081A8C0C
|
||||||
|
cmp r0, 0x1
|
||||||
|
beq _081A8C30
|
||||||
|
b _081A8D32
|
||||||
|
.pool
|
||||||
|
_081A8C0C:
|
||||||
|
cmp r0, 0x3
|
||||||
|
beq _081A8C48
|
||||||
|
cmp r0, 0x4
|
||||||
|
beq _081A8C16
|
||||||
|
b _081A8D32
|
||||||
|
_081A8C16:
|
||||||
|
ldr r3, =gUnknown_086126AE
|
||||||
|
ldr r0, [r5]
|
||||||
|
adds r0, r4
|
||||||
|
ldrb r1, [r0, 0x1]
|
||||||
|
lsls r0, r1, 1
|
||||||
|
adds r0, r1
|
||||||
|
lsls r0, 3
|
||||||
|
adds r0, r7
|
||||||
|
movs r1, 0x7
|
||||||
|
b _081A8C72
|
||||||
|
.pool
|
||||||
|
_081A8C30:
|
||||||
|
ldr r3, =gUnknown_086126A8
|
||||||
|
ldr r0, [r5]
|
||||||
|
adds r0, r4
|
||||||
|
ldrb r1, [r0, 0x1]
|
||||||
|
lsls r0, r1, 1
|
||||||
|
adds r0, r1
|
||||||
|
lsls r0, 3
|
||||||
|
adds r0, r7
|
||||||
|
movs r1, 0xA
|
||||||
|
b _081A8C72
|
||||||
|
.pool
|
||||||
|
_081A8C48:
|
||||||
|
ldr r3, =gUnknown_086126AA
|
||||||
|
ldr r0, [r5]
|
||||||
|
adds r0, r4
|
||||||
|
ldrb r1, [r0, 0x1]
|
||||||
|
lsls r0, r1, 1
|
||||||
|
adds r0, r1
|
||||||
|
lsls r0, 3
|
||||||
|
adds r0, r7
|
||||||
|
movs r1, 0x8
|
||||||
|
b _081A8C72
|
||||||
|
.pool
|
||||||
|
_081A8C60:
|
||||||
|
ldr r3, =gUnknown_086126AC
|
||||||
|
ldr r0, [r5]
|
||||||
|
adds r0, r4
|
||||||
|
ldrb r1, [r0, 0x1]
|
||||||
|
lsls r0, r1, 1
|
||||||
|
adds r0, r1
|
||||||
|
lsls r0, 3
|
||||||
|
adds r0, r7
|
||||||
|
movs r1, 0x9
|
||||||
|
_081A8C72:
|
||||||
|
strb r1, [r0, 0x9]
|
||||||
|
mov r1, r8
|
||||||
|
ldr r0, [r1]
|
||||||
|
adds r0, r4
|
||||||
|
ldrb r1, [r0, 0x1]
|
||||||
|
lsls r0, r1, 1
|
||||||
|
adds r0, r1
|
||||||
|
lsls r0, 3
|
||||||
|
adds r0, r7
|
||||||
|
ldrb r0, [r0]
|
||||||
|
ldr r1, =gSaveBlock1Ptr
|
||||||
|
ldr r2, [r1]
|
||||||
|
ldrb r1, [r2, 0x5]
|
||||||
|
ldrb r2, [r2, 0x4]
|
||||||
|
bl ScriptMovement_StartObjectMovementScript
|
||||||
|
b _081A8D32
|
||||||
|
.pool
|
||||||
|
_081A8C9C:
|
||||||
|
cmp r6, 0x1
|
||||||
|
bne _081A8D32
|
||||||
|
cmp r0, 0x2
|
||||||
|
beq _081A8D00
|
||||||
|
cmp r0, 0x2
|
||||||
|
bgt _081A8CAE
|
||||||
|
cmp r0, 0x1
|
||||||
|
beq _081A8CD0
|
||||||
|
b _081A8D32
|
||||||
|
_081A8CAE:
|
||||||
|
cmp r1, 0x3
|
||||||
|
beq _081A8CE8
|
||||||
|
cmp r1, 0x4
|
||||||
|
bne _081A8D32
|
||||||
|
ldr r3, =gUnknown_086126AA
|
||||||
|
ldr r0, [r5]
|
||||||
|
adds r0, r4
|
||||||
|
ldrb r1, [r0, 0x1]
|
||||||
|
lsls r0, r1, 1
|
||||||
|
adds r0, r1
|
||||||
|
lsls r0, 3
|
||||||
|
adds r0, r7
|
||||||
|
movs r1, 0x8
|
||||||
|
b _081A8D12
|
||||||
|
.pool
|
||||||
|
_081A8CD0:
|
||||||
|
ldr r3, =gUnknown_086126AC
|
||||||
|
ldr r0, [r5]
|
||||||
|
adds r0, r4
|
||||||
|
ldrb r1, [r0, 0x1]
|
||||||
|
lsls r0, r1, 1
|
||||||
|
adds r0, r1
|
||||||
|
lsls r0, 3
|
||||||
|
adds r0, r7
|
||||||
|
movs r1, 0x9
|
||||||
|
b _081A8D12
|
||||||
|
.pool
|
||||||
|
_081A8CE8:
|
||||||
|
ldr r3, =gUnknown_086126AE
|
||||||
|
ldr r0, [r5]
|
||||||
|
adds r0, r4
|
||||||
|
ldrb r1, [r0, 0x1]
|
||||||
|
lsls r0, r1, 1
|
||||||
|
adds r0, r1
|
||||||
|
lsls r0, 3
|
||||||
|
adds r0, r7
|
||||||
|
movs r1, 0x7
|
||||||
|
b _081A8D12
|
||||||
|
.pool
|
||||||
|
_081A8D00:
|
||||||
|
ldr r3, =gUnknown_086126A8
|
||||||
|
ldr r0, [r5]
|
||||||
|
adds r0, r4
|
||||||
|
ldrb r1, [r0, 0x1]
|
||||||
|
lsls r0, r1, 1
|
||||||
|
adds r0, r1
|
||||||
|
lsls r0, 3
|
||||||
|
adds r0, r7
|
||||||
|
movs r1, 0xA
|
||||||
|
_081A8D12:
|
||||||
|
strb r1, [r0, 0x9]
|
||||||
|
mov r2, r8
|
||||||
|
ldr r0, [r2]
|
||||||
|
adds r0, r4
|
||||||
|
ldrb r1, [r0, 0x1]
|
||||||
|
lsls r0, r1, 1
|
||||||
|
adds r0, r1
|
||||||
|
lsls r0, 3
|
||||||
|
adds r0, r7
|
||||||
|
ldrb r0, [r0]
|
||||||
|
ldr r1, =gSaveBlock1Ptr
|
||||||
|
ldr r2, [r1]
|
||||||
|
ldrb r1, [r2, 0x5]
|
||||||
|
ldrb r2, [r2, 0x4]
|
||||||
|
bl ScriptMovement_StartObjectMovementScript
|
||||||
|
_081A8D32:
|
||||||
|
mov r0, r9
|
||||||
|
adds r0, 0x1
|
||||||
|
lsls r0, 24
|
||||||
|
lsrs r0, 24
|
||||||
|
mov r9, r0
|
||||||
|
mov r3, r8
|
||||||
|
ldr r0, [r3]
|
||||||
|
adds r0, 0x40
|
||||||
|
ldrb r0, [r0]
|
||||||
|
cmp r9, r0
|
||||||
|
bcs _081A8D4A
|
||||||
|
b _081A8B3E
|
||||||
|
_081A8D4A:
|
||||||
|
pop {r3-r5}
|
||||||
|
mov r8, r3
|
||||||
|
mov r9, r4
|
||||||
|
mov r10, r5
|
||||||
|
pop {r4-r7}
|
||||||
|
pop {r0}
|
||||||
|
bx r0
|
||||||
|
.pool
|
||||||
|
thumb_func_end sub_81A8AF8
|
||||||
|
|
||||||
|
thumb_func_start sub_81A8D60
|
||||||
|
sub_81A8D60: @ 81A8D60
|
||||||
|
push {r4,lr}
|
||||||
|
ldr r4, =gUnknown_0203CE50
|
||||||
|
ldr r3, [r4]
|
||||||
|
adds r2, r3, 0
|
||||||
|
adds r2, 0x40
|
||||||
|
ldrb r2, [r2]
|
||||||
|
lsls r2, 2
|
||||||
|
adds r3, r2
|
||||||
|
strb r0, [r3, 0x1]
|
||||||
|
ldr r2, [r4]
|
||||||
|
adds r0, r2, 0
|
||||||
|
adds r0, 0x40
|
||||||
|
ldrb r0, [r0]
|
||||||
|
lsls r0, 2
|
||||||
|
adds r2, r0
|
||||||
|
strb r1, [r2]
|
||||||
|
ldr r1, [r4]
|
||||||
|
adds r1, 0x40
|
||||||
|
ldrb r0, [r1]
|
||||||
|
adds r0, 0x1
|
||||||
|
strb r0, [r1]
|
||||||
|
pop {r4}
|
||||||
|
pop {r0}
|
||||||
|
bx r0
|
||||||
|
.pool
|
||||||
|
thumb_func_end sub_81A8D60
|
||||||
|
|
||||||
|
thumb_func_start sub_81A8D94
|
||||||
|
sub_81A8D94: @ 81A8D94
|
||||||
|
push {r4-r6,lr}
|
||||||
|
lsls r0, 24
|
||||||
|
lsrs r4, r0, 24
|
||||||
|
lsls r1, 24
|
||||||
|
lsrs r6, r1, 24
|
||||||
|
ldr r0, =gSaveBlock1Ptr
|
||||||
|
ldr r0, [r0]
|
||||||
|
movs r1, 0xC7
|
||||||
|
lsls r1, 4
|
||||||
|
adds r5, r0, r1
|
||||||
|
lsls r1, r4, 1
|
||||||
|
adds r1, r4
|
||||||
|
lsls r1, 3
|
||||||
|
adds r1, r5
|
||||||
|
ldrh r0, [r1, 0x4]
|
||||||
|
adds r0, 0x7
|
||||||
|
ldrh r1, [r1, 0x6]
|
||||||
|
adds r1, 0x7
|
||||||
|
lsls r0, 16
|
||||||
|
asrs r0, 16
|
||||||
|
lsls r1, 16
|
||||||
|
asrs r1, 16
|
||||||
|
bl MapGridGetMetatileIdAt
|
||||||
|
lsls r0, 16
|
||||||
|
lsrs r2, r0, 16
|
||||||
|
ldr r0, =gUnknown_0203CE50
|
||||||
|
ldr r0, [r0]
|
||||||
|
adds r0, 0x41
|
||||||
|
ldrb r0, [r0]
|
||||||
|
movs r1, 0xA6
|
||||||
|
lsls r1, 2
|
||||||
|
cmp r0, 0
|
||||||
|
bne _081A8DDA
|
||||||
|
subs r1, 0x48
|
||||||
|
_081A8DDA:
|
||||||
|
subs r1, r2, r1
|
||||||
|
adds r0, r1, 0
|
||||||
|
cmp r1, 0
|
||||||
|
bge _081A8DE4
|
||||||
|
adds r0, r1, 0x7
|
||||||
|
_081A8DE4:
|
||||||
|
asrs r0, 3
|
||||||
|
lsls r0, 3
|
||||||
|
subs r0, r1, r0
|
||||||
|
lsls r0, 24
|
||||||
|
lsrs r0, 24
|
||||||
|
subs r0, r6
|
||||||
|
lsls r0, 24
|
||||||
|
asrs r1, r0, 24
|
||||||
|
cmp r1, 0
|
||||||
|
blt _081A8DFC
|
||||||
|
cmp r1, 0x3
|
||||||
|
bne _081A8E08
|
||||||
|
_081A8DFC:
|
||||||
|
movs r2, 0
|
||||||
|
b _081A8E1A
|
||||||
|
.pool
|
||||||
|
_081A8E08:
|
||||||
|
cmp r1, 0
|
||||||
|
bgt _081A8E14
|
||||||
|
movs r0, 0x3
|
||||||
|
negs r0, r0
|
||||||
|
cmp r1, r0
|
||||||
|
bne _081A8E18
|
||||||
|
_081A8E14:
|
||||||
|
movs r2, 0x1
|
||||||
|
b _081A8E1A
|
||||||
|
_081A8E18:
|
||||||
|
movs r2, 0x2
|
||||||
|
_081A8E1A:
|
||||||
|
lsls r0, r4, 1
|
||||||
|
adds r0, r4
|
||||||
|
lsls r0, 3
|
||||||
|
adds r1, r0, r5
|
||||||
|
ldrb r0, [r1, 0x9]
|
||||||
|
adds r3, r0, 0
|
||||||
|
cmp r2, 0
|
||||||
|
bne _081A8E4C
|
||||||
|
cmp r0, 0x8
|
||||||
|
beq _081A8E72
|
||||||
|
cmp r0, 0x8
|
||||||
|
bgt _081A8E38
|
||||||
|
cmp r0, 0x7
|
||||||
|
beq _081A8E48
|
||||||
|
b _081A8E76
|
||||||
|
_081A8E38:
|
||||||
|
cmp r0, 0x9
|
||||||
|
beq _081A8E44
|
||||||
|
cmp r0, 0xA
|
||||||
|
bne _081A8E76
|
||||||
|
movs r0, 0x7
|
||||||
|
b _081A8E74
|
||||||
|
_081A8E44:
|
||||||
|
movs r0, 0x8
|
||||||
|
b _081A8E74
|
||||||
|
_081A8E48:
|
||||||
|
movs r0, 0x9
|
||||||
|
b _081A8E74
|
||||||
|
_081A8E4C:
|
||||||
|
cmp r2, 0x1
|
||||||
|
bne _081A8E76
|
||||||
|
cmp r0, 0x8
|
||||||
|
beq _081A8E6A
|
||||||
|
cmp r0, 0x8
|
||||||
|
bgt _081A8E5E
|
||||||
|
cmp r0, 0x7
|
||||||
|
beq _081A8E72
|
||||||
|
b _081A8E76
|
||||||
|
_081A8E5E:
|
||||||
|
cmp r3, 0x9
|
||||||
|
beq _081A8E6E
|
||||||
|
cmp r3, 0xA
|
||||||
|
bne _081A8E76
|
||||||
|
movs r0, 0x8
|
||||||
|
b _081A8E74
|
||||||
|
_081A8E6A:
|
||||||
|
movs r0, 0x9
|
||||||
|
b _081A8E74
|
||||||
|
_081A8E6E:
|
||||||
|
movs r0, 0x7
|
||||||
|
b _081A8E74
|
||||||
|
_081A8E72:
|
||||||
|
movs r0, 0xA
|
||||||
|
_081A8E74:
|
||||||
|
strb r0, [r1, 0x9]
|
||||||
|
_081A8E76:
|
||||||
|
pop {r4-r6}
|
||||||
|
pop {r0}
|
||||||
|
bx r0
|
||||||
|
thumb_func_end sub_81A8D94
|
||||||
|
|
||||||
|
.align 2, 0 @ Don't pad with nop.
|
@ -72,7 +72,7 @@ gUnknown_08613794:: @ 8613794
|
|||||||
.byte 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00
|
.byte 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00
|
||||||
|
|
||||||
.align 1
|
.align 1
|
||||||
gUnknown_0861379C:: @ 861379C
|
sPickupItemsLvl50:: @ 861379C
|
||||||
.2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018
|
.2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018
|
||||||
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
|
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
|
||||||
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
|
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
|
||||||
@ -88,7 +88,7 @@ gUnknown_0861379C:: @ 861379C
|
|||||||
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
|
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
|
||||||
|
|
||||||
.align 1
|
.align 1
|
||||||
gUnknown_0861392C:: @ 861392C
|
sPickupItemsLvlOpen:: @ 861392C
|
||||||
.2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018
|
.2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018
|
||||||
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
|
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
|
||||||
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
|
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
|
||||||
@ -506,42 +506,3 @@ gUnknown_08613EC0:: @ 8613EC0
|
|||||||
.4byte gUnknown_08613E9C
|
.4byte gUnknown_08613E9C
|
||||||
.4byte gUnknown_08613EA8
|
.4byte gUnknown_08613EA8
|
||||||
.4byte gUnknown_08613EB4
|
.4byte gUnknown_08613EB4
|
||||||
|
|
||||||
gUnknown_08613ED8:: @ 8613ED8
|
|
||||||
.byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x03, 0x04
|
|
||||||
|
|
||||||
.align 2
|
|
||||||
gUnknown_08613EE0:: @ 8613EE0
|
|
||||||
.4byte sub_81A8E9C
|
|
||||||
.4byte sub_81A8F38
|
|
||||||
.4byte sub_81A9048
|
|
||||||
.4byte sub_81A9134
|
|
||||||
.4byte sub_81A917C
|
|
||||||
.4byte sub_81A91FC
|
|
||||||
.4byte sub_81A9254
|
|
||||||
.4byte CalculateBattlePyramidItemBallItemId
|
|
||||||
.4byte sub_81A93C8
|
|
||||||
.4byte sub_81A9414
|
|
||||||
.4byte sub_81A9424
|
|
||||||
.4byte sub_81A9618
|
|
||||||
.4byte sub_81A966C
|
|
||||||
.4byte sub_81A9684
|
|
||||||
.4byte sub_81A975C
|
|
||||||
.4byte sub_81A97C8
|
|
||||||
.4byte sub_81A9828
|
|
||||||
.4byte sub_81A9834
|
|
||||||
|
|
||||||
.align 1
|
|
||||||
gUnknown_08613F28:: @ 8613F28
|
|
||||||
.2byte 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046
|
|
||||||
|
|
||||||
.align 2
|
|
||||||
gUnknown_08613F34:: @ 8613F34
|
|
||||||
.2byte 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba
|
|
||||||
|
|
||||||
gUnknown_08613F46:: @ 8613F46
|
|
||||||
.byte 0x01, 0x04, 0xff, 0xff, 0x00, 0x02, 0x05, 0xff, 0x01, 0x03, 0x06, 0xff, 0x02, 0x07, 0xff, 0xff, 0x00, 0x05, 0x08, 0xff, 0x01, 0x04, 0x06, 0x09, 0x02, 0x05, 0x07, 0x0a, 0x03, 0x06, 0x0b, 0xff
|
|
||||||
.byte 0x04, 0x09, 0x0c, 0xff, 0x05, 0x08, 0x0a, 0x0d, 0x06, 0x09, 0x0b, 0x0e, 0x07, 0x0a, 0x0f, 0xff, 0x08, 0x0d, 0xff, 0xff, 0x09, 0x0c, 0x0e, 0xff, 0x0a, 0x0d, 0x0f, 0xff, 0x0b, 0x0e, 0xff, 0xff
|
|
||||||
|
|
||||||
gUnknown_08613F86:: @ 8613F86
|
|
||||||
.byte 0x1e, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x55, 0x5a, 0x5f, 0x64
|
|
||||||
|
@ -1662,7 +1662,7 @@ EventScript_271C3A:: @ 8271C3A
|
|||||||
waitmessage
|
waitmessage
|
||||||
bufferitemnameplural 1, VAR_0x8004, 32773
|
bufferitemnameplural 1, VAR_0x8004, 32773
|
||||||
setvar VAR_0x8004, 12
|
setvar VAR_0x8004, 12
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
compare VAR_RESULT, 1
|
compare VAR_RESULT, 1
|
||||||
goto_eq EventScript_271C86
|
goto_eq EventScript_271C86
|
||||||
msgbox gUnknown_08272A9A, 4
|
msgbox gUnknown_08272A9A, 4
|
||||||
@ -3361,7 +3361,7 @@ EventScript_2736F8:: @ 82736F8
|
|||||||
compare VAR_RESULT, 1
|
compare VAR_RESULT, 1
|
||||||
goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222
|
goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222
|
||||||
setvar VAR_0x8004, 12
|
setvar VAR_0x8004, 12
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
compare VAR_RESULT, 1
|
compare VAR_RESULT, 1
|
||||||
goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
|
goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
|
||||||
compare VAR_RESULT, 2
|
compare VAR_RESULT, 2
|
||||||
|
@ -19,7 +19,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D:: @ 8252A5D
|
|||||||
setvar VAR_RESULT, 0
|
setvar VAR_RESULT, 0
|
||||||
|
|
||||||
BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77:: @ 8252A77
|
BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77:: @ 8252A77
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
delay 2
|
delay 2
|
||||||
compare VAR_RESULT, 2
|
compare VAR_RESULT, 2
|
||||||
goto_if 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77
|
goto_if 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77
|
||||||
@ -39,7 +39,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98:: @ 8252A98
|
|||||||
|
|
||||||
BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2
|
BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2
|
||||||
setvar VAR_0x8004, 15
|
setvar VAR_0x8004, 15
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_0x8004, 0
|
setvar VAR_0x8004, 0
|
||||||
special CallFrontierUtilFunc
|
special CallFrontierUtilFunc
|
||||||
switch VAR_TEMP_0
|
switch VAR_TEMP_0
|
||||||
@ -68,7 +68,7 @@ BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2
|
|||||||
|
|
||||||
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39:: @ 8252B39
|
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39:: @ 8252B39
|
||||||
setvar VAR_0x8004, 17
|
setvar VAR_0x8004, 17
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
end
|
end
|
||||||
|
|
||||||
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42:: @ 8252B42
|
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42:: @ 8252B42
|
||||||
@ -80,16 +80,16 @@ BattleFrontier_BattlePyramidTop_EventScript_252B42:: @ 8252B42
|
|||||||
setvar VAR_0x8004, 2
|
setvar VAR_0x8004, 2
|
||||||
setvar VAR_0x8005, 7
|
setvar VAR_0x8005, 7
|
||||||
setvar VAR_0x8006, 255
|
setvar VAR_0x8006, 255
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
|
|
||||||
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66:: @ 8252B66
|
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66:: @ 8252B66
|
||||||
BattleFrontier_BattlePyramidTop_EventScript_252B66:: @ 8252B66
|
BattleFrontier_BattlePyramidTop_EventScript_252B66:: @ 8252B66
|
||||||
setvar VAR_0x8004, 13
|
setvar VAR_0x8004, 13
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_0x8004, 14
|
setvar VAR_0x8004, 14
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
special HealPlayerParty
|
special HealPlayerParty
|
||||||
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
|
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
|
||||||
waitstate
|
waitstate
|
||||||
@ -98,14 +98,14 @@ BattleFrontier_BattlePyramidTop_EventScript_252B66:: @ 8252B66
|
|||||||
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D:: @ 8252B8D
|
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D:: @ 8252B8D
|
||||||
setvar VAR_0x8004, 3
|
setvar VAR_0x8004, 3
|
||||||
setvar VAR_0x8005, 1
|
setvar VAR_0x8005, 1
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
special SavePlayerParty
|
special SavePlayerParty
|
||||||
setvar VAR_0x8004, 2
|
setvar VAR_0x8004, 2
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special CallFrontierUtilFunc
|
special CallFrontierUtilFunc
|
||||||
setvar VAR_0x8004, 9
|
setvar VAR_0x8004, 9
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_0x8004, 3
|
setvar VAR_0x8004, 3
|
||||||
setvar VAR_0x8005, 3
|
setvar VAR_0x8005, 3
|
||||||
special CallFrontierUtilFunc
|
special CallFrontierUtilFunc
|
||||||
@ -121,7 +121,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5:: @ 8252BD5
|
|||||||
setvar VAR_0x8004, 13
|
setvar VAR_0x8004, 13
|
||||||
setvar VAR_0x8005, 32
|
setvar VAR_0x8005, 32
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
return
|
return
|
||||||
|
|
||||||
BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8:: @ 8252BE8
|
BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8:: @ 8252BE8
|
||||||
@ -137,7 +137,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8:: @ 8252BE8
|
|||||||
compare VAR_RESULT, 7
|
compare VAR_RESULT, 7
|
||||||
goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45
|
goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45
|
||||||
setvar VAR_0x8004, 6
|
setvar VAR_0x8004, 6
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_0x8004, 2
|
setvar VAR_0x8004, 2
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
@ -155,7 +155,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45:: @ 8252C45
|
|||||||
BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F:: @ 8252C4F
|
BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F:: @ 8252C4F
|
||||||
trainerbattle 9, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D
|
trainerbattle 9, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D
|
||||||
setvar VAR_0x8004, 10
|
setvar VAR_0x8004, 10
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
waitmessage
|
waitmessage
|
||||||
waitbuttonpress
|
waitbuttonpress
|
||||||
closemessage
|
closemessage
|
||||||
@ -164,12 +164,12 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F:: @ 8252C4F
|
|||||||
|
|
||||||
BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A:: @ 8252C6A
|
BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A:: @ 8252C6A
|
||||||
setvar VAR_0x8004, 7
|
setvar VAR_0x8004, 7
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
callstd 1
|
callstd 1
|
||||||
compare VAR_0x8007, 0
|
compare VAR_0x8007, 0
|
||||||
goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87
|
goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87
|
||||||
setvar VAR_0x8004, 8
|
setvar VAR_0x8004, 8
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
|
|
||||||
BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87:: @ 8252C87
|
BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87:: @ 8252C87
|
||||||
end
|
end
|
||||||
|
@ -35,11 +35,11 @@ BattleFrontier_BattlePyramidLobby_EventScript_250768:: @ 8250768
|
|||||||
setvar VAR_0x8004, 2
|
setvar VAR_0x8004, 2
|
||||||
setvar VAR_0x8005, 1
|
setvar VAR_0x8005, 1
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_0x8004, 2
|
setvar VAR_0x8004, 2
|
||||||
setvar VAR_0x8005, 2
|
setvar VAR_0x8005, 2
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_0x8004, 2
|
setvar VAR_0x8004, 2
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
@ -69,7 +69,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
|
|||||||
special CallFrontierUtilFunc
|
special CallFrontierUtilFunc
|
||||||
special LoadPlayerParty
|
special LoadPlayerParty
|
||||||
setvar VAR_0x8004, 14
|
setvar VAR_0x8004, 14
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
special HealPlayerParty
|
special HealPlayerParty
|
||||||
message BattleFrontier_BattlePyramidLobby_Text_2519F8
|
message BattleFrontier_BattlePyramidLobby_Text_2519F8
|
||||||
waitmessage
|
waitmessage
|
||||||
@ -82,10 +82,10 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
|
|||||||
message BattleFrontier_BattlePyramidLobby_Text_251A77
|
message BattleFrontier_BattlePyramidLobby_Text_251A77
|
||||||
waitmessage
|
waitmessage
|
||||||
setvar VAR_0x8004, 4
|
setvar VAR_0x8004, 4
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_0x8004, 3
|
setvar VAR_0x8004, 3
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
playse SE_SAVE
|
playse SE_SAVE
|
||||||
waitse
|
waitse
|
||||||
msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, 4
|
msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, 4
|
||||||
@ -99,7 +99,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852
|
|||||||
special CallFrontierUtilFunc
|
special CallFrontierUtilFunc
|
||||||
special LoadPlayerParty
|
special LoadPlayerParty
|
||||||
setvar VAR_0x8004, 14
|
setvar VAR_0x8004, 14
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
special HealPlayerParty
|
special HealPlayerParty
|
||||||
lockall
|
lockall
|
||||||
message BattleFrontier_BattlePyramidLobby_Text_251B5A
|
message BattleFrontier_BattlePyramidLobby_Text_251B5A
|
||||||
@ -111,10 +111,10 @@ BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852
|
|||||||
setvar VAR_0x8004, 2
|
setvar VAR_0x8004, 2
|
||||||
setvar VAR_0x8005, 2
|
setvar VAR_0x8005, 2
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_0x8004, 3
|
setvar VAR_0x8004, 3
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
playse SE_SAVE
|
playse SE_SAVE
|
||||||
waitse
|
waitse
|
||||||
msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, 4
|
msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, 4
|
||||||
@ -180,11 +180,11 @@ BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5
|
|||||||
setvar VAR_0x8005, 4
|
setvar VAR_0x8005, 4
|
||||||
special CallFrontierUtilFunc
|
special CallFrontierUtilFunc
|
||||||
setvar VAR_0x8004, 0
|
setvar VAR_0x8004, 0
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_0x8004, 2
|
setvar VAR_0x8004, 2
|
||||||
setvar VAR_0x8005, 2
|
setvar VAR_0x8005, 2
|
||||||
setvar VAR_0x8006, 1
|
setvar VAR_0x8006, 1
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_0x8004, 2
|
setvar VAR_0x8004, 2
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
setvar VAR_0x8006, 1
|
setvar VAR_0x8006, 1
|
||||||
@ -194,9 +194,9 @@ BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5
|
|||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special CallFrontierUtilFunc
|
special CallFrontierUtilFunc
|
||||||
setvar VAR_0x8004, 6
|
setvar VAR_0x8004, 6
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_0x8004, 9
|
setvar VAR_0x8004, 9
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
special LoadPlayerParty
|
special LoadPlayerParty
|
||||||
closemessage
|
closemessage
|
||||||
delay 2
|
delay 2
|
||||||
@ -284,7 +284,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B28:: @ 8250B28
|
|||||||
msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, 4
|
msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, 4
|
||||||
setvar VAR_0x8004, 1
|
setvar VAR_0x8004, 1
|
||||||
setvar VAR_0x8005, 5
|
setvar VAR_0x8005, 5
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
compare VAR_RESULT, 0
|
compare VAR_RESULT, 0
|
||||||
goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B53
|
goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B53
|
||||||
setvar VAR_RESULT, 0
|
setvar VAR_RESULT, 0
|
||||||
@ -294,7 +294,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B28:: @ 8250B28
|
|||||||
BattleFrontier_BattlePyramidLobby_EventScript_250B53:: @ 8250B53
|
BattleFrontier_BattlePyramidLobby_EventScript_250B53:: @ 8250B53
|
||||||
setvar VAR_0x8004, 1
|
setvar VAR_0x8004, 1
|
||||||
setvar VAR_0x8005, 3
|
setvar VAR_0x8005, 3
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
|
goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -302,7 +302,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B66:: @ 8250B66
|
|||||||
msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, 4
|
msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, 4
|
||||||
setvar VAR_0x8004, 1
|
setvar VAR_0x8004, 1
|
||||||
setvar VAR_0x8005, 6
|
setvar VAR_0x8005, 6
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
compare VAR_RESULT, 0
|
compare VAR_RESULT, 0
|
||||||
goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B91
|
goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B91
|
||||||
setvar VAR_RESULT, 0
|
setvar VAR_RESULT, 0
|
||||||
@ -312,7 +312,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B66:: @ 8250B66
|
|||||||
BattleFrontier_BattlePyramidLobby_EventScript_250B91:: @ 8250B91
|
BattleFrontier_BattlePyramidLobby_EventScript_250B91:: @ 8250B91
|
||||||
setvar VAR_0x8004, 1
|
setvar VAR_0x8004, 1
|
||||||
setvar VAR_0x8005, 4
|
setvar VAR_0x8005, 4
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
|
goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -439,7 +439,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250D56:: @ 8250D56
|
|||||||
msgbox BattleFrontier_BattlePyramidLobby_Text_251569, 4
|
msgbox BattleFrontier_BattlePyramidLobby_Text_251569, 4
|
||||||
setvar VAR_0x8004, 1
|
setvar VAR_0x8004, 1
|
||||||
setvar VAR_0x8005, 1
|
setvar VAR_0x8005, 1
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
compare VAR_RESULT, 0
|
compare VAR_RESULT, 0
|
||||||
goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250D94
|
goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250D94
|
||||||
msgbox BattleFrontier_BattlePyramidLobby_Text_2515AD, 4
|
msgbox BattleFrontier_BattlePyramidLobby_Text_2515AD, 4
|
||||||
|
@ -9,7 +9,7 @@ BattleFrontier_BattlePyramidTop_MapScript1_2550B6: @ 82550B6
|
|||||||
setvar VAR_0x8004, 13
|
setvar VAR_0x8004, 13
|
||||||
setvar VAR_0x8005, 200
|
setvar VAR_0x8005, 200
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_TEMP_F, 1
|
setvar VAR_TEMP_F, 1
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -71,14 +71,14 @@ BattleFrontier_BattlePyramidTop_EventScript_25518A:: @ 825518A
|
|||||||
BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193
|
BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193
|
||||||
setvar VAR_0x8004, 3
|
setvar VAR_0x8004, 3
|
||||||
setvar VAR_0x8005, 1
|
setvar VAR_0x8005, 1
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
special SavePlayerParty
|
special SavePlayerParty
|
||||||
setvar VAR_0x8004, 2
|
setvar VAR_0x8004, 2
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special CallFrontierUtilFunc
|
special CallFrontierUtilFunc
|
||||||
setvar VAR_0x8004, 9
|
setvar VAR_0x8004, 9
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
setvar VAR_0x8004, 3
|
setvar VAR_0x8004, 3
|
||||||
setvar VAR_0x8005, 3
|
setvar VAR_0x8005, 3
|
||||||
special CallFrontierUtilFunc
|
special CallFrontierUtilFunc
|
||||||
|
@ -7,7 +7,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_MapScripts:: @ 8243D92
|
|||||||
|
|
||||||
BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7: @ 8243DA7
|
BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7: @ 8243DA7
|
||||||
setvar VAR_0x8004, 17
|
setvar VAR_0x8004, 17
|
||||||
special sub_81A8E7C
|
special CallBattlePyramidFunction
|
||||||
end
|
end
|
||||||
|
|
||||||
BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0: @ 8243DB0
|
BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0: @ 8243DB0
|
||||||
|
@ -251,7 +251,7 @@ gSpecials:: @ 81DBA64
|
|||||||
def_special CallBattleArenaFunction
|
def_special CallBattleArenaFunction
|
||||||
def_special CallBattleFactoryFunction
|
def_special CallBattleFactoryFunction
|
||||||
def_special CallBattlePikeFunction
|
def_special CallBattlePikeFunction
|
||||||
def_special sub_81A8E7C
|
def_special CallBattlePyramidFunction
|
||||||
def_special StopMapMusic
|
def_special StopMapMusic
|
||||||
def_special sub_81B99B4
|
def_special sub_81B99B4
|
||||||
def_special sub_81B9B80
|
def_special sub_81B9B80
|
||||||
|
24
include/battle_pyramid.h
Normal file
24
include/battle_pyramid.h
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#ifndef GUARD_BATTLE_PYRAMID_H
|
||||||
|
#define GUARD_BATTLE_PYRAMID_H
|
||||||
|
|
||||||
|
void CallBattlePyramidFunction(void);
|
||||||
|
u16 LocalIdToPyramidTrainerId(u8 localId);
|
||||||
|
bool8 GetBattlePyramidTrainerFlag(u8 eventId);
|
||||||
|
void sub_81A9B04(void);
|
||||||
|
void GenerateBattlePyramidWildMon(void);
|
||||||
|
u8 GetPyramidRunMultiplier(void);
|
||||||
|
u8 InBattlePyramid(void);
|
||||||
|
bool8 InBattlePyramid_(void);
|
||||||
|
void sub_81A9E90(void);
|
||||||
|
void sub_81A9EC8(void);
|
||||||
|
void CopyPyramidTrainerSpeechBefore(u16 trainerId);
|
||||||
|
void CopyPyramidTrainerWinSpeech(u16 trainerId);
|
||||||
|
void CopyPyramidTrainerLoseSpeech(u16 trainerId);
|
||||||
|
u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerId);
|
||||||
|
void sub_81AA078(u16 *mapArg, u8 arg1);
|
||||||
|
void sub_81AA1D8(void);
|
||||||
|
void sub_81AA2F8(void);
|
||||||
|
u8 sub_81AAA40(void);
|
||||||
|
u16 GetBattlePyramidPickupItemId(void);
|
||||||
|
|
||||||
|
#endif // GUARD_BATTLE_PYRAMID_H
|
@ -34,6 +34,7 @@ struct PyramidBagCursorData
|
|||||||
extern struct PyramidBagResources *gPyramidBagResources;
|
extern struct PyramidBagResources *gPyramidBagResources;
|
||||||
extern struct PyramidBagCursorData gPyramidBagCursorData;
|
extern struct PyramidBagCursorData gPyramidBagCursorData;
|
||||||
|
|
||||||
|
void sub_81C4EEC(void);
|
||||||
void CB2_PyramidBagMenuFromStartMenu(void);
|
void CB2_PyramidBagMenuFromStartMenu(void);
|
||||||
void sub_81C4F84(void);
|
void sub_81C4F84(void);
|
||||||
void sub_81C5924(void);
|
void sub_81C5924(void);
|
||||||
|
@ -135,6 +135,7 @@ enum LanguageId
|
|||||||
#define BAG_POKEBALLS_COUNT 16
|
#define BAG_POKEBALLS_COUNT 16
|
||||||
#define BAG_TMHM_COUNT 64
|
#define BAG_TMHM_COUNT 64
|
||||||
#define BAG_BERRIES_COUNT 46
|
#define BAG_BERRIES_COUNT 46
|
||||||
|
#define EVENT_OBJECT_TEMPLATES_COUNT 64
|
||||||
|
|
||||||
#define PYRAMID_BAG_ITEMS_COUNT 10
|
#define PYRAMID_BAG_ITEMS_COUNT 10
|
||||||
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
|
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
|
||||||
@ -442,12 +443,14 @@ struct BattleFrontier
|
|||||||
/*0xE10*/ u8 field_E10_1:3;
|
/*0xE10*/ u8 field_E10_1:3;
|
||||||
/*0xE10*/ u8 field_E10_2:4;
|
/*0xE10*/ u8 field_E10_2:4;
|
||||||
/*0xE10*/ u8 field_E10_3:1;
|
/*0xE10*/ u8 field_E10_3:1;
|
||||||
/*0xE12*/ u16 field_E12[4];
|
/*0xE12*/ u16 field_E12[3];
|
||||||
|
/*0xE18*/ u16 field_E18;
|
||||||
/*0xE1A*/ u16 pyramidWinStreaks[2];
|
/*0xE1A*/ u16 pyramidWinStreaks[2];
|
||||||
/*0xE1E*/ u16 pyramidRecordStreaks[2];
|
/*0xE1E*/ u16 pyramidRecordStreaks[2];
|
||||||
/*0xE1E*/ u16 field_E1F[5];
|
/*0xE22*/ u16 field_E22[4];
|
||||||
|
/*0xE2A*/ u8 field_E2A;
|
||||||
/*0xE2C*/ struct PyramidBag pyramidBag;
|
/*0xE2C*/ struct PyramidBag pyramidBag;
|
||||||
/*0xE58*/ u16 field_E58;
|
/*0xE68*/ u8 field_E68;
|
||||||
/*0xE6A*/ u16 field_E6A;
|
/*0xE6A*/ u16 field_E6A;
|
||||||
/*0xE6C*/ u16 field_E6C;
|
/*0xE6C*/ u16 field_E6C;
|
||||||
/*0xE6E*/ u16 field_E6E;
|
/*0xE6E*/ u16 field_E6E;
|
||||||
@ -905,7 +908,7 @@ struct SaveBlock1
|
|||||||
/*0x9C8*/ u16 trainerRematchStepCounter;
|
/*0x9C8*/ u16 trainerRematchStepCounter;
|
||||||
/*0x9CA*/ u8 trainerRematches[100];
|
/*0x9CA*/ u8 trainerRematches[100];
|
||||||
/*0xA30*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT];
|
/*0xA30*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT];
|
||||||
/*0xC70*/ struct EventObjectTemplate eventObjectTemplates[64];
|
/*0xC70*/ struct EventObjectTemplate eventObjectTemplates[EVENT_OBJECT_TEMPLATES_COUNT];
|
||||||
/*0x1270*/ u8 flags[FLAGS_COUNT];
|
/*0x1270*/ u8 flags[FLAGS_COUNT];
|
||||||
/*0x139C*/ u16 vars[VARS_COUNT];
|
/*0x139C*/ u16 vars[VARS_COUNT];
|
||||||
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
|
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
|
||||||
|
@ -268,7 +268,8 @@ SECTIONS {
|
|||||||
src/battle_arena.o(.text);
|
src/battle_arena.o(.text);
|
||||||
src/battle_factory.o(.text);
|
src/battle_factory.o(.text);
|
||||||
src/battle_pike.o(.text);
|
src/battle_pike.o(.text);
|
||||||
asm/battle_frontier_2.o(.text);
|
asm/mossdeep_gym.o(.text);
|
||||||
|
src/battle_pyramid.o(.text);
|
||||||
src/item_menu.o(.text);
|
src/item_menu.o(.text);
|
||||||
src/list_menu.o(.text);
|
src/list_menu.o(.text);
|
||||||
src/dynamic_placeholder_text_util.o(.text);
|
src/dynamic_placeholder_text_util.o(.text);
|
||||||
@ -579,6 +580,7 @@ SECTIONS {
|
|||||||
data/battle_pike.o(.rodata);
|
data/battle_pike.o(.rodata);
|
||||||
src/battle_pike.o(.rodata);
|
src/battle_pike.o(.rodata);
|
||||||
data/battle_frontier_3.o(.rodata);
|
data/battle_frontier_3.o(.rodata);
|
||||||
|
src/battle_pyramid.o(.rodata);
|
||||||
src/item_menu.o(.rodata);
|
src/item_menu.o(.rodata);
|
||||||
src/list_menu.o(.rodata);
|
src/list_menu.o(.rodata);
|
||||||
src/save_location.o(.rodata);
|
src/save_location.o(.rodata);
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#include "battle_controllers.h"
|
#include "battle_controllers.h"
|
||||||
#include "battle_interface.h"
|
#include "battle_interface.h"
|
||||||
#include "battle_message.h"
|
#include "battle_message.h"
|
||||||
|
#include "battle_pyramid.h"
|
||||||
#include "battle_scripts.h"
|
#include "battle_scripts.h"
|
||||||
#include "battle_setup.h"
|
#include "battle_setup.h"
|
||||||
#include "battle_tower.h"
|
#include "battle_tower.h"
|
||||||
@ -109,10 +110,8 @@ extern const u8 gText_Love[];
|
|||||||
// functions
|
// functions
|
||||||
extern void sub_81B9150(void);
|
extern void sub_81B9150(void);
|
||||||
extern void sub_80B3AF8(u8 taskId); // cable club
|
extern void sub_80B3AF8(u8 taskId); // cable club
|
||||||
extern u8 sub_81A9E28(void); // battle frontier 2
|
|
||||||
extern void sub_81B8FB0(u8, u8); // party menu
|
extern void sub_81B8FB0(u8, u8); // party menu
|
||||||
extern u8 pokemon_order_func(u8); // party menu
|
extern u8 pokemon_order_func(u8); // party menu
|
||||||
extern bool8 InBattlePyramid(void);
|
|
||||||
|
|
||||||
// this file's functions
|
// this file's functions
|
||||||
static void CB2_InitBattleInternal(void);
|
static void CB2_InitBattleInternal(void);
|
||||||
@ -5604,7 +5603,7 @@ bool8 TryRunFromBattle(u8 battler)
|
|||||||
if (InBattlePyramid())
|
if (InBattlePyramid())
|
||||||
{
|
{
|
||||||
gBattleStruct->runTries++;
|
gBattleStruct->runTries++;
|
||||||
pyramidMultiplier = sub_81A9E28();
|
pyramidMultiplier = GetPyramidRunMultiplier();
|
||||||
speedVar = (gBattleMons[battler].speed * pyramidMultiplier) / (gBattleMons[BATTLE_OPPOSITE(battler)].speed) + (gBattleStruct->runTries * 30);
|
speedVar = (gBattleMons[battler].speed * pyramidMultiplier) / (gBattleMons[BATTLE_OPPOSITE(battler)].speed) + (gBattleStruct->runTries * 30);
|
||||||
if (speedVar > (Random() & 0xFF))
|
if (speedVar > (Random() & 0xFF))
|
||||||
{
|
{
|
||||||
@ -5630,7 +5629,7 @@ bool8 TryRunFromBattle(u8 battler)
|
|||||||
{
|
{
|
||||||
if (InBattlePyramid())
|
if (InBattlePyramid())
|
||||||
{
|
{
|
||||||
pyramidMultiplier = sub_81A9E28();
|
pyramidMultiplier = GetPyramidRunMultiplier();
|
||||||
speedVar = (gBattleMons[battler].speed * pyramidMultiplier) / (gBattleMons[BATTLE_OPPOSITE(battler)].speed) + (gBattleStruct->runTries * 30);
|
speedVar = (gBattleMons[battler].speed * pyramidMultiplier) / (gBattleMons[BATTLE_OPPOSITE(battler)].speed) + (gBattleStruct->runTries * 30);
|
||||||
if (speedVar > (Random() & 0xFF))
|
if (speedVar > (Random() & 0xFF))
|
||||||
effect++;
|
effect++;
|
||||||
|
1297
src/battle_pyramid.c
Normal file
1297
src/battle_pyramid.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -45,6 +45,7 @@
|
|||||||
#include "party_menu.h"
|
#include "party_menu.h"
|
||||||
#include "battle_arena.h"
|
#include "battle_arena.h"
|
||||||
#include "battle_pike.h"
|
#include "battle_pike.h"
|
||||||
|
#include "battle_pyramid.h"
|
||||||
|
|
||||||
extern u16 gBattle_BG1_X;
|
extern u16 gBattle_BG1_X;
|
||||||
extern u16 gBattle_BG1_Y;
|
extern u16 gBattle_BG1_Y;
|
||||||
@ -62,11 +63,8 @@ extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokena
|
|||||||
extern void sub_81D3640(u8 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // 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 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 u8* GetMonNickname(struct Pokemon* mon, u8* dst); // party_menu
|
||||||
extern u8 BattleArena_ShowJudgmentWindow(u8* arg0); // battle frontier 2
|
|
||||||
extern void sub_81B8E80(u8 battlerId, u8, u8); // party menu
|
extern void sub_81B8E80(u8 battlerId, u8, u8); // party menu
|
||||||
extern bool8 sub_81B1250(void); // ?
|
extern bool8 sub_81B1250(void); // ?
|
||||||
extern bool8 InBattlePyramid(void);
|
|
||||||
extern u16 GetBattlePyramidPickupItemId(void);
|
|
||||||
extern u8 sub_813B21C(void);
|
extern u8 sub_813B21C(void);
|
||||||
extern u16 get_unknown_box_id(void);
|
extern u16 get_unknown_box_id(void);
|
||||||
|
|
||||||
@ -9860,71 +9858,72 @@ static void atkE4_getsecretpowereffect(void)
|
|||||||
|
|
||||||
static void atkE5_pickup(void)
|
static void atkE5_pickup(void)
|
||||||
{
|
{
|
||||||
if (!InBattlePike())
|
s32 i;
|
||||||
|
u16 species, heldItem;
|
||||||
|
u8 ability;
|
||||||
|
|
||||||
|
if (InBattlePike())
|
||||||
{
|
{
|
||||||
s32 i;
|
|
||||||
u16 species, heldItem;
|
|
||||||
u8 ability;
|
|
||||||
|
|
||||||
if (InBattlePyramid())
|
}
|
||||||
|
else if (InBattlePyramid())
|
||||||
|
{
|
||||||
|
for (i = 0; i < PARTY_SIZE; i++)
|
||||||
{
|
{
|
||||||
for (i = 0; i < 6; i++)
|
species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
|
||||||
|
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
|
||||||
|
|
||||||
|
if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
|
||||||
|
ability = gBaseStats[species].ability2;
|
||||||
|
else
|
||||||
|
ability = gBaseStats[species].ability1;
|
||||||
|
|
||||||
|
if (ability == ABILITY_PICKUP
|
||||||
|
&& species != 0
|
||||||
|
&& species != SPECIES_EGG
|
||||||
|
&& heldItem == ITEM_NONE
|
||||||
|
&& (Random() % 10) == 0)
|
||||||
{
|
{
|
||||||
species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
|
heldItem = GetBattlePyramidPickupItemId();
|
||||||
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
|
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
|
||||||
|
|
||||||
if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
|
|
||||||
ability = gBaseStats[species].ability2;
|
|
||||||
else
|
|
||||||
ability = gBaseStats[species].ability1;
|
|
||||||
|
|
||||||
if (ability == ABILITY_PICKUP
|
|
||||||
&& species != 0
|
|
||||||
&& species != SPECIES_EGG
|
|
||||||
&& heldItem == ITEM_NONE
|
|
||||||
&& (Random() % 10) == 0)
|
|
||||||
{
|
|
||||||
heldItem = GetBattlePyramidPickupItemId();
|
|
||||||
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (i = 0; i < PARTY_SIZE; i++)
|
||||||
{
|
{
|
||||||
for (i = 0; i < 6; i++)
|
species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
|
||||||
|
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
|
||||||
|
|
||||||
|
if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
|
||||||
|
ability = gBaseStats[species].ability2;
|
||||||
|
else
|
||||||
|
ability = gBaseStats[species].ability1;
|
||||||
|
|
||||||
|
if (ability == ABILITY_PICKUP
|
||||||
|
&& species != 0
|
||||||
|
&& species != SPECIES_EGG
|
||||||
|
&& heldItem == ITEM_NONE
|
||||||
|
&& (Random() % 10) == 0)
|
||||||
{
|
{
|
||||||
species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
|
s32 j;
|
||||||
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
|
s32 rand = Random() % 100;
|
||||||
|
u8 lvlDivBy10 = (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) - 1) / 10;
|
||||||
|
if (lvlDivBy10 > 9)
|
||||||
|
lvlDivBy10 = 9;
|
||||||
|
|
||||||
if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
|
for (j = 0; j < 9; j++)
|
||||||
ability = gBaseStats[species].ability2;
|
|
||||||
else
|
|
||||||
ability = gBaseStats[species].ability1;
|
|
||||||
|
|
||||||
if (ability == ABILITY_PICKUP
|
|
||||||
&& species != 0
|
|
||||||
&& species != SPECIES_EGG
|
|
||||||
&& heldItem == ITEM_NONE
|
|
||||||
&& (Random() % 10) == 0)
|
|
||||||
{
|
{
|
||||||
s32 j;
|
if (sPickupProbabilities[j] > rand)
|
||||||
s32 rand = Random() % 100;
|
|
||||||
u8 lvlDivBy10 = (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) - 1) / 10;
|
|
||||||
if (lvlDivBy10 > 9)
|
|
||||||
lvlDivBy10 = 9;
|
|
||||||
|
|
||||||
for (j = 0; j < 9; j++)
|
|
||||||
{
|
{
|
||||||
if (sPickupProbabilities[j] > rand)
|
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sPickupItems[lvlDivBy10 + j]);
|
||||||
{
|
break;
|
||||||
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sPickupItems[lvlDivBy10 + j]);
|
}
|
||||||
break;
|
else if (rand == 99 || rand == 98)
|
||||||
}
|
{
|
||||||
else if (rand == 99 || rand == 98)
|
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sRarePickupItems[lvlDivBy10 + (99 - rand)]);
|
||||||
{
|
break;
|
||||||
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sRarePickupItems[lvlDivBy10 + (99 - rand)]);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "battle_tower.h"
|
#include "battle_tower.h"
|
||||||
#include "gym_leader_rematch.h"
|
#include "gym_leader_rematch.h"
|
||||||
#include "battle_pike.h"
|
#include "battle_pike.h"
|
||||||
|
#include "battle_pyramid.h"
|
||||||
#include "constants/map_types.h"
|
#include "constants/map_types.h"
|
||||||
#include "constants/battle_frontier.h"
|
#include "constants/battle_frontier.h"
|
||||||
|
|
||||||
@ -54,7 +55,6 @@ struct TrainerBattleParameter
|
|||||||
u8 ptrType;
|
u8 ptrType;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern bool8 InBattlePyramid(void);
|
|
||||||
extern bool32 InTrainerHill(void);
|
extern bool32 InTrainerHill(void);
|
||||||
extern bool32 FieldPoisonEffectIsRunning(void);
|
extern bool32 FieldPoisonEffectIsRunning(void);
|
||||||
extern void RestartWildEncounterImmunitySteps(void);
|
extern void RestartWildEncounterImmunitySteps(void);
|
||||||
@ -63,17 +63,13 @@ extern void sub_81BE72C(void);
|
|||||||
extern void sub_808BCF4(void);
|
extern void sub_808BCF4(void);
|
||||||
extern void sub_80EECC8(void);
|
extern void sub_80EECC8(void);
|
||||||
extern void sub_80AF6F0(void);
|
extern void sub_80AF6F0(void);
|
||||||
extern u16 sub_81A9AA8(u8 localId);
|
|
||||||
extern u16 sub_81D6180(u8 localId);
|
extern u16 sub_81D6180(u8 localId);
|
||||||
extern bool8 GetBattlePyramidTrainerFlag(u8 eventObjId);
|
|
||||||
extern bool8 GetTrainerHillTrainerFlag(u8 eventObjId);
|
extern bool8 GetTrainerHillTrainerFlag(u8 eventObjId);
|
||||||
extern bool8 sub_81D5C18(void);
|
extern bool8 sub_81D5C18(void);
|
||||||
extern void sub_81A9B04(void);
|
|
||||||
extern void sub_81D639C(void);
|
extern void sub_81D639C(void);
|
||||||
extern void sub_81D6384(void);
|
extern void sub_81D6384(void);
|
||||||
extern void sub_81D61E8(void);
|
extern void sub_81D61E8(void);
|
||||||
extern void sub_80982B8(void);
|
extern void sub_80982B8(void);
|
||||||
extern void sub_81A9EDC(u16 a0);
|
|
||||||
extern void CopyTrainerHillTrainerText(u8 a0, u16 arg1);
|
extern void CopyTrainerHillTrainerText(u8 a0, u16 arg1);
|
||||||
|
|
||||||
// this file's functions
|
// this file's functions
|
||||||
@ -1131,12 +1127,12 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
|
|||||||
{
|
{
|
||||||
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
|
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
|
||||||
SetMapVarsToTrainer();
|
SetMapVarsToTrainer();
|
||||||
gTrainerBattleOpponent_A = sub_81A9AA8(gSpecialVar_LastTalked);
|
gTrainerBattleOpponent_A = LocalIdToPyramidTrainerId(gSpecialVar_LastTalked);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
|
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
|
||||||
gTrainerBattleOpponent_B = sub_81A9AA8(gSpecialVar_LastTalked);
|
gTrainerBattleOpponent_B = LocalIdToPyramidTrainerId(gSpecialVar_LastTalked);
|
||||||
}
|
}
|
||||||
return EventScript_271362;
|
return EventScript_271362;
|
||||||
case TRAINER_BATTLE_SET_TRAINER_A:
|
case TRAINER_BATTLE_SET_TRAINER_A:
|
||||||
@ -1360,9 +1356,9 @@ void ShowTrainerIntroSpeech(void)
|
|||||||
if (InBattlePyramid())
|
if (InBattlePyramid())
|
||||||
{
|
{
|
||||||
if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1)
|
if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1)
|
||||||
sub_81A9EDC(sub_81A9AA8(gSpecialVar_LastTalked));
|
CopyPyramidTrainerSpeechBefore(LocalIdToPyramidTrainerId(gSpecialVar_LastTalked));
|
||||||
else
|
else
|
||||||
sub_81A9EDC(sub_81A9AA8(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId));
|
CopyPyramidTrainerSpeechBefore(LocalIdToPyramidTrainerId(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId));
|
||||||
|
|
||||||
sub_80982B8();
|
sub_80982B8();
|
||||||
}
|
}
|
||||||
|
@ -1485,7 +1485,7 @@ const u32 gUnknown_08DD4C4C[] = INCBIN_U32("graphics/link/link_winedge.bin.lz");
|
|||||||
|
|
||||||
const u32 gUnknown_08DD4CF8[] = INCBIN_U32("graphics/interface/unk_change_case.4bpp.lz");
|
const u32 gUnknown_08DD4CF8[] = INCBIN_U32("graphics/interface/unk_change_case.4bpp.lz");
|
||||||
|
|
||||||
const u16 gTilesetPalettes_General[][16] =
|
const u16 gTilesetPalettes_General[][16] =
|
||||||
{
|
{
|
||||||
INCBIN_U16("data/tilesets/primary/general/palettes/00.gbapal"),
|
INCBIN_U16("data/tilesets/primary/general/palettes/00.gbapal"),
|
||||||
INCBIN_U16("data/tilesets/primary/general/palettes/01.gbapal"),
|
INCBIN_U16("data/tilesets/primary/general/palettes/01.gbapal"),
|
||||||
|
@ -10,9 +10,9 @@
|
|||||||
#include "item_menu.h"
|
#include "item_menu.h"
|
||||||
#include "strings.h"
|
#include "strings.h"
|
||||||
#include "load_save.h"
|
#include "load_save.h"
|
||||||
|
#include "battle_pyramid.h"
|
||||||
#include "battle_pyramid_bag.h"
|
#include "battle_pyramid_bag.h"
|
||||||
|
|
||||||
extern bool8 InBattlePyramid(void);
|
|
||||||
extern u16 gUnknown_0203CF30[];
|
extern u16 gUnknown_0203CF30[];
|
||||||
extern const struct Item gItems[];
|
extern const struct Item gItems[];
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "overworld.h"
|
#include "overworld.h"
|
||||||
|
#include "battle_pyramid.h"
|
||||||
#include "battle_setup.h"
|
#include "battle_setup.h"
|
||||||
#include "berry.h"
|
#include "berry.h"
|
||||||
#include "bg.h"
|
#include "bg.h"
|
||||||
@ -113,7 +114,6 @@ extern void ShowMapNamePopup(void);
|
|||||||
extern bool32 InTrainerHill(void);
|
extern bool32 InTrainerHill(void);
|
||||||
extern bool32 sub_808651C(void);
|
extern bool32 sub_808651C(void);
|
||||||
extern bool8 sub_80AF6A4(void);
|
extern bool8 sub_80AF6A4(void);
|
||||||
extern bool8 sub_81A9E6C(void);
|
|
||||||
extern bool8 sub_80E909C(void);
|
extern bool8 sub_80E909C(void);
|
||||||
extern void sub_81AA1D8(void);
|
extern void sub_81AA1D8(void);
|
||||||
extern void c2_change_map(void);
|
extern void c2_change_map(void);
|
||||||
@ -1808,7 +1808,7 @@ static void InitCurrentFlashLevelScanlineEffect(void)
|
|||||||
{
|
{
|
||||||
u8 flashLevel;
|
u8 flashLevel;
|
||||||
|
|
||||||
if (sub_81A9E6C())
|
if (InBattlePyramid_())
|
||||||
{
|
{
|
||||||
door_upload_tiles();
|
door_upload_tiles();
|
||||||
ScanlineEffect_SetParams(sFlashEffectParams);
|
ScanlineEffect_SetParams(sFlashEffectParams);
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#include "battle_controllers.h"
|
#include "battle_controllers.h"
|
||||||
#include "battle_message.h"
|
#include "battle_message.h"
|
||||||
#include "battle_pike.h"
|
#include "battle_pike.h"
|
||||||
|
#include "battle_pyramid.h"
|
||||||
#include "battle_setup.h"
|
#include "battle_setup.h"
|
||||||
#include "battle_tower.h"
|
#include "battle_tower.h"
|
||||||
#include "event_data.h"
|
#include "event_data.h"
|
||||||
@ -81,9 +82,7 @@ extern u8 StorageGetCurrentBox(void);
|
|||||||
extern void set_unknown_box_id(u8);
|
extern void set_unknown_box_id(u8);
|
||||||
extern void sub_803FA70(u8 battlerId);
|
extern void sub_803FA70(u8 battlerId);
|
||||||
extern u8 sav1_map_get_name(void);
|
extern u8 sav1_map_get_name(void);
|
||||||
extern bool8 InBattlePyramid(void);
|
|
||||||
extern bool8 sub_806F104(void);
|
extern bool8 sub_806F104(void);
|
||||||
extern u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerOpponentId);
|
|
||||||
extern u8 sub_81D63C8(u16 trainerOpponentId);
|
extern u8 sub_81D63C8(u16 trainerOpponentId);
|
||||||
extern void SummaryScreen_SetUnknownTaskId(u8);
|
extern void SummaryScreen_SetUnknownTaskId(u8);
|
||||||
|
|
||||||
|
@ -460,18 +460,18 @@ static bool32 InitStartMenuStep(void)
|
|||||||
sUnknown_02037619[0]++;
|
sUnknown_02037619[0]++;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (GetSafariZoneFlag() != FALSE)
|
if (GetSafariZoneFlag())
|
||||||
{
|
{
|
||||||
ShowSafariBallsWindow();
|
ShowSafariBallsWindow();
|
||||||
}
|
}
|
||||||
if (InBattlePyramid() != FALSE)
|
if (InBattlePyramid())
|
||||||
{
|
{
|
||||||
ShowPyramidFloorWindow();
|
ShowPyramidFloorWindow();
|
||||||
}
|
}
|
||||||
sUnknown_02037619[0]++;
|
sUnknown_02037619[0]++;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (PrintStartMenuActions(&sUnknown_02037619[1], 2) == FALSE)
|
if (!PrintStartMenuActions(&sUnknown_02037619[1], 2))
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -12,11 +12,10 @@
|
|||||||
#include "task.h"
|
#include "task.h"
|
||||||
#include "trainer_see.h"
|
#include "trainer_see.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
#include "battle_pyramid.h"
|
||||||
#include "constants/field_effects.h"
|
#include "constants/field_effects.h"
|
||||||
|
|
||||||
extern bool8 InBattlePyramid(void);
|
|
||||||
extern bool32 InTrainerHill(void);
|
extern bool32 InTrainerHill(void);
|
||||||
extern bool8 GetBattlePyramidTrainerFlag(u8 eventObjectId);
|
|
||||||
extern bool8 GetTrainerHillTrainerFlag(u8 eventObjectId);
|
extern bool8 GetTrainerHillTrainerFlag(u8 eventObjectId);
|
||||||
extern void sub_809BE48(u16 npcId);
|
extern void sub_809BE48(u16 npcId);
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include "link.h"
|
#include "link.h"
|
||||||
#include "script.h"
|
#include "script.h"
|
||||||
#include "battle_pike.h"
|
#include "battle_pike.h"
|
||||||
|
#include "battle_pyramid.h"
|
||||||
#include "constants/items.h"
|
#include "constants/items.h"
|
||||||
#include "constants/maps.h"
|
#include "constants/maps.h"
|
||||||
|
|
||||||
@ -26,9 +27,6 @@ extern const u8 EventScript_RepelWoreOff[];
|
|||||||
|
|
||||||
#define NUM_FEEBAS_SPOTS 6
|
#define NUM_FEEBAS_SPOTS 6
|
||||||
|
|
||||||
extern void GenerateBattlePyramidWildMon(void);
|
|
||||||
extern bool8 InBattlePyramid(void);
|
|
||||||
|
|
||||||
// this file's functions
|
// this file's functions
|
||||||
static u16 FeebasRandom(void);
|
static u16 FeebasRandom(void);
|
||||||
static void FeebasSeedRng(u16 seed);
|
static void FeebasSeedRng(u16 seed);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user