Document Battle Pie

This commit is contained in:
DizzyEggg 2018-11-12 14:35:56 +01:00
parent 3b3cffac44
commit d5abd7b696
19 changed files with 464 additions and 421 deletions

View File

@ -6,262 +6,6 @@
.section .rodata
.align 2
gUnknown_086121D4:: @ 86121D4
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x016a, 0x0005, 0x0105, 0x00d4
.2byte 0x005c, 0x0145
.align 1
gUnknown_086121F8:: @ 86121F8
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0065, 0x0005, 0x0099, 0x0078
.2byte 0x0057, 0x005c
.align 1
gUnknown_0861221C:: @ 861221C
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0133, 0x0005, 0x0093, 0x004e
.2byte 0x004d, 0x00ed
.align 1
gUnknown_08612240:: @ 8612240
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x00ca, 0x0005, 0x0044, 0x00f3
.2byte 0x00db, 0x00c2
.align 2
gUnknown_08612264:: @ 8612264
.4byte gUnknown_086121D4
.4byte gUnknown_086121F8
.4byte gUnknown_0861221C
.4byte gUnknown_08612240
.align 1
gUnknown_08612274:: @ 8612274
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x016a, 0x0005, 0x0105, 0x00d4
.2byte 0x005c, 0x003a
.align 1
gUnknown_08612298:: @ 8612298
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0065, 0x0005, 0x0099, 0x0078
.2byte 0x0057, 0x005c
.align 1
gUnknown_086122BC:: @ 86122BC
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0133, 0x0005, 0x0093, 0x004e
.2byte 0x004d, 0x00ed
.align 1
gUnknown_086122E0:: @ 86122E0
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x00ca, 0x0005, 0x0044, 0x00f3
.2byte 0x00db, 0x00e3
.align 2
gUnknown_08612304:: @ 8612304
.4byte gUnknown_08612274
.4byte gUnknown_08612298
.4byte gUnknown_086122BC
.4byte gUnknown_086122E0
.align 2
gUnknown_08612314:: @ 8612314
.4byte gUnknown_08612264
.4byte gUnknown_08612304
.align 2
gUnknown_0861231C:: @ 861231C
.2byte 0x0012
.byte 0x03, 0x05, 0x06
.align 2
.2byte 0x0005
.byte 0x0d, 0x20, 0x25
.align 2
.2byte 0x0011
.byte 0x08, 0x0b, 0x0c
.align 2
.2byte 0x0024
.byte 0x22, 0x1e, 0x21
.align 2
.2byte 0x0015
.byte 0x00, 0x00, 0x00
.align 2
.2byte 0x001e
.byte 0x01, 0x01, 0x01
.align 2
.2byte 0x002c
.byte 0x16, 0x17, 0x1b
.align 2
.2byte 0x0037
.byte 0x08, 0x16, 0x1f
.align 2
.2byte 0x000e
.byte 0x0d, 0x27, 0x15
.align 2
.2byte 0x0014
.byte 0x02, 0x04, 0x11
.align 2
.2byte 0x0038
.byte 0x1e, 0x14, 0x24
.align 2
.2byte 0x0042
.byte 0x1c, 0x22, 0x19
.align 2
.2byte 0x0026
.byte 0x17, 0x26, 0x1a
.align 2
.2byte 0x0032
.byte 0x17, 0x1e, 0x0b
.align 2
.2byte 0x002f
.byte 0x0f, 0x13, 0x0e
.align 2
.2byte 0x0027
.byte 0x02, 0x1d, 0x1a
.align 2
.2byte 0x0033
.byte 0x25, 0x0c, 0x20
.align 2
.2byte 0x0021
.byte 0x18, 0x17, 0x26
.align 2
.2byte 0x0018
.byte 0x05, 0x16, 0x04
.align 2
.2byte 0x000b
.byte 0x29, 0x25, 0x23
.align 2
.2byte 0x0035
.byte 0x27, 0x0e, 0x0d
.align 2
.2byte 0x0030
.byte 0x0a, 0x07, 0x09
.align 2
.2byte 0x000c
.byte 0x28, 0x14, 0x10
.align 2
.2byte 0x0034
.byte 0x12, 0x0d, 0x15
.align 2
.2byte 0x0013
.byte 0x16, 0x1f, 0x1b
.align 2
gUnknown_086123E4:: @ 86123E4
.byte 0x29, 0x0a, 0x30, 0x06, 0x01, 0x0a, 0x0f, 0x14, 0x20, 0x10, 0x0e, 0x27
.byte 0x2a, 0x0a, 0x1d, 0x08, 0x1b, 0x06, 0x34, 0x10, 0x20, 0x1e, 0x29, 0x0a
.byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1a, 0x1c, 0x03, 0x0c
.byte 0x0f, 0x1e, 0x0b, 0x10, 0x39, 0x10, 0x0f, 0x20, 0x2b, 0x10, 0x14, 0x0a
.byte 0x3b, 0x10, 0x02, 0x0a, 0x1e, 0x16, 0x20, 0x10, 0x3e, 0x14, 0x03, 0x0c
.byte 0x31, 0x0a, 0x02, 0x0e, 0x15, 0x0e, 0x36, 0x14, 0x37, 0x10, 0x0a, 0x1e
.byte 0x29, 0x0a, 0x25, 0x10, 0x2a, 0x14, 0x34, 0x10, 0x0f, 0x1e, 0x1b, 0x0a
.byte 0x01, 0x0a, 0x07, 0x0e, 0x2a, 0x12, 0x0f, 0x1e, 0x1f, 0x06, 0xff, 0xff
.byte 0x35, 0x1a, 0x36, 0x10, 0x0f, 0x0e, 0x01, 0x0a, 0x21, 0x26, 0x0f, 0x1e
.byte 0x25, 0x0e, 0x2f, 0x10, 0x2d, 0x06, 0x1e, 0x20, 0x03, 0x0c, 0xff, 0xff
.byte 0x1d, 0x0c, 0x1d, 0x08, 0x2b, 0x0a, 0x0f, 0x10, 0x02, 0x0a, 0x03, 0x0c
.byte 0x2a, 0x0a, 0x3e, 0x0a, 0x00, 0x20, 0x27, 0x10, 0x08, 0x1c, 0x04, 0x0c
.byte 0x01, 0x0a, 0x12, 0x12, 0x01, 0x0a, 0x00, 0x10, 0x2d, 0x06, 0xff, 0xff
.byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1c, 0x1c, 0x03, 0x0c
.byte 0x01, 0x0a, 0x0b, 0x06, 0x30, 0x10, 0x28, 0x0a, 0x49, 0x25, 0x24, 0x06
.byte 0x14, 0x10, 0x2c, 0x0a, 0x15, 0x04, 0x42, 0x16, 0x1b, 0x1e, 0x03, 0x0c
.byte 0x28, 0x06, 0x0f, 0x1a, 0x0b, 0x10, 0x17, 0x20, 0x00, 0x0c, 0xff, 0xff
.byte 0x01, 0x0a, 0x15, 0x10, 0x47, 0x16, 0x0f, 0x1e, 0x39, 0x0e, 0x36, 0x0e
.byte 0x01, 0x0a, 0x17, 0x10, 0x20, 0x16, 0x19, 0x0e, 0x31, 0x0a, 0x38, 0x0c
.byte 0x1d, 0x0c, 0x1d, 0x08, 0x00, 0x0c, 0x22, 0x10, 0x12, 0x1c, 0x0b, 0x02
.byte 0x29, 0x10, 0x04, 0x14, 0x2f, 0x10, 0x06, 0x10, 0x28, 0x1e, 0x1c, 0x1c
.byte 0x29, 0x10, 0x20, 0x0e, 0x28, 0x10, 0x16, 0x1c, 0x29, 0x1e, 0x03, 0x0c
.byte 0x0f, 0x1e, 0x0b, 0x10, 0x2f, 0x0e, 0x38, 0x06, 0x0c, 0x10, 0xff, 0xff
.byte 0x29, 0x0a, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x06, 0x2c, 0x10, 0xff, 0xff
.byte 0x23, 0x10, 0x0b, 0x10, 0x1d, 0x08, 0x2d, 0x06, 0x37, 0x10, 0x14, 0x0a
.byte 0x29, 0x0a, 0x22, 0x10, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x16, 0x29, 0x10
.byte 0x01, 0x06, 0x2c, 0x10, 0x01, 0x0a, 0x15, 0x10, 0x39, 0x0e, 0x36, 0x0e
.byte 0x20, 0x10, 0x0b, 0x02, 0x3f, 0x10, 0x12, 0x1c, 0x04, 0x0c, 0xff, 0xff
.byte 0x18, 0x10, 0x02, 0x0a, 0x3a, 0x10, 0x46, 0x04, 0x0e, 0x02, 0x03, 0x0c
.byte 0x10, 0x1e, 0x0b, 0x02, 0x0a, 0x1e, 0x0b, 0x10, 0x3a, 0x06, 0xff, 0xff
.byte 0x02, 0x0a, 0x12, 0x12, 0x0f, 0x1e, 0x0b, 0x10, 0x38, 0x06, 0x03, 0x0c
.byte 0x22, 0x1e, 0x00, 0x10, 0x1b, 0x16, 0x3f, 0x10, 0x0f, 0x1e, 0x03, 0x0c
.byte 0x29, 0x0a, 0x1e, 0x0e, 0x25, 0x10, 0x26, 0x1e, 0x00, 0x0c, 0xff, 0xff
.byte 0x01, 0x0a, 0x1e, 0x0e, 0x36, 0x12, 0x2f, 0x10, 0x0b, 0x12, 0x04, 0x0c
.byte 0x05, 0x28, 0x0f, 0x1e, 0x1b, 0x0a, 0x0b, 0x10, 0x20, 0x10, 0x3b, 0x06
.byte 0x01, 0x0a, 0x1f, 0x10, 0x3e, 0x0a, 0x37, 0x10, 0x20, 0x10, 0x28, 0x06
.byte 0x26, 0x10, 0x31, 0x0a, 0x29, 0x1e, 0x1c, 0x1c, 0x01, 0x0a, 0x12, 0x12
.byte 0x0a, 0x0c, 0x00, 0x0c, 0x29, 0x10, 0x1c, 0x10, 0x0f, 0x1e, 0x23, 0x0c
.byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x39, 0x10, 0x2a, 0x14, 0x04, 0x0c
.byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x20, 0x06, 0x2f, 0x10, 0x3c, 0x04
.byte 0x39, 0x0c, 0x39, 0x0c, 0x00, 0x0c, 0x29, 0x0a, 0x17, 0x20, 0x39, 0x0c
.byte 0x5c, 0x26, 0x0b, 0x10, 0x20, 0x10, 0x30, 0x12, 0x05, 0x1e, 0x0c, 0x10
gUnknown_086125DC:: @ 86125DC
.byte 0x23, 0x46, 0x23, 0x01, 0x04, 0x09, 0x05, 0x00, 0x15, 0x2a, 0x15, 0x01, 0x1c, 0x38, 0x1c, 0x01, 0x15, 0x2a, 0x15, 0x01, 0x1c, 0x8c, 0x38, 0x01, 0x15, 0x46, 0x23, 0x00
.align 2
gUnknown_086125F8:: @ 86125F8
.4byte sub_81A705C
.4byte sub_81A7140
.4byte sub_81A7248
.4byte sub_81A73B8
.4byte sub_81A7070
.4byte sub_81A73EC
.4byte sub_81A7400
.4byte sub_81A740C
.4byte sub_81A7418
.4byte nullsub_76
.4byte nullsub_124
.4byte sub_81A7468
.4byte sub_81A74CC
.4byte sub_81A74E0
.4byte sub_81A7508
.4byte sub_81A7580
.4byte sub_81A8090
.4byte sub_81A80DC
.4byte sub_81A825C
.4byte sub_81A827C
.4byte sub_81A84B4
.4byte sub_81A84EC
.4byte sub_81A863C
.4byte sub_81A8658
.4byte sub_81A869C
.4byte sub_81A86C0
.4byte sub_81A8794
.4byte sub_81A87E8
.4byte sub_81A8830
gUnknown_0861266C:: @ 861266C
.byte 0x03, 0x03, 0x01, 0x00, 0x00, 0x02, 0x02, 0x01, 0x04
gUnknown_08612675:: @ 8612675
.byte 0x02, 0x01, 0x00, 0x02, 0x00, 0x01, 0x01, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x01, 0x02, 0x00
.align 2
gUnknown_08612688:: @ 8612688
.4byte sub_81A7D8C
.4byte sub_81A7DE8
.align 2
gUnknown_08612690:: @ 8612690
.4byte 0x00000400, 0x00000800
gUnknown_08612698:: @ 8612698
store_lock_anim
walk_right

