Merge pull request #219 from AnonymousRandomPerson/main
Some checks failed
build / build (push) Has been cancelled

Decomped IQ functions
This commit is contained in:
AnonymousRandomPerson 2025-12-05 00:16:36 -05:00 committed by GitHub
commit c8de68261a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
40 changed files with 3896 additions and 3049 deletions

View File

@ -1,88 +1,3 @@
#pragma once
.public _020A1880
.public _020A1884
.public _020A189C
.public _020A18C0
.public _020A3210
.public _020A322C
.public _020A3248
.public _020A3258
.public _020A327C
.public _020A328C
.public _020A32D4
.public _020A32F8
.public _020A3330
.public _020B09C8
.public _020B09D0
.public _020B12F4_EU
.public _020B1308_EU
.public _s32_div_f
.public Debug_Print0
.public DecompressAtNormalVeneer
.public DexNumbersEqual
.public DirectoryFileMngr_OpenDirectoryFile
.public DungeonToGroundMoveset
.public EnableAllLearnableIqSkills
.public FemaleToMaleForm
.public FORBIDDEN_FORGOT_MOVE_LIST
.public GetBaseDefensiveStat
.public GetBaseHp
.public GetBaseOffensiveStat
.public GetDexNumber
.public GetInfoGroundMoveset
.public GetInfoMoveGround
.public GetKeyM2NSwitch
.public GetKeyN2MSwitch
.public GetLanguage
.public GetMonsterGender
.public GetMonsterPreEvolution
.public GetMovesetEggPtr
.public GetMovesetHmTmPtr
.public GetMovesetIdx__02013CAC
.public GetMovesetLevelUpPtr
.public GetNameRaw
.public GetNameString
.public GetNbMoves
.public GetSpriteSize
.public GroundToDungeonMoveset
.public HandleSir0Translation
.public HIDDEN_POWER_BASE_POWER_TABLE
.public IsShaymin
.public IsValidTeamMember
.public ItemZInit
.public LEVEL_UP_DATA_DECOMPRESS_BUFFER
.public LEVEL_UP_DATA_MONSTER_ID
.public LoadFileFromRom
.public LoadMonsterMd
.public MemAlloc
.public MemFree
.public MONSTER_DATA_TABLE_PTR
.public PointsToZero
.public Rand16Bit
.public RandIntSafe
.public RemoveActiveMembersFromAllTeams
.public RemoveActiveMembersFromRescueTeam
.public RemoveActiveMembersFromSpecialEpisodeTeam
.public SprintfStatic__02052418
.public StrcpyName
.public StrncmpSimple
.public StrncpyName
.public StrncpySimple
.public sub_01FF8F28
.public sub_02015090
.public sub_02025304_JP
.public sub_02050FF8
.public sub_02054FB8
.public sub_02054FEC
.public sub_02055020
.public sub_020550DC
.public sub_020550E0
.public sub_02055118
.public sub_020560B8
.public sub_020564B0
.public sub_02056504
.public TEAM_MEMBER_TABLE
.public TEAM_MEMBER_TABLE_PTR
.public UnloadFile
.public vsprintf
.public ZInit8
.public _s32_div_f

View File

@ -0,0 +1,88 @@
#pragma once
.public Debug_Print0
.public DecompressAtNormalVeneer
.public DexNumbersEqual
.public DirectoryFileMngr_OpenDirectoryFile
.public DungeonToGroundMoveset
.public EnableAllLearnableIqSkills
.public FORBIDDEN_FORGOT_MOVE_LIST
.public FemaleToMaleForm
.public GetBaseDefensiveStat
.public GetBaseHp
.public GetBaseOffensiveStat
.public GetDexNumber
.public GetInfoGroundMoveset
.public GetInfoMoveGround
.public GetKeyM2NSwitch
.public GetKeyN2MSwitch
.public GetLanguage
.public GetMonsterGender
.public GetMonsterPreEvolution
.public GetMovesetEggPtr
.public GetMovesetHmTmPtr
.public GetMovesetIdx__02013CAC
.public GetMovesetLevelUpPtr
.public GetNameRaw
.public GetNameString
.public GetNbMoves
.public GetSpriteSize
.public GroundToDungeonMoveset
.public HIDDEN_POWER_BASE_POWER_TABLE
.public HandleSir0Translation
.public IsShaymin
.public IsValidTeamMember
.public ItemZInit
.public LEVEL_UP_DATA_DECOMPRESS_BUFFER
.public LEVEL_UP_DATA_MONSTER_ID
.public LoadFileFromRom
.public LoadMonsterMd
.public MONSTER_DATA_TABLE_PTR
.public MemAlloc
.public MemFree
.public PointsToZero
.public Rand16Bit
.public RandIntSafe
.public RemoveActiveMembersFromAllTeams
.public RemoveActiveMembersFromRescueTeam
.public RemoveActiveMembersFromSpecialEpisodeTeam
.public SprintfStatic__02052418
.public StrcpyName
.public StrncmpSimple
.public StrncpyName
.public StrncpySimple
.public TEAM_MEMBER_TABLE
.public TEAM_MEMBER_TABLE_PTR
.public UnloadFile
.public ZInit8
.public _020A1880
.public _020A1884
.public _020A189C
.public _020A18C0
.public _020A3210
.public _020A322C
.public _020A3248
.public _020A3258
.public _020A327C
.public _020A328C
.public _020A32D4
.public _020A32F8
.public _020A3330
.public _020B09C8
.public _020B09D0
.public _020B12F4_EU
.public _020B1308_EU
.public _s32_div_f
.public sub_01FF8F28
.public sub_02015090
.public sub_02025304_JP
.public sub_02050FF8
.public sub_02054FB8
.public sub_02054FEC
.public sub_02055020
.public sub_020550DC
.public sub_020550E0
.public sub_02055118
.public sub_020560B8
.public sub_020564B0
.public sub_02056504
.public vsprintf

View File

@ -1,8 +1,2 @@
#pragma once
.public GetIqGroup
.public GetPerformanceFlagWithChecks
.public IQ_GROUP_SKILLS
.public IQ_SKILL_RESTRICTIONS
.public IQ_SKILLS
.public IqSkillFlagTest
.public TACTICS_UNLOCK_LEVEL_TABLE

View File

@ -0,0 +1,7 @@
#pragma once
.public CanLearnIqSkill
.public GetIqGroup
.public GetPerformanceFlagWithChecks
.public IQ_GROUP_SKILLS
.public IQ_SKILL_RESTRICTIONS
.public IqSkillFlagTest

View File

@ -0,0 +1,3 @@
#pragma once
.public EnableIqSkill
.public GetLearnableIqSkills

View File

@ -0,0 +1,220 @@
#pragma once
.public ARM9_UNKNOWN_DATA__NA_209EAAC
.public MISSION_FLOOR_RANKS_AND_ITEM_LISTS_1
.public _0209CE8C
.public _0209CE94
.public _0209CE9C
.public _0209CEA4
.public _0209CFA4
.public _0209CFA8
.public _0209CFB0
.public _0209CFBC
.public _0209CFC8
.public _0209CFD4
.public _0209CFE0
.public _0209CFEC
.public _0209CFF8
.public _0209D004
.public _0209D010
.public _0209D01C
.public _0209D028
.public _0209D034
.public _0209D040
.public _0209D04C
.public _0209D058
.public _0209D068
.public _0209D078
.public _0209D088
.public _0209D098
.public _0209D0A8
.public _0209D0B8
.public _0209D0C8
.public _0209D0D8
.public _0209D0E8
.public _0209D0F8
.public _0209D108
.public _0209D118
.public _0209D128
.public _0209D138
.public _0209D148
.public _0209D158
.public _0209D168
.public _0209D178
.public _0209D188
.public _0209D198
.public _0209D1A8
.public _0209D1B8
.public _0209D1C8
.public _0209D1D8
.public _0209D1E8
.public _0209D1F8
.public _0209D208
.public _0209D218
.public _0209D228
.public _0209D238
.public _0209D248
.public _0209D258
.public _0209D268
.public _0209D27C
.public _0209D290
.public _0209D2A4
.public _0209D2B8
.public _0209D2CC
.public _0209D2E0
.public _0209D2F4
.public _0209D308
.public _0209D31C
.public _0209D330
.public _0209D344
.public _0209D358
.public _0209D36C
.public _0209D380
.public _0209D394
.public _0209D3A8
.public _0209D3BC
.public _0209D3D0
.public _0209D3E4
.public _0209D3F8
.public _0209D40C
.public _0209D420
.public _0209D434
.public _0209D448
.public _0209D45C
.public _0209D470
.public _0209D484
.public _0209D498
.public _0209D4AC
.public _0209D4C0
.public _0209D4D8
.public _0209D4F0
.public _0209D508
.public _0209D520
.public _0209D538
.public _0209D550
.public _0209D568
.public _0209D580
.public _0209D598
.public _0209D5B0
.public _0209D5C8
.public _0209D5E0
.public _0209D5F8
.public _0209D610
.public _0209D628
.public _0209D640
.public _0209D658
.public _0209D670
.public _0209D688
.public _0209D6A0
.public _0209D6BC
.public _0209D6D8
.public _0209D6F4
.public _0209D710
.public _0209D72C
.public _0209D748
.public _0209D764
.public _0209D780
.public _0209D79C
.public _0209D7B8
.public _0209D7D4
.public _0209D7F0
.public _0209D810
.public _0209D830
.public _0209D850
.public _0209EAB4
.public _0209EABC
.public _0209EAC4
.public _0209EACC
.public _0209EAD4
.public _0209EADC
.public _0209EAE4
.public _0209EAEC
.public _0209EAF4
.public _0209EAFC
.public _0209EB04
.public _0209EB0C
.public _0209EB14
.public _0209EB1C
.public _0209EB24
.public _0209EB2C
.public _0209EB34
.public _0209EB3C
.public _0209EB44
.public _0209EB4C
.public _0209EB54
.public _0209EB60
.public _0209EB6C
.public _0209EB78
.public _0209EB84
.public _0209EB90
.public _0209EB9C
.public _0209EBA8
.public _0209EBB4
.public _0209EBC0
.public _0209EBCC
.public _0209EBD8
.public _0209EBE4
.public _0209EBF0
.public _0209EBFC
.public _0209EC08
.public _0209EC14
.public _0209EC20
.public _0209EC2C
.public _0209EC38
.public _0209EC48
.public _0209EC58
.public _0209EC68
.public _0209EC78
.public _0209EC88
.public _0209EC98
.public _0209ECA8
.public _0209ECB8
.public _0209ECC8
.public _0209ECD8
.public _0209ECE8
.public _0209ECF8
.public _0209ED08
.public _0209ED18
.public _0209ED2C
.public _0209ED40
.public _0209ED54
.public _0209ED68
.public _0209ED7C
.public _0209ED90
.public _0209EDA4
.public _0209EDB8
.public _0209EDCC
.public _0209EDE0
.public _0209EDF4
.public _0209EE0C
.public _0209EE24
.public _0209EE3C
.public _0209EE54
.public _0209EE6C
.public _0209EE84
.public _0209EE9C
.public _0209EEB4
.public _0209EECC
.public _0209EEE4
.public _0209EEFC
.public _0209EF14
.public _0209EF2C
.public _0209EF48
.public _0209EF64
.public _0209EF80
.public _0209EF9C
.public _0209EFB8
.public _0209EFD4
.public _0209EFF4
.public _0209F014
.public _0209F034
.public _0209F054
.public _0209F074
.public _0209F0A0
.public _0209F0CC
.public _0209F0F8
.public _0209F12C
.public _0209F160
.public _0209F1D4
.public _0209F330
.public _0209F394
.public _0209F3F8

