Merge pull request #82 from jiangzhengwenjz/pokemon

pokemon
This commit is contained in:
PikalaxALT
2019-07-20 12:41:34 -04:00
committed by GitHub
60 changed files with 37844 additions and 1879 deletions
+6 -6
View File
@@ -1132,7 +1132,7 @@ _0801067E:
adds r1, r0 adds r1, r0
ldrh r0, [r1] ldrh r0, [r1]
strh r0, [r2, 0x10] strh r0, [r2, 0x10]
bl sub_8044708 bl SetDeoxysStats
ldr r1, _080106F0 @ =gUnknown_2023E82 ldr r1, _080106F0 @ =gUnknown_2023E82
b _080108B2 b _080108B2
.align 2, 0 .align 2, 0
@@ -1834,7 +1834,7 @@ _08010CE2:
adds r1, r7, 0 adds r1, r7, 0
bl sub_8010414 bl sub_8010414
bl sub_801017C bl sub_801017C
bl sub_8044708 bl SetDeoxysStats
ldr r0, _08010D4C @ =gDecompressionBuffer ldr r0, _08010D4C @ =gDecompressionBuffer
ldr r1, _08010D50 @ =gPlayerParty ldr r1, _08010D50 @ =gPlayerParty
movs r2, 0x96 movs r2, 0x96
@@ -6570,7 +6570,7 @@ _080131F6:
add r1, r10 add r1, r10
ldr r2, [r1] ldr r2, [r1]
movs r1, 0x2 movs r1, 0x2
bl sub_8044898 bl HandleSetPokedexFlag
b _080132C2 b _080132C2
.align 2, 0 .align 2, 0
_08013230: .4byte gBaseStats _08013230: .4byte gBaseStats
@@ -6609,7 +6609,7 @@ _0801324C:
add r1, r10 add r1, r10
ldr r2, [r1] ldr r2, [r1]
movs r1, 0x2 movs r1, 0x2
bl sub_8044898 bl HandleSetPokedexFlag
b _080132B4 b _080132B4
_0801328E: _0801328E:
ldr r0, _08013324 @ =0x0001aa02 ldr r0, _08013324 @ =0x0001aa02
@@ -6628,7 +6628,7 @@ _0801328E:
add r1, r10 add r1, r10
ldr r2, [r1] ldr r2, [r1]
movs r1, 0x2 movs r1, 0x2
bl sub_8044898 bl HandleSetPokedexFlag
_080132B4: _080132B4:
movs r0, 0 movs r0, 0
bl EmitLoadMonSprite bl EmitLoadMonSprite
@@ -7097,7 +7097,7 @@ _0801364C:
adds r1, r7 adds r1, r7
ldr r2, [r1] ldr r2, [r1]
movs r1, 0x2 movs r1, 0x2
bl sub_8044898 bl HandleSetPokedexFlag
_08013684: _08013684:
ldrb r0, [r4] ldrb r0, [r4]
adds r0, 0x1 adds r0, 0x1
+1 -1
View File
@@ -1005,7 +1005,7 @@ _0802EB04:
cmp r0, 0 cmp r0, 0
bne _0802EB3A bne _0802EB3A
movs r0, 0 movs r0, 0
bl CountAliveMons bl CountAliveMonsInBattle
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x1 cmp r0, 0x1
+2 -2
View File
@@ -3610,7 +3610,7 @@ _08049734:
lsls r1, 24 lsls r1, 24
lsrs r1, 24 lsrs r1, 24
adds r0, r7, 0 adds r0, r7, 0
bl sub_80448F8 bl CheckBattleTypeGhost
lsls r0, 24 lsls r0, 24
cmp r0, 0 cmp r0, 0
beq _08049754 beq _08049754
@@ -3755,7 +3755,7 @@ sub_804981C: @ 804981C
ldr r6, _080498EC @ =gEnemyParty ldr r6, _080498EC @ =gEnemyParty
adds r0, r6 adds r0, r6
adds r1, r4, 0 adds r1, r4, 0
bl sub_80448F8 bl CheckBattleTypeGhost
lsls r0, 24 lsls r0, 24
cmp r0, 0 cmp r0, 0
bne _0804991C bne _0804991C
+7 -7
View File
@@ -13273,7 +13273,7 @@ sub_80240D4: @ 80240D4
adds r1, r4 adds r1, r4
ldr r2, [r1] ldr r2, [r1]
movs r1, 0x2 movs r1, 0x2
bl sub_8044898 bl HandleSetPokedexFlag
_0802412A: _0802412A:
ldr r2, _08024180 @ =gAbsentBattlerFlags ldr r2, _08024180 @ =gAbsentBattlerFlags
ldr r1, _08024184 @ =gBitTable ldr r1, _08024184 @ =gBitTable
@@ -13398,7 +13398,7 @@ _08024228:
bl GetBankMultiplayerId bl GetBankMultiplayerId
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
bl sub_8043620 bl GetLinkTrainerFlankId
lsls r0, 16 lsls r0, 16
lsrs r0, 16 lsrs r0, 16
cmp r0, 0x1 cmp r0, 0x1
@@ -19745,7 +19745,7 @@ _0802753C:
cmp r0, 0 cmp r0, 0
beq _080275AC beq _080275AC
movs r0, 0x1 movs r0, 0x1
bl CountAliveMons bl CountAliveMonsInBattle
lsls r0, 24 lsls r0, 24
lsrs r1, r0, 24 lsrs r1, r0, 24
cmp r1, 0x2 cmp r1, 0x2
@@ -21520,7 +21520,7 @@ _08028336:
bl GetBankMultiplayerId bl GetBankMultiplayerId
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
bl sub_8043620 bl GetLinkTrainerFlankId
lsls r0, 16 lsls r0, 16
lsrs r0, 16 lsrs r0, 16
cmp r0, 0x1 cmp r0, 0x1
@@ -21665,7 +21665,7 @@ _08028458:
bl GetBankMultiplayerId bl GetBankMultiplayerId
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
bl sub_8043620 bl GetLinkTrainerFlankId
lsls r0, 16 lsls r0, 16
lsrs r0, 16 lsrs r0, 16
cmp r0, 0x1 cmp r0, 0x1
@@ -22207,7 +22207,7 @@ _0802887C:
cmp r0, 0 cmp r0, 0
beq _080288EC beq _080288EC
movs r0, 0x1 movs r0, 0x1
bl CountAliveMons bl CountAliveMonsInBattle
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x2 cmp r0, 0x2
@@ -32384,7 +32384,7 @@ _0802D9B4:
lsrs r0, 16 lsrs r0, 16
movs r1, 0x3 movs r1, 0x3
adds r2, r4, 0 adds r2, r4, 0
bl sub_8044898 bl HandleSetPokedexFlag
ldr r1, _0802D9D4 @ =gUnknown_2023D74 ldr r1, _0802D9D4 @ =gUnknown_2023D74
ldr r0, [r1] ldr r0, [r1]
adds r0, 0x5 adds r0, 0x5
+1 -1
View File
@@ -2051,7 +2051,7 @@ sub_8080628: @ 8080628
beq _080806BE beq _080806BE
ldr r0, _08080668 @ =gTrainerBattleOpponent_A ldr r0, _08080668 @ =gTrainerBattleOpponent_A
ldrh r0, [r0] ldrh r0, [r0]
bl sub_804367C bl GetTrainerEncounterMusicId
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0xD cmp r0, 0xD
+3 -3
View File
@@ -1222,7 +1222,7 @@ _080E6286:
adds r2, r3 adds r2, r3
ldr r1, [r4] ldr r1, [r4]
adds r1, r2 adds r1, r2
bl sub_803E0A4 bl CreateBattleTowerMon
adds r6, 0x1 adds r6, 0x1
cmp r6, 0x2 cmp r6, 0x2
ble _080E6286 ble _080E6286
@@ -1251,7 +1251,7 @@ _080E62B2:
muls r2, r6 muls r2, r6
adds r2, 0x1C adds r2, 0x1C
adds r1, r2 adds r1, r2
bl sub_803E0A4 bl CreateBattleTowerMon
adds r6, 0x1 adds r6, 0x1
cmp r6, 0x2 cmp r6, 0x2
ble _080E62B2 ble _080E62B2
@@ -2136,7 +2136,7 @@ _080E69A0:
adds r2, r1 adds r2, r1
ldr r1, [r4] ldr r1, [r4]
adds r1, r2 adds r1, r2
bl sub_803E0A4 bl CreateBattleTowerMon
adds r5, 0x1 adds r5, 0x1
cmp r5, 0x2 cmp r5, 0x2
ble _080E69A0 ble _080E69A0
+1 -1
View File
@@ -5775,7 +5775,7 @@ _08019C40:
mov r8, r0 mov r8, r0
_08019C66: _08019C66:
adds r0, r7, 0 adds r0, r7, 0
bl sub_8043620 bl GetLinkTrainerFlankId
lsls r0, 24 lsls r0, 24
lsrs r6, r0, 24 lsrs r6, r0, 24
lsls r0, r6, 1 lsls r0, r6, 1
+1 -1
View File
@@ -38,7 +38,7 @@ sub_8054C04: @ 8054C04
adds r4, r0, 0 adds r4, r0, 0
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
bl sub_80444F8 bl GetPlayerPartyHighestLevel
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
ldr r1, _08054C40 @ =gUnknown_826D294 ldr r1, _08054C40 @ =gUnknown_826D294
+1 -1
View File
@@ -18182,7 +18182,7 @@ sub_8127AC0: @ 8127AC0
bne _08127B08 bne _08127B08
_08127AE6: _08127AE6:
ldr r4, _08127AFC @ =gStringVar1 ldr r4, _08127AFC @ =gStringVar1
bl sub_80444C4 bl GetTrainerPartnerName
adds r1, r0, 0 adds r1, r0, 0
adds r0, r4, 0 adds r0, r4, 0
bl StringCopy bl StringCopy
-1228
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -9193,7 +9193,7 @@ sub_81390B0: @ 81390B0
mov r4, sp mov r4, sp
adds r4, 0x6 adds r4, 0x6
strb r0, [r4] strb r0, [r4]
ldr r5, _081391E8 @ =gUnknown_825DEA1 ldr r5, _081391E8 @ =gPPUpGetMask
ldr r0, _081391E0 @ =gUnknown_203B16D ldr r0, _081391E0 @ =gUnknown_203B16D
ldrb r1, [r0] ldrb r1, [r0]
adds r0, r1, r5 adds r0, r1, r5
@@ -9278,7 +9278,7 @@ _081391D8: .4byte gUnknown_203B140
_081391DC: .4byte 0x000032f4 _081391DC: .4byte 0x000032f4
_081391E0: .4byte gUnknown_203B16D _081391E0: .4byte gUnknown_203B16D
_081391E4: .4byte gUnknown_203B16E _081391E4: .4byte gUnknown_203B16E
_081391E8: .4byte gUnknown_825DEA1 _081391E8: .4byte gPPUpGetMask
thumb_func_end sub_81390B0 thumb_func_end sub_81390B0
thumb_func_start sub_81391EC thumb_func_start sub_81391EC
@@ -9340,7 +9340,7 @@ sub_81391EC: @ 81391EC
mov r4, sp mov r4, sp
adds r4, 0x6 adds r4, 0x6
strb r0, [r4] strb r0, [r4]
ldr r5, _08139324 @ =gUnknown_825DEA1 ldr r5, _08139324 @ =gPPUpGetMask
ldr r0, _0813931C @ =gUnknown_203B16D ldr r0, _0813931C @ =gUnknown_203B16D
ldrb r1, [r0] ldrb r1, [r0]
adds r0, r1, r5 adds r0, r1, r5
@@ -9425,7 +9425,7 @@ _08139314: .4byte gUnknown_203B140
_08139318: .4byte 0x000032f4 _08139318: .4byte 0x000032f4
_0813931C: .4byte gUnknown_203B16D _0813931C: .4byte gUnknown_203B16D
_08139320: .4byte gUnknown_203B16E _08139320: .4byte gUnknown_203B16E
_08139324: .4byte gUnknown_825DEA1 _08139324: .4byte gPPUpGetMask
thumb_func_end sub_81391EC thumb_func_end sub_81391EC
thumb_func_start sub_8139328 thumb_func_start sub_8139328
+2 -2
View File
@@ -269,7 +269,7 @@ sub_80BFAA8: @ 80BFAA8
mov r6, sp mov r6, sp
adds r6, 0x6 adds r6, 0x6
strb r0, [r6] strb r0, [r6]
ldr r1, _080BFBA4 @ =gUnknown_825DEA1 ldr r1, _080BFBA4 @ =gPPUpGetMask
adds r0, r5, r1 adds r0, r5, r1
ldrb r0, [r0] ldrb r0, [r0]
mov r9, r0 mov r9, r0
@@ -330,7 +330,7 @@ sub_80BFAA8: @ 80BFAA8
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_080BFBA4: .4byte gUnknown_825DEA1 _080BFBA4: .4byte gPPUpGetMask
thumb_func_end sub_80BFAA8 thumb_func_end sub_80BFAA8
thumb_func_start sub_80BFBA8 thumb_func_start sub_80BFBA8
+1 -1
View File
@@ -8135,7 +8135,7 @@ sub_80507A0: @ 80507A0
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0x3 movs r1, 0x3
adds r2, r5, 0 adds r2, r5, 0
bl sub_8044898 bl HandleSetPokedexFlag
_080507F4: _080507F4:
pop {r4,r5} pop {r4,r5}
pop {r0} pop {r0}
+2 -2
View File
@@ -4955,7 +4955,7 @@ sub_808B838: @ 808B838
adds r0, r1 adds r0, r1
ldrb r4, [r0] ldrb r4, [r0]
adds r0, r4, 0 adds r0, r4, 0
bl sub_804454C bl FacilityClassToPicIndex
lsls r0, 16 lsls r0, 16
lsrs r0, 16 lsrs r0, 16
ldr r4, _0808B8A0 @ =gUnknown_83CD8EC ldr r4, _0808B8A0 @ =gUnknown_83CD8EC
@@ -4982,7 +4982,7 @@ _0808B8A4:
cmp r0, 0 cmp r0, 0
beq _0808B8FC beq _0808B8FC
adds r0, r4, 0 adds r0, r4, 0
bl sub_804454C bl FacilityClassToPicIndex
lsls r0, 16 lsls r0, 16
lsrs r0, 16 lsrs r0, 16
ldr r4, _0808B8F4 @ =gUnknown_83CD8EC ldr r4, _0808B8F4 @ =gUnknown_83CD8EC
+56 -247
View File
@@ -68,7 +68,52 @@ gUnknown_8234690:: @ 8234690
.incbin "baserom.gba", 0x234690, 0x4 .incbin "baserom.gba", 0x234690, 0x4
gUnknown_8234694:: @ 8234694 gUnknown_8234694:: @ 8234694
.incbin "baserom.gba", 0x234694, 0x328 .incbin "baserom.gba", 0x234694, 0x4
gUnknown_8234698:: @ 8234698
.incbin "baserom.gba", 0x234698, 0x20
gUnknown_82346B8:: @ 82346B8
.incbin "baserom.gba", 0x2346B8, 0x20
gUnknown_82346D8:: @ 82346D8
.incbin "baserom.gba", 0x2346D8, 0x20
gUnknown_82346F8:: @ 82346F8
.incbin "baserom.gba", 0x2346F8, 0x20
gUnknown_8234718:: @ 8234718
.incbin "baserom.gba", 0x234718, 0x28
gUnknown_8234740:: @ 8234740
.incbin "baserom.gba", 0x234740, 0x28
gUnknown_8234768:: @ 8234768
.incbin "baserom.gba", 0x234768, 0x20
gUnknown_8234788:: @ 8234788
.incbin "baserom.gba", 0x234788, 0x20
gUnknown_82347A8:: @ 82347A8
.incbin "baserom.gba", 0x2347A8, 0x20
gUnknown_82347C8:: @ 82347C8
.incbin "baserom.gba", 0x2347C8, 0x20
gUnknown_82347E8:: @ 82347E8
.incbin "baserom.gba", 0x2347E8, 0xE0
gUnknown_82348C8:: @ 82348C8
.incbin "baserom.gba", 0x2348C8, 0x24
gUnknown_82348EC:: @ 82348EC
.incbin "baserom.gba", 0x2348EC, 0x58
gUnknown_8234944:: @ 8234944
.incbin "baserom.gba", 0x234944, 0x58
gUnknown_823499C:: @ 823499C
.incbin "baserom.gba", 0x23499C, 0x20
gUnknown_82349BC:: @ 82349BC gUnknown_82349BC:: @ 82349BC
.incbin "baserom.gba", 0x2349BC, 0x10 .incbin "baserom.gba", 0x2349BC, 0x10
@@ -174,7 +219,16 @@ gUnknown_824EFF0:: @ 824EFF0
.incbin "baserom.gba", 0x24EFF0, 0x18 .incbin "baserom.gba", 0x24EFF0, 0x18
gUnknown_824F008:: @ 824F008 gUnknown_824F008:: @ 824F008
.incbin "baserom.gba", 0x24F008, 0x40 .incbin "baserom.gba", 0x24F008, 0x8
gUnknown_824F010:: @ 824F010
.incbin "baserom.gba", 0x24F010, 0x8
gUnknown_824F018:: @ 824F018
.incbin "baserom.gba", 0x24F018, 0x8
gUnknown_824F020:: @ 824F020
.incbin "baserom.gba", 0x24F020, 0x28
gUnknown_824F048:: @ 824F048 gUnknown_824F048:: @ 824F048
.incbin "baserom.gba", 0x24F048, 0x8 .incbin "baserom.gba", 0x24F048, 0x8
@@ -302,251 +356,6 @@ gUnknown_8250A34:: @ 8250A34
gUnknown_8250B20:: @ 8250B20 gUnknown_8250B20:: @ 8250B20
.incbin "baserom.gba", 0x250B20, 0xE4 .incbin "baserom.gba", 0x250B20, 0xE4
gBattleMoves:: @ 8250C04
.incbin "baserom.gba", 0x250C04, 0x10B4
gUnknown_8251CB8:: @ 8251CB8
.incbin "baserom.gba", 0x251CB8, 0x336
gUnknown_8251FEE:: @ 8251FEE
.incbin "baserom.gba", 0x251FEE, 0x336
gUnknown_8252324:: @ 8252324
.incbin "baserom.gba", 0x252324, 0x338
gSpindaSpotGraphics:: @ 825265C
.incbin "baserom.gba", 0x25265C, 0x260
gItemEffectTable:: @ 82528BC
.incbin "baserom.gba", 0x2528BC, 0x28C
gNatureStatTable:: @ 8252B48
.incbin "baserom.gba", 0x252B48, 0x80
gTMHMLearnsets:: @ 8252BC8
.incbin "baserom.gba", 0x252BC8, 0xCE0
gFacilityClassToPicIndex:: @ 82538A8
.incbin "baserom.gba", 0x2538A8, 0x96
gFacilityClassToTrainerClass:: @ 825393E
.byte CLASS_AQUA_LEADER
.byte CLASS_TEAM_AQUA
.byte CLASS_TEAM_AQUA
.byte CLASS_AROMA_LADY
.byte CLASS_RUIN_MANIAC
.byte CLASS_INTERVIEWER
.byte CLASS_TUBER
.byte CLASS_TUBER_2
.byte CLASS_COOLTRAINER
.byte CLASS_COOLTRAINER
.byte CLASS_HEX_MANIAC
.byte CLASS_LADY
.byte CLASS_BEAUTY
.byte CLASS_RICH_BOY
.byte CLASS_POKEMANIAC
.byte CLASS_SWIMMER_MALE
.byte CLASS_BLACK_BELT
.byte CLASS_GUITARIST
.byte CLASS_KINDLER
.byte CLASS_CAMPER
.byte CLASS_BUG_MANIAC
.byte CLASS_PSYCHIC
.byte CLASS_PSYCHIC
.byte CLASS_GENTLEMAN
.byte CLASS_ELITE_FOUR
.byte CLASS_ELITE_FOUR
.byte CLASS_LEADER
.byte CLASS_LEADER
.byte CLASS_LEADER
.byte CLASS_SCHOOL_KID
.byte CLASS_SCHOOL_KID
.byte CLASS_SR_AND_JR
.byte CLASS_POKEFAN
.byte CLASS_POKEFAN
.byte CLASS_EXPERT
.byte CLASS_EXPERT
.byte CLASS_YOUNGSTER
.byte CLASS_CHAMPION
.byte CLASS_FISHERMAN
.byte CLASS_TRIATHLETE
.byte CLASS_TRIATHLETE
.byte CLASS_TRIATHLETE
.byte CLASS_TRIATHLETE
.byte CLASS_TRIATHLETE
.byte CLASS_TRIATHLETE
.byte CLASS_DRAGON_TAMER
.byte CLASS_BIRD_KEEPER
.byte CLASS_NINJA_BOY
.byte CLASS_BATTLE_GIRL
.byte CLASS_PARASOL_LADY
.byte CLASS_SWIMMER_FEMALE
.byte CLASS_PICNICKER
.byte CLASS_TWINS
.byte CLASS_SAILOR
.byte CLASS_BOARDER
.byte CLASS_BOARDER
.byte CLASS_COLLECTOR
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_BREEDER
.byte CLASS_PKMN_BREEDER
.byte CLASS_PKMN_RANGER
.byte CLASS_PKMN_RANGER
.byte CLASS_MAGMA_LEADER
.byte CLASS_TEAM_MAGMA
.byte CLASS_TEAM_MAGMA
.byte CLASS_LASS
.byte CLASS_BUG_CATCHER
.byte CLASS_HIKER
.byte CLASS_YOUNG_COUPLE
.byte CLASS_OLD_COUPLE
.byte CLASS_SIS_AND_BRO
.byte CLASS_AQUA_ADMIN
.byte CLASS_AQUA_ADMIN
.byte CLASS_MAGMA_ADMIN
.byte CLASS_MAGMA_ADMIN
.byte CLASS_LEADER
.byte CLASS_LEADER
.byte CLASS_LEADER
.byte CLASS_LEADER
.byte CLASS_LEADER
.byte CLASS_ELITE_FOUR
.byte CLASS_ELITE_FOUR
.byte CLASS_YOUNGSTER_2
.byte CLASS_BUG_CATCHER_2
.byte CLASS_LASS_2
.byte CLASS_SAILOR_2
.byte CLASS_CAMPER_2
.byte CLASS_PICNICKER_2
.byte CLASS_POKEMANIAC_2
.byte CLASS_SUPER_NERD
.byte CLASS_HIKER_2
.byte CLASS_BIKER
.byte CLASS_BURGLAR
.byte CLASS_ENGINEER
.byte CLASS_FISHERMAN_2
.byte CLASS_SWIMMER_MALE_2
.byte CLASS_CUE_BALL
.byte CLASS_GAMER
.byte CLASS_BEAUTY_2
.byte CLASS_SWIMMER_FEMALE_2
.byte CLASS_PSYCHIC_2
.byte CLASS_ROCKER
.byte CLASS_JUGGLER
.byte CLASS_TAMER
.byte CLASS_BIRD_KEEPER_2
.byte CLASS_BLACK_BELT_2
.byte CLASS_RIVAL
.byte CLASS_SCIENTIST
.byte CLASS_BOSS
.byte CLASS_TEAM_ROCKET
.byte CLASS_COOLTRAINER_2
.byte CLASS_COOLTRAINER_2
.byte CLASS_ELITE_FOUR_2
.byte CLASS_ELITE_FOUR_2
.byte CLASS_LEADER_2
.byte CLASS_LEADER_2
.byte CLASS_GENTLEMAN_2
.byte CLASS_RIVAL_2
.byte CLASS_CHAMPION_2
.byte CLASS_CHANNELER
.byte CLASS_TWINS_2
.byte CLASS_COOL_COUPLE
.byte CLASS_YOUNG_COUPLE_2
.byte CLASS_CRUSH_KIN
.byte CLASS_SIS_AND_BRO_2
.byte CLASS_PKMN_PROF
.byte CLASS_PLAYER
.byte CLASS_PLAYER
.byte CLASS_PLAYER
.byte CLASS_PLAYER
.byte CLASS_TEAM_ROCKET
.byte CLASS_PSYCHIC_2
.byte CLASS_CRUSH_GIRL
.byte CLASS_TUBER_3
.byte CLASS_PKMN_BREEDER_2
.byte CLASS_PKMN_RANGER_2
.byte CLASS_PKMN_RANGER_2
.byte CLASS_AROMA_LADY_2
.byte CLASS_RUIN_MANIAC_2
.byte CLASS_LADY_2
.byte CLASS_PAINTER
.byte CLASS_ELITE_FOUR_2
.byte CLASS_ELITE_FOUR_2
.byte CLASS_CHAMPION_2
gUnknown_82539D4:: @ 82539D4
.incbin "baserom.gba", 0x2539D4, 0x110
gExperienceTables:: @ 8253AE4
.incbin "baserom.gba", 0x253AE4, 0xCA0
gBaseStats:: @ 8254784
.incbin "baserom.gba", 0x254784, 0x11
gUnknown_8254795:: @ 8254795
.incbin "baserom.gba", 0x254795, 0x4FBF
gEvolutionTable:: @ 8259754
.incbin "baserom.gba", 0x259754, 0x4060
gLevelUpLearnsets:: @ 825D7B4
.incbin "baserom.gba", 0x25D7B4, 0x670
gPokeblockFlavorCompatibilityTable:: @ 825DE24
.incbin "baserom.gba", 0x25DE24, 0x7D
gUnknown_825DEA1:: @ 825DEA1
.incbin "baserom.gba", 0x25DEA1, 0x4
gPPUpWriteMasks:: @ 825DEA5
.incbin "baserom.gba", 0x25DEA5, 0x4
gUnknown_825DEA9:: @ 825DEA9
.incbin "baserom.gba", 0x25DEA9, 0x4
gStatStageRatios:: @ 825DEAD
.incbin "baserom.gba", 0x25DEAD, 0x1F
sHoldEffectToType:: @ 825DECC
.incbin "baserom.gba", 0x25DECC, 0x24
gUnknown_825DEF0:: @ 825DEF0
.incbin "baserom.gba", 0x25DEF0, 0x60
gUnknown_825DF50:: @ 825DF50
.incbin "baserom.gba", 0x25DF50, 0x90
sSecretBaseFacilityClasses:: @ 825DFE0
.incbin "baserom.gba", 0x25DFE0, 0xA
sGetMonDataEVConstants:: @ 825DFEA
.incbin "baserom.gba", 0x25DFEA, 0x6
gUnknown_825DFF0:: @ 825DFF0
.incbin "baserom.gba", 0x25DFF0, 0x6
sFriendshipEventDeltas:: @ 825DFF6
.incbin "baserom.gba", 0x25DFF6, 0x1E
sHMMoves:: @ 825E014
.incbin "baserom.gba", 0x25E014, 0x12
gUnknown_825E026:: @ 825E026
.incbin "baserom.gba", 0x25E026, 0xC
gUnknown_825E032:: @ 825E032
.incbin "baserom.gba", 0x25E032, 0x2A
gUnknown_825E05C:: @ 825E05C
.incbin "baserom.gba", 0x25E05C, 0x18
.section .rodata.825EF0C .section .rodata.825EF0C
.align 2 .align 2
+1 -1
View File
@@ -90,7 +90,7 @@ EventScript_1652C0:: @ 81652C0
setvar VAR_0x8004, SPECIES_DEOXYS setvar VAR_0x8004, SPECIES_DEOXYS
setvar VAR_0x8005, 30 setvar VAR_0x8005, 30
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_8044838 special CreateObedientEnemyMon
setflag FLAG_0x807 setflag FLAG_0x807
special sub_807F9D8 special sub_807F9D8
waitstate waitstate
+1 -1
View File
@@ -63,7 +63,7 @@ NavelRock_Base_EventScript_165134:: @ 8165134
setvar VAR_0x8004, SPECIES_LUGIA setvar VAR_0x8004, SPECIES_LUGIA
setvar VAR_0x8005, 70 setvar VAR_0x8005, 70
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_8044838 special CreateObedientEnemyMon
setflag FLAG_0x807 setflag FLAG_0x807
special sub_807F9D8 special sub_807F9D8
waitstate waitstate
+1 -1
View File
@@ -67,7 +67,7 @@ NavelRock_Summit_EventScript_164FFB:: @ 8164FFB
setvar VAR_0x8004, SPECIES_HO_OH setvar VAR_0x8004, SPECIES_HO_OH
setvar VAR_0x8005, 70 setvar VAR_0x8005, 70
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_8044838 special CreateObedientEnemyMon
setflag FLAG_0x807 setflag FLAG_0x807
special sub_807F9D8 special sub_807F9D8
waitstate waitstate
+1 -1
View File
@@ -452,5 +452,5 @@ gSpecials:: @ 815FD60
def_special sub_80CB328 def_special sub_80CB328
def_special sub_80CD154 def_special sub_80CD154
def_special sub_80CD1B4 def_special sub_80CD1B4
def_special sub_8044838 def_special CreateObedientEnemyMon
gSpecialsEnd:: gSpecialsEnd::
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3 -35
View File
@@ -33,39 +33,6 @@
#define GET_BANK_SIDE(bank)((GetBattlerPosition(bank) & BIT_SIDE)) #define GET_BANK_SIDE(bank)((GetBattlerPosition(bank) & BIT_SIDE))
#define GET_BANK_SIDE2(bank)((GET_BANK_IDENTITY(bank) & BIT_SIDE)) #define GET_BANK_SIDE2(bank)((GET_BANK_IDENTITY(bank) & BIT_SIDE))
#define BATTLE_TYPE_DOUBLE 0x0001
#define BATTLE_TYPE_LINK 0x0002
#define BATTLE_TYPE_WILD 0x0004
#define BATTLE_TYPE_TRAINER 0x0008
#define BATTLE_TYPE_FIRST_BATTLE 0x0010
#define BATTLE_TYPE_20 0x0020
#define BATTLE_TYPE_MULTI 0x0040
#define BATTLE_TYPE_SAFARI 0x0080
#define BATTLE_TYPE_BATTLE_TOWER 0x0100
#define BATTLE_TYPE_WALLY_TUTORIAL 0x0200
#define BATTLE_TYPE_ROAMER 0x0400
#define BATTLE_TYPE_EREADER_TRAINER 0x0800
#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000
#define BATTLE_TYPE_LEGENDARY 0x2000
#define BATTLE_TYPE_REGI 0x4000
#define BATTLE_TYPE_TWO_OPPONENTS 0x8000
#define BATTLE_TYPE_DOME 0x10000 // this is used in pokemon.c, but its clearly not the correct name for FR/LG. TODO: Fix these
#define BATTLE_TYPE_PALACE 0x20000
#define BATTLE_TYPE_ARENA 0x40000
#define BATTLE_TYPE_FACTORY 0x80000
#define BATTLE_TYPE_x100000 0x100000
#define BATTLE_TYPE_PYRAMID 0x200000
#define BATTLE_TYPE_INGAME_PARTNER 0x400000
#define BATTLE_TYPE_x800000 0x800000
#define BATTLE_TYPE_RECORDED 0x1000000
#define BATTLE_TYPE_x2000000 0x2000000
#define BATTLE_TYPE_x4000000 0x4000000
#define BATTLE_TYPE_SECRET_BASE 0x8000000
#define BATTLE_TYPE_GROUDON 0x10000000
#define BATTLE_TYPE_KYORGE 0x20000000
#define BATTLE_TYPE_RAYQUAZA 0x40000000
#define BATTLE_TYPE_x80000000 0x80000000
#define TRAINER_OPPONENT_3FE 0x3FE #define TRAINER_OPPONENT_3FE 0x3FE
#define TRAINER_OPPONENT_C00 0xC00 #define TRAINER_OPPONENT_C00 0xC00
#define TRAINER_OPPONENT_800 0x800 #define TRAINER_OPPONENT_800 0x800
@@ -161,10 +128,10 @@
#define MOVE_TARGET_SELECTED 0x0 #define MOVE_TARGET_SELECTED 0x0
#define MOVE_TARGET_DEPENDS 0x1 #define MOVE_TARGET_DEPENDS 0x1
#define MOVE_TARGET_USER 0x2 #define MOVE_TARGET_USER_OR_SELECTED 0x2
#define MOVE_TARGET_RANDOM 0x4 #define MOVE_TARGET_RANDOM 0x4
#define MOVE_TARGET_x10 0x10
#define MOVE_TARGET_BOTH 0x8 #define MOVE_TARGET_BOTH 0x8
#define MOVE_TARGET_USER 0x10
#define MOVE_TARGET_FOES_AND_ALLY 0x20 #define MOVE_TARGET_FOES_AND_ALLY 0x20
#define MOVE_TARGET_OPPONENTS_FIELD 0x40 #define MOVE_TARGET_OPPONENTS_FIELD 0x40
@@ -984,5 +951,6 @@ extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT];
extern s32 gBattleMoveDamage; extern s32 gBattleMoveDamage;
extern u8 gBattleOutcome; extern u8 gBattleOutcome;
extern u8 gBattleMonForms[MAX_BATTLERS_COUNT];
#endif // GUARD_BATTLE_H #endif // GUARD_BATTLE_H
+2
View File
@@ -2,6 +2,7 @@
#define GUARD_BATTLE_2_H #define GUARD_BATTLE_2_H
#include "global.h" #include "global.h"
#include "sprite.h"
void CB2_InitBattle(void); void CB2_InitBattle(void);
void BattleMainCB2(void); void BattleMainCB2(void);
@@ -44,6 +45,7 @@ void RunBattleScriptCommands_PopCallbacksStack(void);
void RunBattleScriptCommands(void); void RunBattleScriptCommands(void);
bool8 TryRunFromBattle(u8 bank); bool8 TryRunFromBattle(u8 bank);
void sub_800FD9C(void); void sub_800FD9C(void);
void sub_80120C4(struct Sprite *);
extern const u8 gStatusConditionString_PoisonJpn[8]; extern const u8 gStatusConditionString_PoisonJpn[8];
extern const u8 gStatusConditionString_SleepJpn[8]; extern const u8 gStatusConditionString_SleepJpn[8];
+2
View File
@@ -3,6 +3,8 @@
#include "global.h" #include "global.h"
extern u8 sBattler_AI;
void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves); void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves);
void BattleAI_SetupAIData(u8 defaultScoreMoves); void BattleAI_SetupAIData(u8 defaultScoreMoves);
u8 BattleAI_ChooseMoveOrAction(void); u8 BattleAI_ChooseMoveOrAction(void);
+1
View File
@@ -87,5 +87,6 @@ void HandleAction_RunBattleScript(void);
u8 GetMoveTarget(u16 move, u8 useMoveTarget); u8 GetMoveTarget(u16 move, u8 useMoveTarget);
u8 IsMonDisobedient(void); u8 IsMonDisobedient(void);
void MarkBufferBankForExecution(u8 battlerId); void MarkBufferBankForExecution(u8 battlerId);
void sub_80174B8(u8 battlerId);
#endif // GUARD_BATTLE_UTIL_H #endif // GUARD_BATTLE_UTIL_H
+2 -2
View File
@@ -59,8 +59,8 @@
#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000 #define BATTLE_TYPE_KYOGRE_GROUDON 0x1000
#define BATTLE_TYPE_LEGENDARY 0x2000 #define BATTLE_TYPE_LEGENDARY 0x2000
#define BATTLE_TYPE_REGI 0x4000 #define BATTLE_TYPE_REGI 0x4000
#define BATTLE_TYPE_TWO_OPPONENTS 0x8000 #define BATTLE_TYPE_GHOST 0x8000
#define BATTLE_TYPE_DOME 0x10000 #define BATTLE_TYPE_POKEDUDE 0x10000
#define BATTLE_TYPE_PALACE 0x20000 #define BATTLE_TYPE_PALACE 0x20000
#define BATTLE_TYPE_ARENA 0x40000 #define BATTLE_TYPE_ARENA 0x40000
#define BATTLE_TYPE_FACTORY 0x80000 #define BATTLE_TYPE_FACTORY 0x80000
+1 -1
View File
@@ -151,7 +151,7 @@
#define EFFECT_EARTHQUAKE 147 #define EFFECT_EARTHQUAKE 147
#define EFFECT_FUTURE_SIGHT 148 #define EFFECT_FUTURE_SIGHT 148
#define EFFECT_GUST 149 #define EFFECT_GUST 149
#define EFFECT_FLINCH_HIT_2 150 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM #define EFFECT_FLINCH_MINIMIZE_HIT 150 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
#define EFFECT_SOLARBEAM 151 #define EFFECT_SOLARBEAM 151
#define EFFECT_THUNDER 152 #define EFFECT_THUNDER 152
#define EFFECT_TELEPORT 153 #define EFFECT_TELEPORT 153
+143
View File
@@ -0,0 +1,143 @@
#ifndef GUARD_CONSTANTS_HOENN_CRIES_H
#define GUARD_CONSTANTS_HOENN_CRIES_H
enum
{
CRY_KECLEON = 251,
CRY_ROSELIA = 252,
CRY_TORKOAL = 253,
CRY_ELECTRIKE = 254,
CRY_MANECTRIC = 255,
CRY_DUSKULL = 256,
CRY_LATIAS = 257,
CRY_WYNAUT = 258,
CRY_SEVIPER = 259,
CRY_SHARPEDO = 260,
CRY_ZANGOOSE = 261,
CRY_AZURILL = 262,
CRY_SWABLU = 263,
CRY_ALTARIA = 264,
CRY_TAILLOW = 266,
CRY_SWELLOW = 267,
CRY_SPINDA = 269,
CRY_TORCHIC = 270,
CRY_COMBUSKEN = 271,
CRY_BLAZIKEN = 272,
CRY_TREECKO = 273,
CRY_GROVYLE = 274,
CRY_SCEPTILE = 275,
CRY_MUDKIP = 276,
CRY_MARSHTOMP = 277,
CRY_SWAMPERT = 278,
CRY_PELIPPER = 279,
CRY_WINGULL = 280,
CRY_BANETTE = 281,
CRY_SHUPPET = 282,
CRY_LOTAD = 283,
CRY_LOMBRE = 284,
CRY_LUDICOLO = 285,
CRY_SEEDOT = 286,
CRY_NUZLEAF = 287,
CRY_SHIFTRY = 288,
CRY_CARVANHA = 289,
CRY_WURMPLE = 290,
CRY_SILCOON = 291,
CRY_BEAUTIFLY = 292,
CRY_CASCOON = 293,
CRY_DUSTOX = 294,
CRY_RALTS = 295,
CRY_KIRLIA = 296,
CRY_GARDEVOIR = 297,
CRY_SLAKOTH = 298,
CRY_VIGOROTH = 299,
CRY_SLAKING = 300,
CRY_NINCADA = 301,
CRY_NINJASK = 302,
CRY_SHEDINJA = 303,
CRY_MAKUHITA = 304,
CRY_HARIYAMA = 305,
CRY_NOSEPASS = 306,
CRY_GLALIE = 307,
CRY_PLUSLE = 308,
CRY_MINUN = 309,
CRY_SURSKIT = 310,
CRY_MASQUERAIN = 311,
CRY_SKITTY = 312,
CRY_DELCATTY = 313,
CRY_GULPIN = 314,
CRY_SWALOT = 315,
CRY_NUMEL = 316,
CRY_CAMERUPT = 317,
CRY_BARBOACH = 318,
CRY_WHISCASH = 319,
CRY_CORPHISH = 320,
CRY_CRAWDAUNT = 321,
CRY_SPOINK = 322,
CRY_GRUMPIG = 323,
CRY_TRAPINCH = 324,
CRY_VIBRAVA = 325,
CRY_FLYGON = 326,
CRY_CACNEA = 327,
CRY_CACTURNE = 328,
CRY_BALTOY = 329,
CRY_CLAYDOL = 330,
CRY_LUNATONE = 331,
CRY_SOLROCK = 332,
CRY_FEEBAS = 333,
CRY_MILOTIC = 334,
CRY_ABSOL = 335,
CRY_MEDITITE = 336,
CRY_MEDICHAM = 337,
CRY_SPHEAL = 338,
CRY_SEALEO = 339,
CRY_WALREIN = 340,
CRY_CLAMPERL = 341,
CRY_HUNTAIL = 342,
CRY_GOREBYSS = 343,
CRY_LILEEP = 344,
CRY_CRADILY = 345,
CRY_ANORITH = 346,
CRY_ARMALDO = 347,
CRY_BELDUM = 348,
CRY_METANG = 349,
CRY_METAGROSS = 350,
CRY_BAGON = 351,
CRY_SHELGON = 352,
CRY_REGIROCK = 353,
CRY_REGICE = 354,
CRY_REGISTEEL = 355,
CRY_CASTFORM = 356,
CRY_VOLBEAT = 357,
CRY_ILLUMISE = 358,
CRY_POOCHYENA = 359,
CRY_MIGHTYENA = 360,
CRY_DUSCLOPS = 361,
CRY_SABLEYE = 362,
CRY_MAWILE = 363,
CRY_ARON = 364,
CRY_LAIRON = 365,
CRY_AGGRON = 366,
CRY_RELICANTH = 367,
CRY_LUVDISC = 368,
CRY_GROUDON = 369,
CRY_KYOGRE = 370,
CRY_RAYQUAZA = 371,
CRY_SALAMENCE = 372,
CRY_BRELOOM = 373,
CRY_SHROOMISH = 374,
CRY_LINOONE = 375,
CRY_TROPIUS = 376,
CRY_WAILMER = 377,
CRY_ZIGZAGOON = 378,
CRY_EXPLOUD = 379,
CRY_LOUDRED = 380,
CRY_WAILORD = 381,
CRY_WHISMUR = 382,
CRY_SNORUNT = 383,
CRY_LATIOS = 384,
CRY_JIRACHI = 385,
CRY_DEOXYS = 386,
CRY_CHIMECHO = 387,
};
#endif
+79
View File
@@ -0,0 +1,79 @@
#ifndef GUARD_CONSTANTS_ITEM_EFFECTS_H
#define GUARD_CONSTANTS_ITEM_EFFECTS_H
// field 0 masks
#define ITEM0_X_ATTACK 0x0F
#define ITEM0_HIGH_CRIT 0x30 // For Dire Hit, works the same way as move Focus Energy.
#define ITEM0_SACRED_ASH 0x40
#define ITEM0_INFATUATION 0x80
// field 1 masks
#define ITEM1_X_SPEED 0x0F
#define ITEM1_X_DEFEND 0xF0
// field 2 masks
#define ITEM2_X_SPATK 0x0F
#define ITEM2_X_ACCURACY 0xF0
// field 3 masks
#define ITEM3_CONFUSION 0x1
#define ITEM3_PARALYSIS 0x2
#define ITEM3_FREEZE 0x4
#define ITEM3_BURN 0x8
#define ITEM3_POISON 0x10
#define ITEM3_SLEEP 0x20
#define ITEM3_LEVEL_UP 0x40
#define ITEM3_MIST 0x80 // For Guard Specs, works the same way as move Mist.
#define ITEM3_STATUS_ALL (ITEM3_CONFUSION | ITEM3_PARALYSIS | ITEM3_FREEZE | ITEM3_BURN | ITEM3_POISON | ITEM3_SLEEP)
// field 4 masks
#define ITEM4_EV_HP 0x1
#define ITEM4_EV_ATK 0x2
#define ITEM4_HEAL_HP 0x4
#define ITEM4_HEAL_PP_ALL 0x8
#define ITEM4_HEAL_PP_ONE 0x10
#define ITEM4_PP_UP 0x20
#define ITEM4_REVIVE 0x40
#define ITEM4_EVO_STONE 0x80
// field 5 masks
#define ITEM5_EV_DEF 0x1
#define ITEM5_EV_SPEED 0x2
#define ITEM5_EV_SPDEF 0x4
#define ITEM5_EV_SPATK 0x8
#define ITEM5_PP_MAX 0x10
#define ITEM5_FRIENDSHIP_LOW 0x20
#define ITEM5_FRIENDSHIP_MID 0x40
#define ITEM5_FRIENDSHIP_HIGH 0x80
#define ITEM5_FRIENDSHIP_ALL (ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID | ITEM5_FRIENDSHIP_HIGH)
// fields 6 and onwards are item-specific arguments
// Used for GetItemEffectType.
#define ITEM_EFFECT_X_ITEM 0
#define ITEM_EFFECT_RAISE_LEVEL 1
#define ITEM_EFFECT_HEAL_HP 2
#define ITEM_EFFECT_CURE_POISON 3
#define ITEM_EFFECT_CURE_SLEEP 4
#define ITEM_EFFECT_CURE_BURN 5
#define ITEM_EFFECT_CURE_FREEZE 6
#define ITEM_EFFECT_CURE_PARALYSIS 7
#define ITEM_EFFECT_CURE_CONFUSION 8
#define ITEM_EFFECT_CURE_INFATUATION 9
#define ITEM_EFFECT_SACRED_ASH 10
#define ITEM_EFFECT_CURE_ALL_STATUS 11
#define ITEM_EFFECT_ATK_EV 12
#define ITEM_EFFECT_HP_EV 13
#define ITEM_EFFECT_SPATK_EV 14
#define ITEM_EFFECT_SPDEF_EV 15
#define ITEM_EFFECT_SPEED_EV 16
#define ITEM_EFFECT_DEF_EV 17
#define ITEM_EFFECT_EVO_STONE 18
#define ITEM_EFFECT_PP_UP 19
#define ITEM_EFFECT_PP_MAX 20
#define ITEM_EFFECT_HEAL_PP 21
#define ITEM_EFFECT_NONE 22
#endif // GUARD_CONSTANTS_ITEM_EFFECTS_H
+59
View File
@@ -351,6 +351,65 @@
#define ITEM_15B 347 #define ITEM_15B 347
#define ITEM_15C 348 #define ITEM_15C 348
#define ITEM_TM01_FOCUS_PUNCH ITEM_TM01
#define ITEM_TM02_DRAGON_CLAW ITEM_TM02
#define ITEM_TM03_WATER_PULSE ITEM_TM03
#define ITEM_TM04_CALM_MIND ITEM_TM04
#define ITEM_TM05_ROAR ITEM_TM05
#define ITEM_TM06_TOXIC ITEM_TM06
#define ITEM_TM07_HAIL ITEM_TM07
#define ITEM_TM08_BULK_UP ITEM_TM08
#define ITEM_TM09_BULLET_SEED ITEM_TM09
#define ITEM_TM10_HIDDEN_POWER ITEM_TM10
#define ITEM_TM11_SUNNY_DAY ITEM_TM11
#define ITEM_TM12_TAUNT ITEM_TM12
#define ITEM_TM13_ICE_BEAM ITEM_TM13
#define ITEM_TM14_BLIZZARD ITEM_TM14
#define ITEM_TM15_HYPER_BEAM ITEM_TM15
#define ITEM_TM16_LIGHT_SCREEN ITEM_TM16
#define ITEM_TM17_PROTECT ITEM_TM17
#define ITEM_TM18_RAIN_DANCE ITEM_TM18
#define ITEM_TM19_GIGA_DRAIN ITEM_TM19
#define ITEM_TM20_SAFEGUARD ITEM_TM20
#define ITEM_TM21_FRUSTRATION ITEM_TM21
#define ITEM_TM22_SOLARBEAM ITEM_TM22
#define ITEM_TM23_IRON_TAIL ITEM_TM23
#define ITEM_TM24_THUNDERBOLT ITEM_TM24
#define ITEM_TM25_THUNDER ITEM_TM25
#define ITEM_TM26_EARTHQUAKE ITEM_TM26
#define ITEM_TM27_RETURN ITEM_TM27
#define ITEM_TM28_DIG ITEM_TM28
#define ITEM_TM29_PSYCHIC ITEM_TM29
#define ITEM_TM30_SHADOW_BALL ITEM_TM30
#define ITEM_TM31_BRICK_BREAK ITEM_TM31
#define ITEM_TM32_DOUBLE_TEAM ITEM_TM32
#define ITEM_TM33_REFLECT ITEM_TM33
#define ITEM_TM34_SHOCK_WAVE ITEM_TM34
#define ITEM_TM35_FLAMETHROWER ITEM_TM35
#define ITEM_TM36_SLUDGE_BOMB ITEM_TM36
#define ITEM_TM37_SANDSTORM ITEM_TM37
#define ITEM_TM38_FIRE_BLAST ITEM_TM38
#define ITEM_TM39_ROCK_TOMB ITEM_TM39
#define ITEM_TM40_AERIAL_ACE ITEM_TM40
#define ITEM_TM41_TORMENT ITEM_TM41
#define ITEM_TM42_FACADE ITEM_TM42
#define ITEM_TM43_SECRET_POWER ITEM_TM43
#define ITEM_TM44_REST ITEM_TM44
#define ITEM_TM45_ATTRACT ITEM_TM45
#define ITEM_TM46_THIEF ITEM_TM46
#define ITEM_TM47_STEEL_WING ITEM_TM47
#define ITEM_TM48_SKILL_SWAP ITEM_TM48
#define ITEM_TM49_SNATCH ITEM_TM49
#define ITEM_TM50_OVERHEAT ITEM_TM50
#define ITEM_HM01_CUT ITEM_HM01
#define ITEM_HM02_FLY ITEM_HM02
#define ITEM_HM03_SURF ITEM_HM03
#define ITEM_HM04_STRENGTH ITEM_HM04
#define ITEM_HM05_FLASH ITEM_HM05
#define ITEM_HM06_ROCK_SMASH ITEM_HM06
#define ITEM_HM07_WATERFALL ITEM_HM07
#define ITEM_HM08_DIVE ITEM_HM08
// FireRed/LeafGreen // FireRed/LeafGreen
#define ITEM_OAKS_PARCEL 349 #define ITEM_OAKS_PARCEL 349
#define ITEM_POKE_FLUTE 350 #define ITEM_POKE_FLUTE 350
+2
View File
@@ -359,4 +359,6 @@
#define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST #define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST
#define MOVES_COUNT 355
#endif // GUARD_CONSTANTS_MOVES_H #endif // GUARD_CONSTANTS_MOVES_H
+834
View File
@@ -450,4 +450,838 @@
#define NUM_SPECIES SPECIES_EGG #define NUM_SPECIES SPECIES_EGG
// National Dex Index Defines
#define NATIONAL_DEX_NONE 0
#define NATIONAL_DEX_BULBASAUR 1
#define NATIONAL_DEX_IVYSAUR 2
#define NATIONAL_DEX_VENUSAUR 3
#define NATIONAL_DEX_CHARMANDER 4
#define NATIONAL_DEX_CHARMELEON 5
#define NATIONAL_DEX_CHARIZARD 6
#define NATIONAL_DEX_SQUIRTLE 7
#define NATIONAL_DEX_WARTORTLE 8
#define NATIONAL_DEX_BLASTOISE 9
#define NATIONAL_DEX_CATERPIE 10
#define NATIONAL_DEX_METAPOD 11
#define NATIONAL_DEX_BUTTERFREE 12
#define NATIONAL_DEX_WEEDLE 13
#define NATIONAL_DEX_KAKUNA 14
#define NATIONAL_DEX_BEEDRILL 15
#define NATIONAL_DEX_PIDGEY 16
#define NATIONAL_DEX_PIDGEOTTO 17
#define NATIONAL_DEX_PIDGEOT 18
#define NATIONAL_DEX_RATTATA 19
#define NATIONAL_DEX_RATICATE 20
#define NATIONAL_DEX_SPEAROW 21
#define NATIONAL_DEX_FEAROW 22
#define NATIONAL_DEX_EKANS 23
#define NATIONAL_DEX_ARBOK 24
#define NATIONAL_DEX_PIKACHU 25
#define NATIONAL_DEX_RAICHU 26
#define NATIONAL_DEX_SANDSHREW 27
#define NATIONAL_DEX_SANDSLASH 28
#define NATIONAL_DEX_NIDORAN_F 29
#define NATIONAL_DEX_NIDORINA 30
#define NATIONAL_DEX_NIDOQUEEN 31
#define NATIONAL_DEX_NIDORAN_M 32
#define NATIONAL_DEX_NIDORINO 33
#define NATIONAL_DEX_NIDOKING 34
#define NATIONAL_DEX_CLEFAIRY 35
#define NATIONAL_DEX_CLEFABLE 36
#define NATIONAL_DEX_VULPIX 37
#define NATIONAL_DEX_NINETALES 38
#define NATIONAL_DEX_JIGGLYPUFF 39
#define NATIONAL_DEX_WIGGLYTUFF 40
#define NATIONAL_DEX_ZUBAT 41
#define NATIONAL_DEX_GOLBAT 42
#define NATIONAL_DEX_ODDISH 43
#define NATIONAL_DEX_GLOOM 44
#define NATIONAL_DEX_VILEPLUME 45
#define NATIONAL_DEX_PARAS 46
#define NATIONAL_DEX_PARASECT 47
#define NATIONAL_DEX_VENONAT 48
#define NATIONAL_DEX_VENOMOTH 49
#define NATIONAL_DEX_DIGLETT 50
#define NATIONAL_DEX_DUGTRIO 51
#define NATIONAL_DEX_MEOWTH 52
#define NATIONAL_DEX_PERSIAN 53
#define NATIONAL_DEX_PSYDUCK 54
#define NATIONAL_DEX_GOLDUCK 55
#define NATIONAL_DEX_MANKEY 56
#define NATIONAL_DEX_PRIMEAPE 57
#define NATIONAL_DEX_GROWLITHE 58
#define NATIONAL_DEX_ARCANINE 59
#define NATIONAL_DEX_POLIWAG 60
#define NATIONAL_DEX_POLIWHIRL 61
#define NATIONAL_DEX_POLIWRATH 62
#define NATIONAL_DEX_ABRA 63
#define NATIONAL_DEX_KADABRA 64
#define NATIONAL_DEX_ALAKAZAM 65
#define NATIONAL_DEX_MACHOP 66
#define NATIONAL_DEX_MACHOKE 67
#define NATIONAL_DEX_MACHAMP 68
#define NATIONAL_DEX_BELLSPROUT 69
#define NATIONAL_DEX_WEEPINBELL 70
#define NATIONAL_DEX_VICTREEBEL 71
#define NATIONAL_DEX_TENTACOOL 72
#define NATIONAL_DEX_TENTACRUEL 73
#define NATIONAL_DEX_GEODUDE 74
#define NATIONAL_DEX_GRAVELER 75
#define NATIONAL_DEX_GOLEM 76
#define NATIONAL_DEX_PONYTA 77
#define NATIONAL_DEX_RAPIDASH 78
#define NATIONAL_DEX_SLOWPOKE 79
#define NATIONAL_DEX_SLOWBRO 80
#define NATIONAL_DEX_MAGNEMITE 81
#define NATIONAL_DEX_MAGNETON 82
#define NATIONAL_DEX_FARFETCHD 83
#define NATIONAL_DEX_DODUO 84
#define NATIONAL_DEX_DODRIO 85
#define NATIONAL_DEX_SEEL 86
#define NATIONAL_DEX_DEWGONG 87
#define NATIONAL_DEX_GRIMER 88
#define NATIONAL_DEX_MUK 89
#define NATIONAL_DEX_SHELLDER 90
#define NATIONAL_DEX_CLOYSTER 91
#define NATIONAL_DEX_GASTLY 92
#define NATIONAL_DEX_HAUNTER 93
#define NATIONAL_DEX_GENGAR 94
#define NATIONAL_DEX_ONIX 95
#define NATIONAL_DEX_DROWZEE 96
#define NATIONAL_DEX_HYPNO 97
#define NATIONAL_DEX_KRABBY 98
#define NATIONAL_DEX_KINGLER 99
#define NATIONAL_DEX_VOLTORB 100
#define NATIONAL_DEX_ELECTRODE 101
#define NATIONAL_DEX_EXEGGCUTE 102
#define NATIONAL_DEX_EXEGGUTOR 103
#define NATIONAL_DEX_CUBONE 104
#define NATIONAL_DEX_MAROWAK 105
#define NATIONAL_DEX_HITMONLEE 106
#define NATIONAL_DEX_HITMONCHAN 107
#define NATIONAL_DEX_LICKITUNG 108
#define NATIONAL_DEX_KOFFING 109
#define NATIONAL_DEX_WEEZING 110
#define NATIONAL_DEX_RHYHORN 111
#define NATIONAL_DEX_RHYDON 112
#define NATIONAL_DEX_CHANSEY 113
#define NATIONAL_DEX_TANGELA 114
#define NATIONAL_DEX_KANGASKHAN 115
#define NATIONAL_DEX_HORSEA 116
#define NATIONAL_DEX_SEADRA 117
#define NATIONAL_DEX_GOLDEEN 118
#define NATIONAL_DEX_SEAKING 119
#define NATIONAL_DEX_STARYU 120
#define NATIONAL_DEX_STARMIE 121
#define NATIONAL_DEX_MR_MIME 122
#define NATIONAL_DEX_SCYTHER 123
#define NATIONAL_DEX_JYNX 124
#define NATIONAL_DEX_ELECTABUZZ 125
#define NATIONAL_DEX_MAGMAR 126
#define NATIONAL_DEX_PINSIR 127
#define NATIONAL_DEX_TAUROS 128
#define NATIONAL_DEX_MAGIKARP 129
#define NATIONAL_DEX_GYARADOS 130
#define NATIONAL_DEX_LAPRAS 131
#define NATIONAL_DEX_DITTO 132
#define NATIONAL_DEX_EEVEE 133
#define NATIONAL_DEX_VAPOREON 134
#define NATIONAL_DEX_JOLTEON 135
#define NATIONAL_DEX_FLAREON 136
#define NATIONAL_DEX_PORYGON 137
#define NATIONAL_DEX_OMANYTE 138
#define NATIONAL_DEX_OMASTAR 139
#define NATIONAL_DEX_KABUTO 140
#define NATIONAL_DEX_KABUTOPS 141
#define NATIONAL_DEX_AERODACTYL 142
#define NATIONAL_DEX_SNORLAX 143
#define NATIONAL_DEX_ARTICUNO 144
#define NATIONAL_DEX_ZAPDOS 145
#define NATIONAL_DEX_MOLTRES 146
#define NATIONAL_DEX_DRATINI 147
#define NATIONAL_DEX_DRAGONAIR 148
#define NATIONAL_DEX_DRAGONITE 149
#define NATIONAL_DEX_MEWTWO 150
#define NATIONAL_DEX_MEW 151
#define NATIONAL_DEX_CHIKORITA 152
#define NATIONAL_DEX_BAYLEEF 153
#define NATIONAL_DEX_MEGANIUM 154
#define NATIONAL_DEX_CYNDAQUIL 155
#define NATIONAL_DEX_QUILAVA 156
#define NATIONAL_DEX_TYPHLOSION 157
#define NATIONAL_DEX_TOTODILE 158
#define NATIONAL_DEX_CROCONAW 159
#define NATIONAL_DEX_FERALIGATR 160
#define NATIONAL_DEX_SENTRET 161
#define NATIONAL_DEX_FURRET 162
#define NATIONAL_DEX_HOOTHOOT 163
#define NATIONAL_DEX_NOCTOWL 164
#define NATIONAL_DEX_LEDYBA 165
#define NATIONAL_DEX_LEDIAN 166
#define NATIONAL_DEX_SPINARAK 167
#define NATIONAL_DEX_ARIADOS 168
#define NATIONAL_DEX_CROBAT 169
#define NATIONAL_DEX_CHINCHOU 170
#define NATIONAL_DEX_LANTURN 171
#define NATIONAL_DEX_PICHU 172
#define NATIONAL_DEX_CLEFFA 173
#define NATIONAL_DEX_IGGLYBUFF 174
#define NATIONAL_DEX_TOGEPI 175
#define NATIONAL_DEX_TOGETIC 176
#define NATIONAL_DEX_NATU 177
#define NATIONAL_DEX_XATU 178
#define NATIONAL_DEX_MAREEP 179
#define NATIONAL_DEX_FLAAFFY 180
#define NATIONAL_DEX_AMPHAROS 181
#define NATIONAL_DEX_BELLOSSOM 182
#define NATIONAL_DEX_MARILL 183
#define NATIONAL_DEX_AZUMARILL 184
#define NATIONAL_DEX_SUDOWOODO 185
#define NATIONAL_DEX_POLITOED 186
#define NATIONAL_DEX_HOPPIP 187
#define NATIONAL_DEX_SKIPLOOM 188
#define NATIONAL_DEX_JUMPLUFF 189
#define NATIONAL_DEX_AIPOM 190
#define NATIONAL_DEX_SUNKERN 191
#define NATIONAL_DEX_SUNFLORA 192
#define NATIONAL_DEX_YANMA 193
#define NATIONAL_DEX_WOOPER 194
#define NATIONAL_DEX_QUAGSIRE 195
#define NATIONAL_DEX_ESPEON 196
#define NATIONAL_DEX_UMBREON 197
#define NATIONAL_DEX_MURKROW 198
#define NATIONAL_DEX_SLOWKING 199
#define NATIONAL_DEX_MISDREAVUS 200
#define NATIONAL_DEX_UNOWN 201
#define NATIONAL_DEX_WOBBUFFET 202
#define NATIONAL_DEX_GIRAFARIG 203
#define NATIONAL_DEX_PINECO 204
#define NATIONAL_DEX_FORRETRESS 205
#define NATIONAL_DEX_DUNSPARCE 206
#define NATIONAL_DEX_GLIGAR 207
#define NATIONAL_DEX_STEELIX 208
#define NATIONAL_DEX_SNUBBULL 209
#define NATIONAL_DEX_GRANBULL 210
#define NATIONAL_DEX_QWILFISH 211
#define NATIONAL_DEX_SCIZOR 212
#define NATIONAL_DEX_SHUCKLE 213
#define NATIONAL_DEX_HERACROSS 214
#define NATIONAL_DEX_SNEASEL 215
#define NATIONAL_DEX_TEDDIURSA 216
#define NATIONAL_DEX_URSARING 217
#define NATIONAL_DEX_SLUGMA 218
#define NATIONAL_DEX_MAGCARGO 219
#define NATIONAL_DEX_SWINUB 220
#define NATIONAL_DEX_PILOSWINE 221
#define NATIONAL_DEX_CORSOLA 222
#define NATIONAL_DEX_REMORAID 223
#define NATIONAL_DEX_OCTILLERY 224
#define NATIONAL_DEX_DELIBIRD 225
#define NATIONAL_DEX_MANTINE 226
#define NATIONAL_DEX_SKARMORY 227
#define NATIONAL_DEX_HOUNDOUR 228
#define NATIONAL_DEX_HOUNDOOM 229
#define NATIONAL_DEX_KINGDRA 230
#define NATIONAL_DEX_PHANPY 231
#define NATIONAL_DEX_DONPHAN 232
#define NATIONAL_DEX_PORYGON2 233
#define NATIONAL_DEX_STANTLER 234
#define NATIONAL_DEX_SMEARGLE 235
#define NATIONAL_DEX_TYROGUE 236
#define NATIONAL_DEX_HITMONTOP 237
#define NATIONAL_DEX_SMOOCHUM 238
#define NATIONAL_DEX_ELEKID 239
#define NATIONAL_DEX_MAGBY 240
#define NATIONAL_DEX_MILTANK 241
#define NATIONAL_DEX_BLISSEY 242
#define NATIONAL_DEX_RAIKOU 243
#define NATIONAL_DEX_ENTEI 244
#define NATIONAL_DEX_SUICUNE 245
#define NATIONAL_DEX_LARVITAR 246
#define NATIONAL_DEX_PUPITAR 247
#define NATIONAL_DEX_TYRANITAR 248
#define NATIONAL_DEX_LUGIA 249
#define NATIONAL_DEX_HO_OH 250
#define NATIONAL_DEX_CELEBI 251
#define NATIONAL_DEX_OLD_UNOWN_B 387
#define NATIONAL_DEX_OLD_UNOWN_C 388
#define NATIONAL_DEX_OLD_UNOWN_D 389
#define NATIONAL_DEX_OLD_UNOWN_E 390
#define NATIONAL_DEX_OLD_UNOWN_F 391
#define NATIONAL_DEX_OLD_UNOWN_G 392
#define NATIONAL_DEX_OLD_UNOWN_H 393
#define NATIONAL_DEX_OLD_UNOWN_I 394
#define NATIONAL_DEX_OLD_UNOWN_J 395
#define NATIONAL_DEX_OLD_UNOWN_K 396
#define NATIONAL_DEX_OLD_UNOWN_L 397
#define NATIONAL_DEX_OLD_UNOWN_M 398
#define NATIONAL_DEX_OLD_UNOWN_N 399
#define NATIONAL_DEX_OLD_UNOWN_O 400
#define NATIONAL_DEX_OLD_UNOWN_P 401
#define NATIONAL_DEX_OLD_UNOWN_Q 402
#define NATIONAL_DEX_OLD_UNOWN_R 403
#define NATIONAL_DEX_OLD_UNOWN_S 404
#define NATIONAL_DEX_OLD_UNOWN_T 405
#define NATIONAL_DEX_OLD_UNOWN_U 406
#define NATIONAL_DEX_OLD_UNOWN_V 407
#define NATIONAL_DEX_OLD_UNOWN_W 408
#define NATIONAL_DEX_OLD_UNOWN_X 409
#define NATIONAL_DEX_OLD_UNOWN_Y 410
#define NATIONAL_DEX_OLD_UNOWN_Z 411
#define NATIONAL_DEX_TREECKO 252
#define NATIONAL_DEX_GROVYLE 253
#define NATIONAL_DEX_SCEPTILE 254
#define NATIONAL_DEX_TORCHIC 255
#define NATIONAL_DEX_COMBUSKEN 256
#define NATIONAL_DEX_BLAZIKEN 257
#define NATIONAL_DEX_MUDKIP 258
#define NATIONAL_DEX_MARSHTOMP 259
#define NATIONAL_DEX_SWAMPERT 260
#define NATIONAL_DEX_POOCHYENA 261
#define NATIONAL_DEX_MIGHTYENA 262
#define NATIONAL_DEX_ZIGZAGOON 263
#define NATIONAL_DEX_LINOONE 264
#define NATIONAL_DEX_WURMPLE 265
#define NATIONAL_DEX_SILCOON 266
#define NATIONAL_DEX_BEAUTIFLY 267
#define NATIONAL_DEX_CASCOON 268
#define NATIONAL_DEX_DUSTOX 269
#define NATIONAL_DEX_LOTAD 270
#define NATIONAL_DEX_LOMBRE 271
#define NATIONAL_DEX_LUDICOLO 272
#define NATIONAL_DEX_SEEDOT 273
#define NATIONAL_DEX_NUZLEAF 274
#define NATIONAL_DEX_SHIFTRY 275
#define NATIONAL_DEX_NINCADA 290
#define NATIONAL_DEX_NINJASK 291
#define NATIONAL_DEX_SHEDINJA 292
#define NATIONAL_DEX_TAILLOW 276
#define NATIONAL_DEX_SWELLOW 277
#define NATIONAL_DEX_SHROOMISH 285
#define NATIONAL_DEX_BRELOOM 286
#define NATIONAL_DEX_SPINDA 327
#define NATIONAL_DEX_WINGULL 278
#define NATIONAL_DEX_PELIPPER 279
#define NATIONAL_DEX_SURSKIT 283
#define NATIONAL_DEX_MASQUERAIN 284
#define NATIONAL_DEX_WAILMER 320
#define NATIONAL_DEX_WAILORD 321
#define NATIONAL_DEX_SKITTY 300
#define NATIONAL_DEX_DELCATTY 301
#define NATIONAL_DEX_KECLEON 352
#define NATIONAL_DEX_BALTOY 343
#define NATIONAL_DEX_CLAYDOL 344
#define NATIONAL_DEX_NOSEPASS 299
#define NATIONAL_DEX_TORKOAL 324
#define NATIONAL_DEX_SABLEYE 302
#define NATIONAL_DEX_BARBOACH 339
#define NATIONAL_DEX_WHISCASH 340
#define NATIONAL_DEX_LUVDISC 370
#define NATIONAL_DEX_CORPHISH 341
#define NATIONAL_DEX_CRAWDAUNT 342
#define NATIONAL_DEX_FEEBAS 349
#define NATIONAL_DEX_MILOTIC 350
#define NATIONAL_DEX_CARVANHA 318
#define NATIONAL_DEX_SHARPEDO 319
#define NATIONAL_DEX_TRAPINCH 328
#define NATIONAL_DEX_VIBRAVA 329
#define NATIONAL_DEX_FLYGON 330
#define NATIONAL_DEX_MAKUHITA 296
#define NATIONAL_DEX_HARIYAMA 297
#define NATIONAL_DEX_ELECTRIKE 309
#define NATIONAL_DEX_MANECTRIC 310
#define NATIONAL_DEX_NUMEL 322
#define NATIONAL_DEX_CAMERUPT 323
#define NATIONAL_DEX_SPHEAL 363
#define NATIONAL_DEX_SEALEO 364
#define NATIONAL_DEX_WALREIN 365
#define NATIONAL_DEX_CACNEA 331
#define NATIONAL_DEX_CACTURNE 332
#define NATIONAL_DEX_SNORUNT 361
#define NATIONAL_DEX_GLALIE 362
#define NATIONAL_DEX_LUNATONE 337
#define NATIONAL_DEX_SOLROCK 338
#define NATIONAL_DEX_AZURILL 298
#define NATIONAL_DEX_SPOINK 325
#define NATIONAL_DEX_GRUMPIG 326
#define NATIONAL_DEX_PLUSLE 311
#define NATIONAL_DEX_MINUN 312
#define NATIONAL_DEX_MAWILE 303
#define NATIONAL_DEX_MEDITITE 307
#define NATIONAL_DEX_MEDICHAM 308
#define NATIONAL_DEX_SWABLU 333
#define NATIONAL_DEX_ALTARIA 334
#define NATIONAL_DEX_WYNAUT 360
#define NATIONAL_DEX_DUSKULL 355
#define NATIONAL_DEX_DUSCLOPS 356
#define NATIONAL_DEX_ROSELIA 315
#define NATIONAL_DEX_SLAKOTH 287
#define NATIONAL_DEX_VIGOROTH 288
#define NATIONAL_DEX_SLAKING 289
#define NATIONAL_DEX_GULPIN 316
#define NATIONAL_DEX_SWALOT 317
#define NATIONAL_DEX_TROPIUS 357
#define NATIONAL_DEX_WHISMUR 293
#define NATIONAL_DEX_LOUDRED 294
#define NATIONAL_DEX_EXPLOUD 295
#define NATIONAL_DEX_CLAMPERL 366
#define NATIONAL_DEX_HUNTAIL 367
#define NATIONAL_DEX_GOREBYSS 368
#define NATIONAL_DEX_ABSOL 359
#define NATIONAL_DEX_SHUPPET 353
#define NATIONAL_DEX_BANETTE 354
#define NATIONAL_DEX_SEVIPER 336
#define NATIONAL_DEX_ZANGOOSE 335
#define NATIONAL_DEX_RELICANTH 369
#define NATIONAL_DEX_ARON 304
#define NATIONAL_DEX_LAIRON 305
#define NATIONAL_DEX_AGGRON 306
#define NATIONAL_DEX_CASTFORM 351
#define NATIONAL_DEX_VOLBEAT 313
#define NATIONAL_DEX_ILLUMISE 314
#define NATIONAL_DEX_LILEEP 345
#define NATIONAL_DEX_CRADILY 346
#define NATIONAL_DEX_ANORITH 347
#define NATIONAL_DEX_ARMALDO 348
#define NATIONAL_DEX_RALTS 280
#define NATIONAL_DEX_KIRLIA 281
#define NATIONAL_DEX_GARDEVOIR 282
#define NATIONAL_DEX_BAGON 371
#define NATIONAL_DEX_SHELGON 372
#define NATIONAL_DEX_SALAMENCE 373
#define NATIONAL_DEX_BELDUM 374
#define NATIONAL_DEX_METANG 375
#define NATIONAL_DEX_METAGROSS 376
#define NATIONAL_DEX_REGIROCK 377
#define NATIONAL_DEX_REGICE 378
#define NATIONAL_DEX_REGISTEEL 379
#define NATIONAL_DEX_KYOGRE 382
#define NATIONAL_DEX_GROUDON 383
#define NATIONAL_DEX_RAYQUAZA 384
#define NATIONAL_DEX_LATIAS 380
#define NATIONAL_DEX_LATIOS 381
#define NATIONAL_DEX_JIRACHI 385
#define NATIONAL_DEX_DEOXYS 386
#define NATIONAL_DEX_CHIMECHO 358
// Hoenn Dex Index Defines
#define HOENN_DEX_NONE 0
#define HOENN_DEX_BULBASAUR 203
#define HOENN_DEX_IVYSAUR 204
#define HOENN_DEX_VENUSAUR 205
#define HOENN_DEX_CHARMANDER 206
#define HOENN_DEX_CHARMELEON 207
#define HOENN_DEX_CHARIZARD 208
#define HOENN_DEX_SQUIRTLE 209
#define HOENN_DEX_WARTORTLE 210
#define HOENN_DEX_BLASTOISE 211
#define HOENN_DEX_CATERPIE 212
#define HOENN_DEX_METAPOD 213
#define HOENN_DEX_BUTTERFREE 214
#define HOENN_DEX_WEEDLE 215
#define HOENN_DEX_KAKUNA 216
#define HOENN_DEX_BEEDRILL 217
#define HOENN_DEX_PIDGEY 218
#define HOENN_DEX_PIDGEOTTO 219
#define HOENN_DEX_PIDGEOT 220
#define HOENN_DEX_RATTATA 221
#define HOENN_DEX_RATICATE 222
#define HOENN_DEX_SPEAROW 223
#define HOENN_DEX_FEAROW 224
#define HOENN_DEX_EKANS 225
#define HOENN_DEX_ARBOK 226
#define HOENN_DEX_PIKACHU 156
#define HOENN_DEX_RAICHU 157
#define HOENN_DEX_SANDSHREW 112
#define HOENN_DEX_SANDSLASH 113
#define HOENN_DEX_NIDORAN_F 227
#define HOENN_DEX_NIDORINA 228
#define HOENN_DEX_NIDOQUEEN 229
#define HOENN_DEX_NIDORAN_M 230
#define HOENN_DEX_NIDORINO 231
#define HOENN_DEX_NIDOKING 232
#define HOENN_DEX_CLEFAIRY 233
#define HOENN_DEX_CLEFABLE 234
#define HOENN_DEX_VULPIX 153
#define HOENN_DEX_NINETALES 154
#define HOENN_DEX_JIGGLYPUFF 138
#define HOENN_DEX_WIGGLYTUFF 139
#define HOENN_DEX_ZUBAT 63
#define HOENN_DEX_GOLBAT 64
#define HOENN_DEX_ODDISH 88
#define HOENN_DEX_GLOOM 89
#define HOENN_DEX_VILEPLUME 90
#define HOENN_DEX_PARAS 235
#define HOENN_DEX_PARASECT 236
#define HOENN_DEX_VENONAT 237
#define HOENN_DEX_VENOMOTH 238
#define HOENN_DEX_DIGLETT 239
#define HOENN_DEX_DUGTRIO 240
#define HOENN_DEX_MEOWTH 241
#define HOENN_DEX_PERSIAN 242
#define HOENN_DEX_PSYDUCK 158
#define HOENN_DEX_GOLDUCK 159
#define HOENN_DEX_MANKEY 243
#define HOENN_DEX_PRIMEAPE 244
#define HOENN_DEX_GROWLITHE 245
#define HOENN_DEX_ARCANINE 246
#define HOENN_DEX_POLIWAG 247
#define HOENN_DEX_POLIWHIRL 248
#define HOENN_DEX_POLIWRATH 249
#define HOENN_DEX_ABRA 39
#define HOENN_DEX_KADABRA 40
#define HOENN_DEX_ALAKAZAM 41
#define HOENN_DEX_MACHOP 73
#define HOENN_DEX_MACHOKE 74
#define HOENN_DEX_MACHAMP 75
#define HOENN_DEX_BELLSPROUT 250
#define HOENN_DEX_WEEPINBELL 251
#define HOENN_DEX_VICTREEBEL 252
#define HOENN_DEX_TENTACOOL 66
#define HOENN_DEX_TENTACRUEL 67
#define HOENN_DEX_GEODUDE 57
#define HOENN_DEX_GRAVELER 58
#define HOENN_DEX_GOLEM 59
#define HOENN_DEX_PONYTA 253
#define HOENN_DEX_RAPIDASH 254
#define HOENN_DEX_SLOWPOKE 255
#define HOENN_DEX_SLOWBRO 256
#define HOENN_DEX_MAGNEMITE 82
#define HOENN_DEX_MAGNETON 83
#define HOENN_DEX_FARFETCHD 257
#define HOENN_DEX_DODUO 92
#define HOENN_DEX_DODRIO 93
#define HOENN_DEX_SEEL 258
#define HOENN_DEX_DEWGONG 259
#define HOENN_DEX_GRIMER 106
#define HOENN_DEX_MUK 107
#define HOENN_DEX_SHELLDER 260
#define HOENN_DEX_CLOYSTER 261
#define HOENN_DEX_GASTLY 262
#define HOENN_DEX_HAUNTER 263
#define HOENN_DEX_GENGAR 264
#define HOENN_DEX_ONIX 265
#define HOENN_DEX_DROWZEE 266
#define HOENN_DEX_HYPNO 267
#define HOENN_DEX_KRABBY 268
#define HOENN_DEX_KINGLER 269
#define HOENN_DEX_VOLTORB 84
#define HOENN_DEX_ELECTRODE 85
#define HOENN_DEX_EXEGGCUTE 270
#define HOENN_DEX_EXEGGUTOR 271
#define HOENN_DEX_CUBONE 272
#define HOENN_DEX_MAROWAK 273
#define HOENN_DEX_HITMONLEE 274
#define HOENN_DEX_HITMONCHAN 275
#define HOENN_DEX_LICKITUNG 276
#define HOENN_DEX_KOFFING 108
#define HOENN_DEX_WEEZING 109
#define HOENN_DEX_RHYHORN 169
#define HOENN_DEX_RHYDON 170
#define HOENN_DEX_CHANSEY 277
#define HOENN_DEX_TANGELA 278
#define HOENN_DEX_KANGASKHAN 279
#define HOENN_DEX_HORSEA 184
#define HOENN_DEX_SEADRA 185
#define HOENN_DEX_GOLDEEN 50
#define HOENN_DEX_SEAKING 51
#define HOENN_DEX_STARYU 143
#define HOENN_DEX_STARMIE 144
#define HOENN_DEX_MR_MIME 280
#define HOENN_DEX_SCYTHER 281
#define HOENN_DEX_JYNX 282
#define HOENN_DEX_ELECTABUZZ 283
#define HOENN_DEX_MAGMAR 284
#define HOENN_DEX_PINSIR 167
#define HOENN_DEX_TAUROS 285
#define HOENN_DEX_MAGIKARP 52
#define HOENN_DEX_GYARADOS 53
#define HOENN_DEX_LAPRAS 286
#define HOENN_DEX_DITTO 287
#define HOENN_DEX_EEVEE 288
#define HOENN_DEX_VAPOREON 289
#define HOENN_DEX_JOLTEON 290
#define HOENN_DEX_FLAREON 291
#define HOENN_DEX_PORYGON 292
#define HOENN_DEX_OMANYTE 293
#define HOENN_DEX_OMASTAR 294
#define HOENN_DEX_KABUTO 295
#define HOENN_DEX_KABUTOPS 296
#define HOENN_DEX_AERODACTYL 297
#define HOENN_DEX_SNORLAX 298
#define HOENN_DEX_ARTICUNO 299
#define HOENN_DEX_ZAPDOS 300
#define HOENN_DEX_MOLTRES 301
#define HOENN_DEX_DRATINI 302
#define HOENN_DEX_DRAGONAIR 303
#define HOENN_DEX_DRAGONITE 304
#define HOENN_DEX_MEWTWO 305
#define HOENN_DEX_MEW 306
#define HOENN_DEX_CHIKORITA 307
#define HOENN_DEX_BAYLEEF 308
#define HOENN_DEX_MEGANIUM 309
#define HOENN_DEX_CYNDAQUIL 310
#define HOENN_DEX_QUILAVA 311
#define HOENN_DEX_TYPHLOSION 312
#define HOENN_DEX_TOTODILE 313
#define HOENN_DEX_CROCONAW 314
#define HOENN_DEX_FERALIGATR 315
#define HOENN_DEX_SENTRET 316
#define HOENN_DEX_FURRET 317
#define HOENN_DEX_HOOTHOOT 318
#define HOENN_DEX_NOCTOWL 319
#define HOENN_DEX_LEDYBA 320
#define HOENN_DEX_LEDIAN 321
#define HOENN_DEX_SPINARAK 322
#define HOENN_DEX_ARIADOS 323
#define HOENN_DEX_CROBAT 65
#define HOENN_DEX_CHINCHOU 181
#define HOENN_DEX_LANTURN 182
#define HOENN_DEX_PICHU 155
#define HOENN_DEX_CLEFFA 324
#define HOENN_DEX_IGGLYBUFF 137
#define HOENN_DEX_TOGEPI 325
#define HOENN_DEX_TOGETIC 326
#define HOENN_DEX_NATU 162
#define HOENN_DEX_XATU 163
#define HOENN_DEX_MAREEP 327
#define HOENN_DEX_FLAAFFY 328
#define HOENN_DEX_AMPHAROS 329
#define HOENN_DEX_BELLOSSOM 91
#define HOENN_DEX_MARILL 55
#define HOENN_DEX_AZUMARILL 56
#define HOENN_DEX_SUDOWOODO 330
#define HOENN_DEX_POLITOED 331
#define HOENN_DEX_HOPPIP 332
#define HOENN_DEX_SKIPLOOM 333
#define HOENN_DEX_JUMPLUFF 334
#define HOENN_DEX_AIPOM 335
#define HOENN_DEX_SUNKERN 336
#define HOENN_DEX_SUNFLORA 337
#define HOENN_DEX_YANMA 338
#define HOENN_DEX_WOOPER 339
#define HOENN_DEX_QUAGSIRE 340
#define HOENN_DEX_ESPEON 341
#define HOENN_DEX_UMBREON 342
#define HOENN_DEX_MURKROW 343
#define HOENN_DEX_SLOWKING 344
#define HOENN_DEX_MISDREAVUS 345
#define HOENN_DEX_UNOWN 346
#define HOENN_DEX_WOBBUFFET 161
#define HOENN_DEX_GIRAFARIG 164
#define HOENN_DEX_PINECO 347
#define HOENN_DEX_FORRETRESS 348
#define HOENN_DEX_DUNSPARCE 349
#define HOENN_DEX_GLIGAR 350
#define HOENN_DEX_STEELIX 351
#define HOENN_DEX_SNUBBULL 352
#define HOENN_DEX_GRANBULL 353
#define HOENN_DEX_QWILFISH 354
#define HOENN_DEX_SCIZOR 355
#define HOENN_DEX_SHUCKLE 356
#define HOENN_DEX_HERACROSS 168
#define HOENN_DEX_SNEASEL 357
#define HOENN_DEX_TEDDIURSA 358
#define HOENN_DEX_URSARING 359
#define HOENN_DEX_SLUGMA 103
#define HOENN_DEX_MAGCARGO 104
#define HOENN_DEX_SWINUB 360
#define HOENN_DEX_PILOSWINE 361
#define HOENN_DEX_CORSOLA 180
#define HOENN_DEX_REMORAID 362
#define HOENN_DEX_OCTILLERY 363
#define HOENN_DEX_DELIBIRD 364
#define HOENN_DEX_MANTINE 365
#define HOENN_DEX_SKARMORY 115
#define HOENN_DEX_HOUNDOUR 366
#define HOENN_DEX_HOUNDOOM 367
#define HOENN_DEX_KINGDRA 186
#define HOENN_DEX_PHANPY 165
#define HOENN_DEX_DONPHAN 166
#define HOENN_DEX_PORYGON2 368
#define HOENN_DEX_STANTLER 369
#define HOENN_DEX_SMEARGLE 370
#define HOENN_DEX_TYROGUE 371
#define HOENN_DEX_HITMONTOP 372
#define HOENN_DEX_SMOOCHUM 373
#define HOENN_DEX_ELEKID 374
#define HOENN_DEX_MAGBY 375
#define HOENN_DEX_MILTANK 376
#define HOENN_DEX_BLISSEY 377
#define HOENN_DEX_RAIKOU 378
#define HOENN_DEX_ENTEI 379
#define HOENN_DEX_SUICUNE 380
#define HOENN_DEX_LARVITAR 381
#define HOENN_DEX_PUPITAR 382
#define HOENN_DEX_TYRANITAR 383
#define HOENN_DEX_LUGIA 384
#define HOENN_DEX_HO_OH 385
#define HOENN_DEX_CELEBI 386
#define HOENN_DEX_OLD_UNOWN_B 387
#define HOENN_DEX_OLD_UNOWN_C 388
#define HOENN_DEX_OLD_UNOWN_D 389
#define HOENN_DEX_OLD_UNOWN_E 390
#define HOENN_DEX_OLD_UNOWN_F 391
#define HOENN_DEX_OLD_UNOWN_G 392
#define HOENN_DEX_OLD_UNOWN_H 393
#define HOENN_DEX_OLD_UNOWN_I 394
#define HOENN_DEX_OLD_UNOWN_J 395
#define HOENN_DEX_OLD_UNOWN_K 396
#define HOENN_DEX_OLD_UNOWN_L 397
#define HOENN_DEX_OLD_UNOWN_M 398
#define HOENN_DEX_OLD_UNOWN_N 399
#define HOENN_DEX_OLD_UNOWN_O 400
#define HOENN_DEX_OLD_UNOWN_P 401
#define HOENN_DEX_OLD_UNOWN_Q 402
#define HOENN_DEX_OLD_UNOWN_R 403
#define HOENN_DEX_OLD_UNOWN_S 404
#define HOENN_DEX_OLD_UNOWN_T 405
#define HOENN_DEX_OLD_UNOWN_U 406
#define HOENN_DEX_OLD_UNOWN_V 407
#define HOENN_DEX_OLD_UNOWN_W 408
#define HOENN_DEX_OLD_UNOWN_X 409
#define HOENN_DEX_OLD_UNOWN_Y 410
#define HOENN_DEX_OLD_UNOWN_Z 411
#define HOENN_DEX_TREECKO 1
#define HOENN_DEX_GROVYLE 2
#define HOENN_DEX_SCEPTILE 3
#define HOENN_DEX_TORCHIC 4
#define HOENN_DEX_COMBUSKEN 5
#define HOENN_DEX_BLAZIKEN 6
#define HOENN_DEX_MUDKIP 7
#define HOENN_DEX_MARSHTOMP 8
#define HOENN_DEX_SWAMPERT 9
#define HOENN_DEX_POOCHYENA 10
#define HOENN_DEX_MIGHTYENA 11
#define HOENN_DEX_ZIGZAGOON 12
#define HOENN_DEX_LINOONE 13
#define HOENN_DEX_WURMPLE 14
#define HOENN_DEX_SILCOON 15
#define HOENN_DEX_BEAUTIFLY 16
#define HOENN_DEX_CASCOON 17
#define HOENN_DEX_DUSTOX 18
#define HOENN_DEX_LOTAD 19
#define HOENN_DEX_LOMBRE 20
#define HOENN_DEX_LUDICOLO 21
#define HOENN_DEX_SEEDOT 22
#define HOENN_DEX_NUZLEAF 23
#define HOENN_DEX_SHIFTRY 24
#define HOENN_DEX_NINCADA 42
#define HOENN_DEX_NINJASK 43
#define HOENN_DEX_SHEDINJA 44
#define HOENN_DEX_TAILLOW 25
#define HOENN_DEX_SWELLOW 26
#define HOENN_DEX_SHROOMISH 34
#define HOENN_DEX_BRELOOM 35
#define HOENN_DEX_SPINDA 114
#define HOENN_DEX_WINGULL 27
#define HOENN_DEX_PELIPPER 28
#define HOENN_DEX_SURSKIT 32
#define HOENN_DEX_MASQUERAIN 33
#define HOENN_DEX_WAILMER 99
#define HOENN_DEX_WAILORD 100
#define HOENN_DEX_SKITTY 61
#define HOENN_DEX_DELCATTY 62
#define HOENN_DEX_KECLEON 145
#define HOENN_DEX_BALTOY 131
#define HOENN_DEX_CLAYDOL 132
#define HOENN_DEX_NOSEPASS 60
#define HOENN_DEX_TORKOAL 105
#define HOENN_DEX_SABLEYE 68
#define HOENN_DEX_BARBOACH 127
#define HOENN_DEX_WHISCASH 128
#define HOENN_DEX_LUVDISC 183
#define HOENN_DEX_CORPHISH 129
#define HOENN_DEX_CRAWDAUNT 130
#define HOENN_DEX_FEEBAS 140
#define HOENN_DEX_MILOTIC 141
#define HOENN_DEX_CARVANHA 97
#define HOENN_DEX_SHARPEDO 98
#define HOENN_DEX_TRAPINCH 116
#define HOENN_DEX_VIBRAVA 117
#define HOENN_DEX_FLYGON 118
#define HOENN_DEX_MAKUHITA 48
#define HOENN_DEX_HARIYAMA 49
#define HOENN_DEX_ELECTRIKE 78
#define HOENN_DEX_MANECTRIC 79
#define HOENN_DEX_NUMEL 101
#define HOENN_DEX_CAMERUPT 102
#define HOENN_DEX_SPHEAL 173
#define HOENN_DEX_SEALEO 174
#define HOENN_DEX_WALREIN 175
#define HOENN_DEX_CACNEA 119
#define HOENN_DEX_CACTURNE 120
#define HOENN_DEX_SNORUNT 171
#define HOENN_DEX_GLALIE 172
#define HOENN_DEX_LUNATONE 125
#define HOENN_DEX_SOLROCK 126
#define HOENN_DEX_AZURILL 54
#define HOENN_DEX_SPOINK 110
#define HOENN_DEX_GRUMPIG 111
#define HOENN_DEX_PLUSLE 80
#define HOENN_DEX_MINUN 81
#define HOENN_DEX_MAWILE 69
#define HOENN_DEX_MEDITITE 76
#define HOENN_DEX_MEDICHAM 77
#define HOENN_DEX_SWABLU 121
#define HOENN_DEX_ALTARIA 122
#define HOENN_DEX_WYNAUT 160
#define HOENN_DEX_DUSKULL 148
#define HOENN_DEX_DUSCLOPS 149
#define HOENN_DEX_ROSELIA 94
#define HOENN_DEX_SLAKOTH 36
#define HOENN_DEX_VIGOROTH 37
#define HOENN_DEX_SLAKING 38
#define HOENN_DEX_GULPIN 95
#define HOENN_DEX_SWALOT 96
#define HOENN_DEX_TROPIUS 150
#define HOENN_DEX_WHISMUR 45
#define HOENN_DEX_LOUDRED 46
#define HOENN_DEX_EXPLOUD 47
#define HOENN_DEX_CLAMPERL 176
#define HOENN_DEX_HUNTAIL 177
#define HOENN_DEX_GOREBYSS 178
#define HOENN_DEX_ABSOL 152
#define HOENN_DEX_SHUPPET 146
#define HOENN_DEX_BANETTE 147
#define HOENN_DEX_SEVIPER 124
#define HOENN_DEX_ZANGOOSE 123
#define HOENN_DEX_RELICANTH 179
#define HOENN_DEX_ARON 70
#define HOENN_DEX_LAIRON 71
#define HOENN_DEX_AGGRON 72
#define HOENN_DEX_CASTFORM 142
#define HOENN_DEX_VOLBEAT 86
#define HOENN_DEX_ILLUMISE 87
#define HOENN_DEX_LILEEP 133
#define HOENN_DEX_CRADILY 134
#define HOENN_DEX_ANORITH 135
#define HOENN_DEX_ARMALDO 136
#define HOENN_DEX_RALTS 29
#define HOENN_DEX_KIRLIA 30
#define HOENN_DEX_GARDEVOIR 31
#define HOENN_DEX_BAGON 187
#define HOENN_DEX_SHELGON 188
#define HOENN_DEX_SALAMENCE 189
#define HOENN_DEX_BELDUM 190
#define HOENN_DEX_METANG 191
#define HOENN_DEX_METAGROSS 192
#define HOENN_DEX_REGIROCK 193
#define HOENN_DEX_REGICE 194
#define HOENN_DEX_REGISTEEL 195
#define HOENN_DEX_KYOGRE 198
#define HOENN_DEX_GROUDON 199
#define HOENN_DEX_RAYQUAZA 200
#define HOENN_DEX_LATIAS 196
#define HOENN_DEX_LATIOS 197
#define HOENN_DEX_JIRACHI 201
#define HOENN_DEX_DEOXYS 202
#define HOENN_DEX_CHIMECHO 151
#endif // GUARD_CONSTANTS_SPECIES_H #endif // GUARD_CONSTANTS_SPECIES_H
+25
View File
@@ -18,5 +18,30 @@ extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
extern const u8 gMoveNames[][13]; extern const u8 gMoveNames[][13];
extern const u8 gAbilityNames[][13]; extern const u8 gAbilityNames[][13];
extern const u8 gTypeNames[][7]; extern const u8 gTypeNames[][7];
extern const u16 gUnknown_8251CB8[];
extern const u16 gUnknown_8251FEE[];
extern const u16 gUnknown_8252324[];
extern const u16 gUnknown_82539D4[];
extern const struct CompressedSpritePalette gMonPaletteTable[];
extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[];
extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
extern const struct OamData gUnknown_824F010;
extern const struct OamData gUnknown_824F018;
extern const union AnimCmd *const gUnknown_82349BC[];
extern const union AffineAnimCmd *const gUnknown_82348C8[];
extern const union AffineAnimCmd *const gUnknown_8234944[];
extern const struct SpriteFrameImage gUnknown_8234698[];
extern const struct SpriteFrameImage gUnknown_82346B8[];
extern const struct SpriteFrameImage gUnknown_82346D8[];
extern const struct SpriteFrameImage gUnknown_82346F8[];
extern const struct SpriteFrameImage gUnknown_8234718[];
extern const struct SpriteFrameImage gUnknown_8234740[];
extern const struct SpriteFrameImage gUnknown_8234768[];
extern const struct SpriteFrameImage gUnknown_8234788[];
extern const struct SpriteFrameImage gUnknown_82347A8[];
extern const struct SpriteFrameImage gUnknown_82347C8[];
#endif // GUARD_DATA2_H #endif // GUARD_DATA2_H
+2
View File
@@ -11,5 +11,7 @@ void sub_80CCB68(void);
void nullsub_60(void); void nullsub_60(void);
void nullsub_61(void); void nullsub_61(void);
u8 ContextNpcGetTextColor(void); u8 ContextNpcGetTextColor(void);
void set_unknown_box_id(u8);
u16 get_unknown_box_id(void);
#endif // GUARD_FIELD_SPECIALS_H #endif // GUARD_FIELD_SPECIALS_H
+1
View File
@@ -61,5 +61,6 @@ void sub_8126894(u8 taskId, TaskFunc followUpFunc);
void sub_81279E0(void); void sub_81279E0(void);
void ItemUseCB_Medicine(u8 taskId, TaskFunc followUpFunc); void ItemUseCB_Medicine(u8 taskId, TaskFunc followUpFunc);
u8 GetItemEffectType(u16 itemId); u8 GetItemEffectType(u16 itemId);
u8 pokemon_order_func(u8);
#endif // GUARD_PARTY_MENU_H #endif // GUARD_PARTY_MENU_H
+77 -90
View File
@@ -2,6 +2,7 @@
#define GUARD_POKEMON_H #define GUARD_POKEMON_H
#include "global.h" #include "global.h"
#include "sprite.h"
#define MON_DATA_PERSONALITY 0 #define MON_DATA_PERSONALITY 0
#define MON_DATA_OT_ID 1 #define MON_DATA_OT_ID 1
@@ -109,6 +110,16 @@
#define MON_FEMALE 0xFE #define MON_FEMALE 0xFE
#define MON_GENDERLESS 0xFF #define MON_GENDERLESS 0xFF
#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0
#define FRIENDSHIP_EVENT_VITAMIN 0x1
#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2
#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3
#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4
#define FRIENDSHIP_EVENT_WALKING 0x5
#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6
#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7
#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8
#define TYPE_NORMAL 0x00 #define TYPE_NORMAL 0x00
#define TYPE_FIGHTING 0x01 #define TYPE_FIGHTING 0x01
#define TYPE_FLYING 0x02 #define TYPE_FLYING 0x02
@@ -425,8 +436,7 @@ struct BaseStats
/* 0x13 */ u8 growthRate; /* 0x13 */ u8 growthRate;
/* 0x14 */ u8 eggGroup1; /* 0x14 */ u8 eggGroup1;
/* 0x15 */ u8 eggGroup2; /* 0x15 */ u8 eggGroup2;
/* 0x16 */ u8 ability1; /* 0x16 */ u8 abilities[2];
/* 0x17 */ u8 ability2;
/* 0x18 */ u8 safariZoneFleeRate; /* 0x18 */ u8 safariZoneFleeRate;
/* 0x19 */ u8 bodyColor : 7; /* 0x19 */ u8 bodyColor : 7;
u8 noFlip : 1; u8 noFlip : 1;
@@ -530,11 +540,6 @@ extern const u16 *const gLevelUpLearnsets[];
extern const u8 gFacilityClassToPicIndex[]; extern const u8 gFacilityClassToPicIndex[];
extern const u8 gFacilityClassToTrainerClass[]; extern const u8 gFacilityClassToTrainerClass[];
u8 CountAliveMons(u8 caseId);
#define BATTLE_ALIVE_EXCEPT_ACTIVE 0
#define BATTLE_ALIVE_ATK_SIDE 1
#define BATTLE_ALIVE_DEF_SIDE 2
void ZeroBoxMonData(struct BoxPokemon *boxMon); void ZeroBoxMonData(struct BoxPokemon *boxMon);
void ZeroMonData(struct Pokemon *mon); void ZeroMonData(struct Pokemon *mon);
void ZeroPlayerPartyMons(void); void ZeroPlayerPartyMons(void);
@@ -545,30 +550,32 @@ void CreateMonWithNature(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV,
void CreateMonWithGenderNatureLetter(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 gender, u8 nature, u8 unownLetter); void CreateMonWithGenderNatureLetter(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 gender, u8 nature, u8 unownLetter);
void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level); void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level);
void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality); void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality);
void CreateMonWithIVsOTID(struct Pokemon *mon, u16 species, u8 level, u8 *ivs, u32 otId);
void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 evSpread); void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 evSpread);
u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src);
void sub_803E23C(struct Pokemon *mon, struct BattleTowerPokemon *dest);
void CalculateMonStats(struct Pokemon *mon); void CalculateMonStats(struct Pokemon *mon);
u8 GetLevelFromMonExp(struct Pokemon *mon); void BoxMonToMon(struct BoxPokemon *src, struct Pokemon *dest);
u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon); u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon);
u16 GiveMoveToMon(struct Pokemon *mon, u16 move); u16 GiveMoveToMon(struct Pokemon *mon, u16 move);
u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move);
u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move); u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move);
void MonRestorePP(struct Pokemon *mon);
void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot); void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot);
void SetBattleMonMoveSlot(struct BattlePokemon *mon, u16 move, u8 slot); void SetBattleMonMoveSlot(struct BattlePokemon *mon, u16 move, u8 slot);
void GiveMonInitialMoveset(struct Pokemon *mon); u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove);
void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon);
void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move); void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move);
void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 battlerIdAtk, u8 battlerIdDef);
bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex);
bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, u8 e);
#define BATTLE_ALIVE_EXCEPT_ACTIVE 0
#define BATTLE_ALIVE_ATK_SIDE 1
#define BATTLE_ALIVE_DEF_SIDE 2
u8 CountAliveMonsInBattle(u8 caseId);
u8 GetDefaultMoveTarget(u8 battlerId);
u8 GetMonGender(struct Pokemon *mon); u8 GetMonGender(struct Pokemon *mon);
u8 GetBoxMonGender(struct BoxPokemon *boxMon); u8 GetBoxMonGender(struct BoxPokemon *boxMon);
u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality); u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality);
void EncryptBoxMon(struct BoxPokemon *boxMon); void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition);
void DecryptBoxMon(struct BoxPokemon *boxMon); void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition);
// These are full type signatures for GetMonData() and GetBoxMonData(), // These are full type signatures for GetMonData() and GetBoxMonData(),
// but they are not used since some code erroneously omits the third arg. // but they are not used since some code erroneously omits the third arg.
@@ -583,101 +590,81 @@ u32 GetMonData();
u32 GetBoxMonData(); u32 GetBoxMonData();
#endif // IS_POKEMON_C #endif // IS_POKEMON_C
void SetMonData(struct Pokemon *mon, s32 field, const void *data); void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg);
void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *data); void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg);
void CopyMon(void *dest, void *src, size_t size); void CopyMon(void *dest, void *src, size_t size);
u8 GiveMonToPlayer(struct Pokemon *mon); u8 GiveMonToPlayer(struct Pokemon *mon);
u8 SendMonToPC(struct Pokemon *mon);
u8 CalculatePlayerPartyCount(void); u8 CalculatePlayerPartyCount(void);
u8 CalculateEnemyPartyCount(void); u8 CalculateEnemyPartyCount(void);
u8 GetMonsStateToDoubles(void);
u8 GetAbilityBySpecies(u16 species, bool8 altAbility); u8 GetAbilityBySpecies(u16 species, bool8 altAbility);
u8 GetMonAbility(struct Pokemon *mon); u8 GetMonAbility(struct Pokemon *mon);
void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord);
u8 GetSecretBaseTrainerPicIndex(void); u8 GetSecretBaseTrainerPicIndex(void);
u8 GetSecretBaseTrainerNameIndex(void); u8 GetSecretBaseTrainerNameIndex(void);
bool8 IsPlayerPartyAndPokemonStorageFull(void); bool8 IsPlayerPartyAndPokemonStorageFull(void);
bool8 IsPokemonStorageFull(void);
void GetSpeciesName(u8 *name, u16 species); void GetSpeciesName(u8 *name, u16 species);
u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex); u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex);
void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex); void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex);
void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex); void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex);
void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex); bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex);
bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 moveIndex, u8 e);
bool8 PokemonUseItemEffects2(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 moveIndex, u8 e);
u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit);
const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId);
u8 GetNature(struct Pokemon *mon); u8 GetNature(struct Pokemon *mon);
u8 GetNatureFromPersonality(u32 personality); u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem);
u16 nature_stat_mod(u8 nature, u16 n, u8 statIndex);
void MonRestorePP(struct Pokemon *);
void BoxMonRestorePP(struct BoxPokemon *);
u16 NationalPokedexNumToSpecies(u16 nationalNum); u16 NationalPokedexNumToSpecies(u16 nationalNum);
u16 NationalToHoennOrder(u16); u16 SpeciesToNationalPokedexNum(u16 species);
u16 SpeciesToNationalPokedexNum(u16); u16 HoennToNationalOrder(u16 hoennNum);
u16 HoennToNationalOrder(u16);
u16 SpeciesToCryId(u16 species); u16 SpeciesToCryId(u16 species);
void DrawSpindaSpots(u16, u32, u8 *, u8); void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, u8 a4);
void AdjustFriendship(struct Pokemon *, u8); void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies);
u8 CheckPartyHasHadPokerus(struct Pokemon *, u8); bool8 sub_80435E0(void);
void UpdatePartyPokerusTime(u16); bool8 GetLinkTrainerFlankId(u8 linkPlayerId);
u32 CanMonLearnTMHM(struct Pokemon *, u8); s32 GetBankMultiplayerId(u16 a1);
u32 CanSpeciesLearnTMHM(u16 species, u8 tm); u8 GetTrainerEncounterMusicId(u16 trainer);
void AdjustFriendship(struct Pokemon *mon, u8 event);
void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies);
u16 GetMonEVCount(struct Pokemon *mon);
void sub_8043A68(void);
u8 CheckPartyPokerus(struct Pokemon *party, u8 selection);
u8 CheckPartyHasHadPokerus(struct Pokemon *party, u8 selection);
void sub_8043B40(void);
bool8 TryIncrementMonLevel(struct Pokemon *mon);
u32 CanMonLearnTMHM(struct Pokemon *mon, u8 tm);
u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves); u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves);
u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves);
u8 GetNumberOfRelearnableMoves(struct Pokemon *mon);
u16 sub_8043F90(u16 species);
void ClearBattleMonForms(void); void ClearBattleMonForms(void);
void PlayBattleBGM(void);
void PlayMapChosenOrBattleBGM(u16 songId);
const u32 *GetMonFrontSpritePal(struct Pokemon *mon); const u32 *GetMonFrontSpritePal(struct Pokemon *mon);
const u32 *GetFrontSpritePalFromSpeciesAndPersonality(u16, u32, u32); const u32 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality);
const struct CompressedSpritePalette *sub_80409C8(u16, u32, u32);
bool8 IsOtherTrainer(u32, u8 *);
void SetWildMonHeldItem(void);
u16 GetMonEVCount(struct Pokemon *);
const struct CompressedSpritePalette *sub_806E794(struct Pokemon *mon);
const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *mon); const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *mon);
const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16 species, u32 otId , u32 personality); const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16 species, u32 otId , u32 personality);
bool32 IsHMMove2(u16 move); bool32 IsHMMove2(u16 move);
bool8 IsPokeSpriteNotFlipped(u16 species); bool8 IsPokeSpriteNotFlipped(u16 species);
bool8 IsMonShiny(struct Pokemon *mon); s8 GetFlavorRelationByPersonality(u32 personality, u8 flavor);
bool8 IsShinyOtIdPersonality(u32 otId, u32 personality);
void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies);
bool8 IsTradedMon(struct Pokemon *mon); bool8 IsTradedMon(struct Pokemon *mon);
bool8 IsOtherTrainer(u32 otId, u8 *otName);
void MonRestorePP(struct Pokemon *mon);
void BoxMonRestorePP(struct BoxPokemon *boxMon);
void sub_8044348(void);
void SetWildMonHeldItem(void);
bool8 IsMonShiny(struct Pokemon *mon);
u8 *GetTrainerPartnerName(void);
u8 GetPlayerPartyHighestLevel(void);
u16 FacilityClassToPicIndex(u16 facilityClass);
bool8 sub_804455C(u8 caseId, u8 battlerId);
void SetDeoxysStats(void);
u16 sub_80447AC(void);
u16 sub_80447F0(void);
void CreateObedientEnemyMon(void);
void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality); void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality);
s32 GetBankMultiplayerId(u16 a1); bool8 CheckBattleTypeGhost(struct Pokemon *mon, u8 bank);
bool16 sub_806D82C(u8 id); struct OakSpeechNidoranFStruct *OakSpeechNidoranFSetup(u8 battlePosition, bool8 enable);
u16 MonTryLearningNewMove(struct Pokemon* mon, bool8); void OakSpeechNidoranFFreeResources(void);
void sub_8068AA4(void); // sets stats for deoxys void *OakSpeechNidoranFGetBuffer(u8 bufferId);
bool8 HasTwoFramesAnimation(u16 species);
u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem);
void RandomlyGivePartyPokerus(struct Pokemon *party);
u8 CheckPartyPokerus(struct Pokemon *party, u8 selection);
u8 CheckPartyHasHadPokerus(struct Pokemon *party, u8 selection);
void UpdatePartyPokerusTime(u16 days);
void PartySpreadPokerus(struct Pokemon *party);
s8 GetMonFlavorRelation(struct Pokemon *mon, u8 a2);
s8 GetFlavorRelationByPersonality(u32 personality, u8 a2);
u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit);
u8 GetDefaultMoveTarget(u8 atkBank);
u16 PlayerGenderToFrontTrainerPicId(u8 playerGender);
void sub_806A1C0(u16 arg0, u8 bankIdentity);
void sub_806A12C(u16 trainerSpriteId, u8 bankIdentity);
u8 GetSecretBaseTrainerPicIndex(void);
bool8 TryIncrementMonLevel(struct Pokemon *mon);
void BoxMonToMon(struct BoxPokemon *srcMon, struct Pokemon *dstMon);
u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves);
bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battlerId);
#include "sprite.h"
void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3);
void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3);
void BattleAnimateBackSprite(struct Sprite* sprite, u16 species);
void PlayMapChosenOrBattleBGM(u16 songId);
u8 GetMonsStateToDoubles(void);
void sub_803E0A4(struct Pokemon *mon, struct BattleTowerPokemon *src);
void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition);
const u8 * Battle_PrintStatBoosterEffectMessage(u16 itemId);
#endif // GUARD_POKEMON_H #endif // GUARD_POKEMON_H
-12
View File
@@ -1,12 +0,0 @@
#ifndef GUARD_POKEMON_3_H
#define GUARD_POKEMON_3_H
#include "global.h"
const u8* GetTrainerClassNameFromId(u16 trainerId);
const u8* GetTrainerNameFromId(u16 trainerId);
void * SetUpMonSpriteManagerMaybe(u8, u8);
void sub_8044D80(void);
void * sub_8044E00(u8 buffId);
#endif // GUARD_POKEMON_3_H
+1
View File
@@ -14,5 +14,6 @@ u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
void sub_808BCB4(u8 boxId, u8 monPosition); void sub_808BCB4(u8 boxId, u8 monPosition);
u8 * GetBoxNamePtr(u8 boxId); u8 * GetBoxNamePtr(u8 boxId);
void sub_808CE60(void); void sub_808CE60(void);
u8 StorageGetCurrentBox(void);
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H #endif // GUARD_POKEMON_STORAGE_SYSTEM_H
+11
View File
@@ -177,6 +177,17 @@ extern const u8 gUnknown_84166A7[];
extern const u8 gUnknown_84169DC[]; extern const u8 gUnknown_84169DC[];
extern const u8 gUnknown_841623D[]; extern const u8 gUnknown_841623D[];
extern const u8 gUnknown_84162BD[]; extern const u8 gUnknown_84162BD[];
extern const u8 gUnknown_841D148[];
// pokemon.c
extern const u8 BattleText_Rose[];
extern const u8 BattleText_UnknownString3[];
extern const u8 BattleText_GetPumped[];
extern const u8 BattleText_MistShroud[];
extern const u8 gText_EggNickname[];
extern const u8 gText_BadEgg[];
extern const u8 gText_PkmnsXPreventsSwitching[];
extern u8 *gUnknown_83FD5D0[];
// diploma // diploma
extern const u8 gUnknown_841B60E[]; extern const u8 gUnknown_841B60E[];
+1 -1
View File
@@ -76,7 +76,6 @@ SECTIONS {
asm/battle_ai_switch_items.o(.text); asm/battle_ai_switch_items.o(.text);
asm/battle_controller_link_opponent.o(.text); asm/battle_controller_link_opponent.o(.text);
src/pokemon.o(.text); src/pokemon.o(.text);
asm/pokemon_3.o(.text);
src/trig.o(.text); src/trig.o(.text);
src/random.o(.text); src/random.o(.text);
src/util.o(.text); src/util.o(.text);
@@ -381,6 +380,7 @@ SECTIONS {
src/bg_regs.o(.rodata); src/bg_regs.o(.rodata);
src/string_util.o(.rodata); src/string_util.o(.rodata);
data/data.o(.rodata); data/data.o(.rodata);
src/pokemon.o(.rodata);
src/trig.o(.rodata); src/trig.o(.rodata);
src/util.o(.rodata); src/util.o(.rodata);
src/daycare.o(.rodata); src/daycare.o(.rodata);
+6 -6
View File
@@ -1170,28 +1170,28 @@ static void BattleAICmd_get_ability(void)
return; return;
} }
if (gBaseStats[gBattleMons[index].species].ability1 != ABILITY_NONE) if (gBaseStats[gBattleMons[index].species].abilities[0] != ABILITY_NONE)
{ {
if (gBaseStats[gBattleMons[index].species].ability2 != ABILITY_NONE) if (gBaseStats[gBattleMons[index].species].abilities[1] != ABILITY_NONE)
{ {
// AI has no knowledge of opponent, so it guesses which ability. // AI has no knowledge of opponent, so it guesses which ability.
if (Random() % 2) if (Random() % 2)
{ {
AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability1; AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].abilities[0];
} }
else else
{ {
AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability2; AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].abilities[1];
} }
} }
else else
{ {
AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability1; // it's definitely ability 1. AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].abilities[0]; // it's definitely ability 1.
} }
} }
else else
{ {
AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability2; // AI cant actually reach this part since every mon has at least 1 ability. AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].abilities[1]; // AI cant actually reach this part since every mon has at least 1 ability.
} }
} }
else else
+2 -2
View File
@@ -1,6 +1,6 @@
#include "global.h" #include "global.h"
void CableCarUtil_FillWrapped(void *dest, u16 value, u8 left, u8 top, u8 width, u8 height) static void CableCarUtil_FillWrapped(void *dest, u16 value, u8 left, u8 top, u8 width, u8 height)
{ {
u8 i; u8 i;
u8 j; u8 j;
@@ -18,7 +18,7 @@ void CableCarUtil_FillWrapped(void *dest, u16 value, u8 left, u8 top, u8 width,
} }
} }
void CableCarUtil_CopyWrapped(void *dest, const u16 *src, u8 left, u8 top, u8 width, u8 height) static void CableCarUtil_CopyWrapped(void *dest, const u16 *src, u8 left, u8 top, u8 width, u8 height)
{ {
u8 i; u8 i;
u8 j; u8 j;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+140
View File
@@ -0,0 +1,140 @@
#define HOENN_MON_SPECIES_START 277
static const u16 sHoennSpeciesIdToCryId[] =
{
[SPECIES_TREECKO - HOENN_MON_SPECIES_START] = CRY_TREECKO,
[SPECIES_GROVYLE - HOENN_MON_SPECIES_START] = CRY_GROVYLE,
[SPECIES_SCEPTILE - HOENN_MON_SPECIES_START] = CRY_SCEPTILE,
[SPECIES_TORCHIC - HOENN_MON_SPECIES_START] = CRY_TORCHIC,
[SPECIES_COMBUSKEN - HOENN_MON_SPECIES_START] = CRY_COMBUSKEN,
[SPECIES_BLAZIKEN - HOENN_MON_SPECIES_START] = CRY_BLAZIKEN,
[SPECIES_MUDKIP - HOENN_MON_SPECIES_START] = CRY_MUDKIP,
[SPECIES_MARSHTOMP - HOENN_MON_SPECIES_START] = CRY_MARSHTOMP,
[SPECIES_SWAMPERT - HOENN_MON_SPECIES_START] = CRY_SWAMPERT,
[SPECIES_POOCHYENA - HOENN_MON_SPECIES_START] = CRY_POOCHYENA,
[SPECIES_MIGHTYENA - HOENN_MON_SPECIES_START] = CRY_MIGHTYENA,
[SPECIES_ZIGZAGOON - HOENN_MON_SPECIES_START] = CRY_ZIGZAGOON,
[SPECIES_LINOONE - HOENN_MON_SPECIES_START] = CRY_LINOONE,
[SPECIES_WURMPLE - HOENN_MON_SPECIES_START] = CRY_WURMPLE,
[SPECIES_SILCOON - HOENN_MON_SPECIES_START] = CRY_SILCOON,
[SPECIES_BEAUTIFLY - HOENN_MON_SPECIES_START] = CRY_BEAUTIFLY,
[SPECIES_CASCOON - HOENN_MON_SPECIES_START] = CRY_CASCOON,
[SPECIES_DUSTOX - HOENN_MON_SPECIES_START] = CRY_DUSTOX,
[SPECIES_LOTAD - HOENN_MON_SPECIES_START] = CRY_LOTAD,
[SPECIES_LOMBRE - HOENN_MON_SPECIES_START] = CRY_LOMBRE,
[SPECIES_LUDICOLO - HOENN_MON_SPECIES_START] = CRY_LUDICOLO,
[SPECIES_SEEDOT - HOENN_MON_SPECIES_START] = CRY_SEEDOT,
[SPECIES_NUZLEAF - HOENN_MON_SPECIES_START] = CRY_NUZLEAF,
[SPECIES_SHIFTRY - HOENN_MON_SPECIES_START] = CRY_SHIFTRY,
[SPECIES_NINCADA - HOENN_MON_SPECIES_START] = CRY_NINCADA,
[SPECIES_NINJASK - HOENN_MON_SPECIES_START] = CRY_NINJASK,
[SPECIES_SHEDINJA - HOENN_MON_SPECIES_START] = CRY_SHEDINJA,
[SPECIES_TAILLOW - HOENN_MON_SPECIES_START] = CRY_TAILLOW,
[SPECIES_SWELLOW - HOENN_MON_SPECIES_START] = CRY_SWELLOW,
[SPECIES_SHROOMISH - HOENN_MON_SPECIES_START] = CRY_SHROOMISH,
[SPECIES_BRELOOM - HOENN_MON_SPECIES_START] = CRY_BRELOOM,
[SPECIES_SPINDA - HOENN_MON_SPECIES_START] = CRY_SPINDA,
[SPECIES_WINGULL - HOENN_MON_SPECIES_START] = CRY_WINGULL,
[SPECIES_PELIPPER - HOENN_MON_SPECIES_START] = CRY_PELIPPER,
[SPECIES_SURSKIT - HOENN_MON_SPECIES_START] = CRY_SURSKIT,
[SPECIES_MASQUERAIN - HOENN_MON_SPECIES_START] = CRY_MASQUERAIN,
[SPECIES_WAILMER - HOENN_MON_SPECIES_START] = CRY_WAILMER,
[SPECIES_WAILORD - HOENN_MON_SPECIES_START] = CRY_WAILORD,
[SPECIES_SKITTY - HOENN_MON_SPECIES_START] = CRY_SKITTY,
[SPECIES_DELCATTY - HOENN_MON_SPECIES_START] = CRY_DELCATTY,
[SPECIES_KECLEON - HOENN_MON_SPECIES_START] = CRY_KECLEON,
[SPECIES_BALTOY - HOENN_MON_SPECIES_START] = CRY_BALTOY,
[SPECIES_CLAYDOL - HOENN_MON_SPECIES_START] = CRY_CLAYDOL,
[SPECIES_NOSEPASS - HOENN_MON_SPECIES_START] = CRY_NOSEPASS,
[SPECIES_TORKOAL - HOENN_MON_SPECIES_START] = CRY_TORKOAL,
[SPECIES_SABLEYE - HOENN_MON_SPECIES_START] = CRY_SABLEYE,
[SPECIES_BARBOACH - HOENN_MON_SPECIES_START] = CRY_BARBOACH,
[SPECIES_WHISCASH - HOENN_MON_SPECIES_START] = CRY_WHISCASH,
[SPECIES_LUVDISC - HOENN_MON_SPECIES_START] = CRY_LUVDISC,
[SPECIES_CORPHISH - HOENN_MON_SPECIES_START] = CRY_CORPHISH,
[SPECIES_CRAWDAUNT - HOENN_MON_SPECIES_START] = CRY_CRAWDAUNT,
[SPECIES_FEEBAS - HOENN_MON_SPECIES_START] = CRY_FEEBAS,
[SPECIES_MILOTIC - HOENN_MON_SPECIES_START] = CRY_MILOTIC,
[SPECIES_CARVANHA - HOENN_MON_SPECIES_START] = CRY_CARVANHA,
[SPECIES_SHARPEDO - HOENN_MON_SPECIES_START] = CRY_SHARPEDO,
[SPECIES_TRAPINCH - HOENN_MON_SPECIES_START] = CRY_TRAPINCH,
[SPECIES_VIBRAVA - HOENN_MON_SPECIES_START] = CRY_VIBRAVA,
[SPECIES_FLYGON - HOENN_MON_SPECIES_START] = CRY_FLYGON,
[SPECIES_MAKUHITA - HOENN_MON_SPECIES_START] = CRY_MAKUHITA,
[SPECIES_HARIYAMA - HOENN_MON_SPECIES_START] = CRY_HARIYAMA,
[SPECIES_ELECTRIKE - HOENN_MON_SPECIES_START] = CRY_ELECTRIKE,
[SPECIES_MANECTRIC - HOENN_MON_SPECIES_START] = CRY_MANECTRIC,
[SPECIES_NUMEL - HOENN_MON_SPECIES_START] = CRY_NUMEL,
[SPECIES_CAMERUPT - HOENN_MON_SPECIES_START] = CRY_CAMERUPT,
[SPECIES_SPHEAL - HOENN_MON_SPECIES_START] = CRY_SPHEAL,
[SPECIES_SEALEO - HOENN_MON_SPECIES_START] = CRY_SEALEO,
[SPECIES_WALREIN - HOENN_MON_SPECIES_START] = CRY_WALREIN,
[SPECIES_CACNEA - HOENN_MON_SPECIES_START] = CRY_CACNEA,
[SPECIES_CACTURNE - HOENN_MON_SPECIES_START] = CRY_CACTURNE,
[SPECIES_SNORUNT - HOENN_MON_SPECIES_START] = CRY_SNORUNT,
[SPECIES_GLALIE - HOENN_MON_SPECIES_START] = CRY_GLALIE,
[SPECIES_LUNATONE - HOENN_MON_SPECIES_START] = CRY_LUNATONE,
[SPECIES_SOLROCK - HOENN_MON_SPECIES_START] = CRY_SOLROCK,
[SPECIES_AZURILL - HOENN_MON_SPECIES_START] = CRY_AZURILL,
[SPECIES_SPOINK - HOENN_MON_SPECIES_START] = CRY_SPOINK,
[SPECIES_GRUMPIG - HOENN_MON_SPECIES_START] = CRY_GRUMPIG,
[SPECIES_PLUSLE - HOENN_MON_SPECIES_START] = CRY_PLUSLE,
[SPECIES_MINUN - HOENN_MON_SPECIES_START] = CRY_MINUN,
[SPECIES_MAWILE - HOENN_MON_SPECIES_START] = CRY_MAWILE,
[SPECIES_MEDITITE - HOENN_MON_SPECIES_START] = CRY_MEDITITE,
[SPECIES_MEDICHAM - HOENN_MON_SPECIES_START] = CRY_MEDICHAM,
[SPECIES_SWABLU - HOENN_MON_SPECIES_START] = CRY_SWABLU,
[SPECIES_ALTARIA - HOENN_MON_SPECIES_START] = CRY_ALTARIA,
[SPECIES_WYNAUT - HOENN_MON_SPECIES_START] = CRY_WYNAUT,
[SPECIES_DUSKULL - HOENN_MON_SPECIES_START] = CRY_DUSKULL,
[SPECIES_DUSCLOPS - HOENN_MON_SPECIES_START] = CRY_DUSCLOPS,
[SPECIES_ROSELIA - HOENN_MON_SPECIES_START] = CRY_ROSELIA,
[SPECIES_SLAKOTH - HOENN_MON_SPECIES_START] = CRY_SLAKOTH,
[SPECIES_VIGOROTH - HOENN_MON_SPECIES_START] = CRY_VIGOROTH,
[SPECIES_SLAKING - HOENN_MON_SPECIES_START] = CRY_SLAKING,
[SPECIES_GULPIN - HOENN_MON_SPECIES_START] = CRY_GULPIN,
[SPECIES_SWALOT - HOENN_MON_SPECIES_START] = CRY_SWALOT,
[SPECIES_TROPIUS - HOENN_MON_SPECIES_START] = CRY_TROPIUS,
[SPECIES_WHISMUR - HOENN_MON_SPECIES_START] = CRY_WHISMUR,
[SPECIES_LOUDRED - HOENN_MON_SPECIES_START] = CRY_LOUDRED,
[SPECIES_EXPLOUD - HOENN_MON_SPECIES_START] = CRY_EXPLOUD,
[SPECIES_CLAMPERL - HOENN_MON_SPECIES_START] = CRY_CLAMPERL,
[SPECIES_HUNTAIL - HOENN_MON_SPECIES_START] = CRY_HUNTAIL,
[SPECIES_GOREBYSS - HOENN_MON_SPECIES_START] = CRY_GOREBYSS,
[SPECIES_ABSOL - HOENN_MON_SPECIES_START] = CRY_ABSOL,
[SPECIES_SHUPPET - HOENN_MON_SPECIES_START] = CRY_SHUPPET,
[SPECIES_BANETTE - HOENN_MON_SPECIES_START] = CRY_BANETTE,
[SPECIES_SEVIPER - HOENN_MON_SPECIES_START] = CRY_SEVIPER,
[SPECIES_ZANGOOSE - HOENN_MON_SPECIES_START] = CRY_ZANGOOSE,
[SPECIES_RELICANTH - HOENN_MON_SPECIES_START] = CRY_RELICANTH,
[SPECIES_ARON - HOENN_MON_SPECIES_START] = CRY_ARON,
[SPECIES_LAIRON - HOENN_MON_SPECIES_START] = CRY_LAIRON,
[SPECIES_AGGRON - HOENN_MON_SPECIES_START] = CRY_AGGRON,
[SPECIES_CASTFORM - HOENN_MON_SPECIES_START] = CRY_CASTFORM,
[SPECIES_VOLBEAT - HOENN_MON_SPECIES_START] = CRY_VOLBEAT,
[SPECIES_ILLUMISE - HOENN_MON_SPECIES_START] = CRY_ILLUMISE,
[SPECIES_LILEEP - HOENN_MON_SPECIES_START] = CRY_LILEEP,
[SPECIES_CRADILY - HOENN_MON_SPECIES_START] = CRY_CRADILY,
[SPECIES_ANORITH - HOENN_MON_SPECIES_START] = CRY_ANORITH,
[SPECIES_ARMALDO - HOENN_MON_SPECIES_START] = CRY_ARMALDO,
[SPECIES_RALTS - HOENN_MON_SPECIES_START] = CRY_RALTS,
[SPECIES_KIRLIA - HOENN_MON_SPECIES_START] = CRY_KIRLIA,
[SPECIES_GARDEVOIR - HOENN_MON_SPECIES_START] = CRY_GARDEVOIR,
[SPECIES_BAGON - HOENN_MON_SPECIES_START] = CRY_BAGON,
[SPECIES_SHELGON - HOENN_MON_SPECIES_START] = CRY_SHELGON,
[SPECIES_SALAMENCE - HOENN_MON_SPECIES_START] = CRY_SALAMENCE,
[SPECIES_BELDUM - HOENN_MON_SPECIES_START] = CRY_BELDUM,
[SPECIES_METANG - HOENN_MON_SPECIES_START] = CRY_METANG,
[SPECIES_METAGROSS - HOENN_MON_SPECIES_START] = CRY_METAGROSS,
[SPECIES_REGIROCK - HOENN_MON_SPECIES_START] = CRY_REGIROCK,
[SPECIES_REGICE - HOENN_MON_SPECIES_START] = CRY_REGICE,
[SPECIES_REGISTEEL - HOENN_MON_SPECIES_START] = CRY_REGISTEEL,
[SPECIES_KYOGRE - HOENN_MON_SPECIES_START] = CRY_KYOGRE,
[SPECIES_GROUDON - HOENN_MON_SPECIES_START] = CRY_GROUDON,
[SPECIES_RAYQUAZA - HOENN_MON_SPECIES_START] = CRY_RAYQUAZA,
[SPECIES_LATIAS - HOENN_MON_SPECIES_START] = CRY_LATIAS,
[SPECIES_LATIOS - HOENN_MON_SPECIES_START] = CRY_LATIOS,
[SPECIES_JIRACHI - HOENN_MON_SPECIES_START] = CRY_JIRACHI,
[SPECIES_DEOXYS - HOENN_MON_SPECIES_START] = CRY_DEOXYS,
[SPECIES_CHIMECHO - HOENN_MON_SPECIES_START] = CRY_CHIMECHO,
};
+187
View File
@@ -0,0 +1,187 @@
const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
{
[SPECIES_BULBASAUR] = {{EVO_LEVEL, 16, SPECIES_IVYSAUR}},
[SPECIES_IVYSAUR] = {{EVO_LEVEL, 32, SPECIES_VENUSAUR}},
[SPECIES_CHARMANDER] = {{EVO_LEVEL, 16, SPECIES_CHARMELEON}},
[SPECIES_CHARMELEON] = {{EVO_LEVEL, 36, SPECIES_CHARIZARD}},
[SPECIES_SQUIRTLE] = {{EVO_LEVEL, 16, SPECIES_WARTORTLE}},
[SPECIES_WARTORTLE] = {{EVO_LEVEL, 36, SPECIES_BLASTOISE}},
[SPECIES_CATERPIE] = {{EVO_LEVEL, 7, SPECIES_METAPOD}},
[SPECIES_METAPOD] = {{EVO_LEVEL, 10, SPECIES_BUTTERFREE}},
[SPECIES_WEEDLE] = {{EVO_LEVEL, 7, SPECIES_KAKUNA}},
[SPECIES_KAKUNA] = {{EVO_LEVEL, 10, SPECIES_BEEDRILL}},
[SPECIES_PIDGEY] = {{EVO_LEVEL, 18, SPECIES_PIDGEOTTO}},
[SPECIES_PIDGEOTTO] = {{EVO_LEVEL, 36, SPECIES_PIDGEOT}},
[SPECIES_RATTATA] = {{EVO_LEVEL, 20, SPECIES_RATICATE}},
[SPECIES_SPEAROW] = {{EVO_LEVEL, 20, SPECIES_FEAROW}},
[SPECIES_EKANS] = {{EVO_LEVEL, 22, SPECIES_ARBOK}},
[SPECIES_PIKACHU] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU}},
[SPECIES_SANDSHREW] = {{EVO_LEVEL, 22, SPECIES_SANDSLASH}},
[SPECIES_NIDORAN_F] = {{EVO_LEVEL, 16, SPECIES_NIDORINA}},
[SPECIES_NIDORINA] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOQUEEN}},
[SPECIES_NIDORAN_M] = {{EVO_LEVEL, 16, SPECIES_NIDORINO}},
[SPECIES_NIDORINO] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOKING}},
[SPECIES_CLEFAIRY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_CLEFABLE}},
[SPECIES_VULPIX] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_NINETALES}},
[SPECIES_JIGGLYPUFF] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_WIGGLYTUFF}},
[SPECIES_ZUBAT] = {{EVO_LEVEL, 22, SPECIES_GOLBAT}},
[SPECIES_GOLBAT] = {{EVO_FRIENDSHIP, 0, SPECIES_CROBAT}},
[SPECIES_ODDISH] = {{EVO_LEVEL, 21, SPECIES_GLOOM}},
[SPECIES_GLOOM] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME},
{EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM}},
[SPECIES_PARAS] = {{EVO_LEVEL, 24, SPECIES_PARASECT}},
[SPECIES_VENONAT] = {{EVO_LEVEL, 31, SPECIES_VENOMOTH}},
[SPECIES_DIGLETT] = {{EVO_LEVEL, 26, SPECIES_DUGTRIO}},
[SPECIES_MEOWTH] = {{EVO_LEVEL, 28, SPECIES_PERSIAN}},
[SPECIES_PSYDUCK] = {{EVO_LEVEL, 33, SPECIES_GOLDUCK}},
[SPECIES_MANKEY] = {{EVO_LEVEL, 28, SPECIES_PRIMEAPE}},
[SPECIES_GROWLITHE] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE}},
[SPECIES_POLIWAG] = {{EVO_LEVEL, 25, SPECIES_POLIWHIRL}},
[SPECIES_POLIWHIRL] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH},
{EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED}},
[SPECIES_ABRA] = {{EVO_LEVEL, 16, SPECIES_KADABRA}},
[SPECIES_KADABRA] = {{EVO_TRADE, 0, SPECIES_ALAKAZAM}},
[SPECIES_MACHOP] = {{EVO_LEVEL, 28, SPECIES_MACHOKE}},
[SPECIES_MACHOKE] = {{EVO_TRADE, 0, SPECIES_MACHAMP}},
[SPECIES_BELLSPROUT] = {{EVO_LEVEL, 21, SPECIES_WEEPINBELL}},
[SPECIES_WEEPINBELL] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VICTREEBEL}},
[SPECIES_TENTACOOL] = {{EVO_LEVEL, 30, SPECIES_TENTACRUEL}},
[SPECIES_GEODUDE] = {{EVO_LEVEL, 25, SPECIES_GRAVELER}},
[SPECIES_GRAVELER] = {{EVO_TRADE, 0, SPECIES_GOLEM}},
[SPECIES_PONYTA] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH}},
[SPECIES_SLOWPOKE] = {{EVO_LEVEL, 37, SPECIES_SLOWBRO},
{EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}},
[SPECIES_MAGNEMITE] = {{EVO_LEVEL, 30, SPECIES_MAGNETON}},
[SPECIES_DODUO] = {{EVO_LEVEL, 31, SPECIES_DODRIO}},
[SPECIES_SEEL] = {{EVO_LEVEL, 34, SPECIES_DEWGONG}},
[SPECIES_GRIMER] = {{EVO_LEVEL, 38, SPECIES_MUK}},
[SPECIES_SHELLDER] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER}},
[SPECIES_GASTLY] = {{EVO_LEVEL, 25, SPECIES_HAUNTER}},
[SPECIES_HAUNTER] = {{EVO_TRADE, 0, SPECIES_GENGAR}},
[SPECIES_ONIX] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}},
[SPECIES_DROWZEE] = {{EVO_LEVEL, 26, SPECIES_HYPNO}},
[SPECIES_KRABBY] = {{EVO_LEVEL, 28, SPECIES_KINGLER}},
[SPECIES_VOLTORB] = {{EVO_LEVEL, 30, SPECIES_ELECTRODE}},
[SPECIES_EXEGGCUTE] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR}},
[SPECIES_CUBONE] = {{EVO_LEVEL, 28, SPECIES_MAROWAK}},
[SPECIES_KOFFING] = {{EVO_LEVEL, 35, SPECIES_WEEZING}},
[SPECIES_RHYHORN] = {{EVO_LEVEL, 42, SPECIES_RHYDON}},
[SPECIES_CHANSEY] = {{EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}},
[SPECIES_HORSEA] = {{EVO_LEVEL, 32, SPECIES_SEADRA}},
[SPECIES_SEADRA] = {{EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}},
[SPECIES_GOLDEEN] = {{EVO_LEVEL, 33, SPECIES_SEAKING}},
[SPECIES_STARYU] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}},
[SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}},
[SPECIES_MAGIKARP] = {{EVO_LEVEL, 20, SPECIES_GYARADOS}},
[SPECIES_EEVEE] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON},
{EVO_ITEM, ITEM_WATER_STONE, SPECIES_VAPOREON},
{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON},
{EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON},
{EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}},
[SPECIES_PORYGON] = {{EVO_TRADE_ITEM, ITEM_UP_GRADE, SPECIES_PORYGON2}},
[SPECIES_OMANYTE] = {{EVO_LEVEL, 40, SPECIES_OMASTAR}},
[SPECIES_KABUTO] = {{EVO_LEVEL, 40, SPECIES_KABUTOPS}},
[SPECIES_DRATINI] = {{EVO_LEVEL, 30, SPECIES_DRAGONAIR}},
[SPECIES_DRAGONAIR] = {{EVO_LEVEL, 55, SPECIES_DRAGONITE}},
[SPECIES_CHIKORITA] = {{EVO_LEVEL, 16, SPECIES_BAYLEEF}},
[SPECIES_BAYLEEF] = {{EVO_LEVEL, 32, SPECIES_MEGANIUM}},
[SPECIES_CYNDAQUIL] = {{EVO_LEVEL, 14, SPECIES_QUILAVA}},
[SPECIES_QUILAVA] = {{EVO_LEVEL, 36, SPECIES_TYPHLOSION}},
[SPECIES_TOTODILE] = {{EVO_LEVEL, 18, SPECIES_CROCONAW}},
[SPECIES_CROCONAW] = {{EVO_LEVEL, 30, SPECIES_FERALIGATR}},
[SPECIES_SENTRET] = {{EVO_LEVEL, 15, SPECIES_FURRET}},
[SPECIES_HOOTHOOT] = {{EVO_LEVEL, 20, SPECIES_NOCTOWL}},
[SPECIES_LEDYBA] = {{EVO_LEVEL, 18, SPECIES_LEDIAN}},
[SPECIES_SPINARAK] = {{EVO_LEVEL, 22, SPECIES_ARIADOS}},
[SPECIES_CHINCHOU] = {{EVO_LEVEL, 27, SPECIES_LANTURN}},
[SPECIES_PICHU] = {{EVO_FRIENDSHIP, 0, SPECIES_PIKACHU}},
[SPECIES_CLEFFA] = {{EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}},
[SPECIES_IGGLYBUFF] = {{EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}},
[SPECIES_TOGEPI] = {{EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}},
[SPECIES_NATU] = {{EVO_LEVEL, 25, SPECIES_XATU}},
[SPECIES_MAREEP] = {{EVO_LEVEL, 15, SPECIES_FLAAFFY}},
[SPECIES_FLAAFFY] = {{EVO_LEVEL, 30, SPECIES_AMPHAROS}},
[SPECIES_MARILL] = {{EVO_LEVEL, 18, SPECIES_AZUMARILL}},
[SPECIES_HOPPIP] = {{EVO_LEVEL, 18, SPECIES_SKIPLOOM}},
[SPECIES_SKIPLOOM] = {{EVO_LEVEL, 27, SPECIES_JUMPLUFF}},
[SPECIES_SUNKERN] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}},
[SPECIES_WOOPER] = {{EVO_LEVEL, 20, SPECIES_QUAGSIRE}},
[SPECIES_PINECO] = {{EVO_LEVEL, 31, SPECIES_FORRETRESS}},
[SPECIES_SNUBBULL] = {{EVO_LEVEL, 23, SPECIES_GRANBULL}},
[SPECIES_TEDDIURSA] = {{EVO_LEVEL, 30, SPECIES_URSARING}},
[SPECIES_SLUGMA] = {{EVO_LEVEL, 38, SPECIES_MAGCARGO}},
[SPECIES_SWINUB] = {{EVO_LEVEL, 33, SPECIES_PILOSWINE}},
[SPECIES_REMORAID] = {{EVO_LEVEL, 25, SPECIES_OCTILLERY}},
[SPECIES_HOUNDOUR] = {{EVO_LEVEL, 24, SPECIES_HOUNDOOM}},
[SPECIES_PHANPY] = {{EVO_LEVEL, 25, SPECIES_DONPHAN}},
[SPECIES_TYROGUE] = {{EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN},
{EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE},
{EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP}},
[SPECIES_SMOOCHUM] = {{EVO_LEVEL, 30, SPECIES_JYNX}},
[SPECIES_ELEKID] = {{EVO_LEVEL, 30, SPECIES_ELECTABUZZ}},
[SPECIES_MAGBY] = {{EVO_LEVEL, 30, SPECIES_MAGMAR}},
[SPECIES_LARVITAR] = {{EVO_LEVEL, 30, SPECIES_PUPITAR}},
[SPECIES_PUPITAR] = {{EVO_LEVEL, 55, SPECIES_TYRANITAR}},
[SPECIES_TREECKO] = {{EVO_LEVEL, 16, SPECIES_GROVYLE}},
[SPECIES_GROVYLE] = {{EVO_LEVEL, 36, SPECIES_SCEPTILE}},
[SPECIES_TORCHIC] = {{EVO_LEVEL, 16, SPECIES_COMBUSKEN}},
[SPECIES_COMBUSKEN] = {{EVO_LEVEL, 36, SPECIES_BLAZIKEN}},
[SPECIES_MUDKIP] = {{EVO_LEVEL, 16, SPECIES_MARSHTOMP}},
[SPECIES_MARSHTOMP] = {{EVO_LEVEL, 36, SPECIES_SWAMPERT}},
[SPECIES_POOCHYENA] = {{EVO_LEVEL, 18, SPECIES_MIGHTYENA}},
[SPECIES_ZIGZAGOON] = {{EVO_LEVEL, 20, SPECIES_LINOONE}},
[SPECIES_WURMPLE] = {{EVO_LEVEL_SILCOON, 7, SPECIES_SILCOON},
{EVO_LEVEL_CASCOON, 7, SPECIES_CASCOON}},
[SPECIES_SILCOON] = {{EVO_LEVEL, 10, SPECIES_BEAUTIFLY}},
[SPECIES_CASCOON] = {{EVO_LEVEL, 10, SPECIES_DUSTOX}},
[SPECIES_LOTAD] = {{EVO_LEVEL, 14, SPECIES_LOMBRE}},
[SPECIES_LOMBRE] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_LUDICOLO}},
[SPECIES_SEEDOT] = {{EVO_LEVEL, 14, SPECIES_NUZLEAF}},
[SPECIES_NUZLEAF] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SHIFTRY}},
[SPECIES_NINCADA] = {{EVO_LEVEL_NINJASK, 20, SPECIES_NINJASK},
{EVO_LEVEL_SHEDINJA, 20, SPECIES_SHEDINJA}},
[SPECIES_TAILLOW] = {{EVO_LEVEL, 22, SPECIES_SWELLOW}},
[SPECIES_SHROOMISH] = {{EVO_LEVEL, 23, SPECIES_BRELOOM}},
[SPECIES_WINGULL] = {{EVO_LEVEL, 25, SPECIES_PELIPPER}},
[SPECIES_SURSKIT] = {{EVO_LEVEL, 22, SPECIES_MASQUERAIN}},
[SPECIES_WAILMER] = {{EVO_LEVEL, 40, SPECIES_WAILORD}},
[SPECIES_SKITTY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}},
[SPECIES_BALTOY] = {{EVO_LEVEL, 36, SPECIES_CLAYDOL}},
[SPECIES_BARBOACH] = {{EVO_LEVEL, 30, SPECIES_WHISCASH}},
[SPECIES_CORPHISH] = {{EVO_LEVEL, 30, SPECIES_CRAWDAUNT}},
[SPECIES_FEEBAS] = {{EVO_BEAUTY, 170, SPECIES_MILOTIC}},
[SPECIES_CARVANHA] = {{EVO_LEVEL, 30, SPECIES_SHARPEDO}},
[SPECIES_TRAPINCH] = {{EVO_LEVEL, 35, SPECIES_VIBRAVA}},
[SPECIES_VIBRAVA] = {{EVO_LEVEL, 45, SPECIES_FLYGON}},
[SPECIES_MAKUHITA] = {{EVO_LEVEL, 24, SPECIES_HARIYAMA}},
[SPECIES_ELECTRIKE] = {{EVO_LEVEL, 26, SPECIES_MANECTRIC}},
[SPECIES_NUMEL] = {{EVO_LEVEL, 33, SPECIES_CAMERUPT}},
[SPECIES_SPHEAL] = {{EVO_LEVEL, 32, SPECIES_SEALEO}},
[SPECIES_SEALEO] = {{EVO_LEVEL, 44, SPECIES_WALREIN}},
[SPECIES_CACNEA] = {{EVO_LEVEL, 32, SPECIES_CACTURNE}},
[SPECIES_SNORUNT] = {{EVO_LEVEL, 42, SPECIES_GLALIE}},
[SPECIES_AZURILL] = {{EVO_FRIENDSHIP, 0, SPECIES_MARILL}},
[SPECIES_SPOINK] = {{EVO_LEVEL, 32, SPECIES_GRUMPIG}},
[SPECIES_MEDITITE] = {{EVO_LEVEL, 37, SPECIES_MEDICHAM}},
[SPECIES_SWABLU] = {{EVO_LEVEL, 35, SPECIES_ALTARIA}},
[SPECIES_WYNAUT] = {{EVO_LEVEL, 15, SPECIES_WOBBUFFET}},
[SPECIES_DUSKULL] = {{EVO_LEVEL, 37, SPECIES_DUSCLOPS}},
[SPECIES_SLAKOTH] = {{EVO_LEVEL, 18, SPECIES_VIGOROTH}},
[SPECIES_VIGOROTH] = {{EVO_LEVEL, 36, SPECIES_SLAKING}},
[SPECIES_GULPIN] = {{EVO_LEVEL, 26, SPECIES_SWALOT}},
[SPECIES_WHISMUR] = {{EVO_LEVEL, 20, SPECIES_LOUDRED}},
[SPECIES_LOUDRED] = {{EVO_LEVEL, 40, SPECIES_EXPLOUD}},
[SPECIES_CLAMPERL] = {{EVO_TRADE_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL},
{EVO_TRADE_ITEM, ITEM_DEEP_SEA_SCALE, SPECIES_GOREBYSS}},
[SPECIES_SHUPPET] = {{EVO_LEVEL, 37, SPECIES_BANETTE}},
[SPECIES_ARON] = {{EVO_LEVEL, 32, SPECIES_LAIRON}},
[SPECIES_LAIRON] = {{EVO_LEVEL, 42, SPECIES_AGGRON}},
[SPECIES_LILEEP] = {{EVO_LEVEL, 40, SPECIES_CRADILY}},
[SPECIES_ANORITH] = {{EVO_LEVEL, 40, SPECIES_ARMALDO}},
[SPECIES_RALTS] = {{EVO_LEVEL, 20, SPECIES_KIRLIA}},
[SPECIES_KIRLIA] = {{EVO_LEVEL, 30, SPECIES_GARDEVOIR}},
[SPECIES_BAGON] = {{EVO_LEVEL, 30, SPECIES_SHELGON}},
[SPECIES_SHELGON] = {{EVO_LEVEL, 50, SPECIES_SALAMENCE}},
[SPECIES_BELDUM] = {{EVO_LEVEL, 20, SPECIES_METANG}},
[SPECIES_METANG] = {{EVO_LEVEL, 45, SPECIES_METAGROSS}},
};
+844
View File
@@ -0,0 +1,844 @@
#define SQUARE(n)(n * n)
#define CUBE(n)(n * n * n)
#define EXP_SLOW(n)((5 * CUBE(n)) / 4) // (5 * (n)^3) / 4
#define EXP_FAST(n)((4 * CUBE(n)) / 5) // (4 * (n)^3) / 5
#define EXP_MEDIUM_FAST(n)(CUBE(n)) // (n)^3
#define EXP_MEDIUM_SLOW(n)((6 * CUBE(n)) / 5 - (15 * SQUARE(n)) + (100 * n) - 140) // (6 * (n)^3) / 5 - (15 * (n)^2) + (100 * n) - 140
#define EXP_ERRATIC(n) \
(n <= 50) ? ((100 - n) * CUBE(n) / 50) \
:(n <= 68) ? ((150 - n) * CUBE(n) / 100) \
:(n <= 98) ? (((1911 - 10 * n) / 3) * CUBE(n) / 500) \
: ((160 - n) * CUBE(n) / 100)
#define EXP_FLUCTUATING(n) \
(n <= 15) ? (((n + 1) / 3 + 24) * CUBE(n) / 50) \
:(n <= 36) ? ((n + 14) * CUBE(n) / 50) \
: (((n / 2) + 32) * CUBE(n) / 50)
const u32 gExperienceTables[][MAX_MON_LEVEL + 1] =
{
{ // Medium Fast
0, // 0
1, // 1
EXP_MEDIUM_FAST(2),
EXP_MEDIUM_FAST(3),
EXP_MEDIUM_FAST(4),
EXP_MEDIUM_FAST(5),
EXP_MEDIUM_FAST(6),
EXP_MEDIUM_FAST(7),
EXP_MEDIUM_FAST(8),
EXP_MEDIUM_FAST(9),
EXP_MEDIUM_FAST(10),
EXP_MEDIUM_FAST(11),
EXP_MEDIUM_FAST(12),
EXP_MEDIUM_FAST(13),
EXP_MEDIUM_FAST(14),
EXP_MEDIUM_FAST(15),
EXP_MEDIUM_FAST(16),
EXP_MEDIUM_FAST(17),
EXP_MEDIUM_FAST(18),
EXP_MEDIUM_FAST(19),
EXP_MEDIUM_FAST(20),
EXP_MEDIUM_FAST(21),
EXP_MEDIUM_FAST(22),
EXP_MEDIUM_FAST(23),
EXP_MEDIUM_FAST(24),
EXP_MEDIUM_FAST(25),
EXP_MEDIUM_FAST(26),
EXP_MEDIUM_FAST(27),
EXP_MEDIUM_FAST(28),
EXP_MEDIUM_FAST(29),
EXP_MEDIUM_FAST(30),
EXP_MEDIUM_FAST(31),
EXP_MEDIUM_FAST(32),
EXP_MEDIUM_FAST(33),
EXP_MEDIUM_FAST(34),
EXP_MEDIUM_FAST(35),
EXP_MEDIUM_FAST(36),
EXP_MEDIUM_FAST(37),
EXP_MEDIUM_FAST(38),
EXP_MEDIUM_FAST(39),
EXP_MEDIUM_FAST(40),
EXP_MEDIUM_FAST(41),
EXP_MEDIUM_FAST(42),
EXP_MEDIUM_FAST(43),
EXP_MEDIUM_FAST(44),
EXP_MEDIUM_FAST(45),
EXP_MEDIUM_FAST(46),
EXP_MEDIUM_FAST(47),
EXP_MEDIUM_FAST(48),
EXP_MEDIUM_FAST(49),
EXP_MEDIUM_FAST(50),
EXP_MEDIUM_FAST(51),
EXP_MEDIUM_FAST(52),
EXP_MEDIUM_FAST(53),
EXP_MEDIUM_FAST(54),
EXP_MEDIUM_FAST(55),
EXP_MEDIUM_FAST(56),
EXP_MEDIUM_FAST(57),
EXP_MEDIUM_FAST(58),
EXP_MEDIUM_FAST(59),
EXP_MEDIUM_FAST(60),
EXP_MEDIUM_FAST(61),
EXP_MEDIUM_FAST(62),
EXP_MEDIUM_FAST(63),
EXP_MEDIUM_FAST(64),
EXP_MEDIUM_FAST(65),
EXP_MEDIUM_FAST(66),
EXP_MEDIUM_FAST(67),
EXP_MEDIUM_FAST(68),
EXP_MEDIUM_FAST(69),
EXP_MEDIUM_FAST(70),
EXP_MEDIUM_FAST(71),
EXP_MEDIUM_FAST(72),
EXP_MEDIUM_FAST(73),
EXP_MEDIUM_FAST(74),
EXP_MEDIUM_FAST(75),
EXP_MEDIUM_FAST(76),
EXP_MEDIUM_FAST(77),
EXP_MEDIUM_FAST(78),
EXP_MEDIUM_FAST(79),
EXP_MEDIUM_FAST(80),
EXP_MEDIUM_FAST(81),
EXP_MEDIUM_FAST(82),
EXP_MEDIUM_FAST(83),
EXP_MEDIUM_FAST(84),
EXP_MEDIUM_FAST(85),
EXP_MEDIUM_FAST(86),
EXP_MEDIUM_FAST(87),
EXP_MEDIUM_FAST(88),
EXP_MEDIUM_FAST(89),
EXP_MEDIUM_FAST(90),
EXP_MEDIUM_FAST(91),
EXP_MEDIUM_FAST(92),
EXP_MEDIUM_FAST(93),
EXP_MEDIUM_FAST(94),
EXP_MEDIUM_FAST(95),
EXP_MEDIUM_FAST(96),
EXP_MEDIUM_FAST(97),
EXP_MEDIUM_FAST(98),
EXP_MEDIUM_FAST(99),
EXP_MEDIUM_FAST(100),
},
{ // Erratic
0, // 0
1, // 1
EXP_ERRATIC(2),
EXP_ERRATIC(3),
EXP_ERRATIC(4),
EXP_ERRATIC(5),
EXP_ERRATIC(6),
EXP_ERRATIC(7),
EXP_ERRATIC(8),
EXP_ERRATIC(9),
EXP_ERRATIC(10),
EXP_ERRATIC(11),
EXP_ERRATIC(12),
EXP_ERRATIC(13),
EXP_ERRATIC(14),
EXP_ERRATIC(15),
EXP_ERRATIC(16),
EXP_ERRATIC(17),
EXP_ERRATIC(18),
EXP_ERRATIC(19),
EXP_ERRATIC(20),
EXP_ERRATIC(21),
EXP_ERRATIC(22),
EXP_ERRATIC(23),
EXP_ERRATIC(24),
EXP_ERRATIC(25),
EXP_ERRATIC(26),
EXP_ERRATIC(27),
EXP_ERRATIC(28),
EXP_ERRATIC(29),
EXP_ERRATIC(30),
EXP_ERRATIC(31),
EXP_ERRATIC(32),
EXP_ERRATIC(33),
EXP_ERRATIC(34),
EXP_ERRATIC(35),
EXP_ERRATIC(36),
EXP_ERRATIC(37),
EXP_ERRATIC(38),
EXP_ERRATIC(39),
EXP_ERRATIC(40),
EXP_ERRATIC(41),
EXP_ERRATIC(42),
EXP_ERRATIC(43),
EXP_ERRATIC(44),
EXP_ERRATIC(45),
EXP_ERRATIC(46),
EXP_ERRATIC(47),
EXP_ERRATIC(48),
EXP_ERRATIC(49),
EXP_ERRATIC(50),
EXP_ERRATIC(51),
EXP_ERRATIC(52),
EXP_ERRATIC(53),
EXP_ERRATIC(54),
EXP_ERRATIC(55),
EXP_ERRATIC(56),
EXP_ERRATIC(57),
EXP_ERRATIC(58),
EXP_ERRATIC(59),
EXP_ERRATIC(60),
EXP_ERRATIC(61),
EXP_ERRATIC(62),
EXP_ERRATIC(63),
EXP_ERRATIC(64),
EXP_ERRATIC(65),
EXP_ERRATIC(66),
EXP_ERRATIC(67),
EXP_ERRATIC(68),
EXP_ERRATIC(69),
EXP_ERRATIC(70),
EXP_ERRATIC(71),
EXP_ERRATIC(72),
EXP_ERRATIC(73),
EXP_ERRATIC(74),
EXP_ERRATIC(75),
EXP_ERRATIC(76),
EXP_ERRATIC(77),
EXP_ERRATIC(78),
EXP_ERRATIC(79),
EXP_ERRATIC(80),
EXP_ERRATIC(81),
EXP_ERRATIC(82),
EXP_ERRATIC(83),
EXP_ERRATIC(84),
EXP_ERRATIC(85),
EXP_ERRATIC(86),
EXP_ERRATIC(87),
EXP_ERRATIC(88),
EXP_ERRATIC(89),
EXP_ERRATIC(90),
EXP_ERRATIC(91),
EXP_ERRATIC(92),
EXP_ERRATIC(93),
EXP_ERRATIC(94),
EXP_ERRATIC(95),
EXP_ERRATIC(96),
EXP_ERRATIC(97),
EXP_ERRATIC(98),
EXP_ERRATIC(99),
EXP_ERRATIC(100),
},
{ // Fluctuating
0, // 0
1, // 1
EXP_FLUCTUATING(2),
EXP_FLUCTUATING(3),
EXP_FLUCTUATING(4),
EXP_FLUCTUATING(5),
EXP_FLUCTUATING(6),
EXP_FLUCTUATING(7),
EXP_FLUCTUATING(8),
EXP_FLUCTUATING(9),
EXP_FLUCTUATING(10),
EXP_FLUCTUATING(11),
EXP_FLUCTUATING(12),
EXP_FLUCTUATING(13),
EXP_FLUCTUATING(14),
EXP_FLUCTUATING(15),
EXP_FLUCTUATING(16),
EXP_FLUCTUATING(17),
EXP_FLUCTUATING(18),
EXP_FLUCTUATING(19),
EXP_FLUCTUATING(20),
EXP_FLUCTUATING(21),
EXP_FLUCTUATING(22),
EXP_FLUCTUATING(23),
EXP_FLUCTUATING(24),
EXP_FLUCTUATING(25),
EXP_FLUCTUATING(26),
EXP_FLUCTUATING(27),
EXP_FLUCTUATING(28),
EXP_FLUCTUATING(29),
EXP_FLUCTUATING(30),
EXP_FLUCTUATING(31),
EXP_FLUCTUATING(32),
EXP_FLUCTUATING(33),
EXP_FLUCTUATING(34),
EXP_FLUCTUATING(35),
EXP_FLUCTUATING(36),
EXP_FLUCTUATING(37),
EXP_FLUCTUATING(38),
EXP_FLUCTUATING(39),
EXP_FLUCTUATING(40),
EXP_FLUCTUATING(41),
EXP_FLUCTUATING(42),
EXP_FLUCTUATING(43),
EXP_FLUCTUATING(44),
EXP_FLUCTUATING(45),
EXP_FLUCTUATING(46),
EXP_FLUCTUATING(47),
EXP_FLUCTUATING(48),
EXP_FLUCTUATING(49),
EXP_FLUCTUATING(50),
EXP_FLUCTUATING(51),
EXP_FLUCTUATING(52),
EXP_FLUCTUATING(53),
EXP_FLUCTUATING(54),
EXP_FLUCTUATING(55),
EXP_FLUCTUATING(56),
EXP_FLUCTUATING(57),
EXP_FLUCTUATING(58),
EXP_FLUCTUATING(59),
EXP_FLUCTUATING(60),
EXP_FLUCTUATING(61),
EXP_FLUCTUATING(62),
EXP_FLUCTUATING(63),
EXP_FLUCTUATING(64),
EXP_FLUCTUATING(65),
EXP_FLUCTUATING(66),
EXP_FLUCTUATING(67),
EXP_FLUCTUATING(68),
EXP_FLUCTUATING(69),
EXP_FLUCTUATING(70),
EXP_FLUCTUATING(71),
EXP_FLUCTUATING(72),
EXP_FLUCTUATING(73),
EXP_FLUCTUATING(74),
EXP_FLUCTUATING(75),
EXP_FLUCTUATING(76),
EXP_FLUCTUATING(77),
EXP_FLUCTUATING(78),
EXP_FLUCTUATING(79),
EXP_FLUCTUATING(80),
EXP_FLUCTUATING(81),
EXP_FLUCTUATING(82),
EXP_FLUCTUATING(83),
EXP_FLUCTUATING(84),
EXP_FLUCTUATING(85),
EXP_FLUCTUATING(86),
EXP_FLUCTUATING(87),
EXP_FLUCTUATING(88),
EXP_FLUCTUATING(89),
EXP_FLUCTUATING(90),
EXP_FLUCTUATING(91),
EXP_FLUCTUATING(92),
EXP_FLUCTUATING(93),
EXP_FLUCTUATING(94),
EXP_FLUCTUATING(95),
EXP_FLUCTUATING(96),
EXP_FLUCTUATING(97),
EXP_FLUCTUATING(98),
EXP_FLUCTUATING(99),
EXP_FLUCTUATING(100),
},
{ // Medium Slow
0, // 0
1, // 1
EXP_MEDIUM_SLOW(2),
EXP_MEDIUM_SLOW(3),
EXP_MEDIUM_SLOW(4),
EXP_MEDIUM_SLOW(5),
EXP_MEDIUM_SLOW(6),
EXP_MEDIUM_SLOW(7),
EXP_MEDIUM_SLOW(8),
EXP_MEDIUM_SLOW(9),
EXP_MEDIUM_SLOW(10),
EXP_MEDIUM_SLOW(11),
EXP_MEDIUM_SLOW(12),
EXP_MEDIUM_SLOW(13),
EXP_MEDIUM_SLOW(14),
EXP_MEDIUM_SLOW(15),
EXP_MEDIUM_SLOW(16),
EXP_MEDIUM_SLOW(17),
EXP_MEDIUM_SLOW(18),
EXP_MEDIUM_SLOW(19),
EXP_MEDIUM_SLOW(20),
EXP_MEDIUM_SLOW(21),
EXP_MEDIUM_SLOW(22),
EXP_MEDIUM_SLOW(23),
EXP_MEDIUM_SLOW(24),
EXP_MEDIUM_SLOW(25),
EXP_MEDIUM_SLOW(26),
EXP_MEDIUM_SLOW(27),
EXP_MEDIUM_SLOW(28),
EXP_MEDIUM_SLOW(29),
EXP_MEDIUM_SLOW(30),
EXP_MEDIUM_SLOW(31),
EXP_MEDIUM_SLOW(32),
EXP_MEDIUM_SLOW(33),
EXP_MEDIUM_SLOW(34),
EXP_MEDIUM_SLOW(35),
EXP_MEDIUM_SLOW(36),
EXP_MEDIUM_SLOW(37),
EXP_MEDIUM_SLOW(38),
EXP_MEDIUM_SLOW(39),
EXP_MEDIUM_SLOW(40),
EXP_MEDIUM_SLOW(41),
EXP_MEDIUM_SLOW(42),
EXP_MEDIUM_SLOW(43),
EXP_MEDIUM_SLOW(44),
EXP_MEDIUM_SLOW(45),
EXP_MEDIUM_SLOW(46),
EXP_MEDIUM_SLOW(47),
EXP_MEDIUM_SLOW(48),
EXP_MEDIUM_SLOW(49),
EXP_MEDIUM_SLOW(50),
EXP_MEDIUM_SLOW(51),
EXP_MEDIUM_SLOW(52),
EXP_MEDIUM_SLOW(53),
EXP_MEDIUM_SLOW(54),
EXP_MEDIUM_SLOW(55),
EXP_MEDIUM_SLOW(56),
EXP_MEDIUM_SLOW(57),
EXP_MEDIUM_SLOW(58),
EXP_MEDIUM_SLOW(59),
EXP_MEDIUM_SLOW(60),
EXP_MEDIUM_SLOW(61),
EXP_MEDIUM_SLOW(62),
EXP_MEDIUM_SLOW(63),
EXP_MEDIUM_SLOW(64),
EXP_MEDIUM_SLOW(65),
EXP_MEDIUM_SLOW(66),
EXP_MEDIUM_SLOW(67),
EXP_MEDIUM_SLOW(68),
EXP_MEDIUM_SLOW(69),
EXP_MEDIUM_SLOW(70),
EXP_MEDIUM_SLOW(71),
EXP_MEDIUM_SLOW(72),
EXP_MEDIUM_SLOW(73),
EXP_MEDIUM_SLOW(74),
EXP_MEDIUM_SLOW(75),
EXP_MEDIUM_SLOW(76),
EXP_MEDIUM_SLOW(77),
EXP_MEDIUM_SLOW(78),
EXP_MEDIUM_SLOW(79),
EXP_MEDIUM_SLOW(80),
EXP_MEDIUM_SLOW(81),
EXP_MEDIUM_SLOW(82),
EXP_MEDIUM_SLOW(83),
EXP_MEDIUM_SLOW(84),
EXP_MEDIUM_SLOW(85),
EXP_MEDIUM_SLOW(86),
EXP_MEDIUM_SLOW(87),
EXP_MEDIUM_SLOW(88),
EXP_MEDIUM_SLOW(89),
EXP_MEDIUM_SLOW(90),
EXP_MEDIUM_SLOW(91),
EXP_MEDIUM_SLOW(92),
EXP_MEDIUM_SLOW(93),
EXP_MEDIUM_SLOW(94),
EXP_MEDIUM_SLOW(95),
EXP_MEDIUM_SLOW(96),
EXP_MEDIUM_SLOW(97),
EXP_MEDIUM_SLOW(98),
EXP_MEDIUM_SLOW(99),
EXP_MEDIUM_SLOW(100),
},
{ // Fast
0, // 0
1, // 1
EXP_FAST(2),
EXP_FAST(3),
EXP_FAST(4),
EXP_FAST(5),
EXP_FAST(6),
EXP_FAST(7),
EXP_FAST(8),
EXP_FAST(9),
EXP_FAST(10),
EXP_FAST(11),
EXP_FAST(12),
EXP_FAST(13),
EXP_FAST(14),
EXP_FAST(15),
EXP_FAST(16),
EXP_FAST(17),
EXP_FAST(18),
EXP_FAST(19),
EXP_FAST(20),
EXP_FAST(21),
EXP_FAST(22),
EXP_FAST(23),
EXP_FAST(24),
EXP_FAST(25),
EXP_FAST(26),
EXP_FAST(27),
EXP_FAST(28),
EXP_FAST(29),
EXP_FAST(30),
EXP_FAST(31),
EXP_FAST(32),
EXP_FAST(33),
EXP_FAST(34),
EXP_FAST(35),
EXP_FAST(36),
EXP_FAST(37),
EXP_FAST(38),
EXP_FAST(39),
EXP_FAST(40),
EXP_FAST(41),
EXP_FAST(42),
EXP_FAST(43),
EXP_FAST(44),
EXP_FAST(45),
EXP_FAST(46),
EXP_FAST(47),
EXP_FAST(48),
EXP_FAST(49),
EXP_FAST(50),
EXP_FAST(51),
EXP_FAST(52),
EXP_FAST(53),
EXP_FAST(54),
EXP_FAST(55),
EXP_FAST(56),
EXP_FAST(57),
EXP_FAST(58),
EXP_FAST(59),
EXP_FAST(60),
EXP_FAST(61),
EXP_FAST(62),
EXP_FAST(63),
EXP_FAST(64),
EXP_FAST(65),
EXP_FAST(66),
EXP_FAST(67),
EXP_FAST(68),
EXP_FAST(69),
EXP_FAST(70),
EXP_FAST(71),
EXP_FAST(72),
EXP_FAST(73),
EXP_FAST(74),
EXP_FAST(75),
EXP_FAST(76),
EXP_FAST(77),
EXP_FAST(78),
EXP_FAST(79),
EXP_FAST(80),
EXP_FAST(81),
EXP_FAST(82),
EXP_FAST(83),
EXP_FAST(84),
EXP_FAST(85),
EXP_FAST(86),
EXP_FAST(87),
EXP_FAST(88),
EXP_FAST(89),
EXP_FAST(90),
EXP_FAST(91),
EXP_FAST(92),
EXP_FAST(93),
EXP_FAST(94),
EXP_FAST(95),
EXP_FAST(96),
EXP_FAST(97),
EXP_FAST(98),
EXP_FAST(99),
EXP_FAST(100),
},
{ // Slow
0, // 0
1, // 1
EXP_SLOW(2),
EXP_SLOW(3),
EXP_SLOW(4),
EXP_SLOW(5),
EXP_SLOW(6),
EXP_SLOW(7),
EXP_SLOW(8),
EXP_SLOW(9),
EXP_SLOW(10),
EXP_SLOW(11),
EXP_SLOW(12),
EXP_SLOW(13),
EXP_SLOW(14),
EXP_SLOW(15),
EXP_SLOW(16),
EXP_SLOW(17),
EXP_SLOW(18),
EXP_SLOW(19),
EXP_SLOW(20),
EXP_SLOW(21),
EXP_SLOW(22),
EXP_SLOW(23),
EXP_SLOW(24),
EXP_SLOW(25),
EXP_SLOW(26),
EXP_SLOW(27),
EXP_SLOW(28),
EXP_SLOW(29),
EXP_SLOW(30),
EXP_SLOW(31),
EXP_SLOW(32),
EXP_SLOW(33),
EXP_SLOW(34),
EXP_SLOW(35),
EXP_SLOW(36),
EXP_SLOW(37),
EXP_SLOW(38),
EXP_SLOW(39),
EXP_SLOW(40),
EXP_SLOW(41),
EXP_SLOW(42),
EXP_SLOW(43),
EXP_SLOW(44),
EXP_SLOW(45),
EXP_SLOW(46),
EXP_SLOW(47),
EXP_SLOW(48),
EXP_SLOW(49),
EXP_SLOW(50),
EXP_SLOW(51),
EXP_SLOW(52),
EXP_SLOW(53),
EXP_SLOW(54),
EXP_SLOW(55),
EXP_SLOW(56),
EXP_SLOW(57),
EXP_SLOW(58),
EXP_SLOW(59),
EXP_SLOW(60),
EXP_SLOW(61),
EXP_SLOW(62),
EXP_SLOW(63),
EXP_SLOW(64),
EXP_SLOW(65),
EXP_SLOW(66),
EXP_SLOW(67),
EXP_SLOW(68),
EXP_SLOW(69),
EXP_SLOW(70),
EXP_SLOW(71),
EXP_SLOW(72),
EXP_SLOW(73),
EXP_SLOW(74),
EXP_SLOW(75),
EXP_SLOW(76),
EXP_SLOW(77),
EXP_SLOW(78),
EXP_SLOW(79),
EXP_SLOW(80),
EXP_SLOW(81),
EXP_SLOW(82),
EXP_SLOW(83),
EXP_SLOW(84),
EXP_SLOW(85),
EXP_SLOW(86),
EXP_SLOW(87),
EXP_SLOW(88),
EXP_SLOW(89),
EXP_SLOW(90),
EXP_SLOW(91),
EXP_SLOW(92),
EXP_SLOW(93),
EXP_SLOW(94),
EXP_SLOW(95),
EXP_SLOW(96),
EXP_SLOW(97),
EXP_SLOW(98),
EXP_SLOW(99),
EXP_SLOW(100),
},
{ // Medium Fast copy 2 (unused? to-do: investigate)
0, // 0
1, // 1
EXP_MEDIUM_FAST(2),
EXP_MEDIUM_FAST(3),
EXP_MEDIUM_FAST(4),
EXP_MEDIUM_FAST(5),
EXP_MEDIUM_FAST(6),
EXP_MEDIUM_FAST(7),
EXP_MEDIUM_FAST(8),
EXP_MEDIUM_FAST(9),
EXP_MEDIUM_FAST(10),
EXP_MEDIUM_FAST(11),
EXP_MEDIUM_FAST(12),
EXP_MEDIUM_FAST(13),
EXP_MEDIUM_FAST(14),
EXP_MEDIUM_FAST(15),
EXP_MEDIUM_FAST(16),
EXP_MEDIUM_FAST(17),
EXP_MEDIUM_FAST(18),
EXP_MEDIUM_FAST(19),
EXP_MEDIUM_FAST(20),
EXP_MEDIUM_FAST(21),
EXP_MEDIUM_FAST(22),
EXP_MEDIUM_FAST(23),
EXP_MEDIUM_FAST(24),
EXP_MEDIUM_FAST(25),
EXP_MEDIUM_FAST(26),
EXP_MEDIUM_FAST(27),
EXP_MEDIUM_FAST(28),
EXP_MEDIUM_FAST(29),
EXP_MEDIUM_FAST(30),
EXP_MEDIUM_FAST(31),
EXP_MEDIUM_FAST(32),
EXP_MEDIUM_FAST(33),
EXP_MEDIUM_FAST(34),
EXP_MEDIUM_FAST(35),
EXP_MEDIUM_FAST(36),
EXP_MEDIUM_FAST(37),
EXP_MEDIUM_FAST(38),
EXP_MEDIUM_FAST(39),
EXP_MEDIUM_FAST(40),
EXP_MEDIUM_FAST(41),
EXP_MEDIUM_FAST(42),
EXP_MEDIUM_FAST(43),
EXP_MEDIUM_FAST(44),
EXP_MEDIUM_FAST(45),
EXP_MEDIUM_FAST(46),
EXP_MEDIUM_FAST(47),
EXP_MEDIUM_FAST(48),
EXP_MEDIUM_FAST(49),
EXP_MEDIUM_FAST(50),
EXP_MEDIUM_FAST(51),
EXP_MEDIUM_FAST(52),
EXP_MEDIUM_FAST(53),
EXP_MEDIUM_FAST(54),
EXP_MEDIUM_FAST(55),
EXP_MEDIUM_FAST(56),
EXP_MEDIUM_FAST(57),
EXP_MEDIUM_FAST(58),
EXP_MEDIUM_FAST(59),
EXP_MEDIUM_FAST(60),
EXP_MEDIUM_FAST(61),
EXP_MEDIUM_FAST(62),
EXP_MEDIUM_FAST(63),
EXP_MEDIUM_FAST(64),
EXP_MEDIUM_FAST(65),
EXP_MEDIUM_FAST(66),
EXP_MEDIUM_FAST(67),
EXP_MEDIUM_FAST(68),
EXP_MEDIUM_FAST(69),
EXP_MEDIUM_FAST(70),
EXP_MEDIUM_FAST(71),
EXP_MEDIUM_FAST(72),
EXP_MEDIUM_FAST(73),
EXP_MEDIUM_FAST(74),
EXP_MEDIUM_FAST(75),
EXP_MEDIUM_FAST(76),
EXP_MEDIUM_FAST(77),
EXP_MEDIUM_FAST(78),
EXP_MEDIUM_FAST(79),
EXP_MEDIUM_FAST(80),
EXP_MEDIUM_FAST(81),
EXP_MEDIUM_FAST(82),
EXP_MEDIUM_FAST(83),
EXP_MEDIUM_FAST(84),
EXP_MEDIUM_FAST(85),
EXP_MEDIUM_FAST(86),
EXP_MEDIUM_FAST(87),
EXP_MEDIUM_FAST(88),
EXP_MEDIUM_FAST(89),
EXP_MEDIUM_FAST(90),
EXP_MEDIUM_FAST(91),
EXP_MEDIUM_FAST(92),
EXP_MEDIUM_FAST(93),
EXP_MEDIUM_FAST(94),
EXP_MEDIUM_FAST(95),
EXP_MEDIUM_FAST(96),
EXP_MEDIUM_FAST(97),
EXP_MEDIUM_FAST(98),
EXP_MEDIUM_FAST(99),
EXP_MEDIUM_FAST(100),
},
{ // Medium Fast copy 3 (unused? to-do: investigate)
0, // 0
1, // 1
EXP_MEDIUM_FAST(2),
EXP_MEDIUM_FAST(3),
EXP_MEDIUM_FAST(4),
EXP_MEDIUM_FAST(5),
EXP_MEDIUM_FAST(6),
EXP_MEDIUM_FAST(7),
EXP_MEDIUM_FAST(8),
EXP_MEDIUM_FAST(9),
EXP_MEDIUM_FAST(10),
EXP_MEDIUM_FAST(11),
EXP_MEDIUM_FAST(12),
EXP_MEDIUM_FAST(13),
EXP_MEDIUM_FAST(14),
EXP_MEDIUM_FAST(15),
EXP_MEDIUM_FAST(16),
EXP_MEDIUM_FAST(17),
EXP_MEDIUM_FAST(18),
EXP_MEDIUM_FAST(19),
EXP_MEDIUM_FAST(20),
EXP_MEDIUM_FAST(21),
EXP_MEDIUM_FAST(22),
EXP_MEDIUM_FAST(23),
EXP_MEDIUM_FAST(24),
EXP_MEDIUM_FAST(25),
EXP_MEDIUM_FAST(26),
EXP_MEDIUM_FAST(27),
EXP_MEDIUM_FAST(28),
EXP_MEDIUM_FAST(29),
EXP_MEDIUM_FAST(30),
EXP_MEDIUM_FAST(31),
EXP_MEDIUM_FAST(32),
EXP_MEDIUM_FAST(33),
EXP_MEDIUM_FAST(34),
EXP_MEDIUM_FAST(35),
EXP_MEDIUM_FAST(36),
EXP_MEDIUM_FAST(37),
EXP_MEDIUM_FAST(38),
EXP_MEDIUM_FAST(39),
EXP_MEDIUM_FAST(40),
EXP_MEDIUM_FAST(41),
EXP_MEDIUM_FAST(42),
EXP_MEDIUM_FAST(43),
EXP_MEDIUM_FAST(44),
EXP_MEDIUM_FAST(45),
EXP_MEDIUM_FAST(46),
EXP_MEDIUM_FAST(47),
EXP_MEDIUM_FAST(48),
EXP_MEDIUM_FAST(49),
EXP_MEDIUM_FAST(50),
EXP_MEDIUM_FAST(51),
EXP_MEDIUM_FAST(52),
EXP_MEDIUM_FAST(53),
EXP_MEDIUM_FAST(54),
EXP_MEDIUM_FAST(55),
EXP_MEDIUM_FAST(56),
EXP_MEDIUM_FAST(57),
EXP_MEDIUM_FAST(58),
EXP_MEDIUM_FAST(59),
EXP_MEDIUM_FAST(60),
EXP_MEDIUM_FAST(61),
EXP_MEDIUM_FAST(62),
EXP_MEDIUM_FAST(63),
EXP_MEDIUM_FAST(64),
EXP_MEDIUM_FAST(65),
EXP_MEDIUM_FAST(66),
EXP_MEDIUM_FAST(67),
EXP_MEDIUM_FAST(68),
EXP_MEDIUM_FAST(69),
EXP_MEDIUM_FAST(70),
EXP_MEDIUM_FAST(71),
EXP_MEDIUM_FAST(72),
EXP_MEDIUM_FAST(73),
EXP_MEDIUM_FAST(74),
EXP_MEDIUM_FAST(75),
EXP_MEDIUM_FAST(76),
EXP_MEDIUM_FAST(77),
EXP_MEDIUM_FAST(78),
EXP_MEDIUM_FAST(79),
EXP_MEDIUM_FAST(80),
EXP_MEDIUM_FAST(81),
EXP_MEDIUM_FAST(82),
EXP_MEDIUM_FAST(83),
EXP_MEDIUM_FAST(84),
EXP_MEDIUM_FAST(85),
EXP_MEDIUM_FAST(86),
EXP_MEDIUM_FAST(87),
EXP_MEDIUM_FAST(88),
EXP_MEDIUM_FAST(89),
EXP_MEDIUM_FAST(90),
EXP_MEDIUM_FAST(91),
EXP_MEDIUM_FAST(92),
EXP_MEDIUM_FAST(93),
EXP_MEDIUM_FAST(94),
EXP_MEDIUM_FAST(95),
EXP_MEDIUM_FAST(96),
EXP_MEDIUM_FAST(97),
EXP_MEDIUM_FAST(98),
EXP_MEDIUM_FAST(99),
EXP_MEDIUM_FAST(100),
}
};
+420
View File
@@ -0,0 +1,420 @@
static const u8 sItemEffect_Potion[7] = {
[4] = ITEM4_HEAL_HP,
[6] = 20,
};
static const u8 sItemEffect_Antidote[6] = {
[3] = ITEM3_POISON,
};
static const u8 sItemEffect_BurnHeal[6] = {
[3] = ITEM3_BURN,
};
static const u8 sItemEffect_IceHeal[6] = {
[3] = ITEM3_FREEZE,
};
static const u8 sItemEffect_Awakening[6] = {
[3] = ITEM3_SLEEP,
};
static const u8 sItemEffect_ParalyzeHeal[6] = {
[3] = ITEM3_PARALYSIS,
};
static const u8 sItemEffect_FullRestore[7] = {
[3] = ITEM3_STATUS_ALL,
[4] = ITEM4_HEAL_HP,
[6] = -1,
};
static const u8 sItemEffect_MaxPotion[7] = {
[4] = ITEM4_HEAL_HP,
[6] = -1,
};
static const u8 sItemEffect_HyperPotion[7] = {
[4] = ITEM4_HEAL_HP,
[6] = 200,
};
static const u8 sItemEffect_SuperPotion[7] = {
[4] = ITEM4_HEAL_HP,
[6] = 50,
};
static const u8 sItemEffect_FullHeal[6] = {
[3] = ITEM3_STATUS_ALL,
};
static const u8 sItemEffect_Revive[7] = {
[4] = ITEM4_REVIVE | ITEM4_HEAL_HP,
[6] = -2,
};
static const u8 sItemEffect_MaxRevive[7] = {
[4] = ITEM4_REVIVE | ITEM4_HEAL_HP,
[6] = -1,
};
static const u8 sItemEffect_FreshWater[7] = {
[4] = ITEM4_HEAL_HP,
[6] = 50,
};
static const u8 sItemEffect_SodaPop[7] = {
[4] = ITEM4_HEAL_HP,
[6] = 60,
};
static const u8 sItemEffect_Lemonade[7] = {
[4] = ITEM4_HEAL_HP,
[6] = 80,
};
static const u8 sItemEffect_MoomooMilk[7] = {
[4] = ITEM4_HEAL_HP,
[6] = 100,
};
static const u8 sItemEffect_EnergyPowder[10] = {
[4] = ITEM4_HEAL_HP,
[5] = ITEM5_FRIENDSHIP_ALL,
[6] = 50,
[7] = -5,
[8] = -5,
[9] = -10,
};
static const u8 sItemEffect_EnergyRoot[10] = {
[4] = ITEM4_HEAL_HP,
[5] = ITEM5_FRIENDSHIP_ALL,
[6] = 200,
[7] = -10,
[8] = -10,
[9] = -15,
};
static const u8 sItemEffect_HealPowder[9] = {
[3] = ITEM3_STATUS_ALL,
[5] = ITEM5_FRIENDSHIP_ALL,
[6] = -5,
[7] = -5,
[8] = -10,
};
static const u8 sItemEffect_RevivalHerb[10] = {
[4] = ITEM4_REVIVE | ITEM4_HEAL_HP,
[5] = ITEM5_FRIENDSHIP_ALL,
[6] = -1,
[7] = -15,
[8] = -15,
[9] = -20,
};
static const u8 sItemEffect_Ether[7] = {
[4] = ITEM4_HEAL_PP_ONE | ITEM4_HEAL_PP_ALL,
[6] = 10,
};
static const u8 sItemEffect_MaxEther[7] = {
[4] = ITEM4_HEAL_PP_ONE | ITEM4_HEAL_PP_ALL,
[6] = 0x7F,
};
static const u8 sItemEffect_Elixir[7] = {
[4] = ITEM4_HEAL_PP_ALL,
[6] = 10,
};
static const u8 sItemEffect_MaxElixir[7] = {
[4] = ITEM4_HEAL_PP_ALL,
[6] = 0x7F,
};
static const u8 sItemEffect_LavaCookie[6] = {
[3] = ITEM3_STATUS_ALL,
};
static const u8 sItemEffect_BlueFlute[6] = {
[3] = ITEM3_SLEEP,
};
static const u8 sItemEffect_YellowFlute[6] = {
[3] = ITEM3_CONFUSION,
};
static const u8 sItemEffect_RedFlute[6] = {
[0] = ITEM0_INFATUATION,
};
static const u8 sItemEffect_BerryJuice[7] = {
[4] = ITEM4_HEAL_HP,
[6] = 20,
};
static const u8 sItemEffect_SacredAsh[7] = {
[0] = ITEM0_SACRED_ASH,
[4] = ITEM4_REVIVE | ITEM4_HEAL_HP,
[6] = -1,
};
static const u8 sItemEffect_HPUp[10] = {
[4] = ITEM4_EV_HP,
[5] = ITEM5_FRIENDSHIP_ALL,
[6] = 10,
[7] = 5,
[8] = 3,
[9] = 2,
};
static const u8 sItemEffect_Protein[10] = {
[4] = ITEM4_EV_ATK,
[5] = ITEM5_FRIENDSHIP_ALL,
[6] = 10,
[7] = 5,
[8] = 3,
[9] = 2,
};
static const u8 sItemEffect_Iron[10] = {
[5] = ITEM5_EV_DEF | ITEM5_FRIENDSHIP_ALL,
[6] = 10,
[7] = 5,
[8] = 3,
[9] = 2,
};
static const u8 sItemEffect_Carbos[10] = {
[5] = ITEM5_EV_SPEED | ITEM5_FRIENDSHIP_ALL,
[6] = 10,
[7] = 5,
[8] = 3,
[9] = 2,
};
static const u8 sItemEffect_Calcium[10] = {
[5] = ITEM5_EV_SPATK | ITEM5_FRIENDSHIP_ALL,
[6] = 10,
[7] = 5,
[8] = 3,
[9] = 2,
};
static const u8 sItemEffect_RareCandy[10] = {
[3] = ITEM3_LEVEL_UP,
[4] = ITEM4_REVIVE | ITEM4_HEAL_HP,
[5] = ITEM5_FRIENDSHIP_ALL,
[6] = 0xFD,
[7] = 5,
[8] = 3,
[9] = 2,
};
static const u8 sItemEffect_PPUp[9] = {
[4] = ITEM4_PP_UP,
[5] = ITEM5_FRIENDSHIP_ALL,
[6] = 5,
[7] = 3,
[8] = 2,
};
static const u8 sItemEffect_Zinc[10] = {
[5] = ITEM5_EV_SPDEF | ITEM5_FRIENDSHIP_ALL,
[6] = 10,
[7] = 5,
[8] = 3,
[9] = 2,
};
static const u8 sItemEffect_PPMax[9] = {
[5] = ITEM5_PP_MAX | ITEM5_FRIENDSHIP_ALL,
[6] = 5,
[7] = 3,
[8] = 2,
};
static const u8 sItemEffect_GuardSpec[8] = {
[3] = ITEM3_MIST,
[5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
[6] = 1,
[7] = 1,
};
static const u8 sItemEffect_DireHit[8] = {
[0] = 2 << 4,
[5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
[6] = 1,
[7] = 1,
};
static const u8 sItemEffect_XAttack[8] = {
[0] = 1,
[5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
[6] = 1,
[7] = 1,
};
static const u8 sItemEffect_XDefend[8] = {
[1] = 1 << 4,
[5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
[6] = 1,
[7] = 1,
};
static const u8 sItemEffect_XSpeed[8] = {
[1] = 1,
[5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
[6] = 1,
[7] = 1,
};
static const u8 sItemEffect_XAccuracy[8] = {
[2] = 1 << 4,
[5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
[6] = 1,
[7] = 1,
};
static const u8 sItemEffect_XSpecial[8] = {
[2] = 1,
[5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
[6] = 1,
[7] = 1,
};
static const u8 sItemEffect_SunStone[6] = {
[4] = ITEM4_EVO_STONE,
};
static const u8 sItemEffect_MoonStone[6] = {
[4] = ITEM4_EVO_STONE,
};
static const u8 sItemEffect_FireStone[6] = {
[4] = ITEM4_EVO_STONE,
};
static const u8 sItemEffect_ThunderStone[6] = {
[4] = ITEM4_EVO_STONE,
};
static const u8 sItemEffect_WaterStone[6] = {
[4] = ITEM4_EVO_STONE,
};
static const u8 sItemEffect_LeafStone[6] = {
[4] = ITEM4_EVO_STONE,
};
static const u8 sItemEffect_CheriBerry[6] = {
[3] = ITEM3_PARALYSIS,
};
static const u8 sItemEffect_ChestoBerry[6] = {
[3] = ITEM3_SLEEP,
};
static const u8 sItemEffect_PechaBerry[6] = {
[3] = ITEM3_POISON,
};
static const u8 sItemEffect_RawstBerry[6] = {
[3] = ITEM3_BURN,
};
static const u8 sItemEffect_AspearBerry[6] = {
[3] = ITEM3_FREEZE,
};
static const u8 sItemEffect_LeppaBerry[7] = {
[4] = ITEM4_HEAL_PP_ONE | ITEM4_HEAL_PP_ALL,
[6] = 10,
};
static const u8 sItemEffect_OranBerry[7] = {
[4] = ITEM4_HEAL_HP,
[6] = 10,
};
static const u8 sItemEffect_PersimBerry[6] = {
[3] = ITEM3_CONFUSION,
};
static const u8 sItemEffect_LumBerry[6] = {
[3] = ITEM3_STATUS_ALL,
};
static const u8 sItemEffect_SitrusBerry[7] = {
[4] = ITEM4_HEAL_HP,
[6] = 30,
};
const u8 *const gItemEffectTable[] =
{
[ITEM_POTION - ITEM_POTION] = sItemEffect_Potion,
[ITEM_ANTIDOTE - ITEM_POTION] = sItemEffect_Antidote,
[ITEM_BURN_HEAL - ITEM_POTION] = sItemEffect_BurnHeal,
[ITEM_ICE_HEAL - ITEM_POTION] = sItemEffect_IceHeal,
[ITEM_AWAKENING - ITEM_POTION] = sItemEffect_Awakening,
[ITEM_PARALYZE_HEAL - ITEM_POTION] = sItemEffect_ParalyzeHeal,
[ITEM_FULL_RESTORE - ITEM_POTION] = sItemEffect_FullRestore,
[ITEM_MAX_POTION - ITEM_POTION] = sItemEffect_MaxPotion,
[ITEM_HYPER_POTION - ITEM_POTION] = sItemEffect_HyperPotion,
[ITEM_SUPER_POTION - ITEM_POTION] = sItemEffect_SuperPotion,
[ITEM_FULL_HEAL - ITEM_POTION] = sItemEffect_FullHeal,
[ITEM_REVIVE - ITEM_POTION] = sItemEffect_Revive,
[ITEM_MAX_REVIVE - ITEM_POTION] = sItemEffect_MaxRevive,
[ITEM_FRESH_WATER - ITEM_POTION] = sItemEffect_FreshWater,
[ITEM_SODA_POP - ITEM_POTION] = sItemEffect_SodaPop,
[ITEM_LEMONADE - ITEM_POTION] = sItemEffect_Lemonade,
[ITEM_MOOMOO_MILK - ITEM_POTION] = sItemEffect_MoomooMilk,
[ITEM_ENERGY_POWDER - ITEM_POTION] = sItemEffect_EnergyPowder,
[ITEM_ENERGY_ROOT - ITEM_POTION] = sItemEffect_EnergyRoot,
[ITEM_HEAL_POWDER - ITEM_POTION] = sItemEffect_HealPowder,
[ITEM_REVIVAL_HERB - ITEM_POTION] = sItemEffect_RevivalHerb,
[ITEM_ETHER - ITEM_POTION] = sItemEffect_Ether,
[ITEM_MAX_ETHER - ITEM_POTION] = sItemEffect_MaxEther,
[ITEM_ELIXIR - ITEM_POTION] = sItemEffect_Elixir,
[ITEM_MAX_ELIXIR - ITEM_POTION] = sItemEffect_MaxElixir,
[ITEM_LAVA_COOKIE - ITEM_POTION] = sItemEffect_LavaCookie,
[ITEM_BLUE_FLUTE - ITEM_POTION] = sItemEffect_BlueFlute,
[ITEM_YELLOW_FLUTE - ITEM_POTION] = sItemEffect_YellowFlute,
[ITEM_RED_FLUTE - ITEM_POTION] = sItemEffect_RedFlute,
[ITEM_BERRY_JUICE - ITEM_POTION] = sItemEffect_BerryJuice,
[ITEM_SACRED_ASH - ITEM_POTION] = sItemEffect_SacredAsh,
[ITEM_HP_UP - ITEM_POTION] = sItemEffect_HPUp,
[ITEM_PROTEIN - ITEM_POTION] = sItemEffect_Protein,
[ITEM_IRON - ITEM_POTION] = sItemEffect_Iron,
[ITEM_CARBOS - ITEM_POTION] = sItemEffect_Carbos,
[ITEM_CALCIUM - ITEM_POTION] = sItemEffect_Calcium,
[ITEM_RARE_CANDY - ITEM_POTION] = sItemEffect_RareCandy,
[ITEM_PP_UP - ITEM_POTION] = sItemEffect_PPUp,
[ITEM_ZINC - ITEM_POTION] = sItemEffect_Zinc,
[ITEM_PP_MAX - ITEM_POTION] = sItemEffect_PPMax,
[ITEM_GUARD_SPEC - ITEM_POTION] = sItemEffect_GuardSpec,
[ITEM_DIRE_HIT - ITEM_POTION] = sItemEffect_DireHit,
[ITEM_X_ATTACK - ITEM_POTION] = sItemEffect_XAttack,
[ITEM_X_DEFEND - ITEM_POTION] = sItemEffect_XDefend,
[ITEM_X_SPEED - ITEM_POTION] = sItemEffect_XSpeed,
[ITEM_X_ACCURACY - ITEM_POTION] = sItemEffect_XAccuracy,
[ITEM_X_SPECIAL - ITEM_POTION] = sItemEffect_XSpecial,
[ITEM_SUN_STONE - ITEM_POTION] = sItemEffect_SunStone,
[ITEM_MOON_STONE - ITEM_POTION] = sItemEffect_MoonStone,
[ITEM_FIRE_STONE - ITEM_POTION] = sItemEffect_FireStone,
[ITEM_THUNDER_STONE - ITEM_POTION] = sItemEffect_ThunderStone,
[ITEM_WATER_STONE - ITEM_POTION] = sItemEffect_WaterStone,
[ITEM_LEAF_STONE - ITEM_POTION] = sItemEffect_LeafStone,
[ITEM_CHERI_BERRY - ITEM_POTION] = sItemEffect_CheriBerry,
[ITEM_CHESTO_BERRY - ITEM_POTION] = sItemEffect_ChestoBerry,
[ITEM_PECHA_BERRY - ITEM_POTION] = sItemEffect_PechaBerry,
[ITEM_RAWST_BERRY - ITEM_POTION] = sItemEffect_RawstBerry,
[ITEM_ASPEAR_BERRY - ITEM_POTION] = sItemEffect_AspearBerry,
[ITEM_LEPPA_BERRY - ITEM_POTION] = sItemEffect_LeppaBerry,
[ITEM_ORAN_BERRY - ITEM_POTION] = sItemEffect_OranBerry,
[ITEM_PERSIM_BERRY - ITEM_POTION] = sItemEffect_PersimBerry,
[ITEM_LUM_BERRY - ITEM_POTION] = sItemEffect_LumBerry,
[ITEM_SITRUS_BERRY - ITEM_POTION] = sItemEffect_SitrusBerry,
[LAST_BERRY_INDEX - ITEM_POTION] = NULL,
};
@@ -0,0 +1,415 @@
const u16 *const gLevelUpLearnsets[NUM_SPECIES] =
{
[SPECIES_NONE] = sBulbasaurLevelUpLearnset,
[SPECIES_BULBASAUR] = sBulbasaurLevelUpLearnset,
[SPECIES_IVYSAUR] = sIvysaurLevelUpLearnset,
[SPECIES_VENUSAUR] = sVenusaurLevelUpLearnset,
[SPECIES_CHARMANDER] = sCharmanderLevelUpLearnset,
[SPECIES_CHARMELEON] = sCharmeleonLevelUpLearnset,
[SPECIES_CHARIZARD] = sCharizardLevelUpLearnset,
[SPECIES_SQUIRTLE] = sSquirtleLevelUpLearnset,
[SPECIES_WARTORTLE] = sWartortleLevelUpLearnset,
[SPECIES_BLASTOISE] = sBlastoiseLevelUpLearnset,
[SPECIES_CATERPIE] = sCaterpieLevelUpLearnset,
[SPECIES_METAPOD] = sMetapodLevelUpLearnset,
[SPECIES_BUTTERFREE] = sButterfreeLevelUpLearnset,
[SPECIES_WEEDLE] = sWeedleLevelUpLearnset,
[SPECIES_KAKUNA] = sKakunaLevelUpLearnset,
[SPECIES_BEEDRILL] = sBeedrillLevelUpLearnset,
[SPECIES_PIDGEY] = sPidgeyLevelUpLearnset,
[SPECIES_PIDGEOTTO] = sPidgeottoLevelUpLearnset,
[SPECIES_PIDGEOT] = sPidgeotLevelUpLearnset,
[SPECIES_RATTATA] = sRattataLevelUpLearnset,
[SPECIES_RATICATE] = sRaticateLevelUpLearnset,
[SPECIES_SPEAROW] = sSpearowLevelUpLearnset,
[SPECIES_FEAROW] = sFearowLevelUpLearnset,
[SPECIES_EKANS] = sEkansLevelUpLearnset,
[SPECIES_ARBOK] = sArbokLevelUpLearnset,
[SPECIES_PIKACHU] = sPikachuLevelUpLearnset,
[SPECIES_RAICHU] = sRaichuLevelUpLearnset,
[SPECIES_SANDSHREW] = sSandshrewLevelUpLearnset,
[SPECIES_SANDSLASH] = sSandslashLevelUpLearnset,
[SPECIES_NIDORAN_F] = sNidoranFLevelUpLearnset,
[SPECIES_NIDORINA] = sNidorinaLevelUpLearnset,
[SPECIES_NIDOQUEEN] = sNidoqueenLevelUpLearnset,
[SPECIES_NIDORAN_M] = sNidoranMLevelUpLearnset,
[SPECIES_NIDORINO] = sNidorinoLevelUpLearnset,
[SPECIES_NIDOKING] = sNidokingLevelUpLearnset,
[SPECIES_CLEFAIRY] = sClefairyLevelUpLearnset,
[SPECIES_CLEFABLE] = sClefableLevelUpLearnset,
[SPECIES_VULPIX] = sVulpixLevelUpLearnset,
[SPECIES_NINETALES] = sNinetalesLevelUpLearnset,
[SPECIES_JIGGLYPUFF] = sJigglypuffLevelUpLearnset,
[SPECIES_WIGGLYTUFF] = sWigglytuffLevelUpLearnset,
[SPECIES_ZUBAT] = sZubatLevelUpLearnset,
[SPECIES_GOLBAT] = sGolbatLevelUpLearnset,
[SPECIES_ODDISH] = sOddishLevelUpLearnset,
[SPECIES_GLOOM] = sGloomLevelUpLearnset,
[SPECIES_VILEPLUME] = sVileplumeLevelUpLearnset,
[SPECIES_PARAS] = sParasLevelUpLearnset,
[SPECIES_PARASECT] = sParasectLevelUpLearnset,
[SPECIES_VENONAT] = sVenonatLevelUpLearnset,
[SPECIES_VENOMOTH] = sVenomothLevelUpLearnset,
[SPECIES_DIGLETT] = sDiglettLevelUpLearnset,
[SPECIES_DUGTRIO] = sDugtrioLevelUpLearnset,
[SPECIES_MEOWTH] = sMeowthLevelUpLearnset,
[SPECIES_PERSIAN] = sPersianLevelUpLearnset,
[SPECIES_PSYDUCK] = sPsyduckLevelUpLearnset,
[SPECIES_GOLDUCK] = sGolduckLevelUpLearnset,
[SPECIES_MANKEY] = sMankeyLevelUpLearnset,
[SPECIES_PRIMEAPE] = sPrimeapeLevelUpLearnset,
[SPECIES_GROWLITHE] = sGrowlitheLevelUpLearnset,
[SPECIES_ARCANINE] = sArcanineLevelUpLearnset,
[SPECIES_POLIWAG] = sPoliwagLevelUpLearnset,
[SPECIES_POLIWHIRL] = sPoliwhirlLevelUpLearnset,
[SPECIES_POLIWRATH] = sPoliwrathLevelUpLearnset,
[SPECIES_ABRA] = sAbraLevelUpLearnset,
[SPECIES_KADABRA] = sKadabraLevelUpLearnset,
[SPECIES_ALAKAZAM] = sAlakazamLevelUpLearnset,
[SPECIES_MACHOP] = sMachopLevelUpLearnset,
[SPECIES_MACHOKE] = sMachokeLevelUpLearnset,
[SPECIES_MACHAMP] = sMachampLevelUpLearnset,
[SPECIES_BELLSPROUT] = sBellsproutLevelUpLearnset,
[SPECIES_WEEPINBELL] = sWeepinbellLevelUpLearnset,
[SPECIES_VICTREEBEL] = sVictreebelLevelUpLearnset,
[SPECIES_TENTACOOL] = sTentacoolLevelUpLearnset,
[SPECIES_TENTACRUEL] = sTentacruelLevelUpLearnset,
[SPECIES_GEODUDE] = sGeodudeLevelUpLearnset,
[SPECIES_GRAVELER] = sGravelerLevelUpLearnset,
[SPECIES_GOLEM] = sGolemLevelUpLearnset,
[SPECIES_PONYTA] = sPonytaLevelUpLearnset,
[SPECIES_RAPIDASH] = sRapidashLevelUpLearnset,
[SPECIES_SLOWPOKE] = sSlowpokeLevelUpLearnset,
[SPECIES_SLOWBRO] = sSlowbroLevelUpLearnset,
[SPECIES_MAGNEMITE] = sMagnemiteLevelUpLearnset,
[SPECIES_MAGNETON] = sMagnetonLevelUpLearnset,
[SPECIES_FARFETCHD] = sFarfetchdLevelUpLearnset,
[SPECIES_DODUO] = sDoduoLevelUpLearnset,
[SPECIES_DODRIO] = sDodrioLevelUpLearnset,
[SPECIES_SEEL] = sSeelLevelUpLearnset,
[SPECIES_DEWGONG] = sDewgongLevelUpLearnset,
[SPECIES_GRIMER] = sGrimerLevelUpLearnset,
[SPECIES_MUK] = sMukLevelUpLearnset,
[SPECIES_SHELLDER] = sShellderLevelUpLearnset,
[SPECIES_CLOYSTER] = sCloysterLevelUpLearnset,
[SPECIES_GASTLY] = sGastlyLevelUpLearnset,
[SPECIES_HAUNTER] = sHaunterLevelUpLearnset,
[SPECIES_GENGAR] = sGengarLevelUpLearnset,
[SPECIES_ONIX] = sOnixLevelUpLearnset,
[SPECIES_DROWZEE] = sDrowzeeLevelUpLearnset,
[SPECIES_HYPNO] = sHypnoLevelUpLearnset,
[SPECIES_KRABBY] = sKrabbyLevelUpLearnset,
[SPECIES_KINGLER] = sKinglerLevelUpLearnset,
[SPECIES_VOLTORB] = sVoltorbLevelUpLearnset,
[SPECIES_ELECTRODE] = sElectrodeLevelUpLearnset,
[SPECIES_EXEGGCUTE] = sExeggcuteLevelUpLearnset,
[SPECIES_EXEGGUTOR] = sExeggutorLevelUpLearnset,
[SPECIES_CUBONE] = sCuboneLevelUpLearnset,
[SPECIES_MAROWAK] = sMarowakLevelUpLearnset,
[SPECIES_HITMONLEE] = sHitmonleeLevelUpLearnset,
[SPECIES_HITMONCHAN] = sHitmonchanLevelUpLearnset,
[SPECIES_LICKITUNG] = sLickitungLevelUpLearnset,
[SPECIES_KOFFING] = sKoffingLevelUpLearnset,
[SPECIES_WEEZING] = sWeezingLevelUpLearnset,
[SPECIES_RHYHORN] = sRhyhornLevelUpLearnset,
[SPECIES_RHYDON] = sRhydonLevelUpLearnset,
[SPECIES_CHANSEY] = sChanseyLevelUpLearnset,
[SPECIES_TANGELA] = sTangelaLevelUpLearnset,
[SPECIES_KANGASKHAN] = sKangaskhanLevelUpLearnset,
[SPECIES_HORSEA] = sHorseaLevelUpLearnset,
[SPECIES_SEADRA] = sSeadraLevelUpLearnset,
[SPECIES_GOLDEEN] = sGoldeenLevelUpLearnset,
[SPECIES_SEAKING] = sSeakingLevelUpLearnset,
[SPECIES_STARYU] = sStaryuLevelUpLearnset,
[SPECIES_STARMIE] = sStarmieLevelUpLearnset,
[SPECIES_MR_MIME] = sMrMimeLevelUpLearnset,
[SPECIES_SCYTHER] = sScytherLevelUpLearnset,
[SPECIES_JYNX] = sJynxLevelUpLearnset,
[SPECIES_ELECTABUZZ] = sElectabuzzLevelUpLearnset,
[SPECIES_MAGMAR] = sMagmarLevelUpLearnset,
[SPECIES_PINSIR] = sPinsirLevelUpLearnset,
[SPECIES_TAUROS] = sTaurosLevelUpLearnset,
[SPECIES_MAGIKARP] = sMagikarpLevelUpLearnset,
[SPECIES_GYARADOS] = sGyaradosLevelUpLearnset,
[SPECIES_LAPRAS] = sLaprasLevelUpLearnset,
[SPECIES_DITTO] = sDittoLevelUpLearnset,
[SPECIES_EEVEE] = sEeveeLevelUpLearnset,
[SPECIES_VAPOREON] = sVaporeonLevelUpLearnset,
[SPECIES_JOLTEON] = sJolteonLevelUpLearnset,
[SPECIES_FLAREON] = sFlareonLevelUpLearnset,
[SPECIES_PORYGON] = sPorygonLevelUpLearnset,
[SPECIES_OMANYTE] = sOmanyteLevelUpLearnset,
[SPECIES_OMASTAR] = sOmastarLevelUpLearnset,
[SPECIES_KABUTO] = sKabutoLevelUpLearnset,
[SPECIES_KABUTOPS] = sKabutopsLevelUpLearnset,
[SPECIES_AERODACTYL] = sAerodactylLevelUpLearnset,
[SPECIES_SNORLAX] = sSnorlaxLevelUpLearnset,
[SPECIES_ARTICUNO] = sArticunoLevelUpLearnset,
[SPECIES_ZAPDOS] = sZapdosLevelUpLearnset,
[SPECIES_MOLTRES] = sMoltresLevelUpLearnset,
[SPECIES_DRATINI] = sDratiniLevelUpLearnset,
[SPECIES_DRAGONAIR] = sDragonairLevelUpLearnset,
[SPECIES_DRAGONITE] = sDragoniteLevelUpLearnset,
[SPECIES_MEWTWO] = sMewtwoLevelUpLearnset,
[SPECIES_MEW] = sMewLevelUpLearnset,
[SPECIES_CHIKORITA] = sChikoritaLevelUpLearnset,
[SPECIES_BAYLEEF] = sBayleefLevelUpLearnset,
[SPECIES_MEGANIUM] = sMeganiumLevelUpLearnset,
[SPECIES_CYNDAQUIL] = sCyndaquilLevelUpLearnset,
[SPECIES_QUILAVA] = sQuilavaLevelUpLearnset,
[SPECIES_TYPHLOSION] = sTyphlosionLevelUpLearnset,
[SPECIES_TOTODILE] = sTotodileLevelUpLearnset,
[SPECIES_CROCONAW] = sCroconawLevelUpLearnset,
[SPECIES_FERALIGATR] = sFeraligatrLevelUpLearnset,
[SPECIES_SENTRET] = sSentretLevelUpLearnset,
[SPECIES_FURRET] = sFurretLevelUpLearnset,
[SPECIES_HOOTHOOT] = sHoothootLevelUpLearnset,
[SPECIES_NOCTOWL] = sNoctowlLevelUpLearnset,
[SPECIES_LEDYBA] = sLedybaLevelUpLearnset,
[SPECIES_LEDIAN] = sLedianLevelUpLearnset,
[SPECIES_SPINARAK] = sSpinarakLevelUpLearnset,
[SPECIES_ARIADOS] = sAriadosLevelUpLearnset,
[SPECIES_CROBAT] = sCrobatLevelUpLearnset,
[SPECIES_CHINCHOU] = sChinchouLevelUpLearnset,
[SPECIES_LANTURN] = sLanturnLevelUpLearnset,
[SPECIES_PICHU] = sPichuLevelUpLearnset,
[SPECIES_CLEFFA] = sCleffaLevelUpLearnset,
[SPECIES_IGGLYBUFF] = sIgglybuffLevelUpLearnset,
[SPECIES_TOGEPI] = sTogepiLevelUpLearnset,
[SPECIES_TOGETIC] = sTogeticLevelUpLearnset,
[SPECIES_NATU] = sNatuLevelUpLearnset,
[SPECIES_XATU] = sXatuLevelUpLearnset,
[SPECIES_MAREEP] = sMareepLevelUpLearnset,
[SPECIES_FLAAFFY] = sFlaaffyLevelUpLearnset,
[SPECIES_AMPHAROS] = sAmpharosLevelUpLearnset,
[SPECIES_BELLOSSOM] = sBellossomLevelUpLearnset,
[SPECIES_MARILL] = sMarillLevelUpLearnset,
[SPECIES_AZUMARILL] = sAzumarillLevelUpLearnset,
[SPECIES_SUDOWOODO] = sSudowoodoLevelUpLearnset,
[SPECIES_POLITOED] = sPolitoedLevelUpLearnset,
[SPECIES_HOPPIP] = sHoppipLevelUpLearnset,
[SPECIES_SKIPLOOM] = sSkiploomLevelUpLearnset,
[SPECIES_JUMPLUFF] = sJumpluffLevelUpLearnset,
[SPECIES_AIPOM] = sAipomLevelUpLearnset,
[SPECIES_SUNKERN] = sSunkernLevelUpLearnset,
[SPECIES_SUNFLORA] = sSunfloraLevelUpLearnset,
[SPECIES_YANMA] = sYanmaLevelUpLearnset,
[SPECIES_WOOPER] = sWooperLevelUpLearnset,
[SPECIES_QUAGSIRE] = sQuagsireLevelUpLearnset,
[SPECIES_ESPEON] = sEspeonLevelUpLearnset,
[SPECIES_UMBREON] = sUmbreonLevelUpLearnset,
[SPECIES_MURKROW] = sMurkrowLevelUpLearnset,
[SPECIES_SLOWKING] = sSlowkingLevelUpLearnset,
[SPECIES_MISDREAVUS] = sMisdreavusLevelUpLearnset,
[SPECIES_UNOWN] = sUnownLevelUpLearnset,
[SPECIES_WOBBUFFET] = sWobbuffetLevelUpLearnset,
[SPECIES_GIRAFARIG] = sGirafarigLevelUpLearnset,
[SPECIES_PINECO] = sPinecoLevelUpLearnset,
[SPECIES_FORRETRESS] = sForretressLevelUpLearnset,
[SPECIES_DUNSPARCE] = sDunsparceLevelUpLearnset,
[SPECIES_GLIGAR] = sGligarLevelUpLearnset,
[SPECIES_STEELIX] = sSteelixLevelUpLearnset,
[SPECIES_SNUBBULL] = sSnubbullLevelUpLearnset,
[SPECIES_GRANBULL] = sGranbullLevelUpLearnset,
[SPECIES_QWILFISH] = sQwilfishLevelUpLearnset,
[SPECIES_SCIZOR] = sScizorLevelUpLearnset,
[SPECIES_SHUCKLE] = sShuckleLevelUpLearnset,
[SPECIES_HERACROSS] = sHeracrossLevelUpLearnset,
[SPECIES_SNEASEL] = sSneaselLevelUpLearnset,
[SPECIES_TEDDIURSA] = sTeddiursaLevelUpLearnset,
[SPECIES_URSARING] = sUrsaringLevelUpLearnset,
[SPECIES_SLUGMA] = sSlugmaLevelUpLearnset,
[SPECIES_MAGCARGO] = sMagcargoLevelUpLearnset,
[SPECIES_SWINUB] = sSwinubLevelUpLearnset,
[SPECIES_PILOSWINE] = sPiloswineLevelUpLearnset,
[SPECIES_CORSOLA] = sCorsolaLevelUpLearnset,
[SPECIES_REMORAID] = sRemoraidLevelUpLearnset,
[SPECIES_OCTILLERY] = sOctilleryLevelUpLearnset,
[SPECIES_DELIBIRD] = sDelibirdLevelUpLearnset,
[SPECIES_MANTINE] = sMantineLevelUpLearnset,
[SPECIES_SKARMORY] = sSkarmoryLevelUpLearnset,
[SPECIES_HOUNDOUR] = sHoundourLevelUpLearnset,
[SPECIES_HOUNDOOM] = sHoundoomLevelUpLearnset,
[SPECIES_KINGDRA] = sKingdraLevelUpLearnset,
[SPECIES_PHANPY] = sPhanpyLevelUpLearnset,
[SPECIES_DONPHAN] = sDonphanLevelUpLearnset,
[SPECIES_PORYGON2] = sPorygon2LevelUpLearnset,
[SPECIES_STANTLER] = sStantlerLevelUpLearnset,
[SPECIES_SMEARGLE] = sSmeargleLevelUpLearnset,
[SPECIES_TYROGUE] = sTyrogueLevelUpLearnset,
[SPECIES_HITMONTOP] = sHitmontopLevelUpLearnset,
[SPECIES_SMOOCHUM] = sSmoochumLevelUpLearnset,
[SPECIES_ELEKID] = sElekidLevelUpLearnset,
[SPECIES_MAGBY] = sMagbyLevelUpLearnset,
[SPECIES_MILTANK] = sMiltankLevelUpLearnset,
[SPECIES_BLISSEY] = sBlisseyLevelUpLearnset,
[SPECIES_RAIKOU] = sRaikouLevelUpLearnset,
[SPECIES_ENTEI] = sEnteiLevelUpLearnset,
[SPECIES_SUICUNE] = sSuicuneLevelUpLearnset,
[SPECIES_LARVITAR] = sLarvitarLevelUpLearnset,
[SPECIES_PUPITAR] = sPupitarLevelUpLearnset,
[SPECIES_TYRANITAR] = sTyranitarLevelUpLearnset,
[SPECIES_LUGIA] = sLugiaLevelUpLearnset,
[SPECIES_HO_OH] = sHoOhLevelUpLearnset,
[SPECIES_CELEBI] = sCelebiLevelUpLearnset,
[SPECIES_OLD_UNOWN_B] = sSpecies252LevelUpLearnset,
[SPECIES_OLD_UNOWN_C] = sSpecies253LevelUpLearnset,
[SPECIES_OLD_UNOWN_D] = sSpecies254LevelUpLearnset,
[SPECIES_OLD_UNOWN_E] = sSpecies255LevelUpLearnset,
[SPECIES_OLD_UNOWN_F] = sSpecies256LevelUpLearnset,
[SPECIES_OLD_UNOWN_G] = sSpecies257LevelUpLearnset,
[SPECIES_OLD_UNOWN_H] = sSpecies258LevelUpLearnset,
[SPECIES_OLD_UNOWN_I] = sSpecies259LevelUpLearnset,
[SPECIES_OLD_UNOWN_J] = sSpecies260LevelUpLearnset,
[SPECIES_OLD_UNOWN_K] = sSpecies261LevelUpLearnset,
[SPECIES_OLD_UNOWN_L] = sSpecies262LevelUpLearnset,
[SPECIES_OLD_UNOWN_M] = sSpecies263LevelUpLearnset,
[SPECIES_OLD_UNOWN_N] = sSpecies264LevelUpLearnset,
[SPECIES_OLD_UNOWN_O] = sSpecies265LevelUpLearnset,
[SPECIES_OLD_UNOWN_P] = sSpecies266LevelUpLearnset,
[SPECIES_OLD_UNOWN_Q] = sSpecies267LevelUpLearnset,
[SPECIES_OLD_UNOWN_R] = sSpecies268LevelUpLearnset,
[SPECIES_OLD_UNOWN_S] = sSpecies269LevelUpLearnset,
[SPECIES_OLD_UNOWN_T] = sSpecies270LevelUpLearnset,
[SPECIES_OLD_UNOWN_U] = sSpecies271LevelUpLearnset,
[SPECIES_OLD_UNOWN_V] = sSpecies272LevelUpLearnset,
[SPECIES_OLD_UNOWN_W] = sSpecies273LevelUpLearnset,
[SPECIES_OLD_UNOWN_X] = sSpecies274LevelUpLearnset,
[SPECIES_OLD_UNOWN_Y] = sSpecies275LevelUpLearnset,
[SPECIES_OLD_UNOWN_Z] = sSpecies276LevelUpLearnset,
[SPECIES_TREECKO] = sTreeckoLevelUpLearnset,
[SPECIES_GROVYLE] = sGrovyleLevelUpLearnset,
[SPECIES_SCEPTILE] = sSceptileLevelUpLearnset,
[SPECIES_TORCHIC] = sTorchicLevelUpLearnset,
[SPECIES_COMBUSKEN] = sCombuskenLevelUpLearnset,
[SPECIES_BLAZIKEN] = sBlazikenLevelUpLearnset,
[SPECIES_MUDKIP] = sMudkipLevelUpLearnset,
[SPECIES_MARSHTOMP] = sMarshtompLevelUpLearnset,
[SPECIES_SWAMPERT] = sSwampertLevelUpLearnset,
[SPECIES_POOCHYENA] = sPoochyenaLevelUpLearnset,
[SPECIES_MIGHTYENA] = sMightyenaLevelUpLearnset,
[SPECIES_ZIGZAGOON] = sZigzagoonLevelUpLearnset,
[SPECIES_LINOONE] = sLinooneLevelUpLearnset,
[SPECIES_WURMPLE] = sWurmpleLevelUpLearnset,
[SPECIES_SILCOON] = sSilcoonLevelUpLearnset,
[SPECIES_BEAUTIFLY] = sBeautiflyLevelUpLearnset,
[SPECIES_CASCOON] = sCascoonLevelUpLearnset,
[SPECIES_DUSTOX] = sDustoxLevelUpLearnset,
[SPECIES_LOTAD] = sLotadLevelUpLearnset,
[SPECIES_LOMBRE] = sLombreLevelUpLearnset,
[SPECIES_LUDICOLO] = sLudicoloLevelUpLearnset,
[SPECIES_SEEDOT] = sSeedotLevelUpLearnset,
[SPECIES_NUZLEAF] = sNuzleafLevelUpLearnset,
[SPECIES_SHIFTRY] = sShiftryLevelUpLearnset,
[SPECIES_NINCADA] = sNincadaLevelUpLearnset,
[SPECIES_NINJASK] = sNinjaskLevelUpLearnset,
[SPECIES_SHEDINJA] = sShedinjaLevelUpLearnset,
[SPECIES_TAILLOW] = sTaillowLevelUpLearnset,
[SPECIES_SWELLOW] = sSwellowLevelUpLearnset,
[SPECIES_SHROOMISH] = sShroomishLevelUpLearnset,
[SPECIES_BRELOOM] = sBreloomLevelUpLearnset,
[SPECIES_SPINDA] = sSpindaLevelUpLearnset,
[SPECIES_WINGULL] = sWingullLevelUpLearnset,
[SPECIES_PELIPPER] = sPelipperLevelUpLearnset,
[SPECIES_SURSKIT] = sSurskitLevelUpLearnset,
[SPECIES_MASQUERAIN] = sMasquerainLevelUpLearnset,
[SPECIES_WAILMER] = sWailmerLevelUpLearnset,
[SPECIES_WAILORD] = sWailordLevelUpLearnset,
[SPECIES_SKITTY] = sSkittyLevelUpLearnset,
[SPECIES_DELCATTY] = sDelcattyLevelUpLearnset,
[SPECIES_KECLEON] = sKecleonLevelUpLearnset,
[SPECIES_BALTOY] = sBaltoyLevelUpLearnset,
[SPECIES_CLAYDOL] = sClaydolLevelUpLearnset,
[SPECIES_NOSEPASS] = sNosepassLevelUpLearnset,
[SPECIES_TORKOAL] = sTorkoalLevelUpLearnset,
[SPECIES_SABLEYE] = sSableyeLevelUpLearnset,
[SPECIES_BARBOACH] = sBarboachLevelUpLearnset,
[SPECIES_WHISCASH] = sWhiscashLevelUpLearnset,
[SPECIES_LUVDISC] = sLuvdiscLevelUpLearnset,
[SPECIES_CORPHISH] = sCorphishLevelUpLearnset,
[SPECIES_CRAWDAUNT] = sCrawdauntLevelUpLearnset,
[SPECIES_FEEBAS] = sFeebasLevelUpLearnset,
[SPECIES_MILOTIC] = sMiloticLevelUpLearnset,
[SPECIES_CARVANHA] = sCarvanhaLevelUpLearnset,
[SPECIES_SHARPEDO] = sSharpedoLevelUpLearnset,
[SPECIES_TRAPINCH] = sTrapinchLevelUpLearnset,
[SPECIES_VIBRAVA] = sVibravaLevelUpLearnset,
[SPECIES_FLYGON] = sFlygonLevelUpLearnset,
[SPECIES_MAKUHITA] = sMakuhitaLevelUpLearnset,
[SPECIES_HARIYAMA] = sHariyamaLevelUpLearnset,
[SPECIES_ELECTRIKE] = sElectrikeLevelUpLearnset,
[SPECIES_MANECTRIC] = sManectricLevelUpLearnset,
[SPECIES_NUMEL] = sNumelLevelUpLearnset,
[SPECIES_CAMERUPT] = sCameruptLevelUpLearnset,
[SPECIES_SPHEAL] = sSphealLevelUpLearnset,
[SPECIES_SEALEO] = sSealeoLevelUpLearnset,
[SPECIES_WALREIN] = sWalreinLevelUpLearnset,
[SPECIES_CACNEA] = sCacneaLevelUpLearnset,
[SPECIES_CACTURNE] = sCacturneLevelUpLearnset,
[SPECIES_SNORUNT] = sSnoruntLevelUpLearnset,
[SPECIES_GLALIE] = sGlalieLevelUpLearnset,
[SPECIES_LUNATONE] = sLunatoneLevelUpLearnset,
[SPECIES_SOLROCK] = sSolrockLevelUpLearnset,
[SPECIES_AZURILL] = sAzurillLevelUpLearnset,
[SPECIES_SPOINK] = sSpoinkLevelUpLearnset,
[SPECIES_GRUMPIG] = sGrumpigLevelUpLearnset,
[SPECIES_PLUSLE] = sPlusleLevelUpLearnset,
[SPECIES_MINUN] = sMinunLevelUpLearnset,
[SPECIES_MAWILE] = sMawileLevelUpLearnset,
[SPECIES_MEDITITE] = sMedititeLevelUpLearnset,
[SPECIES_MEDICHAM] = sMedichamLevelUpLearnset,
[SPECIES_SWABLU] = sSwabluLevelUpLearnset,
[SPECIES_ALTARIA] = sAltariaLevelUpLearnset,
[SPECIES_WYNAUT] = sWynautLevelUpLearnset,
[SPECIES_DUSKULL] = sDuskullLevelUpLearnset,
[SPECIES_DUSCLOPS] = sDusclopsLevelUpLearnset,
[SPECIES_ROSELIA] = sRoseliaLevelUpLearnset,
[SPECIES_SLAKOTH] = sSlakothLevelUpLearnset,
[SPECIES_VIGOROTH] = sVigorothLevelUpLearnset,
[SPECIES_SLAKING] = sSlakingLevelUpLearnset,
[SPECIES_GULPIN] = sGulpinLevelUpLearnset,
[SPECIES_SWALOT] = sSwalotLevelUpLearnset,
[SPECIES_TROPIUS] = sTropiusLevelUpLearnset,
[SPECIES_WHISMUR] = sWhismurLevelUpLearnset,
[SPECIES_LOUDRED] = sLoudredLevelUpLearnset,
[SPECIES_EXPLOUD] = sExploudLevelUpLearnset,
[SPECIES_CLAMPERL] = sClamperlLevelUpLearnset,
[SPECIES_HUNTAIL] = sHuntailLevelUpLearnset,
[SPECIES_GOREBYSS] = sGorebyssLevelUpLearnset,
[SPECIES_ABSOL] = sAbsolLevelUpLearnset,
[SPECIES_SHUPPET] = sShuppetLevelUpLearnset,
[SPECIES_BANETTE] = sBanetteLevelUpLearnset,
[SPECIES_SEVIPER] = sSeviperLevelUpLearnset,
[SPECIES_ZANGOOSE] = sZangooseLevelUpLearnset,
[SPECIES_RELICANTH] = sRelicanthLevelUpLearnset,
[SPECIES_ARON] = sAronLevelUpLearnset,
[SPECIES_LAIRON] = sLaironLevelUpLearnset,
[SPECIES_AGGRON] = sAggronLevelUpLearnset,
[SPECIES_CASTFORM] = sCastformLevelUpLearnset,
[SPECIES_VOLBEAT] = sVolbeatLevelUpLearnset,
[SPECIES_ILLUMISE] = sIllumiseLevelUpLearnset,
[SPECIES_LILEEP] = sLileepLevelUpLearnset,
[SPECIES_CRADILY] = sCradilyLevelUpLearnset,
[SPECIES_ANORITH] = sAnorithLevelUpLearnset,
[SPECIES_ARMALDO] = sArmaldoLevelUpLearnset,
[SPECIES_RALTS] = sRaltsLevelUpLearnset,
[SPECIES_KIRLIA] = sKirliaLevelUpLearnset,
[SPECIES_GARDEVOIR] = sGardevoirLevelUpLearnset,
[SPECIES_BAGON] = sBagonLevelUpLearnset,
[SPECIES_SHELGON] = sShelgonLevelUpLearnset,
[SPECIES_SALAMENCE] = sSalamenceLevelUpLearnset,
[SPECIES_BELDUM] = sBeldumLevelUpLearnset,
[SPECIES_METANG] = sMetangLevelUpLearnset,
[SPECIES_METAGROSS] = sMetagrossLevelUpLearnset,
[SPECIES_REGIROCK] = sRegirockLevelUpLearnset,
[SPECIES_REGICE] = sRegiceLevelUpLearnset,
[SPECIES_REGISTEEL] = sRegisteelLevelUpLearnset,
[SPECIES_KYOGRE] = sKyogreLevelUpLearnset,
[SPECIES_GROUDON] = sGroudonLevelUpLearnset,
[SPECIES_RAYQUAZA] = sRayquazaLevelUpLearnset,
[SPECIES_LATIAS] = sLatiasLevelUpLearnset,
[SPECIES_LATIOS] = sLatiosLevelUpLearnset,
[SPECIES_JIRACHI] = sJirachiLevelUpLearnset,
[SPECIES_DEOXYS] = sDeoxysLevelUpLearnset,
[SPECIES_CHIMECHO] = sChimechoLevelUpLearnset,
};
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+308
View File
@@ -0,0 +1,308 @@
// TODO: document trainer pic indices with macro
const u8 gFacilityClassToPicIndex[] =
{
[FACILITY_CLASS_AQUA_LEADER] = 0,
[FACILITY_CLASS_TEAM_AQUA] = 1,
[FACILITY_CLASS_TEAM_AQUA_2] = 2,
[FACILITY_CLASS_AROMA_LADY] = 3,
[FACILITY_CLASS_RUIN_MANIAC] = 4,
[FACILITY_CLASS_INTERVIEWER] = 5,
[FACILITY_CLASS_TUBER] = 6,
[FACILITY_CLASS_TUBER_2] = 7,
[FACILITY_CLASS_COOLTRAINER] = 8,
[FACILITY_CLASS_COOLTRAINER_2] = 9,
[FACILITY_CLASS_HEX_MANIAC] = 10,
[FACILITY_CLASS_LADY] = 11,
[FACILITY_CLASS_BEAUTY] = 12,
[FACILITY_CLASS_RICH_BOY] = 13,
[FACILITY_CLASS_POKEMANIAC] = 14,
[FACILITY_CLASS_SWIMMER_MALE] = 15,
[FACILITY_CLASS_BLACK_BELT] = 16,
[FACILITY_CLASS_GUITARIST] = 17,
[FACILITY_CLASS_KINDLER] = 18,
[FACILITY_CLASS_CAMPER] = 19,
[FACILITY_CLASS_BUG_MANIAC] = 20,
[FACILITY_CLASS_PSYCHIC] = 21,
[FACILITY_CLASS_PSYCHIC_2] = 22,
[FACILITY_CLASS_GENTLEMAN] = 23,
[FACILITY_CLASS_ELITE_FOUR] = 24,
[FACILITY_CLASS_ELITE_FOUR_2] = 25,
[FACILITY_CLASS_LEADER] = 26,
[FACILITY_CLASS_LEADER_2] = 27,
[FACILITY_CLASS_LEADER_3] = 28,
[FACILITY_CLASS_SCHOOL_KID] = 29,
[FACILITY_CLASS_SCHOOL_KID_2] = 30,
[FACILITY_CLASS_SR_AND_JR] = 31,
[FACILITY_CLASS_POKEFAN] = 32,
[FACILITY_CLASS_POKEFAN_2] = 33,
[FACILITY_CLASS_EXPERT] = 34,
[FACILITY_CLASS_EXPERT_2] = 35,
[FACILITY_CLASS_YOUNGSTER] = 36,
[FACILITY_CLASS_CHAMPION] = 37,
[FACILITY_CLASS_FISHERMAN] = 38,
[FACILITY_CLASS_TRIATHLETE] = 39,
[FACILITY_CLASS_TRIATHLETE_2] = 40,
[FACILITY_CLASS_TRIATHLETE_3] = 41,
[FACILITY_CLASS_TRIATHLETE_4] = 42,
[FACILITY_CLASS_TRIATHLETE_5] = 43,
[FACILITY_CLASS_TRIATHLETE_6] = 44,
[FACILITY_CLASS_DRAGON_TAMER] = 45,
[FACILITY_CLASS_BIRD_KEEPER] = 46,
[FACILITY_CLASS_NINJA_BOY] = 47,
[FACILITY_CLASS_BATTLE_GIRL] = 48,
[FACILITY_CLASS_PARASOL_LADY] = 49,
[FACILITY_CLASS_SWIMMER_FEMALE] = 50,
[FACILITY_CLASS_PICNICKER] = 51,
[FACILITY_CLASS_TWINS] = 52,
[FACILITY_CLASS_SAILOR] = 53,
[FACILITY_CLASS_BOARDER] = 36,
[FACILITY_CLASS_BOARDER_2] = 36,
[FACILITY_CLASS_COLLECTOR] = 54,
[FACILITY_CLASS_PKMN_TRAINER] = 55,
[FACILITY_CLASS_PKMN_TRAINER_2] = 56,
[FACILITY_CLASS_PKMN_TRAINER_3] = 56,
[FACILITY_CLASS_PKMN_TRAINER_4] = 56,
[FACILITY_CLASS_PKMN_TRAINER_5] = 57,
[FACILITY_CLASS_PKMN_TRAINER_6] = 57,
[FACILITY_CLASS_PKMN_TRAINER_7] = 57,
[FACILITY_CLASS_PKMN_BREEDER] = 58,
[FACILITY_CLASS_PKMN_BREEDER_2] = 59,
[FACILITY_CLASS_PKMN_RANGER] = 60,
[FACILITY_CLASS_PKMN_RANGER_2] = 61,
[FACILITY_CLASS_MAGMA_LEADER] = 62,
[FACILITY_CLASS_TEAM_MAGMA] = 63,
[FACILITY_CLASS_TEAM_MAGMA_2] = 64,
[FACILITY_CLASS_LASS] = 65,
[FACILITY_CLASS_BUG_CATCHER] = 66,
[FACILITY_CLASS_HIKER] = 67,
[FACILITY_CLASS_YOUNG_COUPLE] = 68,
[FACILITY_CLASS_OLD_COUPLE] = 69,
[FACILITY_CLASS_SIS_AND_BRO] = 70,
[FACILITY_CLASS_AQUA_ADMIN] = 71,
[FACILITY_CLASS_AQUA_ADMIN_2] = 72,
[FACILITY_CLASS_MAGMA_ADMIN] = 73,
[FACILITY_CLASS_MAGMA_ADMIN_2] = 74,
[FACILITY_CLASS_LEADER_4] = 75,
[FACILITY_CLASS_LEADER_5] = 76,
[FACILITY_CLASS_LEADER_6] = 77,
[FACILITY_CLASS_LEADER_7] = 78,
[FACILITY_CLASS_LEADER_8] = 79,
[FACILITY_CLASS_ELITE_FOUR_3] = 80,
[FACILITY_CLASS_ELITE_FOUR_4] = 81,
[FACILITY_CLASS_YOUNGSTER_2] = 82,
[FACILITY_CLASS_BUG_CATCHER_2] = 83,
[FACILITY_CLASS_LASS_2] = 84,
[FACILITY_CLASS_SAILOR_2] = 85,
[FACILITY_CLASS_CAMPER_2] = 86,
[FACILITY_CLASS_PICNICKER_2] = 87,
[FACILITY_CLASS_POKEMANIAC_2] = 88,
[FACILITY_CLASS_SUPER_NERD] = 89,
[FACILITY_CLASS_HIKER_2] = 90,
[FACILITY_CLASS_BIKER] = 91,
[FACILITY_CLASS_BURGLAR] = 92,
[FACILITY_CLASS_ENGINEER] = 93,
[FACILITY_CLASS_FISHERMAN_2] = 94,
[FACILITY_CLASS_SWIMMER_MALE_2] = 95,
[FACILITY_CLASS_CUE_BALL] = 96,
[FACILITY_CLASS_GAMER] = 97,
[FACILITY_CLASS_BEAUTY_2] = 98,
[FACILITY_CLASS_SWIMMER_FEMALE_2] = 99,
[FACILITY_CLASS_PSYCHIC_3] = 100,
[FACILITY_CLASS_ROCKER] = 101,
[FACILITY_CLASS_JUGGLER] = 102,
[FACILITY_CLASS_TAMER] = 103,
[FACILITY_CLASS_BIRD_KEEPER_2] = 104,
[FACILITY_CLASS_BLACK_BELT_2] = 105,
[FACILITY_CLASS_RIVAL] = 106,
[FACILITY_CLASS_SCIENTIST] = 107,
[FACILITY_CLASS_BOSS] = 108,
[FACILITY_CLASS_TEAM_ROCKET] = 109,
[FACILITY_CLASS_COOLTRAINER_3] = 110,
[FACILITY_CLASS_COOLTRAINER_4] = 111,
[FACILITY_CLASS_ELITE_FOUR_5] = 112,
[FACILITY_CLASS_ELITE_FOUR_6] = 113,
[FACILITY_CLASS_LEADER_9] = 116,
[FACILITY_CLASS_LEADER_10] = 117,
[FACILITY_CLASS_GENTLEMAN_2] = 123,
[FACILITY_CLASS_RIVAL_2] = 124,
[FACILITY_CLASS_CHAMPION_2] = 125,
[FACILITY_CLASS_CHANNELER] = 126,
[FACILITY_CLASS_TWINS_2] = 127,
[FACILITY_CLASS_COOL_COUPLE] = 128,
[FACILITY_CLASS_YOUNG_COUPLE_2] = 129,
[FACILITY_CLASS_CRUSH_KIN] = 130,
[FACILITY_CLASS_SIS_AND_BRO_2] = 131,
[FACILITY_CLASS_PKMN_PROF] = 132,
[FACILITY_CLASS_PLAYER] = 133,
[FACILITY_CLASS_PLAYER_2] = 134,
[FACILITY_CLASS_PLAYER_3] = 135,
[FACILITY_CLASS_PLAYER_4] = 136,
[FACILITY_CLASS_TEAM_ROCKET_2] = 137,
[FACILITY_CLASS_PSYCHIC_4] = 138,
[FACILITY_CLASS_CRUSH_GIRL] = 139,
[FACILITY_CLASS_TUBER_3] = 140,
[FACILITY_CLASS_PKMN_BREEDER_3] = 141,
[FACILITY_CLASS_PKMN_RANGER_3] = 142,
[FACILITY_CLASS_PKMN_RANGER_4] = 143,
[FACILITY_CLASS_AROMA_LADY_2] = 144,
[FACILITY_CLASS_RUIN_MANIAC_2] = 145,
[FACILITY_CLASS_LADY_2] = 146,
[FACILITY_CLASS_PAINTER] = 147,
[FACILITY_CLASS_ELITE_FOUR_7] = 112,
[FACILITY_CLASS_ELITE_FOUR_8] = 113,
[FACILITY_CLASS_CHAMPION_3] = 125,
};
const u8 gFacilityClassToTrainerClass[] =
{
[FACILITY_CLASS_AQUA_LEADER] = CLASS_AQUA_LEADER,
[FACILITY_CLASS_TEAM_AQUA] = CLASS_TEAM_AQUA,
[FACILITY_CLASS_TEAM_AQUA_2] = CLASS_TEAM_AQUA,
[FACILITY_CLASS_AROMA_LADY] = CLASS_AROMA_LADY,
[FACILITY_CLASS_RUIN_MANIAC] = CLASS_RUIN_MANIAC,
[FACILITY_CLASS_INTERVIEWER] = CLASS_INTERVIEWER,
[FACILITY_CLASS_TUBER] = CLASS_TUBER,
[FACILITY_CLASS_TUBER_2] = CLASS_TUBER_2,
[FACILITY_CLASS_COOLTRAINER] = CLASS_COOLTRAINER,
[FACILITY_CLASS_COOLTRAINER_2] = CLASS_COOLTRAINER,
[FACILITY_CLASS_HEX_MANIAC] = CLASS_HEX_MANIAC,
[FACILITY_CLASS_LADY] = CLASS_LADY,
[FACILITY_CLASS_BEAUTY] = CLASS_BEAUTY,
[FACILITY_CLASS_RICH_BOY] = CLASS_RICH_BOY,
[FACILITY_CLASS_POKEMANIAC] = CLASS_POKEMANIAC,
[FACILITY_CLASS_SWIMMER_MALE] = CLASS_SWIMMER_MALE,
[FACILITY_CLASS_BLACK_BELT] = CLASS_BLACK_BELT,
[FACILITY_CLASS_GUITARIST] = CLASS_GUITARIST,
[FACILITY_CLASS_KINDLER] = CLASS_KINDLER,
[FACILITY_CLASS_CAMPER] = CLASS_CAMPER,
[FACILITY_CLASS_BUG_MANIAC] = CLASS_BUG_MANIAC,
[FACILITY_CLASS_PSYCHIC] = CLASS_PSYCHIC,
[FACILITY_CLASS_PSYCHIC_2] = CLASS_PSYCHIC,
[FACILITY_CLASS_GENTLEMAN] = CLASS_GENTLEMAN,
[FACILITY_CLASS_ELITE_FOUR] = CLASS_ELITE_FOUR,
[FACILITY_CLASS_ELITE_FOUR_2] = CLASS_ELITE_FOUR,
[FACILITY_CLASS_LEADER] = CLASS_LEADER,
[FACILITY_CLASS_LEADER_2] = CLASS_LEADER,
[FACILITY_CLASS_LEADER_3] = CLASS_LEADER,
[FACILITY_CLASS_SCHOOL_KID] = CLASS_SCHOOL_KID,
[FACILITY_CLASS_SCHOOL_KID_2] = CLASS_SCHOOL_KID,
[FACILITY_CLASS_SR_AND_JR] = CLASS_SR_AND_JR,
[FACILITY_CLASS_POKEFAN] = CLASS_POKEFAN,
[FACILITY_CLASS_POKEFAN_2] = CLASS_POKEFAN,
[FACILITY_CLASS_EXPERT] = CLASS_EXPERT,
[FACILITY_CLASS_EXPERT_2] = CLASS_EXPERT,
[FACILITY_CLASS_YOUNGSTER] = CLASS_YOUNGSTER,
[FACILITY_CLASS_CHAMPION] = CLASS_CHAMPION,
[FACILITY_CLASS_FISHERMAN] = CLASS_FISHERMAN,
[FACILITY_CLASS_TRIATHLETE] = CLASS_TRIATHLETE,
[FACILITY_CLASS_TRIATHLETE_2] = CLASS_TRIATHLETE,
[FACILITY_CLASS_TRIATHLETE_3] = CLASS_TRIATHLETE,
[FACILITY_CLASS_TRIATHLETE_4] = CLASS_TRIATHLETE,
[FACILITY_CLASS_TRIATHLETE_5] = CLASS_TRIATHLETE,
[FACILITY_CLASS_TRIATHLETE_6] = CLASS_TRIATHLETE,
[FACILITY_CLASS_DRAGON_TAMER] = CLASS_DRAGON_TAMER,
[FACILITY_CLASS_BIRD_KEEPER] = CLASS_BIRD_KEEPER,
[FACILITY_CLASS_NINJA_BOY] = CLASS_NINJA_BOY,
[FACILITY_CLASS_BATTLE_GIRL] = CLASS_BATTLE_GIRL,
[FACILITY_CLASS_PARASOL_LADY] = CLASS_PARASOL_LADY,
[FACILITY_CLASS_SWIMMER_FEMALE] = CLASS_SWIMMER_FEMALE,
[FACILITY_CLASS_PICNICKER] = CLASS_PICNICKER,
[FACILITY_CLASS_TWINS] = CLASS_TWINS,
[FACILITY_CLASS_SAILOR] = CLASS_SAILOR,
[FACILITY_CLASS_BOARDER] = CLASS_BOARDER,
[FACILITY_CLASS_BOARDER_2] = CLASS_BOARDER,
[FACILITY_CLASS_COLLECTOR] = CLASS_COLLECTOR,
[FACILITY_CLASS_PKMN_TRAINER] = CLASS_PKMN_TRAINER_3,
[FACILITY_CLASS_PKMN_TRAINER_2] = CLASS_PKMN_TRAINER_3,
[FACILITY_CLASS_PKMN_TRAINER_3] = CLASS_PKMN_TRAINER_3,
[FACILITY_CLASS_PKMN_TRAINER_4] = CLASS_PKMN_TRAINER_3,
[FACILITY_CLASS_PKMN_TRAINER_5] = CLASS_PKMN_TRAINER_3,
[FACILITY_CLASS_PKMN_TRAINER_6] = CLASS_PKMN_TRAINER_3,
[FACILITY_CLASS_PKMN_TRAINER_7] = CLASS_PKMN_TRAINER_3,
[FACILITY_CLASS_PKMN_BREEDER] = CLASS_PKMN_BREEDER,
[FACILITY_CLASS_PKMN_BREEDER_2] = CLASS_PKMN_BREEDER,
[FACILITY_CLASS_PKMN_RANGER] = CLASS_PKMN_RANGER,
[FACILITY_CLASS_PKMN_RANGER_2] = CLASS_PKMN_RANGER,
[FACILITY_CLASS_MAGMA_LEADER] = CLASS_MAGMA_LEADER,
[FACILITY_CLASS_TEAM_MAGMA] = CLASS_TEAM_MAGMA,
[FACILITY_CLASS_TEAM_MAGMA_2] = CLASS_TEAM_MAGMA,
[FACILITY_CLASS_LASS] = CLASS_LASS,
[FACILITY_CLASS_BUG_CATCHER] = CLASS_BUG_CATCHER,
[FACILITY_CLASS_HIKER] = CLASS_HIKER,
[FACILITY_CLASS_YOUNG_COUPLE] = CLASS_YOUNG_COUPLE,
[FACILITY_CLASS_OLD_COUPLE] = CLASS_OLD_COUPLE,
[FACILITY_CLASS_SIS_AND_BRO] = CLASS_SIS_AND_BRO,
[FACILITY_CLASS_AQUA_ADMIN] = CLASS_AQUA_ADMIN,
[FACILITY_CLASS_AQUA_ADMIN_2] = CLASS_AQUA_ADMIN,
[FACILITY_CLASS_MAGMA_ADMIN] = CLASS_MAGMA_ADMIN,
[FACILITY_CLASS_MAGMA_ADMIN_2] = CLASS_MAGMA_ADMIN,
[FACILITY_CLASS_LEADER_4] = CLASS_LEADER,
[FACILITY_CLASS_LEADER_5] = CLASS_LEADER,
[FACILITY_CLASS_LEADER_6] = CLASS_LEADER,
[FACILITY_CLASS_LEADER_7] = CLASS_LEADER,
[FACILITY_CLASS_LEADER_8] = CLASS_LEADER,
[FACILITY_CLASS_ELITE_FOUR_3] = CLASS_ELITE_FOUR,
[FACILITY_CLASS_ELITE_FOUR_4] = CLASS_ELITE_FOUR,
[FACILITY_CLASS_YOUNGSTER_2] = CLASS_YOUNGSTER_2,
[FACILITY_CLASS_BUG_CATCHER_2] = CLASS_BUG_CATCHER_2,
[FACILITY_CLASS_LASS_2] = CLASS_LASS_2,
[FACILITY_CLASS_SAILOR_2] = CLASS_SAILOR_2,
[FACILITY_CLASS_CAMPER_2] = CLASS_CAMPER_2,
[FACILITY_CLASS_PICNICKER_2] = CLASS_PICNICKER_2,
[FACILITY_CLASS_POKEMANIAC_2] = CLASS_POKEMANIAC_2,
[FACILITY_CLASS_SUPER_NERD] = CLASS_SUPER_NERD,
[FACILITY_CLASS_HIKER_2] = CLASS_HIKER_2,
[FACILITY_CLASS_BIKER] = CLASS_BIKER,
[FACILITY_CLASS_BURGLAR] = CLASS_BURGLAR,
[FACILITY_CLASS_ENGINEER] = CLASS_ENGINEER,
[FACILITY_CLASS_FISHERMAN_2] = CLASS_FISHERMAN_2,
[FACILITY_CLASS_SWIMMER_MALE_2] = CLASS_SWIMMER_MALE_2,
[FACILITY_CLASS_CUE_BALL] = CLASS_CUE_BALL,
[FACILITY_CLASS_GAMER] = CLASS_GAMER,
[FACILITY_CLASS_BEAUTY_2] = CLASS_BEAUTY_2,
[FACILITY_CLASS_SWIMMER_FEMALE_2] = CLASS_SWIMMER_FEMALE_2,
[FACILITY_CLASS_PSYCHIC_3] = CLASS_PSYCHIC_2,
[FACILITY_CLASS_ROCKER] = CLASS_ROCKER,
[FACILITY_CLASS_JUGGLER] = CLASS_JUGGLER,
[FACILITY_CLASS_TAMER] = CLASS_TAMER,
[FACILITY_CLASS_BIRD_KEEPER_2] = CLASS_BIRD_KEEPER_2,
[FACILITY_CLASS_BLACK_BELT_2] = CLASS_BLACK_BELT_2,
[FACILITY_CLASS_RIVAL] = CLASS_RIVAL,
[FACILITY_CLASS_SCIENTIST] = CLASS_SCIENTIST,
[FACILITY_CLASS_BOSS] = CLASS_BOSS,
[FACILITY_CLASS_TEAM_ROCKET] = CLASS_TEAM_ROCKET,
[FACILITY_CLASS_COOLTRAINER_3] = CLASS_COOLTRAINER_2,
[FACILITY_CLASS_COOLTRAINER_4] = CLASS_COOLTRAINER_2,
[FACILITY_CLASS_ELITE_FOUR_5] = CLASS_ELITE_FOUR_2,
[FACILITY_CLASS_ELITE_FOUR_6] = CLASS_ELITE_FOUR_2,
[FACILITY_CLASS_LEADER_9] = CLASS_LEADER_2,
[FACILITY_CLASS_LEADER_10] = CLASS_LEADER_2,
[FACILITY_CLASS_GENTLEMAN_2] = CLASS_GENTLEMAN_2,
[FACILITY_CLASS_RIVAL_2] = CLASS_RIVAL_2,
[FACILITY_CLASS_CHAMPION_2] = CLASS_CHAMPION_2,
[FACILITY_CLASS_CHANNELER] = CLASS_CHANNELER,
[FACILITY_CLASS_TWINS_2] = CLASS_TWINS_2,
[FACILITY_CLASS_COOL_COUPLE] = CLASS_COOL_COUPLE,
[FACILITY_CLASS_YOUNG_COUPLE_2] = CLASS_YOUNG_COUPLE_2,
[FACILITY_CLASS_CRUSH_KIN] = CLASS_CRUSH_KIN,
[FACILITY_CLASS_SIS_AND_BRO_2] = CLASS_SIS_AND_BRO_2,
[FACILITY_CLASS_PKMN_PROF] = CLASS_PKMN_PROF,
[FACILITY_CLASS_PLAYER] = CLASS_PLAYER,
[FACILITY_CLASS_PLAYER_2] = CLASS_PLAYER,
[FACILITY_CLASS_PLAYER_3] = CLASS_PLAYER,
[FACILITY_CLASS_PLAYER_4] = CLASS_PLAYER,
[FACILITY_CLASS_TEAM_ROCKET_2] = CLASS_TEAM_ROCKET,
[FACILITY_CLASS_PSYCHIC_4] = CLASS_PSYCHIC_2,
[FACILITY_CLASS_CRUSH_GIRL] = CLASS_CRUSH_GIRL,
[FACILITY_CLASS_TUBER_3] = CLASS_TUBER_3,
[FACILITY_CLASS_PKMN_BREEDER_3] = CLASS_PKMN_BREEDER_2,
[FACILITY_CLASS_PKMN_RANGER_3] = CLASS_PKMN_RANGER_2,
[FACILITY_CLASS_PKMN_RANGER_4] = CLASS_PKMN_RANGER_2,
[FACILITY_CLASS_AROMA_LADY_2] = CLASS_AROMA_LADY_2,
[FACILITY_CLASS_RUIN_MANIAC_2] = CLASS_RUIN_MANIAC_2,
[FACILITY_CLASS_LADY_2] = CLASS_LADY_2,
[FACILITY_CLASS_PAINTER] = CLASS_PAINTER,
[FACILITY_CLASS_ELITE_FOUR_7] = CLASS_ELITE_FOUR_2,
[FACILITY_CLASS_ELITE_FOUR_8] = CLASS_ELITE_FOUR_2,
[FACILITY_CLASS_CHAMPION_3] = CLASS_CHAMPION_2,
};
+4 -4
View File
@@ -14,7 +14,7 @@
#include "menu.h" #include "menu.h"
#include "help_system.h" #include "help_system.h"
#include "new_menu_helpers.h" #include "new_menu_helpers.h"
#include "pokemon_3.h" #include "pokemon.h"
#include "sound.h" #include "sound.h"
#include "event_scripts.h" #include "event_scripts.h"
#include "scanline_effect.h" #include "scanline_effect.h"
@@ -500,7 +500,7 @@ static void Task_OaksSpeech1(u8 taskId)
break; break;
case 1: case 1:
sOakSpeechResources = AllocZeroed(sizeof(*sOakSpeechResources)); sOakSpeechResources = AllocZeroed(sizeof(*sOakSpeechResources));
SetUpMonSpriteManagerMaybe(1, 1); OakSpeechNidoranFSetup(1, 1);
break; break;
case 2: case 2:
SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0H, 0);
@@ -1513,7 +1513,7 @@ static void Task_OakSpeech41(u8 taskId)
static void Task_OakSpeech42(u8 taskId) static void Task_OakSpeech42(u8 taskId)
{ {
FreeAllWindowBuffers(); FreeAllWindowBuffers();
sub_8044D80(); OakSpeechNidoranFFreeResources();
Free(sOakSpeechResources); Free(sOakSpeechResources);
sOakSpeechResources = NULL; sOakSpeechResources = NULL;
gTextFlags.canABSpeedUpPrint = FALSE; gTextFlags.canABSpeedUpPrint = FALSE;
@@ -1612,7 +1612,7 @@ static void CreateNidoranFSprite(u8 taskId)
{ {
u8 spriteId; u8 spriteId;
DecompressPicFromTable(gUnknown_8235194, sub_8044E00(0), SPECIES_NIDORAN_F); DecompressPicFromTable(gUnknown_8235194, OakSpeechNidoranFGetBuffer(0), SPECIES_NIDORAN_F);
LoadCompressedSpritePaletteUsingHeap(&gUnknown_82373F4); LoadCompressedSpritePaletteUsingHeap(&gUnknown_82373F4);
SetMultiuseSpriteTemplateToPokemon(SPECIES_NIDORAN_F, 0); SetMultiuseSpriteTemplateToPokemon(SPECIES_NIDORAN_F, 0);
spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x60, 0x60, 1); spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x60, 0x60, 1);
+2449 -196
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -26,7 +26,7 @@ void sub_812C334(s32 *, s32 *);
void sub_812BFDC(void) void sub_812BFDC(void)
{ {
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_DOME)) && (gBattleOutcome == B_OUTCOME_WON || gBattleOutcome == B_OUTCOME_CAUGHT)) if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_POKEDUDE)) && (gBattleOutcome == B_OUTCOME_WON || gBattleOutcome == B_OUTCOME_CAUGHT))
{ {
struct QuestLogStruct_TrainerBattleRecord * questLogTrainerBattleRecord = Alloc(sizeof(struct QuestLogStruct_TrainerBattleRecord)); struct QuestLogStruct_TrainerBattleRecord * questLogTrainerBattleRecord = Alloc(sizeof(struct QuestLogStruct_TrainerBattleRecord));
struct QuestLogStruct_WildBattleRecord * questLogWildBattleRecord = Alloc(sizeof(struct QuestLogStruct_WildBattleRecord)); struct QuestLogStruct_WildBattleRecord * questLogWildBattleRecord = Alloc(sizeof(struct QuestLogStruct_WildBattleRecord));
+4 -4
View File
@@ -1378,21 +1378,21 @@ void sub_815E9FC(void)
{ {
r2 = gUnknown_847A2EE[r5][r6]; r2 = gUnknown_847A2EE[r5][r6];
gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9; gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9;
sub_803E0A4(&gEnemyParty[r6], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]); CreateBattleTowerMon(&gEnemyParty[r6], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]);
} }
break; break;
case 1: case 1:
r2 = gUnknown_847A2FE[r5][0]; r2 = gUnknown_847A2FE[r5][0];
gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2].level = r9; gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2].level = r9;
sub_803E0A4(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2]); CreateBattleTowerMon(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2]);
r2 = gUnknown_847A2FE[r5][1]; r2 = gUnknown_847A2FE[r5][1];
gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2].level = r9; gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2].level = r9;
sub_803E0A4(&gEnemyParty[1], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2]); CreateBattleTowerMon(&gEnemyParty[1], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2]);
break; break;
case 2: case 2:
r2 = gUnknown_847A30E[r5][r4]; r2 = gUnknown_847A30E[r5][r4];
gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9; gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9;
sub_803E0A4(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]); CreateBattleTowerMon(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]);
break; break;
} }
} }
+1 -1
View File
@@ -28,7 +28,7 @@ void sub_8159F40(void)
s32 opIdx = 0; s32 opIdx = 0;
const struct UnkStruct_84792D0 * data; const struct UnkStruct_84792D0 * data;
gBattleTypeFlags = BATTLE_TYPE_DOME; gBattleTypeFlags = BATTLE_TYPE_POKEDUDE;
ZeroPlayerPartyMons(); ZeroPlayerPartyMons();
ZeroEnemyPartyMons(); ZeroEnemyPartyMons();
data = gUnknown_84792D0[gSpecialVar_0x8004]; data = gUnknown_84792D0[gSpecialVar_0x8004];
+1 -7
View File
@@ -487,13 +487,7 @@ gUnknown_2024414: @ 2024414
gUnknown_2024478: @ 2024478 gUnknown_2024478: @ 2024478
.space 0x64 .space 0x64
gMultiuseSpriteTemplate: @ 20244DC .include "src/pokemon.o"
.space 0x18
gUnknown_20244F4: @ 20244F4
.space 0x4
.align 2
.include "src/daycare.o" .include "src/daycare.o"
.align 2 .align 2
.include "src/load_save.o" .include "src/load_save.o"