212
data/battle_pike.s Normal file
View File

@ -0,0 +1,212 @@
#include "constants/moves.h"
#include "constants/species.h"
#include "constants/trainers.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_086121D4:: @ 86121D4
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x016a, 0x0005, 0x0105, 0x00d4
.2byte 0x005c, 0x0145
.align 1
gUnknown_086121F8:: @ 86121F8
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0065, 0x0005, 0x0099, 0x0078
.2byte 0x0057, 0x005c
.align 1
gUnknown_0861221C:: @ 861221C
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0133, 0x0005, 0x0093, 0x004e
.2byte 0x004d, 0x00ed
.align 1
gUnknown_08612240:: @ 8612240
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x00ca, 0x0005, 0x0044, 0x00f3
.2byte 0x00db, 0x00c2
.align 2
gUnknown_08612264:: @ 8612264
.4byte gUnknown_086121D4
.4byte gUnknown_086121F8
.4byte gUnknown_0861221C
.4byte gUnknown_08612240
.align 1
gUnknown_08612274:: @ 8612274
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x016a, 0x0005, 0x0105, 0x00d4
.2byte 0x005c, 0x003a
.align 1
gUnknown_08612298:: @ 8612298
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0065, 0x0005, 0x0099, 0x0078
.2byte 0x0057, 0x005c
.align 1
gUnknown_086122BC:: @ 86122BC
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0133, 0x0005, 0x0093, 0x004e
.2byte 0x004d, 0x00ed
.align 1
gUnknown_086122E0:: @ 86122E0
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x00ca, 0x0005, 0x0044, 0x00f3
.2byte 0x00db, 0x00e3
.align 2
gUnknown_08612304:: @ 8612304
.4byte gUnknown_08612274
.4byte gUnknown_08612298
.4byte gUnknown_086122BC
.4byte gUnknown_086122E0
.align 2
gUnknown_08612314:: @ 8612314
.4byte gUnknown_08612264
.4byte gUnknown_08612304
.align 2
gUnknown_0861231C:: @ 861231C
.2byte 0x0012
.byte 0x03, 0x05, 0x06
.align 2
.2byte 0x0005
.byte 0x0d, 0x20, 0x25
.align 2
.2byte 0x0011
.byte 0x08, 0x0b, 0x0c
.align 2
.2byte 0x0024
.byte 0x22, 0x1e, 0x21
.align 2
.2byte 0x0015
.byte 0x00, 0x00, 0x00
.align 2
.2byte 0x001e
.byte 0x01, 0x01, 0x01
.align 2
.2byte 0x002c
.byte 0x16, 0x17, 0x1b
.align 2
.2byte 0x0037
.byte 0x08, 0x16, 0x1f
.align 2
.2byte 0x000e
.byte 0x0d, 0x27, 0x15
.align 2
.2byte 0x0014
.byte 0x02, 0x04, 0x11
.align 2
.2byte 0x0038
.byte 0x1e, 0x14, 0x24
.align 2
.2byte 0x0042
.byte 0x1c, 0x22, 0x19
.align 2
.2byte 0x0026
.byte 0x17, 0x26, 0x1a
.align 2
.2byte 0x0032
.byte 0x17, 0x1e, 0x0b
.align 2
.2byte 0x002f
.byte 0x0f, 0x13, 0x0e
.align 2
.2byte 0x0027
.byte 0x02, 0x1d, 0x1a
.align 2
.2byte 0x0033
.byte 0x25, 0x0c, 0x20
.align 2
.2byte 0x0021
.byte 0x18, 0x17, 0x26
.align 2
.2byte 0x0018
.byte 0x05, 0x16, 0x04
.align 2
.2byte 0x000b
.byte 0x29, 0x25, 0x23
.align 2
.2byte 0x0035
.byte 0x27, 0x0e, 0x0d
.align 2
.2byte 0x0030
.byte 0x0a, 0x07, 0x09
.align 2
.2byte 0x000c
.byte 0x28, 0x14, 0x10
.align 2
.2byte 0x0034
.byte 0x12, 0x0d, 0x15
.align 2
.2byte 0x0013
.byte 0x16, 0x1f, 0x1b
.align 2
gUnknown_086123E4:: @ 86123E4
.byte 0x29, 0x0a, 0x30, 0x06, 0x01, 0x0a, 0x0f, 0x14, 0x20, 0x10, 0x0e, 0x27
.byte 0x2a, 0x0a, 0x1d, 0x08, 0x1b, 0x06, 0x34, 0x10, 0x20, 0x1e, 0x29, 0x0a
.byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1a, 0x1c, 0x03, 0x0c
.byte 0x0f, 0x1e, 0x0b, 0x10, 0x39, 0x10, 0x0f, 0x20, 0x2b, 0x10, 0x14, 0x0a
.byte 0x3b, 0x10, 0x02, 0x0a, 0x1e, 0x16, 0x20, 0x10, 0x3e, 0x14, 0x03, 0x0c
.byte 0x31, 0x0a, 0x02, 0x0e, 0x15, 0x0e, 0x36, 0x14, 0x37, 0x10, 0x0a, 0x1e
.byte 0x29, 0x0a, 0x25, 0x10, 0x2a, 0x14, 0x34, 0x10, 0x0f, 0x1e, 0x1b, 0x0a
.byte 0x01, 0x0a, 0x07, 0x0e, 0x2a, 0x12, 0x0f, 0x1e, 0x1f, 0x06, 0xff, 0xff
.byte 0x35, 0x1a, 0x36, 0x10, 0x0f, 0x0e, 0x01, 0x0a, 0x21, 0x26, 0x0f, 0x1e
.byte 0x25, 0x0e, 0x2f, 0x10, 0x2d, 0x06, 0x1e, 0x20, 0x03, 0x0c, 0xff, 0xff
.byte 0x1d, 0x0c, 0x1d, 0x08, 0x2b, 0x0a, 0x0f, 0x10, 0x02, 0x0a, 0x03, 0x0c
.byte 0x2a, 0x0a, 0x3e, 0x0a, 0x00, 0x20, 0x27, 0x10, 0x08, 0x1c, 0x04, 0x0c
.byte 0x01, 0x0a, 0x12, 0x12, 0x01, 0x0a, 0x00, 0x10, 0x2d, 0x06, 0xff, 0xff
.byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1c, 0x1c, 0x03, 0x0c
.byte 0x01, 0x0a, 0x0b, 0x06, 0x30, 0x10, 0x28, 0x0a, 0x49, 0x25, 0x24, 0x06
.byte 0x14, 0x10, 0x2c, 0x0a, 0x15, 0x04, 0x42, 0x16, 0x1b, 0x1e, 0x03, 0x0c
.byte 0x28, 0x06, 0x0f, 0x1a, 0x0b, 0x10, 0x17, 0x20, 0x00, 0x0c, 0xff, 0xff
.byte 0x01, 0x0a, 0x15, 0x10, 0x47, 0x16, 0x0f, 0x1e, 0x39, 0x0e, 0x36, 0x0e
.byte 0x01, 0x0a, 0x17, 0x10, 0x20, 0x16, 0x19, 0x0e, 0x31, 0x0a, 0x38, 0x0c
.byte 0x1d, 0x0c, 0x1d, 0x08, 0x00, 0x0c, 0x22, 0x10, 0x12, 0x1c, 0x0b, 0x02
.byte 0x29, 0x10, 0x04, 0x14, 0x2f, 0x10, 0x06, 0x10, 0x28, 0x1e, 0x1c, 0x1c
.byte 0x29, 0x10, 0x20, 0x0e, 0x28, 0x10, 0x16, 0x1c, 0x29, 0x1e, 0x03, 0x0c
.byte 0x0f, 0x1e, 0x0b, 0x10, 0x2f, 0x0e, 0x38, 0x06, 0x0c, 0x10, 0xff, 0xff
.byte 0x29, 0x0a, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x06, 0x2c, 0x10, 0xff, 0xff
.byte 0x23, 0x10, 0x0b, 0x10, 0x1d, 0x08, 0x2d, 0x06, 0x37, 0x10, 0x14, 0x0a
.byte 0x29, 0x0a, 0x22, 0x10, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x16, 0x29, 0x10
.byte 0x01, 0x06, 0x2c, 0x10, 0x01, 0x0a, 0x15, 0x10, 0x39, 0x0e, 0x36, 0x0e
.byte 0x20, 0x10, 0x0b, 0x02, 0x3f, 0x10, 0x12, 0x1c, 0x04, 0x0c, 0xff, 0xff
.byte 0x18, 0x10, 0x02, 0x0a, 0x3a, 0x10, 0x46, 0x04, 0x0e, 0x02, 0x03, 0x0c
.byte 0x10, 0x1e, 0x0b, 0x02, 0x0a, 0x1e, 0x0b, 0x10, 0x3a, 0x06, 0xff, 0xff
.byte 0x02, 0x0a, 0x12, 0x12, 0x0f, 0x1e, 0x0b, 0x10, 0x38, 0x06, 0x03, 0x0c
.byte 0x22, 0x1e, 0x00, 0x10, 0x1b, 0x16, 0x3f, 0x10, 0x0f, 0x1e, 0x03, 0x0c
.byte 0x29, 0x0a, 0x1e, 0x0e, 0x25, 0x10, 0x26, 0x1e, 0x00, 0x0c, 0xff, 0xff
.byte 0x01, 0x0a, 0x1e, 0x0e, 0x36, 0x12, 0x2f, 0x10, 0x0b, 0x12, 0x04, 0x0c
.byte 0x05, 0x28, 0x0f, 0x1e, 0x1b, 0x0a, 0x0b, 0x10, 0x20, 0x10, 0x3b, 0x06
.byte 0x01, 0x0a, 0x1f, 0x10, 0x3e, 0x0a, 0x37, 0x10, 0x20, 0x10, 0x28, 0x06
.byte 0x26, 0x10, 0x31, 0x0a, 0x29, 0x1e, 0x1c, 0x1c, 0x01, 0x0a, 0x12, 0x12
.byte 0x0a, 0x0c, 0x00, 0x0c, 0x29, 0x10, 0x1c, 0x10, 0x0f, 0x1e, 0x23, 0x0c
.byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x39, 0x10, 0x2a, 0x14, 0x04, 0x0c
.byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x20, 0x06, 0x2f, 0x10, 0x3c, 0x04
.byte 0x39, 0x0c, 0x39, 0x0c, 0x00, 0x0c, 0x29, 0x0a, 0x17, 0x20, 0x39, 0x0c
.byte 0x5c, 0x26, 0x0b, 0x10, 0x20, 0x10, 0x30, 0x12, 0x05, 0x1e, 0x0c, 0x10