View File

@ -0,0 +1 @@
#pragma once

View File

@ -0,0 +1 @@
#pragma once

View File

@ -1,2 +1 @@
#pragma once

View File

@ -0,0 +1 @@
#pragma once

File diff suppressed because it is too large Load Diff

2451
asm/main_02052B44.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -51,188 +51,3 @@ _02058CB0:
.align 2, 0
_02058CD4: .word TACTICS_UNLOCK_LEVEL_TABLE
arm_func_end GetUnlockedTacticFlags
arm_func_start CanLearnIqSkill
CanLearnIqSkill: ; 0x02058CD8
cmp r1, #0
moveq r0, #0
bxeq lr
ldr r2, _02058D00 ; =IQ_SKILLS
ldr r1, [r2, r1, lsl #2]
cmp r1, r0
movle r0, #1
movgt r0, #0
and r0, r0, #0xff
bx lr
.align 2, 0
_02058D00: .word IQ_SKILLS
arm_func_end CanLearnIqSkill
arm_func_start GetLearnableIqSkills
GetLearnableIqSkills: ; 0x02058D04
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov r6, #0
mov sl, r0
mov sb, r1
mov r8, r2
mov r5, r6
ldr r4, _02058DA0 ; =IQ_GROUP_SKILLS
mov fp, #0x19
b _02058D74
_02058D28:
mov r0, sb
bl GetIqGroup
mla r1, r0, fp, r4
and r0, r5, #0xff
ldrb r7, [r0, r1]
cmp r7, #0xff
beq _02058D7C
cmp r7, #0x18
bne _02058D58
mov r0, #3
bl GetPerformanceFlagWithChecks
b _02058D64
_02058D58:
mov r0, r8
mov r1, r7
bl CanLearnIqSkill
_02058D64:
cmp r0, #0
strneb r7, [sl, r6]
addne r6, r6, #1
add r5, r5, #1
_02058D74:
cmp r5, #0x19
blt _02058D28
_02058D7C:
mov r1, r6
mov r0, #0
b _02058D90
_02058D88:
strb r0, [sl, r1]
add r1, r1, #1
_02058D90:
cmp r1, #0x45
blt _02058D88
mov r0, r6
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
_02058DA0: .word IQ_GROUP_SKILLS
arm_func_end GetLearnableIqSkills
arm_func_start DisableIqSkill
DisableIqSkill: ; 0x02058DA4
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
mov r5, r1
bl IqSkillFlagTest
cmp r0, #0
beq _02058DE4
mov r0, r5, asr #4
add r0, r5, r0, lsr #27
mov r2, r0, asr #5
sub r0, r5, r2, lsl #5
mov r1, #1
mvn r0, r1, lsl r0
ldr r1, [r4, r2, lsl #2]
and r0, r1, r0
str r0, [r4, r2, lsl #2]
ldmia sp!, {r3, r4, r5, pc}
_02058DE4:
mov r0, r4
mov r1, r5
bl EnableIqSkill
ldmia sp!, {r3, r4, r5, pc}
arm_func_end DisableIqSkill
arm_func_start EnableIqSkill
EnableIqSkill: ; 0x02058DF4
stmdb sp!, {r4, r5, r6, lr}
ldr r2, _02058E64 ; =IQ_SKILL_RESTRICTIONS
mov r3, r1, lsl #1
ldrsh ip, [r2, r3]
mov r3, #0
mov r4, #1
_02058E0C:
mov r5, r3, lsl #1
ldrsh r5, [r2, r5]
cmp ip, r5
bne _02058E3C
mov lr, r3, asr #4
add lr, r3, lr, lsr #27
mov r6, lr, asr #5
sub lr, r3, r6, lsl #5
mvn lr, r4, lsl lr
ldr r5, [r0, r6, lsl #2]
and r5, r5, lr
str r5, [r0, r6, lsl #2]
_02058E3C:
add r3, r3, #1
cmp r3, #0x45
blt _02058E0C
mov ip, r1, lsr #5
ldr r3, [r0, ip, lsl #2]
sub r1, r1, ip, lsl #5
mov r2, #1
orr r1, r3, r2, lsl r1
str r1, [r0, ip, lsl #2]
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
_02058E64: .word IQ_SKILL_RESTRICTIONS
arm_func_end EnableIqSkill
arm_func_start GetSpeciesIqSkill
GetSpeciesIqSkill: ; 0x02058E68
stmdb sp!, {r4, lr}
mov r4, r1
bl GetIqGroup
ldr r2, _02058E88 ; =IQ_GROUP_SKILLS
mov r1, #0x19
mla r1, r0, r1, r2
ldrb r0, [r4, r1]
ldmia sp!, {r4, pc}
.align 2, 0
_02058E88: .word IQ_GROUP_SKILLS
arm_func_end GetSpeciesIqSkill
arm_func_start DisableAllIqSkills
DisableAllIqSkills: ; 0x02058E8C
mov r3, #0
mov r2, r3
_02058E94:
add r1, r3, #1
mov r1, r1, lsl #0x10
str r2, [r0, r3, lsl #2]
mov r3, r1, asr #0x10
cmp r3, #3
blt _02058E94
bx lr
arm_func_end DisableAllIqSkills
arm_func_start EnableAllLearnableIqSkills
EnableAllLearnableIqSkills: ; 0x02058EB0
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x48
mov r6, r0
add r0, sp, #0
bl GetLearnableIqSkills
mov r0, r6
bl DisableAllIqSkills
mov r5, #0
add r4, sp, #0
b _02058EF4
_02058ED8:
ldrb r0, [r4, r5]
cmp r0, #0
beq _02058EFC
ldrb r1, [r4, r5]
mov r0, r6
bl EnableIqSkill
add r5, r5, #1
_02058EF4:
cmp r5, #0x45
blt _02058ED8
_02058EFC:
add sp, sp, #0x48
ldmia sp!, {r4, r5, r6, pc}
arm_func_end EnableAllLearnableIqSkills

117
asm/main_02058D04.s Normal file
View File

@ -0,0 +1,117 @@
.include "asm/macros.inc"
.include "main_02058D04.inc"
.text
arm_func_start GetLearnableIqSkills
GetLearnableIqSkills: ; 0x02058D04
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov r6, #0
mov sl, r0
mov sb, r1
mov r8, r2
mov r5, r6
ldr r4, _02058DA0 ; =IQ_GROUP_SKILLS
mov fp, #0x19
b _02058D74
_02058D28:
mov r0, sb
bl GetIqGroup
mla r1, r0, fp, r4
and r0, r5, #0xff
ldrb r7, [r0, r1]
cmp r7, #0xff
beq _02058D7C
cmp r7, #0x18
bne _02058D58
mov r0, #3
bl GetPerformanceFlagWithChecks
b _02058D64
_02058D58:
mov r0, r8
mov r1, r7
bl CanLearnIqSkill
_02058D64:
cmp r0, #0
strneb r7, [sl, r6]
addne r6, r6, #1
add r5, r5, #1
_02058D74:
cmp r5, #0x19
blt _02058D28
_02058D7C:
mov r1, r6
mov r0, #0
b _02058D90
_02058D88:
strb r0, [sl, r1]
add r1, r1, #1
_02058D90:
cmp r1, #0x45
blt _02058D88
mov r0, r6
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
_02058DA0: .word IQ_GROUP_SKILLS
arm_func_end GetLearnableIqSkills
arm_func_start DisableIqSkill
DisableIqSkill: ; 0x02058DA4
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
mov r5, r1
bl IqSkillFlagTest
cmp r0, #0
beq _02058DE4
mov r0, r5, asr #4
add r0, r5, r0, lsr #27
mov r2, r0, asr #5
sub r0, r5, r2, lsl #5
mov r1, #1
mvn r0, r1, lsl r0
ldr r1, [r4, r2, lsl #2]
and r0, r1, r0
str r0, [r4, r2, lsl #2]
ldmia sp!, {r3, r4, r5, pc}
_02058DE4:
mov r0, r4
mov r1, r5
bl EnableIqSkill
ldmia sp!, {r3, r4, r5, pc}
arm_func_end DisableIqSkill
arm_func_start EnableIqSkill
EnableIqSkill: ; 0x02058DF4
stmdb sp!, {r4, r5, r6, lr}
ldr r2, _02058E64 ; =IQ_SKILL_RESTRICTIONS
mov r3, r1, lsl #1
ldrsh ip, [r2, r3]
mov r3, #0
mov r4, #1
_02058E0C:
mov r5, r3, lsl #1
ldrsh r5, [r2, r5]
cmp ip, r5
bne _02058E3C
mov lr, r3, asr #4
add lr, r3, lr, lsr #27
mov r6, lr, asr #5
sub lr, r3, r6, lsl #5
mvn lr, r4, lsl lr
ldr r5, [r0, r6, lsl #2]
and r5, r5, lr
str r5, [r0, r6, lsl #2]
_02058E3C:
add r3, r3, #1
cmp r3, #0x45
blt _02058E0C
mov ip, r1, lsr #5
ldr r3, [r0, ip, lsl #2]
sub r1, r1, ip, lsl #5
mov r2, #1
orr r1, r3, r2, lsl r1
str r1, [r0, ip, lsl #2]
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
_02058E64: .word IQ_SKILL_RESTRICTIONS
arm_func_end EnableIqSkill

46
asm/main_02058E8C.s Normal file
View File

@ -0,0 +1,46 @@
.include "asm/macros.inc"
.include "main_02058E8C.inc"
.text
arm_func_start DisableAllIqSkills
DisableAllIqSkills: ; 0x02058E8C
mov r3, #0
mov r2, r3
_02058E94:
add r1, r3, #1
mov r1, r1, lsl #0x10
str r2, [r0, r3, lsl #2]
mov r3, r1, asr #0x10
cmp r3, #3
blt _02058E94
bx lr
arm_func_end DisableAllIqSkills
arm_func_start EnableAllLearnableIqSkills
EnableAllLearnableIqSkills: ; 0x02058EB0
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x48
mov r6, r0
add r0, sp, #0
bl GetLearnableIqSkills
mov r0, r6
bl DisableAllIqSkills
mov r5, #0
add r4, sp, #0
b _02058EF4
_02058ED8:
ldrb r0, [r4, r5]
cmp r0, #0
beq _02058EFC
ldrb r1, [r4, r5]
mov r0, r6
bl EnableIqSkill
add r5, r5, #1
_02058EF4:
cmp r5, #0x45
blt _02058ED8
_02058EFC:
add sp, sp, #0x48
ldmia sp!, {r4, r5, r6, pc}
arm_func_end EnableAllLearnableIqSkills

View File

@ -2441,93 +2441,3 @@ _020A1884:
.global GUMMI_STAT_BOOST
GUMMI_STAT_BOOST:
.byte 0x01, 0x00, 0x00, 0x00
.global MIN_IQ_EXCLUSIVE_MOVE_USER
MIN_IQ_EXCLUSIVE_MOVE_USER:
.byte 0x4B, 0x01, 0x00, 0x00
.global WONDER_GUMMI_IQ_GAIN
WONDER_GUMMI_IQ_GAIN:
.byte 0x0F, 0x00, 0x00, 0x00
.global _020A1894
_020A1894:
.byte 0x32, 0x00, 0x00, 0x00
.global AURA_BOW_STAT_BOOST
AURA_BOW_STAT_BOOST:
.byte 0x01, 0x00, 0x00, 0x00
.global _020A189C
_020A189C:
.byte 0x2C, 0x01, 0x00, 0x00
.global MULTITALENT_PP_BOOST_AMOUNT
MULTITALENT_PP_BOOST_AMOUNT:
.byte 0x05, 0x00, 0x00, 0x00
.global MIN_IQ_ITEM_MASTER
MIN_IQ_ITEM_MASTER:
.byte 0x96, 0x00, 0x00, 0x00
.global DEF_SCARF_STAT_BOOST
DEF_SCARF_STAT_BOOST:
.byte 0x08, 0x00, 0x00, 0x00
.global POWER_BAND_STAT_BOOST
POWER_BAND_STAT_BOOST:
.byte 0x0C, 0x00, 0x00, 0x00
.global WONDER_GUMMI_STAT_BOOST
WONDER_GUMMI_STAT_BOOST:
.byte 0x03, 0x00, 0x00, 0x00
.global ZINC_BAND_STAT_BOOST
ZINC_BAND_STAT_BOOST:
.byte 0x08, 0x00, 0x00, 0x00
.global EGG_HP_BONUS
EGG_HP_BONUS:
.byte 0x0A, 0x00, 0x00, 0x00
.global _020A18BC
_020A18BC:
.byte 0x78, 0x05, 0x00, 0x00
.global _020A18C0
_020A18C0:
.byte 0x2C, 0x01, 0x00, 0x00
.global EVOLUTION_HP_BONUS
EVOLUTION_HP_BONUS:
.byte 0x0A, 0x00, 0x00, 0x00
.global EXCLUSIVE_ITEM_PP_BOOST_AMOUNT
EXCLUSIVE_ITEM_PP_BOOST_AMOUNT:
.byte 0x02, 0x00, 0x00, 0x00
.global DAMAGE_FORMULA_FLV_SHIFT
DAMAGE_FORMULA_FLV_SHIFT:
.byte 0x00, 0x32, 0x00, 0x00
.global EVOLUTION_PHYSICAL_STAT_BONUSES
EVOLUTION_PHYSICAL_STAT_BONUSES:
.byte 0x05, 0x00, 0x05, 0x00
.global DAMAGE_FORMULA_CONSTANT_SHIFT
DAMAGE_FORMULA_CONSTANT_SHIFT:
.byte 0x00, 0xC9, 0xFE, 0xFF
.global DAMAGE_FORMULA_FLV_DEFICIT_DIVISOR
DAMAGE_FORMULA_FLV_DEFICIT_DIVISOR:
.byte 0x00, 0x08, 0x00, 0x00
.global EGG_STAT_BONUSES
EGG_STAT_BONUSES:
.byte 0x05, 0x00, 0x05, 0x00
.global _020A18E0
_020A18E0:
.byte 0x05, 0x00, 0x05, 0x00
.global EVOLUTION_SPECIAL_STAT_BONUSES
EVOLUTION_SPECIAL_STAT_BONUSES:
.byte 0x05, 0x00, 0x05, 0x00
.global DAMAGE_FORMULA_NON_TEAM_MEMBER_MODIFIER
DAMAGE_FORMULA_NON_TEAM_MEMBER_MODIFIER:
.byte 0x54, 0x01, 0x00, 0x00
.global DAMAGE_FORMULA_LN_PREFACTOR
DAMAGE_FORMULA_LN_PREFACTOR:
.byte 0x00, 0x32, 0x00, 0x00
.global DAMAGE_FORMULA_DEF_PREFACTOR
DAMAGE_FORMULA_DEF_PREFACTOR:
.byte 0x80, 0xFF, 0xFF, 0xFF
.global DAMAGE_FORMULA_AT_PREFACTOR
DAMAGE_FORMULA_AT_PREFACTOR:
.byte 0x99, 0x00, 0x00, 0x00
.global DAMAGE_FORMULA_LN_ARG_PREFACTOR
DAMAGE_FORMULA_LN_ARG_PREFACTOR:
.byte 0x00, 0x0A, 0x00, 0x00
.global _020A18FC
_020A18FC:
.byte 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0x00, 0x00, 0x00
.global _020A1904
_020A1904:
.byte 0x96, 0x97, 0x98, 0x99, 0x9A, 0x00, 0x00, 0x00

View File

@ -0,0 +1,19 @@
.include "asm/macros.inc"
.include "main_rodata_020A1894.inc"
.rodata
.global WONDER_GUMMI_IQ_GAIN
WONDER_GUMMI_IQ_GAIN:
.byte 0x0F, 0x00, 0x00, 0x00
.global _020A1894
_020A1894:
.byte 0x32, 0x00, 0x00, 0x00
.global AURA_BOW_STAT_BOOST
AURA_BOW_STAT_BOOST:
.byte 0x01, 0x00, 0x00, 0x00
.global _020A189C
_020A189C:
.byte 0x2C, 0x01, 0x00, 0x00
.global MULTITALENT_PP_BOOST_AMOUNT
MULTITALENT_PP_BOOST_AMOUNT:
.byte 0x05, 0x00, 0x00, 0x00

View File

@ -0,0 +1,73 @@
.include "asm/macros.inc"
.include "main_rodata_020A18BC.inc"
.rodata
.global DEF_SCARF_STAT_BOOST
DEF_SCARF_STAT_BOOST:
.byte 0x08, 0x00, 0x00, 0x00
.global POWER_BAND_STAT_BOOST
POWER_BAND_STAT_BOOST:
.byte 0x0C, 0x00, 0x00, 0x00
.global WONDER_GUMMI_STAT_BOOST
WONDER_GUMMI_STAT_BOOST:
.byte 0x03, 0x00, 0x00, 0x00
.global ZINC_BAND_STAT_BOOST
ZINC_BAND_STAT_BOOST:
.byte 0x08, 0x00, 0x00, 0x00
.global EGG_HP_BONUS
EGG_HP_BONUS:
.byte 0x0A, 0x00, 0x00, 0x00
.global _020A18BC
_020A18BC:
.byte 0x78, 0x05, 0x00, 0x00
.global _020A18C0
_020A18C0:
.byte 0x2C, 0x01, 0x00, 0x00
.global EVOLUTION_HP_BONUS
EVOLUTION_HP_BONUS:
.byte 0x0A, 0x00, 0x00, 0x00
.global EXCLUSIVE_ITEM_PP_BOOST_AMOUNT
EXCLUSIVE_ITEM_PP_BOOST_AMOUNT:
.byte 0x02, 0x00, 0x00, 0x00
.global DAMAGE_FORMULA_FLV_SHIFT
DAMAGE_FORMULA_FLV_SHIFT:
.byte 0x00, 0x32, 0x00, 0x00
.global EVOLUTION_PHYSICAL_STAT_BONUSES
EVOLUTION_PHYSICAL_STAT_BONUSES:
.byte 0x05, 0x00, 0x05, 0x00
.global DAMAGE_FORMULA_CONSTANT_SHIFT
DAMAGE_FORMULA_CONSTANT_SHIFT:
.byte 0x00, 0xC9, 0xFE, 0xFF
.global DAMAGE_FORMULA_FLV_DEFICIT_DIVISOR
DAMAGE_FORMULA_FLV_DEFICIT_DIVISOR:
.byte 0x00, 0x08, 0x00, 0x00
.global EGG_STAT_BONUSES
EGG_STAT_BONUSES:
.byte 0x05, 0x00, 0x05, 0x00
.global _020A18E0
_020A18E0:
.byte 0x05, 0x00, 0x05, 0x00
.global EVOLUTION_SPECIAL_STAT_BONUSES
EVOLUTION_SPECIAL_STAT_BONUSES:
.byte 0x05, 0x00, 0x05, 0x00
.global DAMAGE_FORMULA_NON_TEAM_MEMBER_MODIFIER
DAMAGE_FORMULA_NON_TEAM_MEMBER_MODIFIER:
.byte 0x54, 0x01, 0x00, 0x00
.global DAMAGE_FORMULA_LN_PREFACTOR
DAMAGE_FORMULA_LN_PREFACTOR:
.byte 0x00, 0x32, 0x00, 0x00
.global DAMAGE_FORMULA_DEF_PREFACTOR
DAMAGE_FORMULA_DEF_PREFACTOR:
.byte 0x80, 0xFF, 0xFF, 0xFF
.global DAMAGE_FORMULA_AT_PREFACTOR
DAMAGE_FORMULA_AT_PREFACTOR:
.byte 0x99, 0x00, 0x00, 0x00
.global DAMAGE_FORMULA_LN_ARG_PREFACTOR
DAMAGE_FORMULA_LN_ARG_PREFACTOR:
.byte 0x00, 0x0A, 0x00, 0x00
.global _020A18FC
_020A18FC:
.byte 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0x00, 0x00, 0x00
.global _020A1904
_020A1904:
.byte 0x96, 0x97, 0x98, 0x99, 0x9A, 0x00, 0x00, 0x00

View File

@ -49,15 +49,3 @@ VERSION_EXCLUSIVE_MONSTERS:
.byte 0x19, 0x04, 0x00, 0x01, 0x0F, 0x00, 0x00, 0x01, 0x67, 0x02, 0x00, 0x01, 0xE9, 0x01, 0x01, 0x00
.byte 0x41, 0x04, 0x01, 0x00, 0xEA, 0x01, 0x01, 0x00, 0x42, 0x04, 0x01, 0x00, 0x16, 0x01, 0x01, 0x00
.byte 0x09, 0x02, 0x00, 0x01, 0x96, 0x00, 0x00, 0x01
.global IQ_SKILL_RESTRICTIONS
IQ_SKILL_RESTRICTIONS:
.byte 0x0F, 0x27, 0x04, 0x00, 0x01, 0x00, 0x02, 0x00
.byte 0x04, 0x00, 0x04, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00
.byte 0x0A, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0B, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x10, 0x00
.byte 0x14, 0x00, 0x09, 0x00, 0x11, 0x00, 0x06, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, 0x00
.byte 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00
.byte 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2A, 0x00, 0x2B, 0x00
.byte 0x2C, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00
.byte 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x3B, 0x00
.byte 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00
.byte 0x44, 0x00, 0x00, 0x00

View File

@ -18,204 +18,3 @@ SENTRY_DUTY_MONSTER_IDS:
.byte 0x6F, 0x00, 0x65, 0x01, 0x64, 0x01, 0x51, 0x01, 0x3F, 0x01, 0x03, 0x01, 0x63, 0x01, 0x3A, 0x01
.byte 0x24, 0x01, 0x08, 0x01, 0x38, 0x00, 0xE9, 0x01, 0xEA, 0x01, 0xB7, 0x01, 0xB8, 0x01, 0x25, 0x00
.byte 0x05, 0x02, 0x88, 0x01, 0x22, 0x00, 0x00, 0x00
.global IQ_SKILLS
IQ_SKILLS:
.byte 0x0F, 0x27, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x01, 0x00, 0x00, 0x1C, 0x02, 0x00, 0x00
.byte 0x0F, 0x27, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0xDE, 0x03, 0x00, 0x00
.byte 0xF0, 0x00, 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00
.byte 0x46, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x27, 0x00, 0x00
.byte 0xE0, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00
.byte 0x26, 0x02, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x0F, 0x27, 0x00, 0x00
.byte 0xDC, 0x00, 0x00, 0x00, 0xE6, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x00
.byte 0xA4, 0x01, 0x00, 0x00, 0x4A, 0x01, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00
.byte 0x0F, 0x27, 0x00, 0x00, 0xEE, 0x02, 0x00, 0x00, 0x3A, 0x02, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00
.byte 0xAA, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00
.byte 0x1E, 0x00, 0x00, 0x00, 0x84, 0x03, 0x00, 0x00, 0xAF, 0x00, 0x00, 0x00, 0x22, 0x01, 0x00, 0x00
.byte 0x32, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00
.byte 0xB6, 0x03, 0x00, 0x00, 0x54, 0x01, 0x00, 0x00, 0xC3, 0x00, 0x00, 0x00, 0x0F, 0x27, 0x00, 0x00
.byte 0x5E, 0x01, 0x00, 0x00, 0x68, 0x01, 0x00, 0x00, 0xB8, 0x01, 0x00, 0x00, 0x44, 0x02, 0x00, 0x00
.byte 0x52, 0x03, 0x00, 0x00, 0x72, 0x01, 0x00, 0x00, 0x0F, 0x27, 0x00, 0x00
.global IQ_GROUP_SKILLS
IQ_GROUP_SKILLS:
.byte 0x18, 0x1A, 0x1B, 0x1F
.byte 0x25, 0x26, 0x36, 0x39, 0x3E, 0x41, 0x42, 0x43, 0x16, 0x03, 0x07, 0x08, 0x01, 0x17, 0x15, 0x0C
.byte 0x0F, 0x14, 0x02, 0x11, 0xFF, 0x18, 0x1B, 0x1E, 0x20, 0x26, 0x2E, 0x32, 0x33, 0x34, 0x37, 0x3E
.byte 0x42, 0x16, 0x03, 0x07, 0x08, 0x01, 0x17, 0x15, 0x0F, 0x13, 0x02, 0x11, 0x14, 0xFF, 0x18, 0x22
.byte 0x24, 0x25, 0x28, 0x2C, 0x2F, 0x30, 0x31, 0x38, 0x3B, 0x3C, 0x3F, 0x42, 0x16, 0x03, 0x07, 0x08
.byte 0x01, 0x17, 0x09, 0x02, 0x11, 0x14, 0xFF, 0x18, 0x1A, 0x1D, 0x1F, 0x27, 0x28, 0x2B, 0x2E, 0x30
.byte 0x3C, 0x3F, 0x40, 0x16, 0x03, 0x07, 0x08, 0x17, 0x15, 0x0E, 0x12, 0x13, 0x02, 0x05, 0x14, 0xFF
.byte 0x18, 0x20, 0x23, 0x24, 0x25, 0x27, 0x2D, 0x2F, 0x32, 0x34, 0x35, 0x37, 0x38, 0x16, 0x03, 0x07
.byte 0x08, 0x04, 0x17, 0x0A, 0x0F, 0x02, 0x10, 0x14, 0xFF, 0x18, 0x1A, 0x1C, 0x1D, 0x1F, 0x26, 0x29
.byte 0x2C, 0x2D, 0x2E, 0x39, 0x42, 0x16, 0x03, 0x07, 0x08, 0x01, 0x17, 0x0B, 0x0C, 0x0F, 0x12, 0x14
.byte 0x02, 0xFF, 0x18, 0x1A, 0x1C, 0x1F, 0x29, 0x2B, 0x35, 0x36, 0x3B, 0x3C, 0x40, 0x41, 0x16, 0x03
.byte 0x07, 0x08, 0x17, 0x09, 0x0E, 0x12, 0x13, 0x02, 0x05, 0x14, 0xFF, 0x18, 0x1B, 0x1E, 0x20, 0x26
.byte 0x2D, 0x33, 0x34, 0x35, 0x37, 0x38, 0x40, 0x16, 0x03, 0x07, 0x08, 0x17, 0x0A, 0x0C, 0x0F, 0x12
.byte 0x14, 0x02, 0x05, 0xFF, 0x18, 0x16, 0x03, 0x07, 0x08, 0x17, 0x02, 0x14, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0x16, 0x03
.byte 0x07, 0x08, 0x17, 0x02, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0x1D, 0x22, 0x24, 0x25, 0x28, 0x1F, 0x2F, 0x35, 0x37
.byte 0x3A, 0x3C, 0x16, 0x03, 0x07, 0x08, 0x17, 0x09, 0x0C, 0x0F, 0x12, 0x14, 0x02, 0x05, 0xFF, 0x18
.byte 0x1A, 0x1F, 0x23, 0x24, 0x29, 0x2D, 0x2E, 0x30, 0x39, 0x3C, 0x41, 0x16, 0x03, 0x07, 0x08, 0x04
.byte 0x17, 0x0B, 0x0D, 0x0F, 0x14, 0x02, 0x10, 0xFF, 0x18, 0x16, 0x03, 0x07, 0x08, 0x17, 0x02, 0x14
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0x18, 0x16, 0x03, 0x07, 0x08, 0x17, 0x02, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0x16, 0x03, 0x07, 0x08, 0x17
.byte 0x02, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0x18, 0x16, 0x03, 0x07, 0x08, 0x17, 0x02, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.global MONEY_QUANTITY_TABLE
MONEY_QUANTITY_TABLE:
.byte 0x02, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x0D, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
.byte 0x1D, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00
.byte 0x2B, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00
.byte 0x3E, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00
.byte 0x50, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00
.byte 0x65, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00
.byte 0x71, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00
.byte 0x8B, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00
.byte 0xA3, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x00, 0x00
.byte 0xB4, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00
.byte 0xC7, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00
.byte 0xE6, 0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00
.byte 0xFA, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x0D, 0x01, 0x00, 0x00
.byte 0x10, 0x01, 0x00, 0x00, 0x15, 0x01, 0x00, 0x00, 0x1A, 0x01, 0x00, 0x00, 0x1C, 0x01, 0x00, 0x00
.byte 0x25, 0x01, 0x00, 0x00, 0x33, 0x01, 0x00, 0x00, 0x38, 0x01, 0x00, 0x00, 0x39, 0x01, 0x00, 0x00
.byte 0x3D, 0x01, 0x00, 0x00, 0x4C, 0x01, 0x00, 0x00, 0x51, 0x01, 0x00, 0x00, 0x5C, 0x01, 0x00, 0x00
.byte 0x5D, 0x01, 0x00, 0x00, 0x62, 0x01, 0x00, 0x00, 0x67, 0x01, 0x00, 0x00, 0x6F, 0x01, 0x00, 0x00
.byte 0x76, 0x01, 0x00, 0x00, 0x7B, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x86, 0x01, 0x00, 0x00
.byte 0x8D, 0x01, 0x00, 0x00, 0x91, 0x01, 0x00, 0x00, 0x9A, 0x01, 0x00, 0x00, 0xA3, 0x01, 0x00, 0x00
.byte 0xA5, 0x01, 0x00, 0x00, 0xB0, 0x01, 0x00, 0x00, 0xB3, 0x01, 0x00, 0x00, 0xB8, 0x01, 0x00, 0x00
.byte 0xBB, 0x01, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, 0xC9, 0x01, 0x00, 0x00, 0xCE, 0x01, 0x00, 0x00
.byte 0xD0, 0x01, 0x00, 0x00, 0xD3, 0x01, 0x00, 0x00, 0xDF, 0x01, 0x00, 0x00, 0xE8, 0x01, 0x00, 0x00
.byte 0xEB, 0x01, 0x00, 0x00, 0xF3, 0x01, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x26, 0x02, 0x00, 0x00
.byte 0x8A, 0x02, 0x00, 0x00, 0xEE, 0x02, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00
.global ARM9_UNKNOWN_TABLE__NA_20A20B0
ARM9_UNKNOWN_TABLE__NA_20A20B0:
.byte 0x00
.global _020A20B1
_020A20B1:
.byte 0x00, 0x01, 0x01
.byte 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x08, 0x08, 0x09, 0x09
.byte 0x0A, 0x0A, 0x0B, 0x0B, 0x0C, 0x0C, 0x0D, 0x0D, 0x0E, 0x0E, 0x0F, 0x0F, 0x10, 0x10, 0x11, 0x11
.byte 0x12, 0x12, 0x13, 0x13, 0x14, 0x14, 0x15, 0x15, 0x16, 0x16, 0x17, 0x17, 0x18, 0x18, 0x19, 0x19
.byte 0x1A, 0x1A, 0x1B, 0x1B, 0x1C, 0x1C, 0x1D, 0x1D, 0x1E, 0x1E, 0x1F, 0x1F, 0x20, 0x20, 0x21, 0x21
.byte 0x22, 0x22, 0x23, 0x23, 0x24, 0x24, 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28, 0x29, 0x29
.byte 0x2A, 0x2A, 0x2B, 0x2B, 0x2C, 0x2C, 0x2D, 0x2D, 0x2E, 0x2E, 0x2F, 0x2F, 0x30, 0x30, 0x31, 0x31
.byte 0x32, 0x32, 0x33, 0x33, 0x34, 0x34, 0x35, 0x35, 0x36, 0x36, 0x37, 0x37, 0x38, 0x38, 0x39, 0x39
.byte 0x3A, 0x3A, 0x3B, 0x3B, 0x3C, 0x3C, 0x3D, 0x3D, 0x3E, 0x3E, 0x3F, 0x3F, 0x40, 0x40, 0x41, 0x41
.byte 0x42, 0x42, 0x43, 0x43, 0x44, 0x44, 0x45, 0x45, 0x46, 0x46, 0x47, 0x47, 0x48, 0x48, 0x49, 0x49
.byte 0x4A, 0x4A, 0x4B, 0x4B, 0x4C, 0x4C, 0x4D, 0x4D, 0x4E, 0x4E, 0x4F, 0x4F, 0x50, 0x50, 0x51, 0x51
.byte 0x52, 0x52, 0x53, 0x53, 0x54, 0x54, 0x55, 0x55, 0x56, 0x56, 0x57, 0x57, 0x58, 0x58, 0x59, 0x59
.byte 0x5A, 0x5A, 0x5B, 0x5B, 0x5C, 0x5C, 0x5D, 0x5D, 0x5E, 0x5E, 0x5F, 0x5F, 0x60, 0x60, 0x61, 0x61
.byte 0x62, 0x62, 0x63, 0x63, 0x64, 0x64, 0x65, 0x65, 0x66, 0x66, 0x67, 0xFF, 0x68, 0xFF, 0x69, 0xB3
.byte 0x6A, 0xFF, 0x6B, 0xFF, 0x6C, 0xFF, 0x6D, 0xFF, 0x6E, 0xFF, 0x6F, 0xFF, 0x70, 0xFF, 0x71, 0xFF
.byte 0x72, 0xFF, 0x73, 0xFF, 0x74, 0xFF, 0x75, 0xFF, 0x76, 0xFF, 0x77, 0xFF, 0x78, 0xFF, 0x79, 0xFF
.byte 0x7A, 0xFF, 0x7B, 0xFF, 0x7C, 0xFF, 0x7D, 0xFF, 0x7E, 0xB1, 0x7F, 0xB2, 0x80, 0xB4, 0x81, 0xB5
.byte 0x82, 0xB6, 0x83, 0xB7, 0x84, 0xB8, 0x85, 0xB9, 0x86, 0xBA, 0x87, 0xBB, 0x88, 0xBC, 0x89, 0xBD
.byte 0x8A, 0xBE, 0x8B, 0xBF, 0x8C, 0xC0, 0x8D, 0xC1, 0x8E, 0xC2, 0x8F, 0xC3, 0x90, 0xC4, 0x91, 0xC5
.byte 0x92, 0xC6, 0x93, 0xC7, 0x94, 0xC8, 0x95, 0xC9, 0x96, 0xCA, 0x97, 0xCB, 0x98, 0xCC, 0x99, 0xCD
.byte 0x9A, 0xCE, 0x9B, 0xCF, 0x9C, 0xD0, 0x9D, 0xD1, 0x9E, 0xD2, 0x9F, 0xD3, 0xA0, 0xD4, 0xA1, 0xD5
.byte 0xA2, 0xD6, 0xA3, 0xD7, 0xA4, 0xD8, 0xA5, 0xD9, 0xA6, 0xDA, 0xA7, 0xDB, 0xA8, 0xDC, 0xA9, 0xDD
.byte 0xAA, 0xDE, 0xAB, 0xF1, 0xAC, 0xF2, 0xAD, 0xF7, 0xAE, 0xF8, 0xAF, 0xF9, 0xB0, 0xFA, 0xB1, 0xFF
.byte 0xB2, 0xFF, 0xB3, 0xFF, 0xB4, 0xFF, 0xB5, 0xFF, 0xB6, 0xFF, 0xB7, 0xFF, 0xB8, 0xFF, 0xB9, 0xFF
.byte 0xBA, 0xFF, 0xBB, 0xFF, 0xBC, 0xFF, 0xBD, 0xFF, 0xBE, 0xFF, 0xBF, 0xFF, 0xC0, 0xFF, 0xC1, 0xFF
.byte 0xC2, 0xFF, 0xC3, 0xFF, 0xC4, 0xFF, 0xC5, 0xFF, 0xC6, 0xFF, 0xC7, 0xFF, 0xC8, 0xFF, 0xC9, 0xFF
.byte 0xCA, 0xFF, 0xCB, 0xFF, 0xCC, 0xFF, 0xCD, 0xFF, 0xCE, 0xFF, 0xCF, 0xFF, 0xD0, 0xFF, 0xD1, 0xFF
.byte 0xD2, 0xFF, 0xD3, 0xFF, 0xD4, 0xFF, 0xD5, 0xFF, 0xD6, 0xFF, 0xD7, 0xFF, 0xD8, 0xFF, 0xD9, 0xFF
.byte 0xDA, 0xFF, 0xDB, 0xFF, 0xDC, 0xFF, 0xDD, 0xFF, 0xDE, 0xFF, 0xDF, 0xFF, 0xE0, 0xFF, 0xE1, 0xFF
.byte 0xE2, 0xFF, 0xE3, 0xFF, 0xE4, 0xFF, 0xE5, 0xFF, 0xE6, 0xFF, 0xE7, 0xFF, 0xE8, 0xFF, 0xE9, 0xFF
.byte 0xEA, 0xFF, 0xEB, 0xFF, 0xEC, 0xFF, 0xED, 0xFF, 0xEE, 0xFF, 0xEF, 0xFF, 0xF0, 0xFF, 0xF1, 0xFF
.byte 0xF2, 0xFF, 0xF3, 0xFF, 0xF4, 0xFF, 0xF5, 0xFF, 0xF6, 0xFF, 0xF7, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF
.byte 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF
.global IQ_GUMMI_GAIN_TABLE
IQ_GUMMI_GAIN_TABLE:
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x05, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00
.byte 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x05, 0x00
.byte 0x04, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00
.byte 0x04, 0x00, 0x02, 0x00, 0x05, 0x00, 0x02, 0x00, 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x02, 0x00
.byte 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x05, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00
.byte 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x05, 0x00, 0x04, 0x00
.byte 0x03, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x01, 0x00, 0x04, 0x00, 0x03, 0x00
.byte 0x02, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00
.byte 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00, 0x05, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00
.byte 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00
.byte 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00
.byte 0x04, 0x00, 0x03, 0x00, 0x05, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00
.byte 0x02, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00
.byte 0x05, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00
.byte 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x01, 0x00, 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00
.byte 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00
.byte 0x01, 0x00, 0x04, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00
.byte 0x02, 0x00, 0x05, 0x00
.global GUMMI_BELLY_RESTORE_TABLE
GUMMI_BELLY_RESTORE_TABLE:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x05, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00
.byte 0x1E, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00
.byte 0x00, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x14, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x0A, 0x00
.byte 0x14, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00
.byte 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00
.byte 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0A, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00
.byte 0x14, 0x00, 0x05, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x05, 0x00
.byte 0x1E, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00
.byte 0x14, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x14, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x14, 0x00
.byte 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x05, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00
.byte 0x00, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x05, 0x00, 0x14, 0x00, 0x0F, 0x00
.byte 0x0A, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00
.byte 0x0A, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x05, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0A, 0x00
.byte 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x1E, 0x00

157
asm/main_rodata_020A20B1.s Normal file
View File

@ -0,0 +1,157 @@
.include "asm/macros.inc"
.include "main_rodata_020A20B1.inc"
.rodata
.global MONEY_QUANTITY_TABLE
MONEY_QUANTITY_TABLE:
.byte 0x02, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x0D, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
.byte 0x1D, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00
.byte 0x2B, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00
.byte 0x3E, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00
.byte 0x50, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00
.byte 0x65, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00
.byte 0x71, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00
.byte 0x8B, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00
.byte 0xA3, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x00, 0x00
.byte 0xB4, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00
.byte 0xC7, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00
.byte 0xE6, 0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00
.byte 0xFA, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x0D, 0x01, 0x00, 0x00
.byte 0x10, 0x01, 0x00, 0x00, 0x15, 0x01, 0x00, 0x00, 0x1A, 0x01, 0x00, 0x00, 0x1C, 0x01, 0x00, 0x00
.byte 0x25, 0x01, 0x00, 0x00, 0x33, 0x01, 0x00, 0x00, 0x38, 0x01, 0x00, 0x00, 0x39, 0x01, 0x00, 0x00
.byte 0x3D, 0x01, 0x00, 0x00, 0x4C, 0x01, 0x00, 0x00, 0x51, 0x01, 0x00, 0x00, 0x5C, 0x01, 0x00, 0x00
.byte 0x5D, 0x01, 0x00, 0x00, 0x62, 0x01, 0x00, 0x00, 0x67, 0x01, 0x00, 0x00, 0x6F, 0x01, 0x00, 0x00
.byte 0x76, 0x01, 0x00, 0x00, 0x7B, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x86, 0x01, 0x00, 0x00
.byte 0x8D, 0x01, 0x00, 0x00, 0x91, 0x01, 0x00, 0x00, 0x9A, 0x01, 0x00, 0x00, 0xA3, 0x01, 0x00, 0x00
.byte 0xA5, 0x01, 0x00, 0x00, 0xB0, 0x01, 0x00, 0x00, 0xB3, 0x01, 0x00, 0x00, 0xB8, 0x01, 0x00, 0x00
.byte 0xBB, 0x01, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, 0xC9, 0x01, 0x00, 0x00, 0xCE, 0x01, 0x00, 0x00
.byte 0xD0, 0x01, 0x00, 0x00, 0xD3, 0x01, 0x00, 0x00, 0xDF, 0x01, 0x00, 0x00, 0xE8, 0x01, 0x00, 0x00
.byte 0xEB, 0x01, 0x00, 0x00, 0xF3, 0x01, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x26, 0x02, 0x00, 0x00
.byte 0x8A, 0x02, 0x00, 0x00, 0xEE, 0x02, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00
.global ARM9_UNKNOWN_TABLE__NA_20A20B0
ARM9_UNKNOWN_TABLE__NA_20A20B0:
.byte 0x00
.global _020A20B1
_020A20B1:
.byte 0x00, 0x01, 0x01
.byte 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x08, 0x08, 0x09, 0x09
.byte 0x0A, 0x0A, 0x0B, 0x0B, 0x0C, 0x0C, 0x0D, 0x0D, 0x0E, 0x0E, 0x0F, 0x0F, 0x10, 0x10, 0x11, 0x11
.byte 0x12, 0x12, 0x13, 0x13, 0x14, 0x14, 0x15, 0x15, 0x16, 0x16, 0x17, 0x17, 0x18, 0x18, 0x19, 0x19
.byte 0x1A, 0x1A, 0x1B, 0x1B, 0x1C, 0x1C, 0x1D, 0x1D, 0x1E, 0x1E, 0x1F, 0x1F, 0x20, 0x20, 0x21, 0x21
.byte 0x22, 0x22, 0x23, 0x23, 0x24, 0x24, 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28, 0x29, 0x29
.byte 0x2A, 0x2A, 0x2B, 0x2B, 0x2C, 0x2C, 0x2D, 0x2D, 0x2E, 0x2E, 0x2F, 0x2F, 0x30, 0x30, 0x31, 0x31
.byte 0x32, 0x32, 0x33, 0x33, 0x34, 0x34, 0x35, 0x35, 0x36, 0x36, 0x37, 0x37, 0x38, 0x38, 0x39, 0x39
.byte 0x3A, 0x3A, 0x3B, 0x3B, 0x3C, 0x3C, 0x3D, 0x3D, 0x3E, 0x3E, 0x3F, 0x3F, 0x40, 0x40, 0x41, 0x41
.byte 0x42, 0x42, 0x43, 0x43, 0x44, 0x44, 0x45, 0x45, 0x46, 0x46, 0x47, 0x47, 0x48, 0x48, 0x49, 0x49
.byte 0x4A, 0x4A, 0x4B, 0x4B, 0x4C, 0x4C, 0x4D, 0x4D, 0x4E, 0x4E, 0x4F, 0x4F, 0x50, 0x50, 0x51, 0x51
.byte 0x52, 0x52, 0x53, 0x53, 0x54, 0x54, 0x55, 0x55, 0x56, 0x56, 0x57, 0x57, 0x58, 0x58, 0x59, 0x59
.byte 0x5A, 0x5A, 0x5B, 0x5B, 0x5C, 0x5C, 0x5D, 0x5D, 0x5E, 0x5E, 0x5F, 0x5F, 0x60, 0x60, 0x61, 0x61
.byte 0x62, 0x62, 0x63, 0x63, 0x64, 0x64, 0x65, 0x65, 0x66, 0x66, 0x67, 0xFF, 0x68, 0xFF, 0x69, 0xB3
.byte 0x6A, 0xFF, 0x6B, 0xFF, 0x6C, 0xFF, 0x6D, 0xFF, 0x6E, 0xFF, 0x6F, 0xFF, 0x70, 0xFF, 0x71, 0xFF
.byte 0x72, 0xFF, 0x73, 0xFF, 0x74, 0xFF, 0x75, 0xFF, 0x76, 0xFF, 0x77, 0xFF, 0x78, 0xFF, 0x79, 0xFF
.byte 0x7A, 0xFF, 0x7B, 0xFF, 0x7C, 0xFF, 0x7D, 0xFF, 0x7E, 0xB1, 0x7F, 0xB2, 0x80, 0xB4, 0x81, 0xB5
.byte 0x82, 0xB6, 0x83, 0xB7, 0x84, 0xB8, 0x85, 0xB9, 0x86, 0xBA, 0x87, 0xBB, 0x88, 0xBC, 0x89, 0xBD
.byte 0x8A, 0xBE, 0x8B, 0xBF, 0x8C, 0xC0, 0x8D, 0xC1, 0x8E, 0xC2, 0x8F, 0xC3, 0x90, 0xC4, 0x91, 0xC5
.byte 0x92, 0xC6, 0x93, 0xC7, 0x94, 0xC8, 0x95, 0xC9, 0x96, 0xCA, 0x97, 0xCB, 0x98, 0xCC, 0x99, 0xCD
.byte 0x9A, 0xCE, 0x9B, 0xCF, 0x9C, 0xD0, 0x9D, 0xD1, 0x9E, 0xD2, 0x9F, 0xD3, 0xA0, 0xD4, 0xA1, 0xD5
.byte 0xA2, 0xD6, 0xA3, 0xD7, 0xA4, 0xD8, 0xA5, 0xD9, 0xA6, 0xDA, 0xA7, 0xDB, 0xA8, 0xDC, 0xA9, 0xDD
.byte 0xAA, 0xDE, 0xAB, 0xF1, 0xAC, 0xF2, 0xAD, 0xF7, 0xAE, 0xF8, 0xAF, 0xF9, 0xB0, 0xFA, 0xB1, 0xFF
.byte 0xB2, 0xFF, 0xB3, 0xFF, 0xB4, 0xFF, 0xB5, 0xFF, 0xB6, 0xFF, 0xB7, 0xFF, 0xB8, 0xFF, 0xB9, 0xFF
.byte 0xBA, 0xFF, 0xBB, 0xFF, 0xBC, 0xFF, 0xBD, 0xFF, 0xBE, 0xFF, 0xBF, 0xFF, 0xC0, 0xFF, 0xC1, 0xFF
.byte 0xC2, 0xFF, 0xC3, 0xFF, 0xC4, 0xFF, 0xC5, 0xFF, 0xC6, 0xFF, 0xC7, 0xFF, 0xC8, 0xFF, 0xC9, 0xFF
.byte 0xCA, 0xFF, 0xCB, 0xFF, 0xCC, 0xFF, 0xCD, 0xFF, 0xCE, 0xFF, 0xCF, 0xFF, 0xD0, 0xFF, 0xD1, 0xFF
.byte 0xD2, 0xFF, 0xD3, 0xFF, 0xD4, 0xFF, 0xD5, 0xFF, 0xD6, 0xFF, 0xD7, 0xFF, 0xD8, 0xFF, 0xD9, 0xFF
.byte 0xDA, 0xFF, 0xDB, 0xFF, 0xDC, 0xFF, 0xDD, 0xFF, 0xDE, 0xFF, 0xDF, 0xFF, 0xE0, 0xFF, 0xE1, 0xFF
.byte 0xE2, 0xFF, 0xE3, 0xFF, 0xE4, 0xFF, 0xE5, 0xFF, 0xE6, 0xFF, 0xE7, 0xFF, 0xE8, 0xFF, 0xE9, 0xFF
.byte 0xEA, 0xFF, 0xEB, 0xFF, 0xEC, 0xFF, 0xED, 0xFF, 0xEE, 0xFF, 0xEF, 0xFF, 0xF0, 0xFF, 0xF1, 0xFF
.byte 0xF2, 0xFF, 0xF3, 0xFF, 0xF4, 0xFF, 0xF5, 0xFF, 0xF6, 0xFF, 0xF7, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF
.byte 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF
.global IQ_GUMMI_GAIN_TABLE
IQ_GUMMI_GAIN_TABLE:
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x05, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00
.byte 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x05, 0x00
.byte 0x04, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00
.byte 0x04, 0x00, 0x02, 0x00, 0x05, 0x00, 0x02, 0x00, 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x02, 0x00
.byte 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x05, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00
.byte 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x05, 0x00, 0x04, 0x00
.byte 0x03, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x01, 0x00, 0x04, 0x00, 0x03, 0x00
.byte 0x02, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00
.byte 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00, 0x05, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00
.byte 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00
.byte 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00
.byte 0x04, 0x00, 0x03, 0x00, 0x05, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00
.byte 0x02, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00
.byte 0x05, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00
.byte 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x01, 0x00, 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00
.byte 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00
.byte 0x01, 0x00, 0x04, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00
.byte 0x02, 0x00, 0x05, 0x00
.global GUMMI_BELLY_RESTORE_TABLE
GUMMI_BELLY_RESTORE_TABLE:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x05, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00
.byte 0x1E, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00
.byte 0x00, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x14, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x0A, 0x00
.byte 0x14, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00
.byte 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00
.byte 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0A, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00
.byte 0x14, 0x00, 0x05, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x05, 0x00
.byte 0x1E, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00
.byte 0x14, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x14, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x14, 0x00
.byte 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x05, 0x00, 0x0A, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00
.byte 0x00, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00
.byte 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00
.byte 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x05, 0x00, 0x14, 0x00, 0x0F, 0x00
.byte 0x0A, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00
.byte 0x0A, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x05, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0A, 0x00
.byte 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x1E, 0x00

View File

@ -3,6 +3,7 @@
.text
; https://decomp.me/scratch/H0aXM
arm_func_start ExecuteMoveEffect
ExecuteMoveEffect: ; 0x0232E864
#ifdef JAPAN

View File

@ -0,0 +1,7 @@
#ifndef PMDSKY_DUNGEON_PARAMETERS_3_H
#define PMDSKY_DUNGEON_PARAMETERS_3_H
// Minimum IQ required for enemies to use Exclusive-Move User
extern const s16 MIN_IQ_EXCLUSIVE_MOVE_USER;
#endif //PMDSKY_DUNGEON_PARAMETERS_3_H

View File

@ -0,0 +1,7 @@
#ifndef PMDSKY_DUNGEON_PARAMETERS_4_H
#define PMDSKY_DUNGEON_PARAMETERS_4_H
// Minimum IQ required for enemies to use Item Master
extern const s16 MIN_IQ_ITEM_MASTER;
#endif //PMDSKY_DUNGEON_PARAMETERS_4_H

View File

@ -2,7 +2,6 @@
#define PMDSKY_ENUMS_H
#define NUM_TACTICS TACTIC_NONE + 1
#define MAX_NUM_IQ_SKILLS 25
// Tactic ID. These are usually encoded as bitvectors.
enum tactic_id {

14
include/iq_skills.h Normal file
View File

@ -0,0 +1,14 @@
#ifndef PMDSKY_IQ_SKILLS_H
#define PMDSKY_IQ_SKILLS_H
#define NUM_IQ_SKILLS 69
#define NUM_IQ_SKILLS_PER_GROUP 25
#define NUM_IQ_GROUPS 16
#include "enums.h"
// Table of 4-byte values for each IQ skill that represent the required IQ value to unlock a skill.
extern const s32 IQ_SKILLS[NUM_IQ_SKILLS];
extern const enum iq_skill_id IQ_GROUP_SKILLS[NUM_IQ_GROUPS][NUM_IQ_SKILLS_PER_GROUP];
#endif //PMDSKY_IQ_SKILLS_H

6
include/main_02052B28.h Normal file
View File

@ -0,0 +1,6 @@
#ifndef PMDSKY_MAIN_02052B28_H
#define PMDSKY_MAIN_02052B28_H
s32 GetIqGroup(s16 monster_id);
#endif //PMDSKY_MAIN_02052B28_H

11
include/main_02058CD8.h Normal file
View File

@ -0,0 +1,11 @@
#ifndef PMDSKY_MAIN_02058CD8_H
#define PMDSKY_MAIN_02058CD8_H
#include "enums.h"
#include "util.h"
// Returns whether an IQ skill can be learned with a given IQ amount or not.
// If the specified amount is 0, it always returns false.
bool8 CanLearnIqSkill(s32 iq_amount, enum iq_skill_id iq_id);
#endif //PMDSKY_MAIN_02058CD8_H

9
include/main_02058E68.h Normal file
View File

@ -0,0 +1,9 @@
#ifndef PMDSKY_MAIN_02058E68_H
#define PMDSKY_MAIN_02058E68_H
#include "enums.h"
// Gets the <index>th skill on the list of IQ skills that a given monster species can learn.
enum iq_skill_id GetSpeciesIqSkill(s16 monster_id, u8 index);
#endif //PMDSKY_MAIN_02058E68_H

View File

@ -0,0 +1,9 @@
#ifndef PMDSKY_MONSTER_PARAMETERS_H
#define PMDSKY_MONSTER_PARAMETERS_H
#include "iq_skills.h"
// Table of 2-byte values for each IQ skill that represent a group. IQ skills in the same group can not be enabled at the same time.
extern const s16 IQ_SKILL_RESTRICTIONS[NUM_IQ_SKILLS + 1];
#endif //PMDSKY_MONSTER_PARAMETERS_H

View File

@ -82,6 +82,10 @@ Static main
Object asm/main_0204B018.o
Object src/script_variable.o
Object asm/main_rodata_0209CECC.o
Object src/dungeon_parameters_3.o
Object asm/main_rodata_020A1894.o
Object src/dungeon_parameters_4.o
Object asm/main_rodata_020A18BC.o
Object src/story_progress.o
Object src/special_episode.o
Object src/dungeon_recruitment_3.o
@ -104,8 +108,11 @@ Static main
Object asm/main_02051788.o
Object src/tactics_data.o
Object asm/main_rodata_020A190C.o
Object src/monster_parameters.o
Object src/secondary_terrain_types.o
Object asm/main_rodata_020A1BB0.o
Object src/iq_skills.o
Object asm/main_rodata_020A20B1.o
Object src/main_020517D4.o
Object asm/main_020517F4.o
Object src/main_020526EC.o
@ -114,6 +121,8 @@ Static main
Object asm/main_020527E0.o
Object src/main_0205283C.o
Object asm/main_02052A7C.o
Object src/main_02052B28.o
Object asm/main_02052B44.o
Object src/main_02054AA4.o
Object asm/main_02054AD4.o
Object src/main_02054BE0.o
@ -122,6 +131,10 @@ Static main
Object asm/main_02054E4C.o
Object src/main_02058C3C.o
Object asm/main_02058C4C.o
Object src/main_02058CD8.o
Object asm/main_02058D04.o
Object src/main_02058E68.o
Object asm/main_02058E8C.o
Object src/pokemon.o
Object asm/main_02058F24.o
Object src/main_0206C98C.o

View File

@ -0,0 +1,3 @@
#include "dungeon_parameters_3.h"
const s16 MIN_IQ_EXCLUSIVE_MOVE_USER = 331;

View File

@ -0,0 +1,3 @@
#include "dungeon_parameters_4.h"
const s16 MIN_IQ_ITEM_MASTER = 150;

View File

@ -1,18 +1,18 @@
#include "dungeon_pokemon_attributes_1.h"
#include "dungeon_logic_7.h"
#include "dungeon_parameters_3.h"
#include "dungeon_parameters_4.h"
#include "dungeon_util_static.h"
#include "iq_skills.h"
#include "main_02058CD8.h"
#include "main_02058E68.h"
#include "overlay_29_022FF898.h"
#include "overlay_29_023000E4.h"
#include "pokemon.h"
extern bool8 CanLearnIqSkill(s32 iq_amount, enum iq_skill_id iq_id);
extern void DisableIqSkill(u32 *iq_skills_flags, enum iq_skill_id iq_id);
extern void EnableIqSkill(u32 *iq_skills_flags, enum iq_skill_id iq_id);
extern bool8 GetPerformanceFlagWithChecks(s32 flag_id);
extern enum iq_skill_id GetSpeciesIqSkill(s16 monster_id, u8 index);
extern s16 MIN_IQ_EXCLUSIVE_MOVE_USER;
extern s16 MIN_IQ_ITEM_MASTER;
bool8 CanSeeInvisibleMonsters(struct entity *entity)
{
@ -59,7 +59,7 @@ void UpdateIqSkills(struct monster *monster)
monster->iq_skill_flags.flags[1] = 0;
monster->iq_skill_flags.flags[2] = 0;
for (s32 i = 0; i < MAX_NUM_IQ_SKILLS; i++)
for (s32 i = 0; i < NUM_IQ_SKILLS_PER_GROUP; i++)
{
enum iq_skill_id iq_skill = GetSpeciesIqSkill(monster->id, i);
if (iq_skill == IQ_NONE_2)
@ -94,7 +94,7 @@ void UpdateIqSkills(struct monster *monster)
monster->iq_skill_flags.flags[0] = 0;
monster->iq_skill_flags.flags[1] = 0;
monster->iq_skill_flags.flags[2] = 0;
for (s32 i = 0; i < MAX_NUM_IQ_SKILLS; i++)
for (s32 i = 0; i < NUM_IQ_SKILLS_PER_GROUP; i++)
{
enum iq_skill_id iq_skill = GetSpeciesIqSkill(monster->id, i);
if (iq_skill == IQ_NONE_2)

519
src/iq_skills.c Normal file
View File

@ -0,0 +1,519 @@
#include "iq_skills.h"
const s32 IQ_SKILLS[69] =
{
9999, // IQ_NONE
105, // IQ_TYPE_ADVANTAGE_MASTER
-1, // IQ_ITEM_CATCHER
-1, // IQ_COURSE_CHECKER
500, // IQ_SURE_HIT_ATTACKER
540, // IQ_QUICK_DODGER
9999, // IQ_PP_CHECKER
40, // IQ_NONTRAITOR
25, // IQ_STATUS_CHECKER
200, // IQ_EXP_GO_GETTER
10, // IQ_EFFICIENCY_EXPERT
125, // IQ_WEAK_TYPE_PICKER
400, // IQ_ALL_TERRAIN_HIKER
990, // IQ_ABSOLUTE_MOVER
240, // IQ_TRAP_AVOIDER
800, // IQ_HOUSE_AVOIDER
250, // IQ_ENERGY_SAVER
160, // IQ_NONSLEEPER
70, // IQ_SELF_CURER
600, // IQ_TRAP_SEER
300, // IQ_LAVA_EVADER
1, // IQ_DEDICATED_TRAVELER
-1, // IQ_ITEM_MASTER
-1, // IQ_EXCLUSIVE_MOVE_USER
1, // IQ_ESCAPIST
9999, // IQ_LOCK_PICKER
480, // IQ_STAIR_SENSOR
150, // IQ_COIN_WATCHER
320, // IQ_EXP_ELITE
260, // IQ_SHARPSHOOTER
550, // IQ_FAST_FRIEND
55, // IQ_PP_SAVER
65, // IQ_BODYGUARD
9999, // IQ_CAUTIOUS_CREEPER
220, // IQ_AGGRESSOR
230, // IQ_DEFENDER
560, // IQ_INTIMIDATOR
140, // IQ_SURVIVALIST
420, // IQ_TRAP_BUSTER
330, // IQ_COUNTER_HITTER
520, // IQ_EXTRA_STRIKER
270, // IQ_HIT_AND_RUNNER
9999, // IQ_PARRY_EXPERT
750, // IQ_QUICK_STRIKER
570, // IQ_NO_CHARGER
180, // IQ_WARY_FIGHTER
170, // IQ_GAP_PROBER
130, // IQ_POWER_PITCHER
185, // IQ_CONCENTRATOR
280, // IQ_COUNTER_BASHER
30, // IQ_CHEERLEADER
900, // IQ_NATURE_GIFTER
175, // IQ_WISE_HEALER
290, // IQ_QUICK_HEALER
50, // IQ_ACUTE_SNIFFER
190, // IQ_DEEP_BREATHER
100, // IQ_BRICK_TOUGH
310, // IQ_MULTITALENT
950, // IQ_TIME_TRIPPER
340, // IQ_ERRATIC_PLAYER
195, // IQ_PRACTICE_SWINGER
9999, // IQ_NO_DEFEATIST
350, // IQ_HAGGLER
360, // IQ_CLUTCH_PERFORMER
440, // IQ_CRITICAL_DODGER
580, // IQ_MAP_SURVEYOR
850, // IQ_PIERCE_HURLER
370, // IQ_COLLECTOR
9999, // IQ_TRUE_POWERIST
};
const enum iq_skill_id IQ_GROUP_SKILLS[16][25] =
{
// Group A
{
IQ_ESCAPIST,
IQ_STAIR_SENSOR,
IQ_COIN_WATCHER,
IQ_PP_SAVER,
IQ_SURVIVALIST,
IQ_TRAP_BUSTER,
IQ_ACUTE_SNIFFER,
IQ_MULTITALENT,
IQ_HAGGLER,
IQ_MAP_SURVEYOR,
IQ_PIERCE_HURLER,
IQ_COLLECTOR,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_TYPE_ADVANTAGE_MASTER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_DEDICATED_TRAVELER,
IQ_ALL_TERRAIN_HIKER,
IQ_HOUSE_AVOIDER,
IQ_LAVA_EVADER,
IQ_ITEM_CATCHER,
IQ_NONSLEEPER,
IQ_NONE_2
},
// Group B
{
IQ_ESCAPIST,
IQ_COIN_WATCHER,
IQ_FAST_FRIEND,
IQ_BODYGUARD,
IQ_TRAP_BUSTER,
IQ_GAP_PROBER,
IQ_CHEERLEADER,
IQ_NATURE_GIFTER,
IQ_WISE_HEALER,
IQ_DEEP_BREATHER,
IQ_HAGGLER,
IQ_PIERCE_HURLER,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_TYPE_ADVANTAGE_MASTER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_DEDICATED_TRAVELER,
IQ_HOUSE_AVOIDER,
IQ_TRAP_SEER,
IQ_ITEM_CATCHER,
IQ_NONSLEEPER,
IQ_LAVA_EVADER,
IQ_NONE_2
},
// Group C
{
IQ_ESCAPIST,
IQ_AGGRESSOR,
IQ_INTIMIDATOR,
IQ_SURVIVALIST,
IQ_EXTRA_STRIKER,
IQ_NO_CHARGER,
IQ_POWER_PITCHER,
IQ_CONCENTRATOR,
IQ_COUNTER_BASHER,
IQ_BRICK_TOUGH,
IQ_ERRATIC_PLAYER,
IQ_PRACTICE_SWINGER,
IQ_CLUTCH_PERFORMER,
IQ_PIERCE_HURLER,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_TYPE_ADVANTAGE_MASTER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_EXP_GO_GETTER,
IQ_ITEM_CATCHER,
IQ_NONSLEEPER,
IQ_LAVA_EVADER,
IQ_NONE_2
},
// Group D
{
IQ_ESCAPIST,
IQ_STAIR_SENSOR,
IQ_SHARPSHOOTER,
IQ_PP_SAVER,
IQ_COUNTER_HITTER,
IQ_EXTRA_STRIKER,
IQ_QUICK_STRIKER,
IQ_GAP_PROBER,
IQ_CONCENTRATOR,
IQ_PRACTICE_SWINGER,
IQ_CLUTCH_PERFORMER,
IQ_CRITICAL_DODGER,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_DEDICATED_TRAVELER,
IQ_TRAP_AVOIDER,
IQ_SELF_CURER,
IQ_TRAP_SEER,
IQ_ITEM_CATCHER,
IQ_QUICK_DODGER,
IQ_LAVA_EVADER,
IQ_NONE_2
},
// Group E
{
IQ_ESCAPIST,
IQ_BODYGUARD,
IQ_DEFENDER,
IQ_INTIMIDATOR,
IQ_SURVIVALIST,
IQ_COUNTER_HITTER,
IQ_WARY_FIGHTER,
IQ_POWER_PITCHER,
IQ_CHEERLEADER,
IQ_WISE_HEALER,
IQ_QUICK_HEALER,
IQ_DEEP_BREATHER,
IQ_BRICK_TOUGH,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_SURE_HIT_ATTACKER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_EFFICIENCY_EXPERT,
IQ_HOUSE_AVOIDER,
IQ_ITEM_CATCHER,
IQ_ENERGY_SAVER,
IQ_LAVA_EVADER,
IQ_NONE_2
},
// Group F
{
IQ_ESCAPIST,
IQ_STAIR_SENSOR,
IQ_EXP_ELITE,
IQ_SHARPSHOOTER,
IQ_PP_SAVER,
IQ_TRAP_BUSTER,
IQ_HIT_AND_RUNNER,
IQ_NO_CHARGER,
IQ_WARY_FIGHTER,
IQ_GAP_PROBER,
IQ_MULTITALENT,
IQ_PIERCE_HURLER,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_TYPE_ADVANTAGE_MASTER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_WEAK_TYPE_PICKER,
IQ_ALL_TERRAIN_HIKER,
IQ_HOUSE_AVOIDER,
IQ_SELF_CURER,
IQ_LAVA_EVADER,
IQ_ITEM_CATCHER,
IQ_NONE_2
},
// Group G
{
IQ_ESCAPIST,
IQ_STAIR_SENSOR,
IQ_EXP_ELITE,
IQ_PP_SAVER,
IQ_HIT_AND_RUNNER,
IQ_QUICK_STRIKER,
IQ_QUICK_HEALER,
IQ_ACUTE_SNIFFER,
IQ_ERRATIC_PLAYER,
IQ_PRACTICE_SWINGER,
IQ_CRITICAL_DODGER,
IQ_MAP_SURVEYOR,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_EXP_GO_GETTER,
IQ_TRAP_AVOIDER,
IQ_SELF_CURER,
IQ_TRAP_SEER,
IQ_ITEM_CATCHER,
IQ_QUICK_DODGER,
IQ_LAVA_EVADER,
IQ_NONE_2
},
// Group H
{
IQ_ESCAPIST,
IQ_COIN_WATCHER,
IQ_FAST_FRIEND,
IQ_BODYGUARD,
IQ_TRAP_BUSTER,
IQ_WARY_FIGHTER,
IQ_NATURE_GIFTER,
IQ_WISE_HEALER,
IQ_QUICK_HEALER,
IQ_DEEP_BREATHER,
IQ_BRICK_TOUGH,
IQ_CRITICAL_DODGER,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_EFFICIENCY_EXPERT,
IQ_ALL_TERRAIN_HIKER,
IQ_HOUSE_AVOIDER,
IQ_SELF_CURER,
IQ_LAVA_EVADER,
IQ_ITEM_CATCHER,
IQ_QUICK_DODGER,
IQ_NONE_2
},
{
IQ_ESCAPIST,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_ITEM_CATCHER,
IQ_LAVA_EVADER,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2
},
{
IQ_ESCAPIST,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_ITEM_CATCHER,
IQ_LAVA_EVADER,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2
},
// Group I
{
IQ_ESCAPIST,
IQ_SHARPSHOOTER,
IQ_AGGRESSOR,
IQ_INTIMIDATOR,
IQ_SURVIVALIST,
IQ_EXTRA_STRIKER,
IQ_PP_SAVER,
IQ_POWER_PITCHER,
IQ_QUICK_HEALER,
IQ_DEEP_BREATHER,
IQ_TIME_TRIPPER,
IQ_PRACTICE_SWINGER,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_EXP_GO_GETTER,
IQ_ALL_TERRAIN_HIKER,
IQ_HOUSE_AVOIDER,
IQ_SELF_CURER,
IQ_LAVA_EVADER,
IQ_ITEM_CATCHER,
IQ_QUICK_DODGER,
IQ_NONE_2
},
// Group J
{
IQ_ESCAPIST,
IQ_STAIR_SENSOR,
IQ_PP_SAVER,
IQ_DEFENDER,
IQ_INTIMIDATOR,
IQ_HIT_AND_RUNNER,
IQ_WARY_FIGHTER,
IQ_GAP_PROBER,
IQ_CONCENTRATOR,
IQ_MULTITALENT,
IQ_PRACTICE_SWINGER,
IQ_MAP_SURVEYOR,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_SURE_HIT_ATTACKER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_WEAK_TYPE_PICKER,
IQ_ABSOLUTE_MOVER,
IQ_HOUSE_AVOIDER,
IQ_LAVA_EVADER,
IQ_ITEM_CATCHER,
IQ_ENERGY_SAVER,
IQ_NONE_2
},
{
IQ_ESCAPIST,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_ITEM_CATCHER,
IQ_LAVA_EVADER,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2
},
{
IQ_ESCAPIST,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_ITEM_CATCHER,
IQ_LAVA_EVADER,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2
},
{
IQ_ESCAPIST,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_ITEM_CATCHER,
IQ_LAVA_EVADER,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2
},
{
IQ_ESCAPIST,
IQ_ITEM_MASTER,
IQ_COURSE_CHECKER,
IQ_NONTRAITOR,
IQ_STATUS_CHECKER,
IQ_EXCLUSIVE_MOVE_USER,
IQ_ITEM_CATCHER,
IQ_LAVA_EVADER,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2,
IQ_NONE_2}
};

7
src/main_02052B28.c Normal file
View File

@ -0,0 +1,7 @@
#include "main_02052B28.h"
#include "monster_data.h"
s32 GetIqGroup(s16 monster_id)
{
return MONSTER_DATA_TABLE_PTR->entries[monster_id].iq_group;
}

10
src/main_02058CD8.c Normal file
View File

@ -0,0 +1,10 @@
#include "main_02058CD8.h"
#include "iq_skills.h"
bool8 CanLearnIqSkill(s32 iq_amount, enum iq_skill_id iq_id)
{
if (iq_id == IQ_NONE)
return 0;
return IQ_SKILLS[iq_id] <= iq_amount;
}

8
src/main_02058E68.c Normal file
View File

@ -0,0 +1,8 @@
#include "main_02058E68.h"
#include "iq_skills.h"
#include "main_02052B28.h"
enum iq_skill_id GetSpeciesIqSkill(s16 monster_id, u8 index)
{
return IQ_GROUP_SKILLS[GetIqGroup(monster_id)][index];
}

75
src/monster_parameters.c Normal file
View File

@ -0,0 +1,75 @@
#include "monster_parameters.h"
const s16 IQ_SKILL_RESTRICTIONS[NUM_IQ_SKILLS + 1] =
{
9999, // IQ_NONE
4, // IQ_TYPE_ADVANTAGE_MASTER
1, // IQ_ITEM_CATCHER
2, // IQ_COURSE_CHECKER
4, // IQ_SURE_HIT_ATTACKER
4, // IQ_QUICK_DODGER
6, // IQ_PP_CHECKER
7, // IQ_NONTRAITOR
8, // IQ_STATUS_CHECKER
9, // IQ_EXP_GO_GETTER
9, // IQ_EFFICIENCY_EXPERT
9, // IQ_WEAK_TYPE_PICKER
10, // IQ_ALL_TERRAIN_HIKER
10, // IQ_ABSOLUTE_MOVER
11, // IQ_TRAP_AVOIDER
11, // IQ_HOUSE_AVOIDER
14, // IQ_ENERGY_SAVER
14, // IQ_NONSLEEPER
14, // IQ_SELF_CURER
16, // IQ_TRAP_SEER
20, // IQ_LAVA_EVADER
9, // IQ_DEDICATED_TRAVELER
17, // IQ_ITEM_MASTER
6, // IQ_EXCLUSIVE_MOVE_USER
24, // IQ_ESCAPIST
25, // IQ_LOCK_PICKER
26, // IQ_STAIR_SENSOR
27, // IQ_COIN_WATCHER
28, // IQ_EXP_ELITE
29, // IQ_SHARPSHOOTER
30, // IQ_FAST_FRIEND
31, // IQ_PP_SAVER
32, // IQ_BODYGUARD
33, // IQ_CAUTIOUS_CREEPER
34, // IQ_AGGRESSOR
35, // IQ_DEFENDER
36, // IQ_INTIMIDATOR
37, // IQ_SURVIVALIST
38, // IQ_TRAP_BUSTER
39, // IQ_COUNTER_HITTER
40, // IQ_EXTRA_STRIKER
41, // IQ_HIT_AND_RUNNER
42, // IQ_PARRY_EXPERT
43, // IQ_QUICK_STRIKER
44, // IQ_NO_CHARGER
45, // IQ_WARY_FIGHTER
46, // IQ_GAP_PROBER
47, // IQ_POWER_PITCHER
48, // IQ_CONCENTRATOR
49, // IQ_COUNTER_BASHER
50, // IQ_CHEERLEADER
51, // IQ_NATURE_GIFTER
52, // IQ_WISE_HEALER
53, // IQ_QUICK_HEALER
54, // IQ_ACUTE_SNIFFER
55, // IQ_DEEP_BREATHER
56, // IQ_BRICK_TOUGH
57, // IQ_MULTITALENT
58, // IQ_TIME_TRIPPER
59, // IQ_ERRATIC_PLAYER
60, // IQ_PRACTICE_SWINGER
61, // IQ_NO_DEFEATIST
62, // IQ_HAGGLER
63, // IQ_CLUTCH_PERFORMER
64, // IQ_CRITICAL_DODGER
65, // IQ_MAP_SURVEYOR
66, // IQ_PIERCE_HURLER
67, // IQ_COLLECTOR
68, // IQ_TRUE_POWERIST
0, // IQ_NONE_2
};

View File

@ -6,7 +6,8 @@
#define NEUTRAL MATCHUP_NEUTRAL
#define SUPER MATCHUP_SUPER_EFFECTIVE
const struct type_matchup_table TYPE_MATCHUP_TABLE = {
const struct type_matchup_table TYPE_MATCHUP_TABLE =
{
{
// NONE NORMAL FIRE WATER GRASS ELECTRIC ICE FIGHTING POISON GROUND FLYING PSYCHIC BUG ROCK GHOST DRAGON DARK STEEL
[TYPE_NONE] = {NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL, NEUTRAL},