View File

@ -3356,7 +3356,7 @@ EventScript_2736F8:: @ 82736F8
waitmessage
waitbuttonpress
setvar VAR_0x8004, 16
special sub_81A703C
special CallBattlePikeFunction
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222
setvar VAR_0x8004, 12
@ -10204,9 +10204,9 @@ BattleFrontier_BattlePikeRandomRoom1_MapScripts_2C3E1B: @ 82C3E1B
BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25: @ 82C3E25
setvar VAR_0x8004, 4
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 5
special sub_81A703C
special CallBattlePikeFunction
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1
case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1
@ -10251,7 +10251,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8
setvar VAR_OBJ_GFX_ID_1, 28
setvar VAR_OBJ_GFX_ID_0, 28
setvar VAR_0x8004, 5
special sub_81A703C
special CallBattlePikeFunction
compare VAR_RESULT, 3
goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
compare VAR_RESULT, 6
@ -10294,12 +10294,12 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64:: @ 82C3F64
BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special sub_81A703C
special CallBattlePikeFunction
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
@ -10309,9 +10309,9 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
setvar VAR_0x8004, 0
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 5
special sub_81A703C
special CallBattlePikeFunction
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
@ -10368,19 +10368,19 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D:: @ 82C408D
BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2
setvar VAR_0x8004, 25
special sub_81A703C
special CallBattlePikeFunction
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128
compare VAR_RESULT, 1
call_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special sub_81A703C
special CallBattlePikeFunction
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
@ -10390,7 +10390,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
setvar VAR_0x8004, 3
special sub_81A703C
special CallBattlePikeFunction
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144
compare VAR_RESULT, 0
@ -10402,14 +10402,14 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128:: @ 82C4128
BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128:: @ 82C4128
setvar VAR_0x8004, 24
setvar VAR_0x8005, 1
special sub_81A703C
special CallBattlePikeFunction
return
BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136:: @ 82C4136
BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136:: @ 82C4136
setvar VAR_0x8004, 24
setvar VAR_0x8005, 0
special sub_81A703C
special CallBattlePikeFunction
return
BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144:: @ 82C4144
@ -10430,21 +10430,21 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C:: @ 82C415C
BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174
setvar VAR_0x8004, 7
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 25
special sub_81A703C
special CallBattlePikeFunction
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128
compare VAR_RESULT, 1
call_if 5, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special sub_81A703C
special CallBattlePikeFunction
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
@ -10454,7 +10454,7 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
setvar VAR_0x8004, 3
special sub_81A703C
special CallBattlePikeFunction
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144
compare VAR_RESULT, 0

View File

@ -14,10 +14,10 @@ BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
setvar VAR_0x8004, 20
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 24
setvar VAR_0x8005, 1
special sub_81A703C
special CallBattlePikeFunction
applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80B
applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_25C812
waitmovement 0

View File

@ -27,18 +27,18 @@ BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707
BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710
special HealPlayerParty
setvar VAR_0x8004, 27
special sub_81A703C
special CallBattlePikeFunction
lockall
msgbox BattleFrontier_BattlePikeLobby_Text_25C2E0, 4
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
setvar VAR_0x8006, 0
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
@ -70,21 +70,21 @@ BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D
special CallFrontierUtilFunc
setvar VAR_0x8004, 1
setvar VAR_0x8005, 3
special sub_81A703C
special CallBattlePikeFunction
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
copyvar VAR_0x8006, VAR_RESULT
special sub_81A703C
special CallBattlePikeFunction
special LoadPlayerParty
special HealPlayerParty
setvar VAR_0x8004, 27
special sub_81A703C
special CallBattlePikeFunction
message BattleFrontier_BattlePikeLobby_Text_25C1DF
waitmessage
setvar VAR_0x8004, 8
setvar VAR_0x8005, 0
special sub_81A703C
special CallBattlePikeFunction
playse SE_SAVE
waitse
msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4
@ -106,14 +106,14 @@ BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
setvar VAR_0x8006, 0
special sub_81A703C
special CallBattlePikeFunction
special LoadPlayerParty
special HealPlayerParty
setvar VAR_0x8004, 27
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 8
setvar VAR_0x8005, 0
special sub_81A703C
special CallBattlePikeFunction
playse SE_SAVE
waitse
msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4
@ -177,7 +177,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
setvar VAR_0x8004, 28
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
@ -185,9 +185,9 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
setvar VAR_0x8006, 1
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 26
special sub_81A703C
special CallBattlePikeFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
@ -198,7 +198,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
call BattleFrontier_BattlePikeLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
setvar VAR_0x8004, 26
special sub_81A703C
special CallBattlePikeFunction
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C
special SavePlayerParty

View File

@ -12,7 +12,7 @@ BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167: @ 825D167
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171:: @ 825D171
setvar VAR_TEMP_0, 1
setvar VAR_0x8004, 5
special sub_81A703C
special CallBattlePikeFunction
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6
case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D50E
@ -29,7 +29,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6:: @ 825D1C6
waitmovement 0
setvar VAR_0x8004, 21
setvar VAR_0x8005, 0
special sub_81A703C
special CallBattlePikeFunction
msgbox gStringVar4, 4
waitmessage
closemessage
@ -65,7 +65,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D231:: @ 825D231
waitmovement 0
setvar VAR_0x8004, 21
setvar VAR_0x8005, 0
special sub_81A703C
special CallBattlePikeFunction
msgbox gStringVar4, 4
waitmessage
closemessage
@ -103,7 +103,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF:: @ 825D2BF
applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DF
waitmovement 0
setvar VAR_0x8004, 23
special sub_81A703C
special CallBattlePikeFunction
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC
case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4EA
@ -137,7 +137,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E7
waitmovement 0
setvar VAR_0x8004, 22
special sub_81A703C
special CallBattlePikeFunction
switch VAR_RESULT
case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416
case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD
@ -219,12 +219,12 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D:: @ 825D49D
waitmovement 0
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special sub_81A703C
special CallBattlePikeFunction
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special sub_81A703C
special CallBattlePikeFunction
call BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144
waitstate
end
@ -281,7 +281,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E
waitmovement 0
setvar VAR_0x8004, 21
setvar VAR_0x8005, 0
special sub_81A703C
special CallBattlePikeFunction
msgbox gStringVar4, 4
closemessage
delay 16
@ -289,7 +289,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E
waitmovement 0
setvar VAR_0x8004, 21
setvar VAR_0x8005, 1
special sub_81A703C
special CallBattlePikeFunction
msgbox gStringVar4, 4
closemessage
setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_DOUBLE
@ -318,7 +318,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D605:: @ 825D605
applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7AA
waitmovement 0
setvar VAR_0x8004, 12
special sub_81A703C
special CallBattlePikeFunction
copyvar VAR_0x8004, VAR_RESULT
compare VAR_0x8004, 0
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643
@ -336,7 +336,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643
playmoncry SPECIES_KIRLIA, 0
waitmoncry
setvar VAR_0x8004, 11
special sub_81A703C
special CallBattlePikeFunction
compare VAR_RESULT, 2
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751
compare VAR_RESULT, 1
@ -346,7 +346,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643
compare VAR_RESULT, 4
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766
setvar VAR_0x8004, 15
special sub_81A703C
special CallBattlePikeFunction
waitstate
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2
waitmovement 0
@ -373,13 +373,13 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5:: @ 825D6D5
playmoncry SPECIES_DUSCLOPS, 0
waitmoncry
setvar VAR_0x8004, 11
special sub_81A703C
special CallBattlePikeFunction
compare VAR_RESULT, 0
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774
setvar VAR_0x8004, 15
special sub_81A703C
special CallBattlePikeFunction
waitstate
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2
waitmovement 0
@ -579,7 +579,7 @@ BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA: @ 825D7EA
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED:: @ 825D7ED
setvar VAR_0x8004, 5
special sub_81A703C
special CallBattlePikeFunction
switch VAR_RESULT
case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B
case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831
@ -589,7 +589,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B:: @ 825D81B
lock
faceplayer
setvar VAR_0x8004, 14
special sub_81A703C
special CallBattlePikeFunction
msgbox gStringVar4, 4
waitmessage
closemessage
@ -606,7 +606,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831:: @ 825D831
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E:: @ 825D83E
setvar VAR_0x8004, 13
special sub_81A703C
special CallBattlePikeFunction
compare VAR_RESULT, 2
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881
compare VAR_RESULT, 1

View File

@ -12,7 +12,7 @@ BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A: @ 825E42A
BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C:: @ 825E43C
setvar VAR_TEMP_0, 1
setvar VAR_0x8004, 6
special sub_81A703C
special CallBattlePikeFunction
end
BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A:: @ 825E44A

View File

@ -37,7 +37,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4:: @ 825C8A4
waitmessage
setvar VAR_0x8004, 8
setvar VAR_0x8005, 1
special sub_81A703C
special CallBattlePikeFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, 2
@ -139,7 +139,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD:: @ 825C9FD
special LoadPlayerParty
setvar VAR_0x8004, 8
setvar VAR_0x8005, 2
special sub_81A703C
special CallBattlePikeFunction
playse SE_SAVE
waitse
fadescreen 1
@ -167,7 +167,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A:: @ 825CA5A
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78
setvar VAR_0x8004, 17
special sub_81A703C
special CallBattlePikeFunction
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91
setvar VAR_TEMP_5, 255
@ -190,7 +190,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97:: @ 825CA97
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB
setvar VAR_0x8004, 19
special sub_81A703C
special CallBattlePikeFunction
compare VAR_RESULT, 4
goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2
lock
@ -210,7 +210,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00:: @ 825CB00
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A:: @ 825CB0A
setvar VAR_0x8004, 18
special sub_81A703C
special CallBattlePikeFunction
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46
@ -231,7 +231,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB53:: @ 825CB53
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60:: @ 825CB60
setvar VAR_0x8004, 19
special sub_81A703C
special CallBattlePikeFunction
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBA4

View File

@ -250,7 +250,7 @@ gSpecials:: @ 81DBA64
def_special DoSpecialTrainerBattle
def_special CallBattleArenaFunction
def_special CallBattleFactoryFunction
def_special sub_81A703C
def_special CallBattlePikeFunction
def_special sub_81A8E7C
def_special StopMapMusic
def_special sub_81B99B4

9
include/battle_pike.h Normal file
View File

@ -0,0 +1,9 @@
#ifndef GUARD_BATTLE_PIKE_H
#define GUARD_BATTLE_PIKE_H
void CallBattlePikeFunction(void);
u8 GetBattlePikeWildMonHeaderId(void);
bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate);
bool8 InBattlePike(void);
#endif // GUARD_BATTLE_PIKE_H

View File

@ -575,6 +575,8 @@ SECTIONS {
data/battle_frontier_2.o(.rodata);
src/battle_arena.o(.rodata);
src/battle_factory.o(.rodata);
data/battle_pike.o(.rodata);
src/battle_pike.o(.rodata);
data/battle_frontier_3.o(.rodata);
src/item_menu.o(.rodata);
src/list_menu.o(.rodata);

View File

@ -1,4 +1,5 @@
#include "global.h"
#include "battle_pike.h"
#include "event_data.h"
#include "frontier_util.h"
#include "fieldmap.h"
@ -45,60 +46,142 @@ struct Unk0861231C
struct PikeWildMon
{
u16 species;
u8 unk2;
u8 levelDelta;
u16 moves[4];
};
extern void (* const gUnknown_086125F8[])(void);
extern const struct Unk0861231C gUnknown_0861231C[];
extern const struct PikeWildMon *const *const gUnknown_08612314[2];
extern const u16 gUnknown_086123E4[][6];
extern const u8 gUnknown_0861266C[];
extern bool8 (* const gUnknown_08612688[])(struct Task *);
extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
extern const u8 gUnknown_086125DC[][4];
extern const u8 gUnknown_08612675[][3];
extern const u32 gUnknown_08612690[];
// IWRAM bss
IWRAM_DATA u8 sRoomType;
IWRAM_DATA u8 sStatusMon;
IWRAM_DATA bool8 gUnknown_0300128E;
IWRAM_DATA u32 sStatusFlags;
IWRAM_DATA u8 gUnknown_03001294;
static IWRAM_DATA u8 sRoomType;
static IWRAM_DATA u8 sStatusMon;
static IWRAM_DATA bool8 sUnknown_0300128E;
static IWRAM_DATA u32 sStatusFlags;
static IWRAM_DATA u8 sUnknown_03001294;
// This file's functions.
u8 GetNextRoomType(void);
void PrepareOneTrainer(bool8 difficult);
u16 sub_81A7B58(void);
void PrepareTwoTrainers(void);
void sub_81A5030(u8);
void TryHealMons(u8 healCount);
void sub_81A7EE4(u8 taskId);
bool8 AtLeastTwoAliveMons(void);
bool8 sub_81A7974(void);
u8 sub_81A890C(u16 species);
bool8 CanEncounterWildMon(u8 monLevel);
u8 sub_81A8590(u8);
static void sub_81A705C(void);
static void sub_81A7140(void);
static void sub_81A7248(void);
static void sub_81A73B8(void);
static void sub_81A7070(void);
static void sub_81A73EC(void);
static void sub_81A7400(void);
static void sub_81A740C(void);
static void sub_81A7418(void);
static void nullsub_76(void);
static void nullsub_124(void);
static void sub_81A7468(void);
static void sub_81A74CC(void);
static void sub_81A74E0(void);
static void sub_81A7508(void);
static void sub_81A7580(void);
static void sub_81A8090(void);
static void sub_81A80DC(void);
static void sub_81A825C(void);
static void sub_81A827C(void);
static void sub_81A84B4(void);
static void sub_81A84EC(void);
static void sub_81A863C(void);
static void sub_81A8658(void);
static void sub_81A869C(void);
static void sub_81A86C0(void);
static void sub_81A8794(void);
static void sub_81A87E8(void);
static void sub_81A8830(void);
static u8 GetNextRoomType(void);
static void PrepareOneTrainer(bool8 difficult);
static u16 sub_81A7B58(void);
static void PrepareTwoTrainers(void);
static void TryHealMons(u8 healCount);
static void sub_81A7EE4(u8 taskId);
static bool8 AtLeastTwoAliveMons(void);
static u8 SpeciesToPikeMonId(u16 species);
static bool8 CanEncounterWildMon(u8 monLevel);
static u8 sub_81A8590(u8);
static bool8 sub_81A7D8C(struct Task *task);
static bool8 sub_81A7DE8(struct Task *task);
u8 GetBattlePikeWildMonHeaderId(void);
bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate);
bool8 InBattlePike(void);
// Const rom data.
static const u8 gUnknown_086125DC[][4] =
{
{0x23, 0x46, 0x23, 0x01},
{0x04, 0x09, 0x05, 0x00},
{0x15, 0x2a, 0x15, 0x01},
{0x1c, 0x38, 0x1c, 0x01},
{0x15, 0x2a, 0x15, 0x01},
{0x1c, 0x8c, 0x38, 0x01},
{0x15, 0x46, 0x23, 0x00},
};
static void (* const gUnknown_086125F8[])(void) =
{
sub_81A705C,
sub_81A7140,
sub_81A7248,
sub_81A73B8,
sub_81A7070,
sub_81A73EC,
sub_81A7400,
sub_81A740C,
sub_81A7418,
nullsub_76,
nullsub_124,
sub_81A7468,
sub_81A74CC,
sub_81A74E0,
sub_81A7508,
sub_81A7580,
sub_81A8090,
sub_81A80DC,
sub_81A825C,
sub_81A827C,
sub_81A84B4,
sub_81A84EC,
sub_81A863C,
sub_81A8658,
sub_81A869C,
sub_81A86C0,
sub_81A8794,
sub_81A87E8,
sub_81A8830
};
static const u8 gUnknown_0861266C[] = {3, 3, 1, 0, 0, 2, 2, 1, 4};
static const u8 gUnknown_08612675[][3] =
{
{2, 1, 0},
{2, 0, 1},
{1, 2, 0},
{1, 0, 2},
{0, 2, 1},
{0, 1, 2},
};
static bool8 (* const gUnknown_08612688[])(struct Task *) =
{
sub_81A7D8C, sub_81A7DE8
};
static const u32 gUnknown_08612690[] = {0x400, 0x800};
// code
void sub_81A703C(void)
void CallBattlePikeFunction(void)
{
gUnknown_086125F8[gSpecialVar_0x8004]();
}
void sub_81A705C(void)
static void sub_81A705C(void)
{
u8 roomType = GetNextRoomType();
sRoomType = roomType;
}
void sub_81A7070(void)
static void sub_81A7070(void)
{
bool32 setPerson1, setPerson2;
u32 person1;
@ -163,7 +246,7 @@ void sub_81A7070(void)
VarSet(VAR_OBJ_GFX_ID_1, person2);
}
void sub_81A7140(void)
static void sub_81A7140(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@ -190,7 +273,7 @@ void sub_81A7140(void)
}
}
void sub_81A7248(void)
static void sub_81A7248(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@ -230,7 +313,7 @@ void sub_81A7248(void)
}
}
void sub_81A73B8(void)
static void sub_81A73B8(void)
{
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum >= 15)
gSpecialVar_Result = TRUE;
@ -238,22 +321,22 @@ void sub_81A73B8(void)
gSpecialVar_Result = FALSE;
}
void sub_81A73EC(void)
static void sub_81A73EC(void)
{
gSpecialVar_Result = sRoomType;
}
void sub_81A7400(void)
static void sub_81A7400(void)
{
gUnknown_0300128E = TRUE;
sUnknown_0300128E = TRUE;
}
void sub_81A740C(void)
static void sub_81A740C(void)
{
gUnknown_0300128E = FALSE;
sUnknown_0300128E = FALSE;
}
void sub_81A7418(void)
static void sub_81A7418(void)
{
gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
@ -262,17 +345,17 @@ void sub_81A7418(void)
TrySavingData(SAVE_LINK);
}
void nullsub_76(void)
static void nullsub_76(void)
{
}
void nullsub_124(void)
static void nullsub_124(void)
{
}
void sub_81A7468(void)
static void sub_81A7468(void)
{
switch (sStatusFlags)
{
@ -294,38 +377,38 @@ void sub_81A7468(void)
}
}
void sub_81A74CC(void)
static void sub_81A74CC(void)
{
gSpecialVar_Result = sStatusMon;
}
void sub_81A74E0(void)
static void sub_81A74E0(void)
{
u16 toHeal = (Random() % 2) + 1;
TryHealMons(toHeal);
gSpecialVar_Result = toHeal;
}
void sub_81A7508(void)
static void sub_81A7508(void)
{
s32 id;
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum <= 4)
id = gUnknown_0861231C[gUnknown_03001294].unk2;
id = gUnknown_0861231C[sUnknown_03001294].unk2;
else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum <= 10)
id = gUnknown_0861231C[gUnknown_03001294].unk3;
id = gUnknown_0861231C[sUnknown_03001294].unk3;
else
id = gUnknown_0861231C[gUnknown_03001294].unk4;
id = gUnknown_0861231C[sUnknown_03001294].unk4;
FrontierSpeechToString(gUnknown_086123E4[id]);
}
void sub_81A7580(void)
static void sub_81A7580(void)
{
CreateTask(sub_81A7EE4, 2);
}
void HealMon(struct Pokemon *mon)
static void HealMon(struct Pokemon *mon)
{
u8 i;
u16 hp;
@ -355,7 +438,7 @@ void HealMon(struct Pokemon *mon)
SetMonData(mon, MON_DATA_STATUS, data);
}
bool8 DoesAbilityPreventStatus(struct Pokemon *mon, u32 status)
static bool8 DoesAbilityPreventStatus(struct Pokemon *mon, u32 status)
{
u8 ability = GetMonAbility(mon);
bool8 ret = FALSE;
@ -386,7 +469,7 @@ bool8 DoesAbilityPreventStatus(struct Pokemon *mon, u32 status)
return ret;
}
bool8 DoesTypePreventStatus(u16 species, u32 status)
static bool8 DoesTypePreventStatus(u16 species, u32 status)
{
bool8 ret = FALSE;
@ -416,7 +499,7 @@ bool8 DoesTypePreventStatus(u16 species, u32 status)
return ret;
}
bool8 TryInflictRandomStatus(void)
static bool8 TryInflictRandomStatus(void)
{
u8 j, i;
u8 count;
@ -527,7 +610,7 @@ bool8 TryInflictRandomStatus(void)
return TRUE;
}
bool8 AtLeastOneHealthyMon(void)
static bool8 AtLeastOneHealthyMon(void)
{
u8 i;
u8 healthyMonsCount;
@ -559,7 +642,7 @@ bool8 AtLeastOneHealthyMon(void)
return TRUE;
}
u8 GetNextRoomType(void)
static u8 GetNextRoomType(void)
{
u8 sp[8];
u8 i;
@ -632,15 +715,15 @@ u8 GetNextRoomType(void)
return ret;
}
u16 sub_81A7B58(void)
static u16 sub_81A7B58(void)
{
gUnknown_03001294 = Random() % 25;
return gUnknown_0861231C[gUnknown_03001294].unk0;
sUnknown_03001294 = Random() % 25;
return gUnknown_0861231C[sUnknown_03001294].unk0;
}
u8 sub_81A7B84(void)
static u8 sub_81A7B84(void)
{
return gUnknown_0300128E;
return sUnknown_0300128E;
}
bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate)
@ -652,7 +735,7 @@ bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate)
const struct PikeWildMon *const *const wildMons = gUnknown_08612314[lvlMode];
u32 abilityBit;
s32 pikeMonId = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL);
pikeMonId = sub_81A890C(pikeMonId);
pikeMonId = SpeciesToPikeMonId(pikeMonId);
if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50)
{
@ -663,14 +746,14 @@ bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate)
}
else
{
monLevel -= wildMons[headerId][pikeMonId].unk2;
monLevel -= wildMons[headerId][pikeMonId].levelDelta;
if (monLevel < 60)
monLevel = 60;
}
}
else
{
monLevel = 50 - wildMons[headerId][pikeMonId].unk2;
monLevel = 50 - wildMons[headerId][pikeMonId].levelDelta;
}
if (checkKeenEyeIntimidate == TRUE && !CanEncounterWildMon(monLevel))
@ -710,12 +793,12 @@ u8 GetBattlePikeWildMonHeaderId(void)
return headerId;
}
void sub_81A7D54(u8 taskId)
static void sub_81A7D54(u8 taskId)
{
while (gUnknown_08612688[gTasks[taskId].data[0]](&gTasks[taskId]));
}
bool8 sub_81A7D8C(struct Task *task)
static bool8 sub_81A7D8C(struct Task *task)
{
if (task->data[6] == 0 || --task->data[6] == 0)
{
@ -734,7 +817,7 @@ bool8 sub_81A7D8C(struct Task *task)
return FALSE;
}
bool8 sub_81A7DE8(struct Task *task)
static bool8 sub_81A7DE8(struct Task *task)
{
if (task->data[6] == 0 || --task->data[6] == 0)
{
@ -760,7 +843,7 @@ bool8 sub_81A7DE8(struct Task *task)
return FALSE;
}
void sub_81A7E60(s16 a0, s16 a1, s16 a2, s16 a3, s16 a4)
static void sub_81A7E60(s16 a0, s16 a1, s16 a2, s16 a3, s16 a4)
{
u8 taskId = CreateTask(sub_81A7D54, 3);
@ -772,7 +855,7 @@ void sub_81A7E60(s16 a0, s16 a1, s16 a2, s16 a3, s16 a4)
gTasks[taskId].data[6] = a0;
}
bool8 sub_81A7EC4(void)
static bool8 sub_81A7EC4(void)
{
if (FindTaskIdByFunc(sub_81A7D54) == 0xFF)
return TRUE;
@ -780,7 +863,7 @@ bool8 sub_81A7EC4(void)
return FALSE;
}
void sub_81A7EE4(u8 taskId)
static void sub_81A7EE4(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
@ -797,7 +880,7 @@ void sub_81A7EE4(u8 taskId)
}
}
void TryHealMons(u8 healCount)
static void TryHealMons(u8 healCount)
{
u8 j, i, k;
u8 indices[3];
@ -855,7 +938,7 @@ void TryHealMons(u8 healCount)
}
}
void sub_81A8090(void)
static void sub_81A8090(void)
{
gSpecialVar_Result = InBattlePike();
}
@ -866,7 +949,7 @@ bool8 InBattlePike(void)
|| gMapHeader.mapLayoutId == 358 || gMapHeader.mapLayoutId == 359);
}
void sub_81A80DC(void)
static void sub_81A80DC(void)
{
u8 i, count, id;
u8 *allocated;
@ -908,17 +991,17 @@ void sub_81A80DC(void)
}
}
void sub_81A825C(void)
static void sub_81A825C(void)
{
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E10_1;
}
void sub_81A827C(void)
static void sub_81A827C(void)
{
gSpecialVar_Result = gUnknown_0861266C[gSaveBlock2Ptr->frontier.field_E10_2];
}
void PrepareOneTrainer(bool8 difficult)
static void PrepareOneTrainer(bool8 difficult)
{
s32 i;
u8 lvlMode;
@ -950,7 +1033,7 @@ void PrepareOneTrainer(bool8 difficult)
gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1] = gTrainerBattleOpponent_A;
}
void PrepareTwoTrainers(void)
static void PrepareTwoTrainers(void)
{
s32 i;
u16 trainerId;
@ -989,7 +1072,7 @@ void PrepareTwoTrainers(void)
gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum - 2] = gTrainerBattleOpponent_B;
}
void sub_81A84B4(void)
static void sub_81A84B4(void)
{
u8 i;
@ -997,7 +1080,7 @@ void sub_81A84B4(void)
gSaveBlock2Ptr->frontier.field_CB4[i] |= 0xFFFF;
}
void sub_81A84EC(void)
static void sub_81A84EC(void)
{
if (gSpecialVar_0x8005 == 0)
{
@ -1011,7 +1094,7 @@ void sub_81A84EC(void)
}
}
bool8 AtLeastTwoAliveMons(void)
static bool8 AtLeastTwoAliveMons(void)
{
struct Pokemon *mon;
u8 i, countDead;
@ -1030,7 +1113,7 @@ bool8 AtLeastTwoAliveMons(void)
return TRUE;
}
u8 sub_81A8590(u8 arg0)
static u8 sub_81A8590(u8 arg0)
{
u8 symbolsCount;
@ -1062,12 +1145,12 @@ u8 sub_81A8590(u8 arg0)
return ret;
}
void sub_81A863C(void)
static void sub_81A863C(void)
{
gSpecialVar_Result = sub_81A8590(0);
}
void sub_81A8658(void)
static void sub_81A8658(void)
{
u8 toHealCount = gUnknown_08612675[gSaveBlock2Ptr->frontier.field_E10_1][gSpecialVar_0x8007];
@ -1075,12 +1158,12 @@ void sub_81A8658(void)
gSpecialVar_Result = toHealCount;
}
void sub_81A869C(void)
static void sub_81A869C(void)
{
gSaveBlock2Ptr->frontier.field_E10_3 = gSpecialVar_0x8005;
}
void sub_81A86C0(void)
static void sub_81A86C0(void)
{
u8 i, j;
@ -1119,7 +1202,7 @@ void sub_81A86C0(void)
}
}
void sub_81A8794(void)
static void sub_81A8794(void)
{
u8 i;
@ -1131,7 +1214,7 @@ void sub_81A8794(void)
}
}
void sub_81A87E8(void)
static void sub_81A87E8(void)
{
u8 i;
@ -1143,7 +1226,7 @@ void sub_81A87E8(void)
}
}
void sub_81A8830(void)
static void sub_81A8830(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@ -1157,7 +1240,7 @@ void sub_81A8830(void)
gBattleOutcome = 0;
}
bool8 CanEncounterWildMon(u8 enemyMonLevel)
static bool8 CanEncounterWildMon(u8 enemyMonLevel)
{
if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
{
@ -1173,7 +1256,7 @@ bool8 CanEncounterWildMon(u8 enemyMonLevel)
return TRUE;
}
u8 sub_81A890C(u16 species)
static u8 SpeciesToPikeMonId(u16 species)
{
u8 ret;

View File

@ -44,6 +44,7 @@
#include "overworld.h"
#include "party_menu.h"
#include "battle_arena.h"
#include "battle_pike.h"
extern u16 gBattle_BG1_X;
extern u16 gBattle_BG1_Y;
@ -64,7 +65,6 @@ 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 bool8 sub_81B1250(void); // ?
extern bool8 InBattlePike(void);
extern bool8 InBattlePyramid(void);
extern u16 GetBattlePyramidPickupItemId(void);
extern u8 sub_813B21C(void);

View File

@ -33,6 +33,7 @@
#include "field_weather.h"
#include "battle_tower.h"
#include "gym_leader_rematch.h"
#include "battle_pike.h"
#include "constants/map_types.h"
#include "constants/battle_frontier.h"
@ -54,7 +55,6 @@ struct TrainerBattleParameter
};
extern bool8 InBattlePyramid(void);
extern bool8 InBattlePike(void);
extern bool32 InTrainerHill(void);
extern bool32 FieldPoisonEffectIsRunning(void);
extern void RestartWildEncounterImmunitySteps(void);

View File

@ -13,8 +13,7 @@
#include "battle.h"
#include "fldeff_80F9BCC.h"
#include "field_poison.h"
extern bool8 InBattlePike(void);
#include "battle_pike.h"
static bool32 sub_80F9568(struct Pokemon *pokemon)
{

View File

@ -47,8 +47,7 @@
#include "menu_helpers.h"
#include "window.h"
#include "apprentice.h"
extern bool8 InBattlePike(void);
#include "battle_pike.h"
void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)());
void CB2_Bag(void);

View File

@ -36,6 +36,8 @@
#include "pokemon_storage_system.h"
#include "recorded_battle.h"
#include "apprentice.h"
#include "battle_pike.h"
#include "battle_tower.h"
struct SpeciesItem
{
@ -80,14 +82,10 @@ 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 u8 GetFrontierEnemyMonLevel(u8);
extern bool8 InBattlePyramid(void);
extern bool8 InBattlePike(void);
extern bool8 sub_806F104(void);
extern u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerOpponentId);
extern u8 sub_81D63C8(u16 trainerOpponentId);
extern u8 GetFrontierOpponentClass(u16 trainerId);
extern void GetFrontierTrainerName(u8* dest, u16 trainerId);
extern void SummaryScreen_SetUnknownTaskId(u8);
// this file's functions

View File

@ -34,8 +34,7 @@
#include "constants/songs.h"
#include "field_player_avatar.h"
#include "battle_pyramid_bag.h"
extern bool8 InBattlePike(void);
#include "battle_pike.h"
// Menu actions
enum

View File

@ -18,6 +18,7 @@
#include "tv.h"
#include "link.h"
#include "script.h"
#include "battle_pike.h"
#include "constants/items.h"
#include "constants/maps.h"
@ -25,10 +26,7 @@ extern const u8 EventScript_RepelWoreOff[];
#define NUM_FEEBAS_SPOTS 6
extern u8 GetBattlePikeWildMonHeaderId(void);
extern bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate);
extern void GenerateBattlePyramidWildMon(void);
extern bool8 InBattlePike(void);
extern bool8 InBattlePyramid(void);
// this file's functions