summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorProjectRevoTPP <projectrevotpp@hotmail.com>2017-11-03 00:04:30 -0400
committerProjectRevoTPP <projectrevotpp@hotmail.com>2017-11-03 00:04:30 -0400
commit1966f65696215a09066f6da70920703d6f3fd870 (patch)
treea77304e6d34ede3fa3d6c62b82859e6c12ba2f48
parente08f3e4398d6c1dc21437e7b6462521ecfd299a6 (diff)
parent08e6fb5382bb4e2104d370783d15b4a2a3c65a2a (diff)
Merge branch 'master' of https://github.com/pret/pokeruby into fix_setmondata
-rw-r--r--asm/battle_tower.s3663
-rw-r--r--constants/battle_tower_constants.inc70
-rw-r--r--constants/constants.inc1
-rw-r--r--data-de/battle_tower/trainers.inc1301
-rw-r--r--data/battle_tower.s159
-rw-r--r--data/battle_tower/held_items.inc65
-rw-r--r--data/battle_tower/level_100_mons.inc2701
-rw-r--r--data/battle_tower/level_50_mons.inc2701
-rw-r--r--data/battle_tower/trainers.inc1301
-rw-r--r--data/scripts/maps/BattleTower_BattleRoom.inc4
-rw-r--r--data/scripts/maps/BattleTower_Lobby.inc6
-rw-r--r--data/scripts/maps/MossdeepCity_GameCorner_1F.inc4
-rw-r--r--data/scripts/maps/MossdeepCity_GameCorner_B1F.inc4
-rw-r--r--data/specials.inc16
-rw-r--r--include/battle_tower.h98
-rw-r--r--include/easy_chat.h1
-rw-r--r--include/global.h96
-rw-r--r--include/pokemon.h46
-rw-r--r--include/record_mixing.h2
-rw-r--r--include/tv.h1
-rw-r--r--ld_script.txt4
-rw-r--r--src/battle/battle_controller_opponent.c6
-rw-r--r--src/battle/battle_message.c8
-rw-r--r--src/battle/battle_records.c17
-rw-r--r--src/data/battle_tower/level_100_mons.h3903
-rw-r--r--src/data/battle_tower/level_50_mons.h3903
-rw-r--r--src/data/battle_tower/trainers.h1503
-rw-r--r--src/data/battle_tower/trainers_de.h1503
-rw-r--r--src/de_rom_8040FE0.c6
-rw-r--r--src/debug/unknown_debug_menu.c13
-rw-r--r--src/engine/mystery_event_script.c6
-rw-r--r--src/engine/record_mixing.c14
-rw-r--r--src/engine/trainer_card.c56
-rw-r--r--src/field/battle_tower.c2375
-rw-r--r--src/field/choose_party.c8
-rw-r--r--src/field/easy_chat.c10
-rw-r--r--src/field/field_specials.c2
-rw-r--r--src/field/tv.c13
-rw-r--r--src/scene/new_game.c6
39 files changed, 13484 insertions, 12112 deletions
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
deleted file mode 100644
index cd8eede60..000000000
--- a/asm/battle_tower.s
+++ /dev/null
@@ -1,3663 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8134548
-sub_8134548: @ 8134548
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_0813454E:
- ldr r0, _08134568 @ =gSaveBlock2
- ldr r1, _0813456C @ =0x00000556
- adds r0, r1
- adds r0, r5, r0
- ldrb r0, [r0]
- cmp r0, 0x6
- bhi _08134590
- lsls r0, 2
- ldr r1, _08134570 @ =_08134574
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08134568: .4byte gSaveBlock2
-_0813456C: .4byte 0x00000556
-_08134570: .4byte _08134574
- .align 2, 0
-_08134574:
- .4byte _08134590
- .4byte _081345A8
- .4byte _081345C8
- .4byte _081345D8
- .4byte _081345B8
- .4byte _081345C0
- .4byte _081345D8
-_08134590:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_813461C
- cmp r4, 0
- bne _081345D8
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x5
- bl VarSet
- b _081345D8
-_081345A8:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_813461C
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x1
- b _081345CE
-_081345B8:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x2
- b _081345CE
-_081345C0:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x3
- b _081345CE
-_081345C8:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x4
-_081345CE:
- bl VarSet
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081345D8:
- adds r5, 0x1
- cmp r5, 0x1
- ble _0813454E
- ldr r1, _08134610 @ =gSaveBlock2
- ldr r2, _08134614 @ =0x00000556
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _081345EE
- cmp r0, 0x6
- bne _08134606
-_081345EE:
- ldr r2, _08134618 @ =0x00000557
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _081345FC
- cmp r0, 0x6
- bne _08134606
-_081345FC:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x5
- bl VarSet
-_08134606:
- bl sub_8135C44
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08134610: .4byte gSaveBlock2
-_08134614: .4byte 0x00000556
-_08134618: .4byte 0x00000557
- thumb_func_end sub_8134548
-
- thumb_func_start sub_813461C
-sub_813461C: @ 813461C
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08134644 @ =gSaveBlock2
- ldr r2, _08134648 @ =0x00000556
- adds r1, r3, r2
- adds r1, r0, r1
- movs r2, 0
- strb r2, [r1]
- lsls r0, 1
- movs r2, 0xAB
- lsls r2, 3
- adds r1, r3, r2
- adds r1, r0, r1
- movs r2, 0x1
- strh r2, [r1]
- ldr r1, _0813464C @ =0x0000055c
- adds r3, r1
- adds r0, r3
- strh r2, [r0]
- bx lr
- .align 2, 0
-_08134644: .4byte gSaveBlock2
-_08134648: .4byte 0x00000556
-_0813464C: .4byte 0x0000055c
- thumb_func_end sub_813461C
-
- thumb_func_start sub_8134650
-sub_8134650: @ 8134650
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r6, r1, 16
- add r4, sp, 0x28
- movs r0, 0
- strb r0, [r4]
- bl sub_813601C
- ldr r0, _08134684 @ =gScriptResult
- ldrh r0, [r0]
- adds r7, r4, 0
- cmp r0, 0
- bne _08134680
- ldr r1, _08134688 @ =gSaveBlock2
- ldr r2, _0813468C @ =0x0000049a
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, r6
- beq _08134690
-_08134680:
- movs r0, 0
- b _081346E2
- .align 2, 0
-_08134684: .4byte gScriptResult
-_08134688: .4byte gSaveBlock2
-_0813468C: .4byte 0x0000049a
-_08134690:
- movs r6, 0x32
- cmp r5, 0
- beq _08134698
- movs r6, 0x64
-_08134698:
- movs r4, 0
- mov r8, r1
-_0813469C:
- movs r0, 0x2C
- muls r0, r4
- mov r3, r8
- adds r1, r0, r3
- movs r2, 0x9B
- lsls r2, 3
- adds r0, r1, r2
- ldrb r2, [r0]
- cmp r2, r6
- bne _08134680
- ldr r3, _081346F0 @ =0x000004cc
- adds r0, r1, r3
- ldrh r0, [r0]
- adds r3, 0x2
- adds r1, r3
- ldrh r1, [r1]
- str r2, [sp]
- add r2, sp, 0x10
- str r2, [sp, 0x4]
- add r2, sp, 0x1C
- str r2, [sp, 0x8]
- str r7, [sp, 0xC]
- movs r2, 0x1
- adds r3, r5, 0
- bl CheckMonBattleTowerBanlist
- adds r4, 0x1
- cmp r4, 0x2
- ble _0813469C
- movs r1, 0
- ldrb r0, [r7]
- cmp r0, 0x3
- bne _081346E0
- movs r1, 0x1
-_081346E0:
- adds r0, r1, 0
-_081346E2:
- add sp, 0x2C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081346F0: .4byte 0x000004cc
- thumb_func_end sub_8134650
-
- thumb_func_start sub_81346F4
-sub_81346F4: @ 81346F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- movs r0, 0
- mov r9, r0
- ldr r4, _08134738 @ =gSaveBlock2
- ldr r1, _0813473C @ =0x00000554
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r7, r0, 31
- adds r0, r7, 0
- bl sub_8135D3C
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r7, 0
- mov r1, r8
- bl sub_8134650
- lsls r0, 24
- adds r1, r4, 0
- cmp r0, 0
- beq _08134744
- ldr r2, _08134740 @ =0x00000564
- adds r1, r2
- movs r0, 0xC8
- strb r0, [r1]
- b _081347DE
- .align 2, 0
-_08134738: .4byte gSaveBlock2
-_0813473C: .4byte 0x00000554
-_08134740: .4byte 0x00000564
-_08134744:
- movs r5, 0
- movs r3, 0xA4
- mov r12, r3
- mov r10, sp
-_0813474C:
- mov r0, r12
- muls r0, r5
- movs r4, 0
- movs r1, 0
- movs r2, 0
- adds r6, r5, 0x1
- str r6, [sp, 0x14]
- ldr r6, _081347B4 @ =gSaveBlock2 + 0x14C
- adds r3, r0, r6
-_0813475E:
- ldm r3!, {r0}
- orrs r4, r0
- adds r1, r0
- adds r2, 0x1
- cmp r2, 0x27
- bls _0813475E
- mov r3, r12
- muls r3, r5
- ldr r0, _081347B8 @ =gSaveBlock2
- adds r2, r3, r0
- movs r6, 0xA7
- lsls r6, 1
- adds r0, r2, r6
- ldrh r0, [r0]
- cmp r0, r8
- bne _081347A4
- subs r6, 0x2
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, r7
- bne _081347A4
- cmp r4, 0
- beq _081347A4
- ldr r2, _081347BC @ =gSaveBlock2 + 0x1EC
- adds r0, r3, r2
- ldr r0, [r0]
- cmp r0, r1
- bne _081347A4
- mov r3, r10
- adds r3, 0x4
- mov r10, r3
- subs r3, 0x4
- stm r3!, {r5}
- movs r6, 0x1
- add r9, r6
-_081347A4:
- ldr r5, [sp, 0x14]
- cmp r5, 0x4
- ble _0813474C
- mov r0, r9
- cmp r0, 0
- bne _081347C0
- movs r0, 0
- b _081347E0
- .align 2, 0
-_081347B4: .4byte gSaveBlock2 + 0x14C
-_081347B8: .4byte gSaveBlock2
-_081347BC: .4byte gSaveBlock2 + 0x1EC
-_081347C0:
- bl Random
- ldr r4, _081347F0 @ =gSaveBlock2
- lsls r0, 16
- lsrs r0, 16
- mov r1, r9
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- adds r0, 0x64
- ldr r1, _081347F4 @ =0x00000564
- adds r4, r1
- strb r0, [r4]
-_081347DE:
- movs r0, 0x1
-_081347E0:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081347F0: .4byte gSaveBlock2
-_081347F4: .4byte 0x00000564
- thumb_func_end sub_81346F4
-
- thumb_func_start sub_81347F8
-sub_81347F8: @ 81347F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r5, _08134838 @ =gSaveBlock2
- ldr r1, _0813483C @ =0x00000554
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r6, r0, 31
- bl sub_81346F4
- lsls r0, 24
- cmp r0, 0
- beq _08134848
- ldr r2, _08134840 @ =0x00000564
- adds r4, r5, r2
- ldrb r0, [r4]
- bl sub_81349FC
- lsls r0, r6, 1
- movs r3, 0xAB
- lsls r3, 3
- adds r1, r5, r3
- adds r0, r1
- ldrh r0, [r0]
- adds r0, r5, r0
- ldr r1, _08134844 @ =0x00000569
- adds r0, r1
- ldrb r1, [r4]
- b _081349DC
- .align 2, 0
-_08134838: .4byte gSaveBlock2
-_0813483C: .4byte 0x00000554
-_08134840: .4byte 0x00000564
-_08134844: .4byte 0x00000569
-_08134848:
- lsls r0, r6, 1
- ldr r2, _081348D8 @ =0x0000055c
- adds r1, r5, r2
- adds r1, r0, r1
- ldrh r1, [r1]
- adds r7, r0, 0
- cmp r1, 0x7
- bls _0813485A
- b _0813495C
-_0813485A:
- movs r3, 0xAB
- lsls r3, 3
- adds r0, r5, r3
- adds r1, r7, r0
- ldrh r0, [r1]
- cmp r0, 0x7
- bne _081348E4
- adds r6, r5, 0
- mov r9, r7
- adds r5, r1, 0
- ldr r0, _081348DC @ =0x0000056a
- adds r0, r6
- mov r10, r0
- mov r8, r5
-_08134876:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- lsls r2, r1, 2
- adds r2, r1
- ldr r1, _081348D8 @ =0x0000055c
- adds r4, r6, r1
- mov r3, r9
- adds r0, r3, r4
- ldrh r1, [r0]
- subs r1, 0x1
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, 0x14
- lsrs r2, 7
- adds r2, r0
- lsls r2, 16
- lsrs r2, 16
- movs r1, 0
- ldrh r0, [r5]
- subs r0, 0x1
- cmp r1, r0
- bge _081348C8
- mov r3, r10
- ldrb r0, [r3]
- cmp r0, r2
- beq _081348C8
- subs r0, r4, 0x4
- adds r0, r7, r0
- ldrh r0, [r0]
- subs r3, r0, 0x1
- adds r4, 0xE
-_081348BA:
- adds r1, 0x1
- cmp r1, r3
- bge _081348C8
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r2
- bne _081348BA
-_081348C8:
- mov r3, r8
- ldrh r0, [r3]
- subs r0, 0x1
- ldr r4, _081348E0 @ =gSaveBlock2
- cmp r1, r0
- bne _08134876
- b _081349B6
- .align 2, 0
-_081348D8: .4byte 0x0000055c
-_081348DC: .4byte 0x0000056a
-_081348E0: .4byte gSaveBlock2
-_081348E4:
- adds r6, r5, 0
- mov r9, r7
- adds r5, r1, 0
- ldr r2, _08134950 @ =0x0000056a
- adds r2, r6
- mov r10, r2
- mov r8, r5
-_081348F2:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- lsls r0, r1, 2
- adds r0, r1
- lsrs r2, r0, 6
- ldr r3, _08134954 @ =0x0000055c
- adds r4, r6, r3
- mov r1, r9
- adds r0, r1, r4
- ldrh r1, [r0]
- subs r1, 0x1
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, r2, r0
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- ldrh r0, [r5]
- subs r0, 0x1
- cmp r1, r0
- bge _08134942
- mov r3, r10
- ldrb r0, [r3]
- cmp r0, r2
- beq _08134942
- subs r0, r4, 0x4
- adds r0, r7, r0
- ldrh r0, [r0]
- subs r3, r0, 0x1
- adds r4, 0xE
-_08134934:
- adds r1, 0x1
- cmp r1, r3
- bge _08134942
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r2
- bne _08134934
-_08134942:
- mov r3, r8
- ldrh r0, [r3]
- subs r0, 0x1
- ldr r4, _08134958 @ =gSaveBlock2
- cmp r1, r0
- bne _081348F2
- b _081349B6
- .align 2, 0
-_08134950: .4byte 0x0000056a
-_08134954: .4byte 0x0000055c
-_08134958: .4byte gSaveBlock2
-_0813495C:
- movs r2, 0xAB
- lsls r2, 3
- adds r0, r5, r2
- adds r6, r7, r0
- ldr r3, _081349EC @ =0x0000056a
- adds r3, r5
- mov r8, r3
- adds r5, r6, 0
-_0813496C:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 1
- asrs r0, 8
- adds r0, 0x46
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- ldrh r0, [r6]
- subs r0, 0x1
- cmp r1, r0
- bge _081349AC
- mov r3, r8
- ldrb r0, [r3]
- ldr r4, _081349F0 @ =gSaveBlock2
- cmp r0, r2
- beq _081349AC
- ldrh r0, [r5]
- subs r3, r0, 0x1
- ldr r0, _081349EC @ =0x0000056a
- adds r4, r0
-_0813499E:
- adds r1, 0x1
- cmp r1, r3
- bge _081349AC
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r2
- bne _0813499E
-_081349AC:
- ldrh r0, [r6]
- subs r0, 0x1
- ldr r4, _081349F0 @ =gSaveBlock2
- cmp r1, r0
- bne _0813496C
-_081349B6:
- ldr r1, _081349F4 @ =0x00000564
- adds r0, r4, r1
- strb r2, [r0]
- ldr r2, _081349F4 @ =0x00000564
- adds r5, r4, r2
- ldrb r0, [r5]
- bl sub_81349FC
- movs r3, 0xAB
- lsls r3, 3
- adds r0, r4, r3
- adds r1, r7, r0
- ldrh r0, [r1]
- cmp r0, 0x6
- bhi _081349DE
- adds r0, r4, r0
- ldr r1, _081349F8 @ =0x00000569
- adds r0, r1
- ldrb r1, [r5]
-_081349DC:
- strb r1, [r0]
-_081349DE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081349EC: .4byte 0x0000056a
-_081349F0: .4byte gSaveBlock2
-_081349F4: .4byte 0x00000564
-_081349F8: .4byte 0x00000569
- thumb_func_end sub_81347F8
-
- thumb_func_start sub_81349FC
-sub_81349FC: @ 81349FC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, r2, 0
- cmp r2, 0x63
- bhi _08134A18
- ldr r1, _08134A14 @ =gBattleTowerTrainers
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- b _08134A38
- .align 2, 0
-_08134A14: .4byte gBattleTowerTrainers
-_08134A18:
- cmp r1, 0xC7
- bhi _08134A34
- ldr r2, _08134A2C @ =gSaveBlock2
- subs r1, 0x64
- movs r0, 0xA4
- muls r0, r1
- adds r0, r2
- ldr r1, _08134A30 @ =0x0000014d
- b _08134A38
- .align 2, 0
-_08134A2C: .4byte gSaveBlock2
-_08134A30: .4byte 0x0000014d
-_08134A34:
- ldr r0, _08134A5C @ =gSaveBlock2
- ldr r1, _08134A60 @ =0x00000499
-_08134A38:
- adds r0, r1
- ldrb r1, [r0]
- movs r2, 0
- ldr r3, _08134A64 @ =gUnknown_08405E60
- ldrb r0, [r3]
- cmp r0, r1
- beq _08134A54
-_08134A46:
- adds r2, 0x1
- cmp r2, 0x1D
- bhi _08134A54
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, r1
- bne _08134A46
-_08134A54:
- cmp r2, 0x1E
- beq _08134A6C
- ldr r0, _08134A68 @ =gUnknown_08405E92
- b _08134A8A
- .align 2, 0
-_08134A5C: .4byte gSaveBlock2
-_08134A60: .4byte 0x00000499
-_08134A64: .4byte gUnknown_08405E60
-_08134A68: .4byte gUnknown_08405E92
-_08134A6C:
- movs r2, 0
- ldr r3, _08134A98 @ =gUnknown_08405E7E
- ldrb r0, [r3]
- cmp r0, r1
- beq _08134A84
-_08134A76:
- adds r2, 0x1
- cmp r2, 0x13
- bhi _08134A84
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, r1
- bne _08134A76
-_08134A84:
- cmp r2, 0x14
- beq _08134AA4
- ldr r0, _08134A9C @ =gUnknown_08405EB0
-_08134A8A:
- adds r0, r2, r0
- ldrb r1, [r0]
- ldr r0, _08134AA0 @ =0x00004010
- bl VarSet
- b _08134AAC
- .align 2, 0
-_08134A98: .4byte gUnknown_08405E7E
-_08134A9C: .4byte gUnknown_08405EB0
-_08134AA0: .4byte 0x00004010
-_08134AA4:
- ldr r0, _08134AB0 @ =0x00004010
- movs r1, 0x7
- bl VarSet
-_08134AAC:
- pop {r0}
- bx r0
- .align 2, 0
-_08134AB0: .4byte 0x00004010
- thumb_func_end sub_81349FC
-
- thumb_func_start sub_8134AB4
-sub_8134AB4: @ 8134AB4
- push {lr}
- movs r0, 0xC8
- bl sub_81349FC
- pop {r0}
- bx r0
- thumb_func_end sub_8134AB4
-
- thumb_func_start sub_8134AC0
-sub_8134AC0: @ 8134AC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- movs r7, 0
- mov r8, r0
- movs r5, 0
- ldr r0, _08134B3C @ =gSaveBlock2
- mov r12, r0
- mov r1, r8
- ldrb r1, [r1, 0xC]
- str r1, [sp, 0x18]
- movs r2, 0xAA
- lsls r2, 1
- add r2, r12
- mov r10, r2
- mov r9, r5
-_08134AE6:
- movs r6, 0
- movs r3, 0
- ldr r0, _08134B40 @ =gSaveBlock2 + 0x158
- add r0, r9
- ldrb r0, [r0]
- ldr r1, [sp, 0x18]
- cmp r0, r1
- bne _08134B14
- movs r0, 0xA4
- muls r0, r5
- ldr r1, _08134B40 @ =gSaveBlock2 + 0x158
- adds r2, r0, r1
- mov r4, r8
- adds r4, 0xC
-_08134B02:
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x3
- bgt _08134B14
- adds r1, r4, r3
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- beq _08134B02
-_08134B14:
- cmp r3, 0x4
- bne _08134B54
- movs r6, 0
- mov r2, r10
- ldrb r0, [r2]
- mov r3, r8
- ldrb r3, [r3, 0x8]
- cmp r0, r3
- bne _08134B54
- adds r1, r0, 0
- movs r0, 0xA4
- muls r0, r5
- adds r0, 0x4
- ldr r3, _08134B44 @ =gSaveBlock2 + 0x150
- adds r2, r0, r3
-_08134B32:
- cmp r1, 0xFF
- bne _08134B48
- movs r6, 0x7
- b _08134B54
- .align 2, 0
-_08134B3C: .4byte gSaveBlock2
-_08134B40: .4byte gSaveBlock2 + 0x158
-_08134B44: .4byte gSaveBlock2 + 0x150
-_08134B48:
- adds r6, 0x1
- cmp r6, 0x6
- bgt _08134B54
- ldrb r0, [r2]
- cmp r0, r1
- beq _08134B32
-_08134B54:
- cmp r6, 0x7
- beq _08134B64
- movs r0, 0xA4
- add r10, r0
- add r9, r0
- adds r5, 0x1
- cmp r5, 0x4
- ble _08134AE6
-_08134B64:
- cmp r5, 0x4
- bgt _08134B76
- movs r0, 0xA4
- muls r0, r5
- add r0, r12
- movs r1, 0xA6
- lsls r1, 1
- adds r0, r1
- b _08134B9E
-_08134B76:
- movs r5, 0
- movs r1, 0xA7
- lsls r1, 1
- add r1, r12
- b _08134B88
-_08134B80:
- adds r1, 0xA4
- adds r5, 0x1
- cmp r5, 0x4
- bgt _08134BA8
-_08134B88:
- ldrh r0, [r1]
- cmp r0, 0
- bne _08134B80
- cmp r5, 0x4
- bgt _08134BA8
- movs r0, 0xA4
- muls r0, r5
- add r0, r12
- movs r2, 0xA6
- lsls r2, 1
- adds r0, r2
-_08134B9E:
- mov r1, r8
- movs r2, 0xA4
- bl memcpy
- b _08134C5E
-_08134BA8:
- mov r2, sp
- movs r3, 0xA7
- lsls r3, 1
- mov r1, r12
- adds r0, r1, r3
- ldrh r0, [r0]
- movs r1, 0
- strh r0, [r2]
- add r0, sp, 0xC
- strh r1, [r0]
- adds r7, 0x1
- movs r5, 0x1
- add r2, sp, 0xC
- mov r9, r2
- mov r10, r3
-_08134BC6:
- movs r3, 0
- adds r0, r5, 0x1
- mov r12, r0
- cmp r3, r7
- bge _08134C0A
- movs r1, 0xA4
- adds r0, r5, 0
- muls r0, r1
- ldr r2, _08134BFC @ =gSaveBlock2
- adds r0, r2
- mov r1, r10
- adds r4, r0, r1
- mov r6, sp
-_08134BE0:
- lsls r0, r3, 1
- add r0, sp
- ldrh r2, [r4]
- adds r1, r2, 0
- ldrh r0, [r0]
- cmp r1, r0
- bcs _08134C00
- movs r3, 0
- movs r7, 0x1
- strh r2, [r6]
- mov r2, r9
- strh r5, [r2]
- b _08134C0A
- .align 2, 0
-_08134BFC: .4byte gSaveBlock2
-_08134C00:
- cmp r1, r0
- bhi _08134C0A
- adds r3, 0x1
- cmp r3, r7
- blt _08134BE0
-_08134C0A:
- cmp r3, r7
- bne _08134C2A
- lsls r1, r7, 1
- mov r3, sp
- adds r2, r3, r1
- movs r3, 0xA4
- adds r0, r5, 0
- muls r0, r3
- ldr r3, _08134C70 @ =gSaveBlock2
- adds r0, r3
- add r0, r10
- ldrh r0, [r0]
- strh r0, [r2]
- add r1, r9
- strh r5, [r1]
- adds r7, 0x1
-_08134C2A:
- mov r5, r12
- cmp r5, 0x4
- ble _08134BC6
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r7, 0
- bl __modsi3
- adds r5, r0, 0
- ldr r2, _08134C70 @ =gSaveBlock2
- lsls r0, r5, 1
- add r0, sp
- adds r0, 0xC
- ldrh r1, [r0]
- movs r0, 0xA4
- muls r0, r1
- adds r0, r2
- movs r1, 0xA6
- lsls r1, 1
- adds r0, r1
- mov r1, r8
- movs r2, 0xA4
- bl memcpy
-_08134C5E:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08134C70: .4byte gSaveBlock2
- thumb_func_end sub_8134AC0
-
- thumb_func_start get_trainer_class_pic_index
-get_trainer_class_pic_index: @ 8134C74
- push {lr}
- ldr r3, _08134C90 @ =gSaveBlock2
- ldr r0, _08134C94 @ =0x00000564
- adds r1, r3, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _08134CA0
- ldr r1, _08134C98 @ =gTrainerClassToPicIndex
- ldr r2, _08134C9C @ =0x00000499
- adds r0, r3, r2
- ldrb r0, [r0]
- adds r0, r1
- b _08134CD2
- .align 2, 0
-_08134C90: .4byte gSaveBlock2
-_08134C94: .4byte 0x00000564
-_08134C98: .4byte gTrainerClassToPicIndex
-_08134C9C: .4byte 0x00000499
-_08134CA0:
- cmp r0, 0x63
- bls _08134CC0
- ldr r2, _08134CBC @ =gTrainerClassToPicIndex
- ldrb r0, [r1]
- subs r0, 0x64
- movs r1, 0xA4
- muls r0, r1
- adds r0, r3
- adds r1, 0xA9
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r2
- b _08134CD2
- .align 2, 0
-_08134CBC: .4byte gTrainerClassToPicIndex
-_08134CC0:
- ldr r3, _08134CD8 @ =gTrainerClassToPicIndex
- ldr r2, _08134CDC @ =gBattleTowerTrainers
- ldrb r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
-_08134CD2:
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_08134CD8: .4byte gTrainerClassToPicIndex
-_08134CDC: .4byte gBattleTowerTrainers
- thumb_func_end get_trainer_class_pic_index
-
- thumb_func_start get_trainer_class_name_index
-get_trainer_class_name_index: @ 8134CE0
- push {lr}
- ldr r3, _08134CFC @ =gSaveBlock2
- ldr r0, _08134D00 @ =0x00000564
- adds r1, r3, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _08134D0C
- ldr r1, _08134D04 @ =gTrainerClassToNameIndex
- ldr r2, _08134D08 @ =0x00000499
- adds r0, r3, r2
- ldrb r0, [r0]
- adds r0, r1
- b _08134D40
- .align 2, 0
-_08134CFC: .4byte gSaveBlock2
-_08134D00: .4byte 0x00000564
-_08134D04: .4byte gTrainerClassToNameIndex
-_08134D08: .4byte 0x00000499
-_08134D0C:
- cmp r0, 0x63
- bhi _08134D2C
- ldr r3, _08134D24 @ =gTrainerClassToNameIndex
- ldr r2, _08134D28 @ =gBattleTowerTrainers
- ldrb r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
- b _08134D40
- .align 2, 0
-_08134D24: .4byte gTrainerClassToNameIndex
-_08134D28: .4byte gBattleTowerTrainers
-_08134D2C:
- ldr r2, _08134D48 @ =gTrainerClassToNameIndex
- ldrb r0, [r1]
- subs r0, 0x64
- movs r1, 0xA4
- muls r0, r1
- adds r0, r3
- adds r1, 0xA9
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r2
-_08134D40:
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_08134D48: .4byte gTrainerClassToNameIndex
- thumb_func_end get_trainer_class_name_index
-
- thumb_func_start get_trainer_name
-get_trainer_name: @ 8134D4C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r2, _08134D74 @ =gSaveBlock2
- ldr r0, _08134D78 @ =0x00000564
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _08134D80
- movs r3, 0
- ldr r5, _08134D7C @ =0x0000049c
- adds r2, r5
-_08134D62:
- adds r0, r4, r3
- adds r1, r3, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x6
- ble _08134D62
- b _08134DC8
- .align 2, 0
-_08134D74: .4byte gSaveBlock2
-_08134D78: .4byte 0x00000564
-_08134D7C: .4byte 0x0000049c
-_08134D80:
- cmp r0, 0x63
- bhi _08134DA8
- movs r3, 0
- ldr r2, _08134DA4 @ =gBattleTowerTrainers
- ldrb r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, 0x1
- adds r2, r0, r2
-_08134D94:
- adds r1, r4, r3
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x6
- ble _08134D94
- b _08134DC8
- .align 2, 0
-_08134DA4: .4byte gBattleTowerTrainers
-_08134DA8:
- movs r3, 0
- ldrb r0, [r1]
- subs r0, 0x64
- movs r1, 0xA4
- muls r1, r0
- movs r5, 0xA8
- lsls r5, 1
- adds r0, r2, r5
- adds r2, r1, r0
-_08134DBA:
- adds r1, r4, r3
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x6
- ble _08134DBA
-_08134DC8:
- adds r1, r4, r3
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end get_trainer_name
-
- thumb_func_start sub_8134DD4
-sub_8134DD4: @ 8134DD4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- movs r0, 0
- str r0, [sp, 0x18]
- movs r1, 0x3C
- str r1, [sp, 0x1C]
- add r4, sp, 0xC
- movs r0, 0xFF
- strb r0, [r4]
- bl ZeroEnemyPartyMons
- ldr r1, _08134E04 @ =gSaveBlock2
- ldr r2, _08134E08 @ =0x00000564
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x13
- bhi _08134E0C
- movs r3, 0x6
- str r3, [sp, 0x14]
- b _08134ED8
- .align 2, 0
-_08134E04: .4byte gSaveBlock2
-_08134E08: .4byte 0x00000564
-_08134E0C:
- cmp r0, 0x1D
- bhi _08134E1A
- movs r0, 0x9
- str r0, [sp, 0x14]
- movs r1, 0x1E
- str r1, [sp, 0x18]
- b _08134ED8
-_08134E1A:
- cmp r0, 0x27
- bhi _08134E28
- movs r2, 0xC
- str r2, [sp, 0x14]
- movs r3, 0x3C
- str r3, [sp, 0x18]
- b _08134ED8
-_08134E28:
- cmp r0, 0x31
- bhi _08134E36
- movs r0, 0xF
- str r0, [sp, 0x14]
- movs r1, 0x5A
- str r1, [sp, 0x18]
- b _08134ED8
-_08134E36:
- cmp r0, 0x3B
- bhi _08134E44
- movs r2, 0x12
- str r2, [sp, 0x14]
- movs r3, 0x78
- str r3, [sp, 0x18]
- b _08134ED8
-_08134E44:
- cmp r0, 0x45
- bhi _08134E52
- movs r0, 0x15
- str r0, [sp, 0x14]
- movs r1, 0x96
- str r1, [sp, 0x18]
- b _08134ED8
-_08134E52:
- cmp r0, 0x4F
- bhi _08134E60
- movs r2, 0x1F
- str r2, [sp, 0x14]
- movs r3, 0xB4
- str r3, [sp, 0x18]
- b _08134ED8
-_08134E60:
- cmp r0, 0x63
- bhi _08134E72
- movs r0, 0x1F
- str r0, [sp, 0x14]
- movs r1, 0xC8
- str r1, [sp, 0x18]
- movs r2, 0x64
- str r2, [sp, 0x1C]
- b _08134ED8
-_08134E72:
- cmp r0, 0xC8
- bne _08134E9C
- movs r6, 0
-_08134E78:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _08134E94 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2C
- muls r1, r6
- ldr r2, _08134E98 @ =gSaveBlock2 + 0x4CC
- adds r1, r2
- bl sub_803ADE8
- adds r6, 0x1
- cmp r6, 0x2
- ble _08134E78
- b _08135082
- .align 2, 0
-_08134E94: .4byte gEnemyParty
-_08134E98: .4byte gSaveBlock2 + 0x4CC
-_08134E9C:
- movs r6, 0
- adds r4, r1, 0
- ldr r3, _08134ECC @ =0xffffc158
- adds r5, r4, r3
-_08134EA4:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _08134ED0 @ =gEnemyParty
- adds r0, r1
- ldr r2, _08134ED4 @ =0x00000564
- adds r1, r4, r2
- ldrb r2, [r1]
- movs r1, 0xA4
- muls r1, r2
- adds r1, r5
- movs r2, 0x2C
- muls r2, r6
- adds r1, r2
- bl sub_803ADE8
- adds r6, 0x1
- cmp r6, 0x2
- ble _08134EA4
- b _08135082
- .align 2, 0
-_08134ECC: .4byte 0xffffc158
-_08134ED0: .4byte gEnemyParty
-_08134ED4: .4byte 0x00000564
-_08134ED8:
- ldr r2, _08134EF4 @ =gSaveBlock2
- ldr r3, _08134EF8 @ =0x00000554
- adds r0, r2, r3
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- adds r1, r2, 0
- cmp r0, 0
- beq _08134F00
- ldr r0, _08134EFC @ =gBattleTowerLevel100Mons
- mov r10, r0
- movs r2, 0x64
- str r2, [sp, 0x10]
- b _08134F08
- .align 2, 0
-_08134EF4: .4byte gSaveBlock2
-_08134EF8: .4byte 0x00000554
-_08134EFC: .4byte gBattleTowerLevel100Mons
-_08134F00:
- ldr r3, _08134F54 @ =gBattleTowerLevel50Mons
- mov r10, r3
- movs r0, 0x32
- str r0, [sp, 0x10]
-_08134F08:
- ldr r2, _08134F58 @ =gBattleTowerTrainers
- ldr r3, _08134F5C @ =0x00000564
- adds r0, r1, r3
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x9]
- str r0, [sp, 0x20]
- movs r6, 0
-_08134F1E:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- ldr r2, [sp, 0x1C]
- adds r0, r1, 0
- muls r0, r2
- asrs r0, 8
- ldr r3, [sp, 0x18]
- adds r7, r0, r3
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _08134F48
- lsls r0, r7, 4
- add r0, r10
- ldrb r0, [r0, 0x3]
- ldr r1, [sp, 0x20]
- ands r0, r1
- cmp r0, r1
- beq _08134F48
- b _0813507C
-_08134F48:
- movs r5, 0
- lsls r0, r7, 4
- mov r2, r10
- adds r3, r0, r2
- movs r4, 0
- b _08134F64
- .align 2, 0
-_08134F54: .4byte gBattleTowerLevel50Mons
-_08134F58: .4byte gBattleTowerTrainers
-_08134F5C: .4byte 0x00000564
-_08134F60:
- adds r4, 0x64
- adds r5, 0x1
-_08134F64:
- cmp r5, r6
- bge _08134F7E
- ldr r1, _08135094 @ =gEnemyParty
- adds r0, r4, r1
- movs r1, 0xB
- movs r2, 0
- str r3, [sp, 0x24]
- bl GetMonData
- ldr r3, [sp, 0x24]
- ldrh r2, [r3]
- cmp r0, r2
- bne _08134F60
-_08134F7E:
- cmp r5, r6
- bne _0813507C
- movs r5, 0
- cmp r5, r6
- bge _08134FCC
- ldr r3, _08135098 @ =gBattleTowerHeldItems
- mov r9, r3
- lsls r0, r7, 4
- add r0, r10
- mov r8, r0
- movs r3, 0
-_08134F94:
- ldr r0, _08135094 @ =gEnemyParty
- adds r4, r3, r0
- adds r0, r4, 0
- movs r1, 0xC
- movs r2, 0
- str r3, [sp, 0x24]
- bl GetMonData
- ldr r3, [sp, 0x24]
- cmp r0, 0
- beq _08134FC4
- adds r0, r4, 0
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- mov r2, r8
- ldrb r1, [r2, 0x2]
- lsls r1, 1
- add r1, r9
- ldr r3, [sp, 0x24]
- ldrh r1, [r1]
- cmp r0, r1
- beq _08134FCC
-_08134FC4:
- adds r3, 0x64
- adds r5, 0x1
- cmp r5, r6
- blt _08134F94
-_08134FCC:
- cmp r5, r6
- bne _0813507C
- movs r5, 0
- cmp r5, r6
- bge _08134FEE
- add r0, sp, 0x4
- ldrh r0, [r0]
- cmp r0, r7
- beq _08134FEE
- add r1, sp, 0x4
-_08134FE0:
- adds r1, 0x2
- adds r5, 0x1
- cmp r5, r6
- bge _08134FEE
- ldrh r0, [r1]
- cmp r0, r7
- bne _08134FE0
-_08134FEE:
- cmp r5, r6
- bne _0813507C
- lsls r0, r6, 1
- add r0, sp
- adds r0, 0x4
- strh r7, [r0]
- movs r3, 0x64
- adds r0, r6, 0
- muls r0, r3
- ldr r1, _08135094 @ =gEnemyParty
- adds r0, r1
- lsls r4, r7, 4
- mov r3, r10
- adds r2, r4, r3
- ldrh r1, [r2]
- ldrb r2, [r2, 0xC]
- str r2, [sp]
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- bl CreateMonWithEVSpread
- movs r5, 0
- adds r0, r6, 0x1
- mov r9, r0
- mov r8, r4
- movs r0, 0x64
- adds r7, r6, 0
- muls r7, r0
- mov r0, r10
- adds r0, 0x4
- adds r4, r0
- ldr r3, _08135094 @ =gEnemyParty
-_0813502E:
- ldrh r1, [r4]
- lsls r2, r5, 24
- lsrs r2, 24
- adds r0, r7, r3
- str r3, [sp, 0x24]
- bl SetMonMoveSlot
- ldrh r0, [r4]
- ldr r3, [sp, 0x24]
- cmp r0, 0xDA
- bne _0813504A
- movs r0, 0
- mov r1, sp
- strb r0, [r1, 0xC]
-_0813504A:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _0813502E
- movs r2, 0x64
- adds r4, r6, 0
- muls r4, r2
- ldr r3, _08135094 @ =gEnemyParty
- adds r4, r3
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0xC
- bl SetMonData
- mov r0, r8
- add r0, r10
- ldrb r2, [r0, 0x2]
- lsls r2, 1
- ldr r0, _08135098 @ =gBattleTowerHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r6, r9
-_0813507C:
- cmp r6, 0x3
- beq _08135082
- b _08134F1E
-_08135082:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135094: .4byte gEnemyParty
-_08135098: .4byte gBattleTowerHeldItems
- thumb_func_end sub_8134DD4
-
- thumb_func_start CalcBattleTowerBanlistSeenCount
-CalcBattleTowerBanlistSeenCount: @ 813509C
- push {r4-r6,lr}
- movs r5, 0
- ldr r2, _081350D8 @ =gBattleTowerBanlist
- ldrh r0, [r2]
- ldr r1, _081350DC @ =0x0000ffff
- cmp r0, r1
- beq _081350CE
- adds r6, r1, 0
- adds r4, r2, 0
-_081350AE:
- ldrh r0, [r4]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _081350C6
- adds r5, 0x1
-_081350C6:
- adds r4, 0x2
- ldrh r0, [r4]
- cmp r0, r6
- bne _081350AE
-_081350CE:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081350D8: .4byte gBattleTowerBanlist
-_081350DC: .4byte 0x0000ffff
- thumb_func_end CalcBattleTowerBanlistSeenCount
-
- thumb_func_start AppendBattleTowerBannedSpeciesName
-AppendBattleTowerBannedSpeciesName: @ 81350E0
- push {r4-r6,lr}
- adds r5, r2, 0
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- adds r0, r6, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _081351E6
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- subs r0, r4, 0x1
- cmp r0, 0xA
- bhi _081351B0
- lsls r0, 2
- ldr r1, _08135118 @ =_0813511C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08135118: .4byte _0813511C
- .align 2, 0
-_0813511C:
- .4byte _08135148
- .4byte _08135178
- .4byte _08135148
- .4byte _081351B0
- .4byte _08135148
- .4byte _081351B0
- .4byte _08135148
- .4byte _081351B0
- .4byte _08135148
- .4byte _081351B0
- .4byte _08135148
-_08135148:
- cmp r5, r4
- bne _08135160
- ldr r0, _08135158 @ =gStringVar1
- ldr r1, _0813515C @ =gUnknown_08400E23
- bl StringAppend
- b _081351D8
- .align 2, 0
-_08135158: .4byte gStringVar1
-_0813515C: .4byte gUnknown_08400E23
-_08135160:
- cmp r5, r4
- ble _081351D8
- ldr r0, _08135170 @ =gStringVar1
- ldr r1, _08135174 @ =gUnknown_08400E29
- bl StringAppend
- b _081351D8
- .align 2, 0
-_08135170: .4byte gStringVar1
-_08135174: .4byte gUnknown_08400E29
-_08135178:
- cmp r4, r5
- bne _08135190
- ldr r0, _08135188 @ =gStringVar1
- ldr r1, _0813518C @ =gUnknown_08400E23
- bl StringAppend
- b _08135198
- .align 2, 0
-_08135188: .4byte gStringVar1
-_0813518C: .4byte gUnknown_08400E23
-_08135190:
- ldr r0, _081351A4 @ =gStringVar1
- ldr r1, _081351A8 @ =gUnknown_08400E29
- bl StringAppend
-_08135198:
- ldr r0, _081351A4 @ =gStringVar1
- ldr r1, _081351AC @ =gUnknown_08400E30
- bl StringAppend
- b _081351D8
- .align 2, 0
-_081351A4: .4byte gStringVar1
-_081351A8: .4byte gUnknown_08400E29
-_081351AC: .4byte gUnknown_08400E30
-_081351B0:
- cmp r4, r5
- bne _081351C8
- ldr r0, _081351C0 @ =gStringVar1
- ldr r1, _081351C4 @ =gUnknown_08400E23
- bl StringAppend
- b _081351D0
- .align 2, 0
-_081351C0: .4byte gStringVar1
-_081351C4: .4byte gUnknown_08400E23
-_081351C8:
- ldr r0, _081351F0 @ =gStringVar1
- ldr r1, _081351F4 @ =gUnknown_08400E29
- bl StringAppend
-_081351D0:
- ldr r0, _081351F0 @ =gStringVar1
- ldr r1, _081351F8 @ =gUnknown_08400E2E
- bl StringAppend
-_081351D8:
- ldr r0, _081351F0 @ =gStringVar1
- movs r1, 0xB
- muls r1, r6
- ldr r2, _081351FC @ =gSpeciesNames
- adds r1, r2
- bl StringAppend
-_081351E6:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081351F0: .4byte gStringVar1
-_081351F4: .4byte gUnknown_08400E29
-_081351F8: .4byte gUnknown_08400E2E
-_081351FC: .4byte gSpeciesNames
- thumb_func_end AppendBattleTowerBannedSpeciesName
-
- thumb_func_start CheckMonBattleTowerBanlist
-CheckMonBattleTowerBanlist: @ 8135200
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, [sp, 0x20]
- ldr r4, [sp, 0x24]
- mov r9, r4
- ldr r4, [sp, 0x28]
- mov r10, r4
- ldr r7, [sp, 0x2C]
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r3, 24
- lsrs r3, 24
- mov r12, r3
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- movs r2, 0
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- beq _081352CE
- cmp r4, 0
- beq _081352CE
- ldr r0, _081352DC @ =gBattleTowerBanlist
- ldrh r1, [r0]
- ldr r5, _081352E0 @ =0x0000ffff
- adds r3, r0, 0
- cmp r1, r5
- beq _08135264
- cmp r1, r4
- beq _08135258
- adds r1, r3, 0
-_0813524A:
- adds r1, 0x2
- adds r2, 0x1
- ldrh r0, [r1]
- cmp r0, r5
- beq _08135264
- cmp r0, r4
- bne _0813524A
-_08135258:
- lsls r0, r2, 1
- adds r0, r3
- ldrh r1, [r0]
- ldr r0, _081352E0 @ =0x0000ffff
- cmp r1, r0
- bne _081352CE
-_08135264:
- mov r0, r12
- cmp r0, 0
- bne _08135270
- mov r1, r8
- cmp r1, 0x32
- bhi _081352CE
-_08135270:
- movs r2, 0
- ldrb r3, [r7]
- cmp r2, r3
- bge _08135290
- mov r1, r9
- ldrh r0, [r1]
- cmp r0, r4
- beq _08135290
- adds r5, r3, 0
-_08135282:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r5
- bge _08135290
- ldrh r0, [r1]
- cmp r0, r4
- bne _08135282
-_08135290:
- cmp r2, r3
- bne _081352CE
- cmp r6, 0
- beq _081352BA
- movs r2, 0
- cmp r2, r3
- bge _081352B6
- mov r1, r10
- ldrh r0, [r1]
- cmp r0, r6
- beq _081352B6
- adds r5, r3, 0
-_081352A8:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r5
- bge _081352B6
- ldrh r0, [r1]
- cmp r0, r6
- bne _081352A8
-_081352B6:
- cmp r2, r3
- bne _081352CE
-_081352BA:
- lsls r0, r3, 1
- add r0, r9
- strh r4, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- add r0, r10
- strh r6, [r0]
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
-_081352CE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081352DC: .4byte gBattleTowerBanlist
-_081352E0: .4byte 0x0000ffff
- thumb_func_end CheckMonBattleTowerBanlist
-
- thumb_func_start CheckPartyBattleTowerBanlist
-CheckPartyBattleTowerBanlist: @ 81352E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- add r1, sp, 0x28
- movs r0, 0
- strb r0, [r1]
- movs r7, 0
- mov r9, r1
- add r0, sp, 0x1C
- mov r10, r0
-_081352FE:
- movs r0, 0x64
- adds r5, r7, 0
- muls r5, r0
- ldr r0, _081353C4 @ =gPlayerParty
- adds r5, r0
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- mov r8, r0
- mov r1, r8
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 16
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- ldr r5, _081353C8 @ =gScriptResult
- ldrb r3, [r5]
- str r4, [sp]
- add r0, sp, 0x10
- str r0, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- mov r0, r8
- adds r1, r6, 0
- bl CheckMonBattleTowerBanlist
- adds r7, 0x1
- cmp r7, 0x5
- ble _081352FE
- mov r1, r9
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _08135420
- ldr r1, _081353CC @ =gStringVar1
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, _081353D0 @ =gSpecialVar_0x8004
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0
- mov r1, r9
- strb r0, [r1]
- bl CalcBattleTowerBanlistSeenCount
- adds r6, r0, 0
- ldr r2, _081353D4 @ =gBattleTowerBanlist
- ldrh r0, [r2]
- ldr r1, _081353D8 @ =0x0000ffff
- cmp r0, r1
- beq _081353A8
- mov r5, r9
- adds r7, r1, 0
- adds r4, r2, 0
-_08135394:
- ldrh r0, [r4]
- ldrb r1, [r5]
- adds r2, r6, 0
- bl AppendBattleTowerBannedSpeciesName
- strb r0, [r5]
- adds r4, 0x2
- ldrh r0, [r4]
- cmp r0, r7
- bne _08135394
-_081353A8:
- mov r0, r9
- ldrb r1, [r0]
- cmp r1, 0
- bne _081353E4
- ldr r4, _081353CC @ =gStringVar1
- ldr r1, _081353DC @ =gUnknown_08400E2C
- adds r0, r4, 0
- bl StringAppend
- ldr r1, _081353E0 @ =gUnknown_08400E32
- adds r0, r4, 0
- bl StringAppend
- b _0813543E
- .align 2, 0
-_081353C4: .4byte gPlayerParty
-_081353C8: .4byte gScriptResult
-_081353CC: .4byte gStringVar1
-_081353D0: .4byte gSpecialVar_0x8004
-_081353D4: .4byte gBattleTowerBanlist
-_081353D8: .4byte 0x0000ffff
-_081353DC: .4byte gUnknown_08400E2C
-_081353E0: .4byte gUnknown_08400E32
-_081353E4:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08135400
- ldr r0, _081353F8 @ =gStringVar1
- ldr r1, _081353FC @ =gUnknown_08400E2E
- bl StringAppend
- b _08135408
- .align 2, 0
-_081353F8: .4byte gStringVar1
-_081353FC: .4byte gUnknown_08400E2E
-_08135400:
- ldr r0, _08135414 @ =gStringVar1
- ldr r1, _08135418 @ =gUnknown_08400E2C
- bl StringAppend
-_08135408:
- ldr r0, _08135414 @ =gStringVar1
- ldr r1, _0813541C @ =gUnknown_08400E36
- bl StringAppend
- b _0813543E
- .align 2, 0
-_08135414: .4byte gStringVar1
-_08135418: .4byte gUnknown_08400E2C
-_0813541C: .4byte gUnknown_08400E36
-_08135420:
- ldr r1, _08135450 @ =gSpecialVar_0x8004
- movs r0, 0
- strh r0, [r1]
- ldr r2, _08135454 @ =gSaveBlock2
- ldrb r0, [r5]
- ldr r1, _08135458 @ =0x00000554
- adds r2, r1
- movs r1, 0x1
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_0813543E:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135450: .4byte gSpecialVar_0x8004
-_08135454: .4byte gSaveBlock2
-_08135458: .4byte 0x00000554
- thumb_func_end CheckPartyBattleTowerBanlist
-
- thumb_func_start sub_813545C
-sub_813545C: @ 813545C
- push {lr}
- adds r1, r0, 0
- ldr r0, _08135470 @ =gStringVar4
- movs r2, 0x2
- movs r3, 0x3
- bl sub_80EB544
- pop {r0}
- bx r0
- .align 2, 0
-_08135470: .4byte gStringVar4
- thumb_func_end sub_813545C
-
- thumb_func_start sub_8135474
-sub_8135474: @ 8135474
- push {lr}
- ldr r2, _08135490 @ =gSaveBlock2
- ldr r0, _08135494 @ =0x00000564
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _08135498
- movs r1, 0x95
- lsls r1, 3
- adds r0, r2, r1
- bl sub_813545C
- b _081354C4
- .align 2, 0
-_08135490: .4byte gSaveBlock2
-_08135494: .4byte 0x00000564
-_08135498:
- cmp r0, 0x63
- bhi _081354B4
- ldrb r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r1, _081354B0 @ =gBattleTowerTrainers + 0xC
- adds r0, r1
- bl sub_813545C
- b _081354C4
- .align 2, 0
-_081354B0: .4byte gBattleTowerTrainers + 0xC
-_081354B4:
- ldrb r1, [r1]
- movs r0, 0xA4
- muls r0, r1
- ldr r3, _081354C8 @ =0xffffc14c
- adds r1, r2, r3
- adds r0, r1
- bl sub_813545C
-_081354C4:
- pop {r0}
- bx r0
- .align 2, 0
-_081354C8: .4byte 0xffffc14c
- thumb_func_end sub_8135474
-
- thumb_func_start sub_81354CC
-sub_81354CC: @ 81354CC
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _081354E4 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _081354E8
- cmp r0, 0x1
- ble _08135520
- cmp r0, 0x2
- beq _0813551C
- b _08135520
- .align 2, 0
-_081354E4: .4byte gSpecialVar_0x8004
-_081354E8:
- movs r5, 0
-_081354EA:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08135514 @ =gSaveBlock1 + 0x238
- adds r0, r4, r0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- ldr r0, _08135518 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r5, 0x1
- cmp r5, 0x5
- ble _081354EA
- b _08135520
- .align 2, 0
-_08135514: .4byte gSaveBlock1 + 0x238
-_08135518: .4byte gPlayerParty
-_0813551C:
- bl sub_81360D0
-_08135520:
- ldr r0, _08135530 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08135530: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_81354CC
-
- thumb_func_start sub_8135534
-sub_8135534: @ 8135534
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsBattleTransitionDone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08135558
- ldr r0, _08135560 @ =gMain
- ldr r1, _08135564 @ =sub_81354CC
- str r1, [r0, 0x8]
- ldr r0, _08135568 @ =sub_800E7C4
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08135558:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08135560: .4byte gMain
-_08135564: .4byte sub_81354CC
-_08135568: .4byte sub_800E7C4
- thumb_func_end sub_8135534
-
- thumb_func_start sub_813556C
-sub_813556C: @ 813556C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _08135584 @ =gSpecialVar_0x8004
- ldrh r2, [r0]
- cmp r2, 0x1
- beq _081355AC
- cmp r2, 0x1
- bgt _08135588
- cmp r2, 0
- beq _0813558E
- b _08135648
- .align 2, 0
-_08135584: .4byte gSpecialVar_0x8004
-_08135588:
- cmp r2, 0x2
- beq _08135600
- b _08135648
-_0813558E:
- ldr r1, _081355A4 @ =gBattleTypeFlags
- movs r3, 0x84
- lsls r3, 1
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _081355A8 @ =gTrainerBattleOpponent
- strh r2, [r0]
- bl sub_8134DD4
- b _081355D6
- .align 2, 0
-_081355A4: .4byte gBattleTypeFlags
-_081355A8: .4byte gTrainerBattleOpponent
-_081355AC:
- movs r5, 0
-_081355AE:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _081355F4 @ =gPlayerParty
- adds r0, r4, r0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- ldr r0, _081355F8 @ =gSaveBlock1 + 0x238
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r5, 0x1
- cmp r5, 0x5
- ble _081355AE
-_081355D6:
- ldr r0, _081355FC @ =sub_8135534
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl current_map_music_set__default_for_battle
- bl BattleSetup_GetBattleTowerBattleTransition
- lsls r0, 24
- lsrs r0, 24
- bl BattleTransition_StartOnField
- b _08135648
- .align 2, 0
-_081355F4: .4byte gPlayerParty
-_081355F8: .4byte gSaveBlock1 + 0x238
-_081355FC: .4byte sub_8135534
-_08135600:
- bl ZeroEnemyPartyMons
- movs r5, 0
-_08135606:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08135650 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2C
- muls r1, r5
- ldr r2, _08135654 @ =gSaveBlock2 + 0x4CC
- adds r1, r2
- bl sub_803ADE8
- adds r5, 0x1
- cmp r5, 0x2
- ble _08135606
- ldr r1, _08135658 @ =gBattleTypeFlags
- ldr r2, _0813565C @ =0x00000808
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _08135660 @ =gTrainerBattleOpponent
- movs r0, 0
- strh r0, [r1]
- ldr r0, _08135664 @ =sub_8135534
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl current_map_music_set__default_for_battle
- bl BattleSetup_GetBattleTowerBattleTransition
- lsls r0, 24
- lsrs r0, 24
- bl BattleTransition_StartOnField
-_08135648:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08135650: .4byte gEnemyParty
-_08135654: .4byte gSaveBlock2 + 0x4CC
-_08135658: .4byte gBattleTypeFlags
-_0813565C: .4byte 0x00000808
-_08135660: .4byte gTrainerBattleOpponent
-_08135664: .4byte sub_8135534
- thumb_func_end sub_813556C
-
- thumb_func_start sub_8135668
-sub_8135668: @ 8135668
- push {r4,r5,lr}
- ldr r1, _0813568C @ =gSaveBlock2
- ldr r2, _08135690 @ =0x00000554
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r4, r0, 31
- ldr r0, _08135694 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r5, r1, 0
- cmp r0, 0xE
- bls _08135682
- b _0813589A
-_08135682:
- lsls r0, 2
- ldr r1, _08135698 @ =_0813569C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813568C: .4byte gSaveBlock2
-_08135690: .4byte 0x00000554
-_08135694: .4byte gSpecialVar_0x8004
-_08135698: .4byte _0813569C
- .align 2, 0
-_0813569C:
- .4byte _081356D8
- .4byte _08135700
- .4byte _0813571C
- .4byte _08135726
- .4byte _08135740
- .4byte _08135754
- .4byte _08135774
- .4byte _081357D0
- .4byte _081357FC
- .4byte _0813589A
- .4byte _08135820
- .4byte _08135834
- .4byte _0813584C
- .4byte _0813586C
- .4byte _08135888
-_081356D8:
- ldr r0, _081356F0 @ =0x02000000
- ldr r3, _081356F4 @ =0x00000556
- adds r1, r5, r3
- adds r1, r4, r1
- ldrb r2, [r1]
- ldr r3, _081356F8 @ =0x000160fb
- adds r0, r3
- strb r2, [r0]
- ldr r0, _081356FC @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- b _08135898
- .align 2, 0
-_081356F0: .4byte 0x02000000
-_081356F4: .4byte 0x00000556
-_081356F8: .4byte 0x000160fb
-_081356FC: .4byte gSpecialVar_0x8005
-_08135700:
- ldr r0, _08135714 @ =gSpecialVar_0x8005
- ldrb r0, [r0]
- ldr r1, _08135718 @ =0x00000554
- adds r3, r5, r1
- movs r1, 0x1
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x2
- negs r0, r0
- b _08135810
- .align 2, 0
-_08135714: .4byte gSpecialVar_0x8005
-_08135718: .4byte 0x00000554
-_0813571C:
- lsls r1, r4, 1
- movs r2, 0xAB
- lsls r2, 3
- adds r0, r5, r2
- b _0813572C
-_08135726:
- lsls r1, r4, 1
- ldr r3, _08135738 @ =0x0000055c
- adds r0, r5, r3
-_0813572C:
- adds r1, r0
- ldr r0, _0813573C @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- strh r0, [r1]
- b _0813589A
- .align 2, 0
-_08135738: .4byte 0x0000055c
-_0813573C: .4byte gSpecialVar_0x8005
-_08135740:
- ldr r0, _0813574C @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- ldr r2, _08135750 @ =0x00000564
- adds r0, r5, r2
- strb r1, [r0]
- b _0813589A
- .align 2, 0
-_0813574C: .4byte gSpecialVar_0x8005
-_08135750: .4byte 0x00000564
-_08135754:
- movs r2, 0
- ldr r4, _0813576C @ =gSaveBlock2 + 0x565
- ldr r3, _08135770 @ =gSelectedOrderFromParty
-_0813575A:
- adds r0, r2, r4
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _0813575A
- b _0813589A
- .align 2, 0
-_0813576C: .4byte gSaveBlock2 + 0x565
-_08135770: .4byte gSelectedOrderFromParty
-_08135774:
- ldr r3, _081357C0 @ =0x00000564
- adds r0, r5, r3
- ldrb r0, [r0]
- cmp r0, 0xC8
- bne _08135788
- movs r1, 0x93
- lsls r1, 3
- adds r0, r5, r1
- bl sub_81360AC
-_08135788:
- movs r3, 0xAE
- lsls r3, 3
- adds r2, r5, r3
- ldrh r1, [r2]
- ldr r0, _081357C4 @ =0x0000270e
- cmp r1, r0
- bhi _0813579A
- adds r0, r1, 0x1
- strh r0, [r2]
-_0813579A:
- lsls r4, 1
- movs r1, 0xAB
- lsls r1, 3
- adds r0, r5, r1
- adds r4, r0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- bl sub_8135A3C
- ldr r1, _081357C8 @ =gScriptResult
- ldrh r0, [r4]
- strh r0, [r1]
- ldr r1, _081357CC @ =gStringVar1
- adds r0, 0xA1
- strb r0, [r1]
- movs r0, 0xFF
- strb r0, [r1, 0x1]
- b _0813589A
- .align 2, 0
-_081357C0: .4byte 0x00000564
-_081357C4: .4byte 0x0000270e
-_081357C8: .4byte gScriptResult
-_081357CC: .4byte gStringVar1
-_081357D0:
- lsls r0, r4, 1
- ldr r2, _081357F0 @ =0x0000055c
- adds r1, r5, r2
- adds r4, r0, r1
- ldrh r1, [r4]
- ldr r0, _081357F4 @ =0x00000595
- cmp r1, r0
- bhi _081357E4
- adds r0, r1, 0x1
- strh r0, [r4]
-_081357E4:
- bl sub_8135A3C
- ldr r1, _081357F8 @ =gScriptResult
- ldrh r0, [r4]
- strh r0, [r1]
- b _0813589A
- .align 2, 0
-_081357F0: .4byte 0x0000055c
-_081357F4: .4byte 0x00000595
-_081357F8: .4byte gScriptResult
-_081357FC:
- ldr r0, _08135818 @ =gSpecialVar_0x8005
- ldrb r0, [r0]
- ldr r1, _0813581C @ =0x00000554
- adds r3, r5, r1
- movs r1, 0x1
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3]
- movs r0, 0x3
- negs r0, r0
-_08135810:
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _0813589A
- .align 2, 0
-_08135818: .4byte gSpecialVar_0x8005
-_0813581C: .4byte 0x00000554
-_08135820:
- ldr r2, _08135830 @ =0x00000572
- adds r0, r5, r2
- ldrh r1, [r0]
- movs r0, 0x20
- bl SetGameStat
- b _0813589A
- .align 2, 0
-_08135830: .4byte 0x00000572
-_08135834:
- ldr r3, _08135848 @ =0x00000556
- adds r0, r5, r3
- adds r0, r4, r0
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _0813589A
- adds r0, r4, 0
- bl sub_813461C
- b _0813589A
- .align 2, 0
-_08135848: .4byte 0x00000556
-_0813584C:
- ldr r1, _08135860 @ =0x00000556
- adds r0, r5, r1
- adds r0, r4, r0
- ldr r1, _08135864 @ =0x02000000
- ldr r2, _08135868 @ =0x000160fb
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r0]
- b _0813589A
- .align 2, 0
-_08135860: .4byte 0x00000556
-_08135864: .4byte 0x02000000
-_08135868: .4byte 0x000160fb
-_0813586C:
- adds r0, r4, 0
- bl sub_8135D3C
- ldr r1, _08135880 @ =gSaveBlock2
- lsls r2, r4, 1
- ldr r3, _08135884 @ =0x00000574
- adds r1, r3
- adds r2, r1
- strh r0, [r2]
- b _0813589A
- .align 2, 0
-_08135880: .4byte gSaveBlock2
-_08135884: .4byte 0x00000574
-_08135888:
- ldr r1, _081358A0 @ =0x00000554
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- movs r2, 0xAF
- lsls r2, 3
- adds r1, r5, r2
-_08135898:
- strb r0, [r1]
-_0813589A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081358A0: .4byte 0x00000554
- thumb_func_end sub_8135668
-
- thumb_func_start sub_81358A4
-sub_81358A4: @ 81358A4
- push {r4,lr}
- ldr r1, _081358C8 @ =gSaveBlock2
- ldr r2, _081358CC @ =0x00000554
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r4, r0, 31
- ldr r0, _081358D0 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r3, r1, 0
- cmp r0, 0xE
- bls _081358BE
- b _08135A0A
-_081358BE:
- lsls r0, 2
- ldr r1, _081358D4 @ =_081358D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081358C8: .4byte gSaveBlock2
-_081358CC: .4byte 0x00000554
-_081358D0: .4byte gSpecialVar_0x8004
-_081358D4: .4byte _081358D8
- .align 2, 0
-_081358D8:
- .4byte _08135914
- .4byte _08135928
- .4byte _0813593C
- .4byte _0813594C
- .4byte _08135964
- .4byte _08135A0A
- .4byte _08135A0A
- .4byte _08135A0A
- .4byte _08135978
- .4byte _08135990
- .4byte _081359A0
- .4byte _081359B4
- .4byte _081359BC
- .4byte _081359DC
- .4byte _081359F8
-_08135914:
- ldr r0, _08135920 @ =gScriptResult
- ldr r2, _08135924 @ =0x00000556
- adds r1, r3, r2
- adds r1, r4, r1
- b _0813596A
- .align 2, 0
-_08135920: .4byte gScriptResult
-_08135924: .4byte 0x00000556
-_08135928:
- ldr r1, _08135934 @ =gScriptResult
- ldr r4, _08135938 @ =0x00000554
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 31
- b _08135982
- .align 2, 0
-_08135934: .4byte gScriptResult
-_08135938: .4byte 0x00000554
-_0813593C:
- ldr r2, _08135948 @ =gScriptResult
- lsls r0, r4, 1
- movs r4, 0xAB
- lsls r4, 3
- b _08135952
- .align 2, 0
-_08135948: .4byte gScriptResult
-_0813594C:
- ldr r2, _0813595C @ =gScriptResult
- lsls r0, r4, 1
- ldr r4, _08135960 @ =0x0000055c
-_08135952:
- adds r1, r3, r4
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- b _08135A0A
- .align 2, 0
-_0813595C: .4byte gScriptResult
-_08135960: .4byte 0x0000055c
-_08135964:
- ldr r0, _08135970 @ =gScriptResult
- ldr r2, _08135974 @ =0x00000564
- adds r1, r3, r2
-_0813596A:
- ldrb r1, [r1]
- strh r1, [r0]
- b _08135A0A
- .align 2, 0
-_08135970: .4byte gScriptResult
-_08135974: .4byte 0x00000564
-_08135978:
- ldr r1, _08135988 @ =gScriptResult
- ldr r4, _0813598C @ =0x00000554
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 30
-_08135982:
- lsrs r0, 31
- strh r0, [r1]
- b _08135A0A
- .align 2, 0
-_08135988: .4byte gScriptResult
-_0813598C: .4byte 0x00000554
-_08135990:
- adds r0, r4, 0
- bl sub_8135D3C
- ldr r1, _0813599C @ =gScriptResult
- strh r0, [r1]
- b _08135A0A
- .align 2, 0
-_0813599C: .4byte gScriptResult
-_081359A0:
- ldr r1, _081359B0 @ =0x00000572
- adds r0, r3, r1
- ldrh r1, [r0]
- movs r0, 0x20
- bl SetGameStat
- b _08135A0A
- .align 2, 0
-_081359B0: .4byte 0x00000572
-_081359B4:
- adds r0, r4, 0
- bl sub_813461C
- b _08135A0A
-_081359BC:
- ldr r2, _081359D0 @ =0x00000556
- adds r0, r3, r2
- adds r0, r4, r0
- ldr r1, _081359D4 @ =0x02000000
- ldr r3, _081359D8 @ =0x000160fb
- adds r1, r3
- ldrb r1, [r1]
- strb r1, [r0]
- b _08135A0A
- .align 2, 0
-_081359D0: .4byte 0x00000556
-_081359D4: .4byte 0x02000000
-_081359D8: .4byte 0x000160fb
-_081359DC:
- adds r0, r4, 0
- bl sub_8135D3C
- ldr r1, _081359F0 @ =gSaveBlock2
- lsls r2, r4, 1
- ldr r4, _081359F4 @ =0x00000574
- adds r1, r4
- adds r2, r1
- strh r0, [r2]
- b _08135A0A
- .align 2, 0
-_081359F0: .4byte gSaveBlock2
-_081359F4: .4byte 0x00000574
-_081359F8:
- ldr r1, _08135A10 @ =0x00000554
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- movs r2, 0xAF
- lsls r2, 3
- adds r1, r3, r2
- strb r0, [r1]
-_08135A0A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08135A10: .4byte 0x00000554
- thumb_func_end sub_81358A4
-
- thumb_func_start sub_8135A14
-sub_8135A14: @ 8135A14
- push {r4,lr}
- movs r2, 0
- ldr r4, _08135A34 @ =gSelectedOrderFromParty
- ldr r3, _08135A38 @ =gSaveBlock2 + 0x565
-_08135A1C:
- adds r0, r2, r4
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _08135A1C
- bl ReducePlayerPartyToThree
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08135A34: .4byte gSelectedOrderFromParty
-_08135A38: .4byte gSaveBlock2 + 0x565
- thumb_func_end sub_8135A14
-
- thumb_func_start sub_8135A3C
-sub_8135A3C: @ 8135A3C
- push {r4-r6,lr}
- ldr r6, _08135A84 @ =gSaveBlock2
- ldr r1, _08135A88 @ =0x00000554
- adds r0, r6, r1
- ldrb r4, [r0]
- lsls r4, 31
- lsrs r4, 31
- adds r0, r4, 0
- bl sub_8135D3C
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r4, 1
- movs r3, 0xAC
- lsls r3, 3
- adds r2, r6, r3
- adds r4, r2
- ldrh r0, [r4]
- cmp r0, r5
- bcs _08135A66
- strh r5, [r4]
-_08135A66:
- ldr r0, _08135A8C @ =0x00000562
- adds r1, r6, r0
- ldrh r0, [r2]
- ldrh r3, [r1]
- cmp r0, r3
- bls _08135A94
- adds r5, r0, 0
- movs r0, 0x20
- adds r1, r5, 0
- bl SetGameStat
- ldr r1, _08135A90 @ =0x0000270f
- cmp r5, r1
- bhi _08135AA4
- b _08135AB4
- .align 2, 0
-_08135A84: .4byte gSaveBlock2
-_08135A88: .4byte 0x00000554
-_08135A8C: .4byte 0x00000562
-_08135A90: .4byte 0x0000270f
-_08135A94:
- ldrh r5, [r1]
- movs r0, 0x20
- adds r1, r5, 0
- bl SetGameStat
- ldr r1, _08135AAC @ =0x0000270f
- cmp r5, r1
- bls _08135AB4
-_08135AA4:
- ldr r2, _08135AB0 @ =0x00000572
- adds r0, r6, r2
- strh r1, [r0]
- b _08135ABA
- .align 2, 0
-_08135AAC: .4byte 0x0000270f
-_08135AB0: .4byte 0x00000572
-_08135AB4:
- ldr r3, _08135AC0 @ =0x00000572
- adds r0, r6, r3
- strh r5, [r0]
-_08135ABA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08135AC0: .4byte 0x00000572
- thumb_func_end sub_8135A3C
-
- thumb_func_start sub_8135AC4
-sub_8135AC4: @ 8135AC4
- push {r4-r6,lr}
- ldr r5, _08135AF0 @ =gSaveBlock2 + 0xA8
- adds r2, r5, 0
- subs r2, 0xA8
- ldr r1, _08135AF4 @ =0x000004ac
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r6, r0, 31
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _08135AFC
- ldr r4, _08135AF8 @ =gUnknown_08405E7E
- ldrb r0, [r2, 0xA]
- ldrb r1, [r2, 0xB]
- adds r0, r1
- ldrb r1, [r2, 0xC]
- adds r0, r1
- ldrb r1, [r2, 0xD]
- adds r0, r1
- movs r1, 0x14
- b _08135B0E
- .align 2, 0
-_08135AF0: .4byte gSaveBlock2 + 0xA8
-_08135AF4: .4byte 0x000004ac
-_08135AF8: .4byte gUnknown_08405E7E
-_08135AFC:
- ldr r4, _08135B84 @ =gUnknown_08405E60
- ldrb r0, [r2, 0xA]
- ldrb r1, [r2, 0xB]
- adds r0, r1
- ldrb r1, [r2, 0xC]
- adds r0, r1
- ldrb r1, [r2, 0xD]
- adds r0, r1
- movs r1, 0x1E
-_08135B0E:
- bl __umodsi3
- adds r0, r4
- ldrb r0, [r0]
- strb r6, [r5]
- strb r0, [r5, 0x1]
- adds r0, r5, 0
- adds r0, 0xC
- ldr r4, _08135B88 @ =gSaveBlock2 + 0xA
- adds r1, r4, 0
- bl copy_word_to_mem
- adds r0, r5, 0x4
- subs r4, 0xA
- adds r1, r4, 0
- bl StringCopy8
- adds r0, r6, 0
- bl sub_8135D3C
- strh r0, [r5, 0x2]
- ldr r0, _08135B8C @ =gSaveBlock1
- ldr r1, _08135B90 @ =0x00002b28
- adds r2, r0, r1
- adds r1, r5, 0
- adds r1, 0x10
- movs r4, 0x5
-_08135B44:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08135B44
- movs r4, 0
- ldr r6, _08135B94 @ =gSaveBlock2 + 0x565
-_08135B56:
- adds r0, r4, r6
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08135B98 @ =gUnknown_030042FC
- adds r0, r1
- movs r1, 0x2C
- muls r1, r4
- adds r1, 0x1C
- adds r1, r5, r1
- bl sub_803AF78
- adds r4, 0x1
- cmp r4, 0x2
- ble _08135B56
- ldr r0, _08135B9C @ =gSaveBlock2 + 0xA8
- bl sub_8135CC4
- bl sub_8135A3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08135B84: .4byte gUnknown_08405E60
-_08135B88: .4byte gSaveBlock2 + 0xA
-_08135B8C: .4byte gSaveBlock1
-_08135B90: .4byte 0x00002b28
-_08135B94: .4byte gSaveBlock2 + 0x565
-_08135B98: .4byte gUnknown_030042FC
-_08135B9C: .4byte gSaveBlock2 + 0xA8
- thumb_func_end sub_8135AC4
-
- thumb_func_start sub_8135BA0
-sub_8135BA0: @ 8135BA0
- push {r4,r5,lr}
- ldr r2, _08135C1C @ =gSaveBlock2
- ldr r1, _08135C20 @ =0x00000554
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r5, r0, 31
- ldr r0, _08135C24 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x3
- beq _08135BBA
- cmp r0, 0
- bne _08135BD8
-_08135BBA:
- lsls r1, r5, 1
- ldr r3, _08135C28 @ =0x0000055c
- adds r0, r2, r3
- adds r0, r1, r0
- ldrh r0, [r0]
- cmp r0, 0x1
- bhi _08135BD4
- subs r3, 0x4
- adds r0, r2, r3
- adds r0, r1, r0
- ldrh r0, [r0]
- cmp r0, 0x1
- bls _08135BD8
-_08135BD4:
- bl sub_8135AC4
-_08135BD8:
- bl sub_8135CFC
- ldr r4, _08135C1C @ =gSaveBlock2
- ldr r0, _08135C2C @ =gBattleOutcome
- ldrb r1, [r0]
- ldr r2, _08135C30 @ =0x00000555
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, _08135C24 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- cmp r1, 0x3
- beq _08135BF8
- ldr r3, _08135C34 @ =0x00000556
- adds r0, r4, r3
- adds r0, r5, r0
- strb r1, [r0]
-_08135BF8:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r0, _08135C20 @ =0x00000554
- adds r2, r4, r0
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x2
- bl TrySavingData
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08135C1C: .4byte gSaveBlock2
-_08135C20: .4byte 0x00000554
-_08135C24: .4byte gSpecialVar_0x8004
-_08135C28: .4byte 0x0000055c
-_08135C2C: .4byte gBattleOutcome
-_08135C30: .4byte 0x00000555
-_08135C34: .4byte 0x00000556
- thumb_func_end sub_8135BA0
-
- thumb_func_start sub_8135C38
-sub_8135C38: @ 8135C38
- push {lr}
- bl DoSoftReset
- pop {r0}
- bx r0
- thumb_func_end sub_8135C38
-
- thumb_func_start sub_8135C44
-sub_8135C44: @ 8135C44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r3, 0
- movs r1, 0
- ldr r2, _08135CBC @ =gSaveBlock2 + 0xA8
-_08135C50:
- ldm r2!, {r0}
- adds r3, r0
- adds r1, 0x1
- cmp r1, 0x27
- bls _08135C50
- ldr r5, _08135CC0 @ =gSaveBlock2
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- cmp r0, r3
- beq _08135C70
- adds r0, r5, 0
- adds r0, 0xA8
- bl sub_8135CE8
-_08135C70:
- movs r4, 0
- movs r7, 0xA4
- movs r0, 0xA6
- lsls r0, 1
- adds r6, r5, r0
- mov r8, r5
-_08135C7C:
- adds r0, r4, 0
- muls r0, r7
- movs r3, 0
- movs r1, 0
- adds r5, r4, 0x1
- adds r2, r0, r6
-_08135C88:
- ldm r2!, {r0}
- adds r3, r0
- adds r1, 0x1
- cmp r1, 0x27
- bls _08135C88
- adds r1, r4, 0
- muls r1, r7
- movs r0, 0xF6
- lsls r0, 1
- add r0, r8
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, r3
- beq _08135CAA
- adds r0, r1, r6
- bl sub_8135CE8
-_08135CAA:
- adds r4, r5, 0
- cmp r4, 0x4
- ble _08135C7C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135CBC: .4byte gSaveBlock2 + 0xA8
-_08135CC0: .4byte gSaveBlock2
- thumb_func_end sub_8135C44
-
- thumb_func_start sub_8135CC4
-sub_8135CC4: @ 8135CC4
- push {r4,lr}
- adds r2, r0, 0
- adds r2, 0xA0
- movs r1, 0
- str r1, [r2]
- movs r3, 0
- adds r4, r0, 0
-_08135CD2:
- ldr r0, [r2]
- ldm r4!, {r1}
- adds r0, r1
- str r0, [r2]
- adds r3, 0x1
- cmp r3, 0x27
- bls _08135CD2
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8135CC4
-
- thumb_func_start sub_8135CE8
-sub_8135CE8: @ 8135CE8
- push {lr}
- movs r1, 0
- movs r2, 0
-_08135CEE:
- stm r0!, {r2}
- adds r1, 0x1
- cmp r1, 0x28
- bls _08135CEE
- pop {r0}
- bx r0
- thumb_func_end sub_8135CE8
-
- thumb_func_start sub_8135CFC
-sub_8135CFC: @ 8135CFC
- push {r4,lr}
- ldr r4, _08135D34 @ =gSaveBlock2 + 0x484
- adds r0, r4, 0
- bl get_trainer_name
- ldr r2, _08135D38 @ =gBattleMons
- adds r0, r2, 0
- adds r0, 0x58
- ldrh r1, [r0]
- subs r0, r4, 0x2
- strh r1, [r0]
- ldrh r1, [r2]
- subs r0, r4, 0x4
- strh r1, [r0]
- movs r3, 0
- adds r4, 0x8
- adds r2, 0x30
-_08135D1E:
- adds r0, r3, r4
- adds r1, r3, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x9
- ble _08135D1E
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08135D34: .4byte gSaveBlock2 + 0x484
-_08135D38: .4byte gBattleMons
- thumb_func_end sub_8135CFC
-
- thumb_func_start sub_8135D3C
-sub_8135D3C: @ 8135D3C
- push {lr}
- lsls r0, 24
- ldr r3, _08135D74 @ =gSaveBlock2
- lsrs r0, 23
- ldr r2, _08135D78 @ =0x0000055c
- adds r1, r3, r2
- adds r1, r0, r1
- ldrh r2, [r1]
- subs r2, 0x1
- lsls r1, r2, 3
- subs r1, r2
- movs r2, 0xAB
- lsls r2, 3
- adds r3, r2
- adds r0, r3
- ldr r2, _08135D7C @ =0x0000ffff
- adds r1, r2
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- lsrs r0, r1, 16
- ldr r1, _08135D80 @ =0x0000270f
- cmp r0, r1
- bls _08135D6E
- adds r0, r1, 0
-_08135D6E:
- pop {r1}
- bx r1
- .align 2, 0
-_08135D74: .4byte gSaveBlock2
-_08135D78: .4byte 0x0000055c
-_08135D7C: .4byte 0x0000ffff
-_08135D80: .4byte 0x0000270f
- thumb_func_end sub_8135D3C
-
- thumb_func_start sub_8135D84
-sub_8135D84: @ 8135D84
- push {r4,r5,lr}
- ldr r5, _08135DB0 @ =gSaveBlock2
- ldr r1, _08135DB4 @ =0x00000554
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- lsls r0, 1
- ldr r2, _08135DB8 @ =0x0000055c
- adds r1, r5, r2
- adds r0, r1
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r0, 0x5
- ble _08135DC0
- bl Random
- ldr r4, _08135DBC @ =gUnknown_08405EE6
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x9
- b _08135DCC
- .align 2, 0
-_08135DB0: .4byte gSaveBlock2
-_08135DB4: .4byte 0x00000554
-_08135DB8: .4byte 0x0000055c
-_08135DBC: .4byte gUnknown_08405EE6
-_08135DC0:
- bl Random
- ldr r4, _08135DE8 @ =gUnknown_08405EDA
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
-_08135DCC:
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 15
- adds r0, r4
- ldrh r1, [r0]
- movs r2, 0xAD
- lsls r2, 3
- adds r0, r5, r2
- strh r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08135DE8: .4byte gUnknown_08405EDA
- thumb_func_end sub_8135D84
-
- thumb_func_start sub_8135DEC
-sub_8135DEC: @ 8135DEC
- push {r4-r7,lr}
- ldr r5, _08135E20 @ =gSaveBlock2
- ldr r1, _08135E24 @ =0x00000554
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r7, r0, 31
- movs r0, 0xAD
- lsls r0, 3
- adds r6, r5, r0
- ldrh r0, [r6]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _08135E30
- ldrh r0, [r6]
- ldr r1, _08135E28 @ =gStringVar1
- bl CopyItemName
- ldr r0, _08135E2C @ =gScriptResult
- strh r4, [r0]
- b _08135E40
- .align 2, 0
-_08135E20: .4byte gSaveBlock2
-_08135E24: .4byte 0x00000554
-_08135E28: .4byte gStringVar1
-_08135E2C: .4byte gScriptResult
-_08135E30:
- ldr r1, _08135E48 @ =gScriptResult
- movs r0, 0
- strh r0, [r1]
- ldr r1, _08135E4C @ =0x00000556
- adds r0, r5, r1
- adds r0, r7, r0
- movs r1, 0x6
- strb r1, [r0]
-_08135E40:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135E48: .4byte gScriptResult
-_08135E4C: .4byte 0x00000556
- thumb_func_end sub_8135DEC
-
- thumb_func_start sub_8135E50
-sub_8135E50: @ 8135E50
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, _08135ED4 @ =gSaveBlock2
- ldr r1, _08135ED8 @ =0x00000554
- adds r0, r6, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r0, 0
- movs r7, 0x44
- cmp r1, 0
- beq _08135E6C
- movs r7, 0x45
-_08135E6C:
- ldr r4, _08135EDC @ =gScriptResult
- movs r0, 0
- strh r0, [r4]
- adds r0, r1, 0
- bl sub_8135D3C
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x37
- bls _08135EBA
- movs r5, 0
- ldr r0, _08135EE0 @ =0x00000565
- adds r0, r6
- mov r8, r0
- adds r6, r4, 0
-_08135E8A:
- mov r1, r8
- adds r0, r5, r1
- ldrb r0, [r0]
- subs r0, 0x1
- movs r1, 0x64
- muls r1, r0
- ldr r0, _08135EE4 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl GetMonData
- cmp r0, 0
- bne _08135EB4
- movs r0, 0x1
- strh r0, [r6]
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl SetMonData
-_08135EB4:
- adds r5, 0x1
- cmp r5, 0x2
- ble _08135E8A
-_08135EBA:
- ldr r0, _08135EDC @ =gScriptResult
- ldrh r0, [r0]
- cmp r0, 0
- beq _08135EC8
- movs r0, 0x2A
- bl IncrementGameStat
-_08135EC8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135ED4: .4byte gSaveBlock2
-_08135ED8: .4byte 0x00000554
-_08135EDC: .4byte gScriptResult
-_08135EE0: .4byte 0x00000565
-_08135EE4: .4byte gPlayerParty
- thumb_func_end sub_8135E50
-
- thumb_func_start unref_sub_8135EE8
-unref_sub_8135EE8: @ 8135EE8
- push {r4-r7,lr}
- ldr r7, _08135F0C @ =gSaveBlock2 + 0x498
- ldr r0, _08135F10 @ =0xfffffb68
- adds r2, r7, r0
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _08135F18
- ldr r4, _08135F14 @ =gUnknown_08405E7E
- ldrb r0, [r2, 0xA]
- ldrb r1, [r2, 0xB]
- adds r0, r1
- ldrb r1, [r2, 0xC]
- adds r0, r1
- ldrb r1, [r2, 0xD]
- adds r0, r1
- movs r1, 0x14
- b _08135F2A
- .align 2, 0
-_08135F0C: .4byte gSaveBlock2 + 0x498
-_08135F10: .4byte 0xfffffb68
-_08135F14: .4byte gUnknown_08405E7E
-_08135F18:
- ldr r4, _08135FA8 @ =gUnknown_08405E60
- ldrb r0, [r2, 0xA]
- ldrb r1, [r2, 0xB]
- adds r0, r1
- ldrb r1, [r2, 0xC]
- adds r0, r1
- ldrb r1, [r2, 0xD]
- adds r0, r1
- movs r1, 0x1E
-_08135F2A:
- bl __umodsi3
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r7, 0x1]
- adds r0, r7, 0
- adds r0, 0xC
- ldr r4, _08135FAC @ =gSaveBlock2 + 0xA
- adds r1, r4, 0
- bl copy_word_to_mem
- adds r0, r7, 0x4
- subs r4, 0xA
- adds r1, r4, 0
- bl StringCopy8
- movs r0, 0x1
- strh r0, [r7, 0x2]
- movs r5, 0x7
- movs r4, 0
- ldr r0, _08135FB0 @ =gSaveBlock1
- ldr r1, _08135FB4 @ =0x00002b28
- adds r6, r0, r1
- adds r3, r7, 0
- adds r3, 0x10
- adds r2, r7, 0
- adds r2, 0x28
- adds r1, r7, 0
- adds r1, 0x1C
-_08135F64:
- ldrh r0, [r6]
- strh r0, [r3]
- strh r5, [r1]
- adds r0, r5, 0x6
- strh r0, [r2]
- adds r5, 0x1
- adds r6, 0x2
- adds r3, 0x2
- adds r2, 0x2
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x5
- ble _08135F64
- movs r4, 0
-_08135F80:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _08135FB8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2C
- muls r1, r4
- adds r1, 0x34
- adds r1, r7, r1
- bl sub_803AF78
- adds r4, 0x1
- cmp r4, 0x2
- ble _08135F80
- adds r0, r7, 0
- bl sub_8136088
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135FA8: .4byte gUnknown_08405E60
-_08135FAC: .4byte gSaveBlock2 + 0xA
-_08135FB0: .4byte gSaveBlock1
-_08135FB4: .4byte 0x00002b28
-_08135FB8: .4byte gPlayerParty
- thumb_func_end unref_sub_8135EE8
-
- thumb_func_start sub_8135FBC
-sub_8135FBC: @ 8135FBC
- ldr r1, _08135FCC @ =gTrainerClassToPicIndex
- ldr r0, _08135FD0 @ =gSaveBlock2
- ldr r2, _08135FD4 @ =0x00000499
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08135FCC: .4byte gTrainerClassToPicIndex
-_08135FD0: .4byte gSaveBlock2
-_08135FD4: .4byte 0x00000499
- thumb_func_end sub_8135FBC
-
- thumb_func_start sub_8135FD8
-sub_8135FD8: @ 8135FD8
- ldr r1, _08135FE8 @ =gTrainerClassToNameIndex
- ldr r0, _08135FEC @ =gSaveBlock2
- ldr r2, _08135FF0 @ =0x00000499
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08135FE8: .4byte gTrainerClassToNameIndex
-_08135FEC: .4byte gSaveBlock2
-_08135FF0: .4byte 0x00000499
- thumb_func_end sub_8135FD8
-
- thumb_func_start sub_8135FF4
-sub_8135FF4: @ 8135FF4
- push {r4,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r4, _08136018 @ =gSaveBlock2 + 0x49C
-_08135FFC:
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x6
- ble _08135FFC
- adds r1, r3, r2
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08136018: .4byte gSaveBlock2 + 0x49C
- thumb_func_end sub_8135FF4
-
- thumb_func_start sub_813601C
-sub_813601C: @ 813601C
- push {r4,r5,lr}
- ldr r1, _08136044 @ =gScriptResult
- movs r0, 0
- strh r0, [r1]
- ldr r5, _08136048 @ =gSaveBlock2 + 0x498
- movs r3, 0
- movs r2, 0
- adds r4, r1, 0
- adds r1, r5, 0
-_0813602E:
- ldm r1!, {r0}
- orrs r3, r0
- adds r2, 0x1
- cmp r2, 0x2D
- bls _0813602E
- cmp r3, 0
- bne _0813604C
- movs r0, 0x1
- strh r0, [r4]
- b _08136078
- .align 2, 0
-_08136044: .4byte gScriptResult
-_08136048: .4byte gSaveBlock2 + 0x498
-_0813604C:
- movs r3, 0
- movs r2, 0
- ldr r4, _08136080 @ =gSaveBlock2
- adds r1, r5, 0
-_08136054:
- ldm r1!, {r0}
- adds r3, r0
- adds r2, 0x1
- cmp r2, 0x2D
- bls _08136054
- movs r1, 0xAA
- lsls r1, 3
- adds r0, r4, r1
- ldr r0, [r0]
- cmp r0, r3
- beq _08136078
- subs r1, 0xB8
- adds r0, r4, r1
- bl sub_81360AC
- ldr r1, _08136084 @ =gScriptResult
- movs r0, 0x1
- strh r0, [r1]
-_08136078:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08136080: .4byte gSaveBlock2
-_08136084: .4byte gScriptResult
- thumb_func_end sub_813601C
-
- thumb_func_start sub_8136088
-sub_8136088: @ 8136088
- push {r4,lr}
- adds r2, r0, 0
- adds r2, 0xB8
- movs r1, 0
- str r1, [r2]
- movs r3, 0
- adds r4, r0, 0
-_08136096:
- ldr r0, [r2]
- ldm r4!, {r1}
- adds r0, r1
- str r0, [r2]
- adds r3, 0x1
- cmp r3, 0x2D
- bls _08136096
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8136088
-
- thumb_func_start sub_81360AC
-sub_81360AC: @ 81360AC
- push {lr}
- movs r1, 0
- movs r2, 0
-_081360B2:
- stm r0!, {r2}
- adds r1, 0x1
- cmp r1, 0x2E
- bls _081360B2
- pop {r0}
- bx r0
- thumb_func_end sub_81360AC
-
- thumb_func_start sub_81360C0
-sub_81360C0: @ 81360C0
- push {lr}
- ldr r0, _081360CC @ =gSaveBlock2 + 0x4A8
- bl sub_813545C
- pop {r0}
- bx r0
- .align 2, 0
-_081360CC: .4byte gSaveBlock2 + 0x4A8
- thumb_func_end sub_81360C0
-
- thumb_func_start sub_81360D0
-sub_81360D0: @ 81360D0
- push {lr}
- ldr r0, _081360E4 @ =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _081360EC
- ldr r1, _081360E8 @ =gStringVar4
- movs r0, 0xFF
- strb r0, [r1]
- b _08136102
- .align 2, 0
-_081360E4: .4byte gBattleOutcome
-_081360E8: .4byte gStringVar4
-_081360EC:
- cmp r0, 0x1
- bne _081360FC
- ldr r0, _081360F8 @ =gSaveBlock2 + 0x4C0
- bl sub_813545C
- b _08136102
- .align 2, 0
-_081360F8: .4byte gSaveBlock2 + 0x4C0
-_081360FC:
- ldr r0, _08136108 @ =gSaveBlock2 + 0x4B4
- bl sub_813545C
-_08136102:
- pop {r0}
- bx r0
- .align 2, 0
-_08136108: .4byte gSaveBlock2 + 0x4B4
- thumb_func_end sub_81360D0
-
- thumb_func_start sub_813610C
-sub_813610C: @ 813610C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0813612C @ =gSaveBlock2 + 0x556
-_08136112:
- adds r0, r4, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0813611E
- bl sub_80BFD20
-_0813611E:
- adds r4, 0x1
- cmp r4, 0x1
- ble _08136112
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813612C: .4byte gSaveBlock2 + 0x556
- thumb_func_end sub_813610C
-
-.ifdef GERMAN
- thumb_func_start de_sub_81364AC
-de_sub_81364AC: @ 81364AC
- push {lr}
- ldr r2, _DE_081364C0 @ =gSaveBlock2
- ldr r0, _DE_081364C4 @ =0x00000564
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _DE_081364CC
- ldr r1, _DE_081364C8 @ =0x00000499
- adds r0, r2, r1
- b _DE_081364F2
- .align 2, 0
-_DE_081364C0: .4byte gSaveBlock2
-_DE_081364C4: .4byte 0x00000564
-_DE_081364C8: .4byte 0x00000499
-_DE_081364CC:
- cmp r0, 0x63
- bhi _DE_081364E4
- ldr r2, _DE_081364E0 @ =gBattleTowerTrainers
- ldrb r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- b _DE_081364F2
- .align 2, 0
-_DE_081364E0: .4byte gBattleTowerTrainers
-_DE_081364E4:
- ldrb r0, [r1]
- subs r0, 0x64
- movs r1, 0xA4
- muls r0, r1
- adds r0, r2
- adds r1, 0xA9
- adds r0, r1
-_DE_081364F2:
- ldrb r0, [r0]
- pop {r1}
- bx r1
- thumb_func_end de_sub_81364AC
-
- thumb_func_start de_sub_81364F8
-de_sub_81364F8: @ 81364F8
- ldr r0, _DE_08136504 @ =gSaveBlock2
- ldr r1, _DE_08136508 @ =0x00000499
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_DE_08136504: .4byte gSaveBlock2
-_DE_08136508: .4byte 0x00000499
- thumb_func_end de_sub_81364F8
-.endif
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/constants/battle_tower_constants.inc b/constants/battle_tower_constants.inc
deleted file mode 100644
index 136b43bd7..000000000
--- a/constants/battle_tower_constants.inc
+++ /dev/null
@@ -1,70 +0,0 @@
- .set F_EV_SPREAD_HP, 1 << 0
- .set F_EV_SPREAD_ATTACK, 1 << 1
- .set F_EV_SPREAD_DEFENSE, 1 << 2
- .set F_EV_SPREAD_SPEED, 1 << 3
- .set F_EV_SPREAD_SP_ATTACK, 1 << 4
- .set F_EV_SPREAD_SP_DEFENSE, 1 << 5
-
- .set BATTLE_TOWER_ITEM_NONE, 0
- .set BATTLE_TOWER_ITEM_KINGS_ROCK, 1
- .set BATTLE_TOWER_ITEM_SITRUS_BERRY, 2
- .set BATTLE_TOWER_ITEM_ORAN_BERRY, 3
- .set BATTLE_TOWER_ITEM_CHESTO_BERRY, 4
- .set BATTLE_TOWER_ITEM_HARD_STONE, 5
- .set BATTLE_TOWER_ITEM_FOCUS_BAND, 6
- .set BATTLE_TOWER_ITEM_PERSIM_BERRY, 7
- .set BATTLE_TOWER_ITEM_MIRACLE_SEED, 8
- .set BATTLE_TOWER_ITEM_BERRY_JUICE, 9
- .set BATTLE_TOWER_ITEM_MACHO_BRACE, 10
- .set BATTLE_TOWER_ITEM_SILVER_POWDER, 11
- .set BATTLE_TOWER_ITEM_CHERI_BERRY, 12
- .set BATTLE_TOWER_ITEM_BLACK_GLASSES, 13
- .set BATTLE_TOWER_ITEM_BLACK_BELT, 14
- .set BATTLE_TOWER_ITEM_SOUL_DEW, 15
- .set BATTLE_TOWER_ITEM_CHOICE_BAND, 16
- .set BATTLE_TOWER_ITEM_MAGNET, 17
- .set BATTLE_TOWER_ITEM_SILK_SCARF, 18
- .set BATTLE_TOWER_ITEM_WHITE_HERB, 19
- .set BATTLE_TOWER_ITEM_DEEP_SEA_SCALE, 20
- .set BATTLE_TOWER_ITEM_DEEP_SEA_TOOTH, 21
- .set BATTLE_TOWER_ITEM_MYSTIC_WATER, 22
- .set BATTLE_TOWER_ITEM_SHARP_BEAK, 23
- .set BATTLE_TOWER_ITEM_QUICK_CLAW, 24
- .set BATTLE_TOWER_ITEM_LEFTOVERS, 25
- .set BATTLE_TOWER_ITEM_RAWST_BERRY, 26
- .set BATTLE_TOWER_ITEM_LIGHT_BALL, 27
- .set BATTLE_TOWER_ITEM_POISON_BARB, 28
- .set BATTLE_TOWER_ITEM_NEVER_MELT_ICE, 29
- .set BATTLE_TOWER_ITEM_ASPEAR_BERRY, 30
- .set BATTLE_TOWER_ITEM_SPELL_TAG, 31
- .set BATTLE_TOWER_ITEM_BRIGHT_POWDER, 32
- .set BATTLE_TOWER_ITEM_LEPPA_BERRY, 33
- .set BATTLE_TOWER_ITEM_SCOPE_LENS, 34
- .set BATTLE_TOWER_ITEM_TWISTED_SPOON, 35
- .set BATTLE_TOWER_ITEM_METAL_COAT, 36
- .set BATTLE_TOWER_ITEM_MENTAL_HERB, 37
- .set BATTLE_TOWER_ITEM_CHARCOAL, 38
- .set BATTLE_TOWER_ITEM_PECHA_BERRY, 39
- .set BATTLE_TOWER_ITEM_SOFT_SAND, 40
- .set BATTLE_TOWER_ITEM_LUM_BERRY, 41
- .set BATTLE_TOWER_ITEM_DRAGON_SCALE, 42
- .set BATTLE_TOWER_ITEM_DRAGON_FANG, 43
- .set BATTLE_TOWER_ITEM_IAPAPA_BERRY, 44
- .set BATTLE_TOWER_ITEM_WIKI_BERRY, 45
- .set BATTLE_TOWER_ITEM_SEA_INCENSE, 46
- .set BATTLE_TOWER_ITEM_SHELL_BELL, 47
- .set BATTLE_TOWER_ITEM_SALAC_BERRY, 48
- .set BATTLE_TOWER_ITEM_LANSAT_BERRY, 49
- .set BATTLE_TOWER_ITEM_APICOT_BERRY, 50
- .set BATTLE_TOWER_ITEM_STARF_BERRY, 51
- .set BATTLE_TOWER_ITEM_LIECHI_BERRY, 52
- .set BATTLE_TOWER_ITEM_STICK, 53
- .set BATTLE_TOWER_ITEM_LAX_INCENSE, 54
- .set BATTLE_TOWER_ITEM_AGUAV_BERRY, 55
- .set BATTLE_TOWER_ITEM_FIGY_BERRY, 56
- .set BATTLE_TOWER_ITEM_THICK_CLUB, 57
- .set BATTLE_TOWER_ITEM_MAGO_BERRY, 58
- .set BATTLE_TOWER_ITEM_METAL_POWDER, 59
- .set BATTLE_TOWER_ITEM_PETAYA_BERRY, 60
- .set BATTLE_TOWER_ITEM_LUCKY_PUNCH, 61
- .set BATTLE_TOWER_ITEM_GANLON_BERRY, 62
diff --git a/constants/constants.inc b/constants/constants.inc
index 81d3b72fe..bc55f6723 100644
--- a/constants/constants.inc
+++ b/constants/constants.inc
@@ -14,7 +14,6 @@
.include "constants/map_constants.inc"
.include "constants/berry_constants.inc"
.include "constants/map_object_constants.inc"
- .include "constants/battle_tower_constants.inc"
.include "constants/opponent_constants.inc"
.include "constants/decorations.inc"
.include "constants/songs.inc"
diff --git a/data-de/battle_tower/trainers.inc b/data-de/battle_tower/trainers.inc
deleted file mode 100644
index 9791a08a6..000000000
--- a/data-de/battle_tower/trainers.inc
+++ /dev/null
@@ -1,1301 +0,0 @@
- .align 2
-gBattleTowerTrainers:: @ 8402F00
-@ 0
- .byte TRAINER_CLASS_YOUNGSTER
- .string "ALWIN$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word READY
- ec_word QUES
- ec_word HERE_I_COME
- ec_word EXCL
-
-@ 1
- .byte TRAINER_CLASS_BIRD_KEEPER
- .string "DIRK$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word OH_KAY
- ec_word I_AM
- ec_word READY
- ec_word EXCL
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 2
- .byte TRAINER_CLASS_LADY
- .string "SIBILLE$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THAT
- ec_word BECOMES
- ec_word A
- ec_word CHILD_S_PLAY
- ec_word GO
- .2byte 0xFFFF
-
-@ 3
- .byte TRAINER_CLASS_BLACK_BELT
- .string "OLAF$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word GHOST
- ec_word IS
- ec_word FULL
- ec_word TOUGHNESS
- ec_word SNORT
-
-@ 4
- .byte TRAINER_CLASS_NINJA_BOY
- .string "JOST$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GO
- ec_word WHO_WAS
- ec_word POKEMON
- ec_word FIGHT
- ec_word FIGHT
- ec_word FIGHT
-
-@ 5
- .byte TRAINER_CLASS_SCHOOL_KID_F
- .string "TINA$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word STUDY
- ec_word IS
- ec_word BORING
- ec_word LET_S
- ec_word BETTER
- ec_word FIGHT
-
-@ 6
- .byte TRAINER_CLASS_BUG_MANIAC
- .string "HAJO$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TOUGHNESS
- ec_word AND
- ec_move2 TRANSFORM
- ec_word WILL
- ec_word BABE
- ec_word FAINT
-
-@ 7
- .byte TRAINER_CLASS_FISHERMAN
- .string "GEORG$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT
- ec_word GOES
- ec_word NOTHING
- ec_word OVER
- ec_word FISHING
- .2byte 0xFFFF
-
-@ 8
- .byte TRAINER_CLASS_TUBER_F
- .string "ANNE$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word POKEMON
- ec_word MUST_BE
- ec_word MAN
- ec_word SIMPLE
- ec_word ADORE
- .2byte 0xFFFF
-
-@ 9
- .byte TRAINER_CLASS_POKEFAN_F
- .string "JULIA$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word CUTE
- ec_word I_AM
- ec_word QUITE
- ec_word AN
- ec_word LADY
-
-@ 10
- .byte TRAINER_CLASS_GENTLEMAN
- .string "JOHANN$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THE
- ec_word DAY
- ec_word IS
- ec_word PERFECT
- ec_word FOR
- ec_word BATTLE
-
-@ 11
- .byte TRAINER_CLASS_CAMPER
- .string "KARL$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word NOW
- ec_word ARE
- ec_word YOU
- ec_word MY
- ec_word FRIEND
- .2byte 0xFFFF
-
-@ 12
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_F
- .string "KENDRA$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word SMART
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word AND
- ec_word YOU
- ec_word QUES
-
-@ 13
- .byte TRAINER_CLASS_HIKER
- .string "DAVID$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WAHAHAHA
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word TODAY
- ec_word IS
- ec_move2 PAY_DAY
- .2byte 0xFFFF
-
-@ 14
- .byte TRAINER_CLASS_BATTLE_GIRL
- .string "KEA$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word TOUGH
- ec_word OR
- ec_word QUES
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 15
- .byte TRAINER_CLASS_PSYCHIC_M
- .string "JULIAN$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word FUFUFU
- ec_word YOU
- ec_word CAN_T
- ec_word DON_T
- ec_word WINS
- ec_word KID
-
-@ 16
- .byte TRAINER_CLASS_LASS
- .string "JOSI$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BE
- ec_word KIND
- ec_word TO
- ec_word GIRL
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 17
- .byte TRAINER_CLASS_GUITARIST
- .string "LEIF$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word GREAT
- ec_word YOU_RE
- ec_word RATHER
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word OKAY
-
-@ 18
- .byte TRAINER_CLASS_RICH_BOY
- .string "INGO$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word HAVE
- ec_word ROUGH_SKIN
- ec_word NATURAL_CURE
- ec_word IS
- ec_word ALL_RIGHT
-
-@ 19
- .byte TRAINER_CLASS_BUG_CATCHER
- .string "LUDWIG$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IF_I_WIN
- ec_word IS
- ec_word THAT
- ec_word EXCITING
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 20
- .byte TRAINER_CLASS_PICNICKER
- .string "RAJA$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WITH
- ec_word POKEMON
- ec_word TO
- ec_word WALKING
- ec_word IS
- ec_word GREAT
-
-@ 21
- .byte TRAINER_CLASS_COLLECTOR
- .string "HARALD$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HERE_GOES
- ec_word MY
- ec_word HUGE_POWER
- .2byte 0xFFFF
- ec_word POKEMON
- .2byte 0xFFFF
-
-@ 22
- .byte TRAINER_CLASS_TUBER_M
- .string "KIM$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word A
- ec_word GENIUS
- ec_word WE
- ec_word WILL
- ec_word WINS
-
-@ 23
- .byte TRAINER_CLASS_KINDLER
- .string "ERWIN$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word FIRE
- ec_word IS
- ec_word VERY
- ec_word HOT
- .2byte 0xFFFF
-
-@ 24
- .byte TRAINER_CLASS_PSYCHIC_F
- .string "EIKA$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word FIGHTING
- ec_move1 ASTONISH
- ec_word AND
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 25
- .byte TRAINER_CLASS_SWIMMER_F
- .string "ANNINA$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word SORRY
- ec_word YOURS
- ec_word POKEMON
- ec_word WILL
- ec_word DON_T
- ec_word WINS
-
-@ 26
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_F
- .string "RUTH$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word TOUGH
- ec_word WHO_WAS
- ec_word POKEMON
- ec_word TOO
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
-
-@ 27
- .byte TRAINER_CLASS_POKEMANIAC
- .string "JENS$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WHO_WAS
- ec_word POKEMON
- ec_word THOSE
- ec_word COOL
- ec_word YOURS
- ec_word LOSE
-
-@ 28
- .byte TRAINER_CLASS_SAILOR
- .string "TITUS$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word FOE
- ec_word IS
- ec_word FINALLY
- ec_word HERE
- ec_word EXCELLENT
-
-@ 29
- .byte TRAINER_CLASS_POKEMON_BREEDER_F
- .string "NICOLA$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word VORACIOUS
- ec_move2 POUND
- ec_word AND
- ec_move2 BELLY_DRUM
- .2byte 0xFFFF
-
-@ 30
- .byte TRAINER_CLASS_HEX_MANIAC
- .string "PAULA$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IS_IT_QUES
- ec_word THOSE_ARE
- ec_word UGLY
- ec_move1 SPITE
- ec_word TO
- ec_word TAKE
-
-@ 31
- .byte TRAINER_CLASS_RUIN_MANIAC
- .string "SÖREN$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ADVENTURE
- ec_word AND
- ec_word BATTLE
- ec_word THOSE
- ec_word WHO_WAS
- ec_word LIKES
-
-@ 32
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M
- .string "RAINER$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WE
- ec_word CAN
- ec_word VERSUS
- ec_word CHILDREN
- ec_word DON_T
- ec_word LOSE
-
-@ 33
- .byte TRAINER_CLASS_SCHOOL_KID_M
- .string "FABIAN$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word DAILY
- ec_word POKEMON
- ec_word IN
- ec_word THE
- ec_word SCHOOL
- ec_word AWESOME
-
-@ 34
- .byte TRAINER_CLASS_POKEMON_RANGER_F
- .string "ELLEN$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word ALL_RIGHT
- ec_word TO
- ec_word POKEMON
- ec_word QUES
-
-@ 35
- .byte TRAINER_CLASS_SWIMMER_M
- .string "ARNIE$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word FIGHTING
- ec_word IS
- ec_word PERFECTION
- ec_word YOUR
- ec_word USELESS
-
-@ 36
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_M
- .string "HARDI$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BOY
- ec_word I_AM
- ec_word MAYBE
- ec_word TIRED
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- .2byte 0xFFFF
-
-@ 37
- .byte TRAINER_CLASS_BEAUTY
- .string "LINA$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word A
- ec_word TRAINER
- ec_word HOW_DO
- ec_word YOU
- ec_word IS
- ec_word EXCITING
-
-@ 38
- .byte TRAINER_CLASS_AROMA_LADY
- .string "SELINA$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_VE
- ec_word STENCH
- ec_word OR
- ec_move1 SWEET_SCENT
- ec_word QUES
- .2byte 0xFFFF
-
-@ 39
- .byte TRAINER_CLASS_COLLECTOR
- .string "DANTE$", 8
- .byte 0x81 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOURS
- ec_word POKEMON
- ec_word I
- ec_word WANTS
- ec_word SHE
- ec_word EXCL_EXCL
-
-@ 40
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_F
- .string "KATJA$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TODAY
- ec_word WANTS
- ec_word I
- ec_word MY
- ec_word BEST
- ec_word GIVE
-
-@ 41
- .byte TRAINER_CLASS_POKEMON_RANGER_M
- .string "HORST$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WAAAH
- ec_word WAAAH
- ec_word WAAAH
- ec_word WAAAH
- ec_word EHEHE
- ec_move1 FAKE_TEARS
-
-@ 42
- .byte TRAINER_CLASS_POKEFAN_M
- .string "GERRIT$", 8
- .byte 0x80 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word ANIME
- ec_word SONG
- ec_word IS
- ec_word DON_T
- ec_word LOUSY
-
-@ 43
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_M
- .string "NIKO$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BATTLE
- ec_word DON_T
- ec_word JUST
- ec_word DO
- ec_word SOMETHING
- ec_word ELSE
-
-@ 44
- .byte TRAINER_CLASS_POKEMON_BREEDER_M
- .string "BALDO$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word BUSY
- ec_word HAS
- ec_word THAT
- ec_word TIME
-
-@ 45
- .byte TRAINER_CLASS_PARASOL_LADY
- .string "ALMA$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THAT
- ec_move1 MORNING_SUN
- ec_word HAS
- ec_word SO
- ec_word A_LOT
- ec_move1 COSMIC_POWER
-
-@ 46
- .byte TRAINER_CLASS_CAMPER
- .string "ADAM$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word EXCITING
- ec_word BATTLE
- ec_word THOSE
- ec_word GREAT
- ec_word YEEHAW_EXCL
- .2byte 0xFFFF
-
-@ 47
- .byte TRAINER_CLASS_SCHOOL_KID_F
- .string "GRETE$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word WANTS
- ec_word SOMETHING
- ec_move1 GROWTH
- ec_word WORKS
- .2byte 0xFFFF
-
-@ 48
- .byte TRAINER_CLASS_BEAUTY
- .string "NAOMI$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT
- ec_word WAS
- ec_word GREAT
- ec_word YOUNG
- ec_word TO
- ec_word HIS
-
-@ 49
- .byte TRAINER_CLASS_NINJA_BOY
- .string "KENO$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word PLEASE
- ec_word BE
- ec_word DON_T
- ec_word SO
- ec_word MEAN
- ec_word TO_ME
-
-@ 50
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_M
- .string "REMUS$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WAKES_UP
- ec_move2 HIDDEN_POWER
- ec_word AND
- ec_move1 ASTONISH
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 51
- .byte TRAINER_CLASS_POKEMON_RANGER_F
- .string "EDITH$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THE
- ec_word BATTLE_TOWER
- ec_word IS
- ec_word SO
- ec_word ENTERTAINING
- ec_word AWESOME
-
-@ 52
- .byte TRAINER_CLASS_RUIN_MANIAC
- .string "ANTON$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THICK_FAT
- ec_word AND
- ec_word CHLOROPHYLL
- ec_word BLEND
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word TASTY
-
-@ 53
- .byte TRAINER_CLASS_SWIMMER_M
- .string "MALTE$", 8
- .byte 0x81 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word AN
- ec_move1 SCARY_FACE
- ec_word IS
- ec_word DON_T
- ec_word QUITE
- ec_word TERRIBLE
-
-@ 54
- .byte TRAINER_CLASS_HEX_MANIAC
- .string "RAOUL$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word RUN_AWAY
- ec_word GIVE_ME
- ec_word SON
- ec_word BEST
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 55
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_M
- .string "RICK$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WATER
- ec_word IS
- ec_word TASTY
- ec_word HIP_AND
- ec_word REFRESHING
- ec_word YES_SIR_EXCL
-
-@ 56
- .byte TRAINER_CLASS_POKEFAN_M
- .string "DENNIS$", 8
- .byte 0x80 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GO
- ec_word WHO_WAS
- ec_word POKEMON
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 57
- .byte TRAINER_CLASS_PSYCHIC_F
- .string "GLORIA$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THE
- ec_word FIGHTING
- ec_word MUST_BE
- ec_word HOT
- ec_word HIS
- ec_word FIERY
-
-@ 58
- .byte TRAINER_CLASS_GUITARIST
- .string "NINO$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MUSIC
- ec_word IS
- ec_word MY
- ec_word EVERY
- ec_word MY
- ec_word DESTINY
-
-@ 59
- .byte TRAINER_CLASS_KINDLER
- .string "FIETE$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT_S
- ec_word ALL_RIGHT
- ec_word VERY
- ec_word ALL_RIGHT
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 60
- .byte TRAINER_CLASS_AROMA_LADY
- .string "AMANDA$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WHAT
- ec_word FOR
- ec_word A
- ec_word TRAINER
- ec_word ARE
- ec_word YOU
-
-@ 61
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M
- .string "MAREK$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WE_VE
- ec_word UNTIL
- ec_word NOW
- ec_word TOTALLY
- ec_word NEVER
- ec_word LOST
-
-@ 62
- .byte TRAINER_CLASS_DRAGON_TAMER
- .string "NATHAN$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word DRAGON
- .2byte 0xFFFF
- ec_word POKEMON
- ec_word THOSE
- ec_word FANTASTIC
- .2byte 0xFFFF
-
-@ 63
- .byte TRAINER_CLASS_LASS
- .string "MIRIAM$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word QUITE
- ec_word TOO_STRONG
- ec_word AM
- ec_word BAD
- ec_word NEWS
-
-@ 64
- .byte TRAINER_CLASS_POKEMANIAC
- .string "THEO$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word PLUSH_DOLL
- ec_word MUST_BE
- ec_word MAN
- ec_word SIMPLE
- ec_word ADORE
- .2byte 0xFFFF
-
-@ 65
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_F
- .string "PIA$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HERE_I_COME
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word CUTE
- ec_word A
- ec_word CHANNEL
- ec_word IDOL
-
-@ 66
- .byte TRAINER_CLASS_POKEFAN_F
- .string "ALISSA$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOURS
- ec_word POKEMON
- ec_word THOSE
- ec_word PREPOSTEROUS
- ec_word I_AM
- ec_word SHOCKED
-
-@ 67
- .byte TRAINER_CLASS_GENTLEMAN
- .string "ARTUR$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word PLEASE
- ec_word ALL
- ec_word BATTLE
- ec_word WEREN_T
- ec_word GREAT
- ec_word HIS
-
-@ 68
- .byte TRAINER_CLASS_SWIMMER_F
- .string "MAJA$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word PRETTY
- ec_word YOU
- ec_word CAN_T
- ec_word DON_T
- ec_word WINS
-
-@ 69
- .byte TRAINER_CLASS_COOL_TRAINER_M
- .string "MARIUS$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word BATTLE
- ec_word DAILY
- ec_word I
- ec_word WON_T
- ec_word LOSE
-
-@ 70
- .byte TRAINER_CLASS_BIRD_KEEPER
- .string "OLIVER$", 8
- .byte 0x11 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GIGGLE
- ec_word GIGGLE
- ec_word SNORT
- ec_word HAPPILY
- ec_word GIGGLE
- ec_word MUFUFU
-
-@ 71
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_F
- .string "MOLLY$", 8
- .byte 0x12 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IS
- ec_word TODAY
- ec_word MONDAY
- ec_word QUES
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 72
- .byte TRAINER_CLASS_BUG_MANIAC
- .string "JÖRG$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WATER
- .2byte 0xFFFF
- ec_word AND
- ec_word BUG
- .2byte 0xFFFF
- ec_word POKEMON
-
-@ 73
- .byte TRAINER_CLASS_BATTLE_GIRL
- .string "ANKE$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WHAT
- ec_word IS
- ec_word PRESSURE
- ec_word STATIC
- ec_word IS
- ec_word SUPER
-
-@ 74
- .byte TRAINER_CLASS_FISHERMAN
- .string "HANS$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word KID
- ec_word YOU
- ec_word CAN_T
- ec_word DON_T
- ec_word WINS
- .2byte 0xFFFF
-
-@ 75
- .byte TRAINER_CLASS_SAILOR
- .string "PETER$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT_S
- ec_word QUITE
- ec_word TERRIBLE
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word MODE
- ec_word I
-
-@ 76
- .byte TRAINER_CLASS_EXPERT_F
- .string "MARA$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word VERY
- ec_word ALL_RIGHT
- ec_word TRAINS
- ec_word OR
- ec_word QUES
-
-@ 77
- .byte TRAINER_CLASS_BUG_MANIAC
- .string "DARIUS$", 8
- .byte 0x11 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word TOUGH
- ec_word ARE
- ec_word YOU
- ec_word SCARY
-
-@ 78
- .byte TRAINER_CLASS_POKEMON_BREEDER_F
- .string "REGINA$", 8
- .byte 0x12 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TODAY
- ec_word WIN
- ec_word I
- ec_word MAYBE
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- .2byte 0xFFFF
-
-@ 79
- .byte TRAINER_CLASS_PARASOL_LADY
- .string "MAIKE$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word SO
- ec_word AN
- ec_move1 SCARY_FACE
- ec_word IS
- ec_word NOT_VERY
- ec_word KIND
-
-@ 80
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_F
- .string "SANDRA$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word SPORTS
- ec_word IS
- ec_word HEALTHY
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word SPIRALING
- .2byte 0xFFFF
-
-@ 81
- .byte TRAINER_CLASS_POKEMON_RANGER_M
- .string "ARNOLD$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word AWESOME
- ec_word WHO_WAS
- ec_word POKEMON
- ec_word THOSE
- ec_word ROCK_SOLID
- .2byte 0xFFFF
-
-@ 82
- .byte TRAINER_CLASS_BLACK_BELT
- .string "XENO$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HOO_HAH
- ec_word ARE
- ec_word YOU
- ec_word READY
- ec_word FOR
- ec_word SHADY
-
-@ 83
- .byte TRAINER_CLASS_COOL_TRAINER_F
- .string "KARLA$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU
- ec_word CAN_T
- ec_word ME
- ec_word NEVER
- ec_word SMITE
- ec_word KID
-
-@ 84
- .byte TRAINER_CLASS_COLLECTOR
- .string "VOLKER$", 8
- .byte 0x80 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word FROM
- ec_word PLACE
- ec_word TO
- ec_word PLACE
- ec_word POKEMON
- ec_word WOWEE
-
-@ 85
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M
- .string "TOBIAS$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THAT
- ec_word ISN_T
- ec_word SPORTS
- ec_word IT_S
- ec_word A
- ec_word FIGHTING
-
-@ 86
- .byte TRAINER_CLASS_GENTLEMAN
- .string "NORBERT$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word MUST_BE
- ec_word WINS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word PLEASE
- ec_word PLEASE
-
-@ 87
- .byte TRAINER_CLASS_BATTLE_GIRL
- .string "ZITA$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THAT
- ec_word IS
- ec_word SCARY
- ec_word PLEASE
- ec_word BE
- ec_word NICE
-
-@ 88
- .byte TRAINER_CLASS_BEAUTY
- .string "ELKE$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WITHOUT
- ec_move1 FLAIL
- ec_word NONE
- ec_move1 WITHDRAW
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- .2byte 0xFFFF
-
-@ 89
- .byte TRAINER_CLASS_HIKER
- .string "VITUS$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YAHOO
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word LISTENS
- ec_word HER
- ec_word TO
- ec_word QUES
-
-@ 90
- .byte TRAINER_CLASS_EXPERT_M
- .string "MALTE$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word LEARN
- ec_word CORRECT
- ec_word TO
- ec_word FIGHT
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 91
- .byte TRAINER_CLASS_POKEMON_BREEDER_M
- .string "TIM$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT_S
- ec_word A
- ec_word FIGHTING
- ec_word NONE
- ec_word CHILD_S_PLAY
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
-
-@ 92
- .byte TRAINER_CLASS_GUITARIST
- .string "GAVIN$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word SHADY
- ec_word BABY
- ec_word BABY
- ec_word BABY
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 93
- .byte TRAINER_CLASS_PSYCHIC_M
- .string "RALF$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word STICKY_HOLD
- ec_word THOSE
- ec_word IMPORTANT
- ec_word ISN_T_IT_QUES
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 94
- .byte TRAINER_CLASS_COOL_TRAINER_F
- .string "JENNY$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word SEARCH
- ec_word TRAINER
- ec_word ABSOLUTELY
- ec_word TOUGH
- ec_word THOSE
-
-@ 95
- .byte TRAINER_CLASS_EXPERT_M
- .string "JOEL$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BELIEVE
- ec_word ON
- ec_word YOURS
- ec_word POKEMON
- ec_word AND
- ec_word WIN
-
-@ 96
- .byte TRAINER_CLASS_DRAGON_TAMER
- .string "KOLJA$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GIRL
- ec_word WITH
- ec_move2 FORESIGHT
- ec_word THOSE
- ec_word NICE
- .2byte 0xFFFF
-
-@ 97
- .byte TRAINER_CLASS_COOL_TRAINER_M
- .string "BILL$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WHO_WAS
- ec_word POWER
- ec_word IS
- ec_word OVERWHELMING
- ec_word DISAPPEAR
- ec_word BETTER
-
-@ 98
- .byte TRAINER_CLASS_EXPERT_F
- .string "CALLA$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TRAINER
- ec_word YOU
- ec_word ARE
- ec_word SEEMS
- ec_word CAPABLE
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
-
-@ 99
- .byte TRAINER_CLASS_LADY
- .string "GESA$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word COME_ON
- ec_word ABSOLUTELY
- ec_word TIME
- ec_word BECOMES
- ec_word EXCELLENT
- .2byte 0xFFFF
diff --git a/data/battle_tower.s b/data/battle_tower.s
deleted file mode 100644
index a45dcf72c..000000000
--- a/data/battle_tower.s
+++ /dev/null
@@ -1,159 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-@ 8402F00
- .include "data/battle_tower/trainers.inc"
-
-@ 8403860
- .include "data/battle_tower/held_items.inc"
-
-@ 84038E0
- .include "data/battle_tower/level_50_mons.inc"
-
-@ 8404BA0
- .include "data/battle_tower/level_100_mons.inc"
-
-gUnknown_08405E60:: @ 8405E60
- .byte 4
- .byte 7
- .byte 8
- .byte 13
- .byte 14
- .byte 15
- .byte 16
- .byte 17
- .byte 18
- .byte 19
- .byte 20
- .byte 21
- .byte 23
- .byte 29
- .byte 32
- .byte 34
- .byte 36
- .byte 38
- .byte 39
- .byte 41
- .byte 43
- .byte 45
- .byte 46
- .byte 47
- .byte 53
- .byte 56
- .byte 64
- .byte 66
- .byte 72
- .byte 73
-
-gUnknown_08405E7E:: @ 8405E7E
- .byte 3
- .byte 6
- .byte 9
- .byte 10
- .byte 11
- .byte 12
- .byte 22
- .byte 30
- .byte 33
- .byte 35
- .byte 40
- .byte 42
- .byte 44
- .byte 48
- .byte 49
- .byte 50
- .byte 51
- .byte 65
- .byte 67
- .byte 71
-
-gUnknown_08405E92:: @ 8405E92
- .byte MAP_OBJ_GFX_HIKER
- .byte MAP_OBJ_GFX_TUBER_M
- .byte MAP_OBJ_GFX_MAN_4
- .byte MAP_OBJ_GFX_BOY_4
- .byte MAP_OBJ_GFX_MANIAC
- .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_M
- .byte MAP_OBJ_GFX_BLACK_BELT
- .byte MAP_OBJ_GFX_MAN_6
- .byte MAP_OBJ_GFX_MAN_6
- .byte MAP_OBJ_GFX_CAMPER
- .byte MAP_OBJ_GFX_MANIAC
- .byte MAP_OBJ_GFX_PSYCHIC_M
- .byte MAP_OBJ_GFX_GENTLEMAN
- .byte MAP_OBJ_GFX_SCHOOL_KID_M
- .byte MAP_OBJ_GFX_MAN_3
- .byte MAP_OBJ_GFX_OLD_MAN_1
- .byte MAP_OBJ_GFX_YOUNGSTER
- .byte MAP_OBJ_GFX_FISHERMAN
- .byte MAP_OBJ_GFX_CYCLING_TRIATHLETE_M
- .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_M
- .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_M
- .byte MAP_OBJ_GFX_MAN_4
- .byte MAP_OBJ_GFX_MAN_6
- .byte MAP_OBJ_GFX_LITTLE_BOY_1
- .byte MAP_OBJ_GFX_SAILOR
- .byte MAP_OBJ_GFX_MANIAC
- .byte MAP_OBJ_GFX_MAN_5
- .byte MAP_OBJ_GFX_CAMPER
- .byte MAP_OBJ_GFX_BUG_CATCHER
- .byte MAP_OBJ_GFX_HIKER
-
-gUnknown_08405EB0:: @ 8405EB0
- .byte MAP_OBJ_GFX_WOMAN_3
- .byte MAP_OBJ_GFX_TUBER_F
- .byte MAP_OBJ_GFX_WOMAN_7
- .byte MAP_OBJ_GFX_WOMAN_1
- .byte MAP_OBJ_GFX_WOMAN_3
- .byte MAP_OBJ_GFX_BEAUTY
- .byte MAP_OBJ_GFX_LASS
- .byte MAP_OBJ_GFX_GIRL_3
- .byte MAP_OBJ_GFX_WOMAN_2
- .byte MAP_OBJ_GFX_OLD_WOMAN_1
- .byte MAP_OBJ_GFX_CYCLING_TRIATHLETE_F
- .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_F
- .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_F
- .byte MAP_OBJ_GFX_GIRL_3
- .byte MAP_OBJ_GFX_WOMAN_7
- .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_F
- .byte MAP_OBJ_GFX_PICNICKER
- .byte MAP_OBJ_GFX_WOMAN_3
- .byte MAP_OBJ_GFX_PICNICKER
- .byte MAP_OBJ_GFX_LASS
-
- .align 1
-gBattleTowerBanlist:: @ 8405EC4
- .2byte SPECIES_MEW
- .2byte SPECIES_MEWTWO
- .2byte SPECIES_HO_OH
- .2byte SPECIES_LUGIA
- .2byte SPECIES_CELEBI
- .2byte SPECIES_KYOGRE
- .2byte SPECIES_GROUDON
- .2byte SPECIES_RAYQUAZA
- .2byte SPECIES_JIRACHI
- .2byte SPECIES_DEOXYS
- .2byte -1
-
- .align 1
-gUnknown_08405EDA:: @ 8405EDA
- .2byte ITEM_HP_UP
- .2byte ITEM_PROTEIN
- .2byte ITEM_IRON
- .2byte ITEM_CALCIUM
- .2byte ITEM_CARBOS
- .2byte ITEM_ZINC
-
- .align 1
-gUnknown_08405EE6:: @ 8405EE6
- .2byte ITEM_BRIGHT_POWDER
- .2byte ITEM_WHITE_HERB
- .2byte ITEM_QUICK_CLAW
- .2byte ITEM_LEFTOVERS
- .2byte ITEM_MENTAL_HERB
- .2byte ITEM_KINGS_ROCK
- .2byte ITEM_FOCUS_BAND
- .2byte ITEM_SCOPE_LENS
- .2byte ITEM_CHOICE_BAND
diff --git a/data/battle_tower/held_items.inc b/data/battle_tower/held_items.inc
deleted file mode 100644
index 6c4f0838b..000000000
--- a/data/battle_tower/held_items.inc
+++ /dev/null
@@ -1,65 +0,0 @@
- .align 1
-gBattleTowerHeldItems:: @ 8403860
- .2byte ITEM_NONE
- .2byte ITEM_KINGS_ROCK
- .2byte ITEM_SITRUS_BERRY
- .2byte ITEM_ORAN_BERRY
- .2byte ITEM_CHESTO_BERRY
- .2byte ITEM_HARD_STONE
- .2byte ITEM_FOCUS_BAND
- .2byte ITEM_PERSIM_BERRY
- .2byte ITEM_MIRACLE_SEED
- .2byte ITEM_BERRY_JUICE
- .2byte ITEM_MACHO_BRACE
- .2byte ITEM_SILVER_POWDER
- .2byte ITEM_CHERI_BERRY
- .2byte ITEM_BLACK_GLASSES
- .2byte ITEM_BLACK_BELT
- .2byte ITEM_SOUL_DEW
- .2byte ITEM_CHOICE_BAND
- .2byte ITEM_MAGNET
- .2byte ITEM_SILK_SCARF
- .2byte ITEM_WHITE_HERB
- .2byte ITEM_DEEP_SEA_SCALE
- .2byte ITEM_DEEP_SEA_TOOTH
- .2byte ITEM_MYSTIC_WATER
- .2byte ITEM_SHARP_BEAK
- .2byte ITEM_QUICK_CLAW
- .2byte ITEM_LEFTOVERS
- .2byte ITEM_RAWST_BERRY
- .2byte ITEM_LIGHT_BALL
- .2byte ITEM_POISON_BARB
- .2byte ITEM_NEVER_MELT_ICE
- .2byte ITEM_ASPEAR_BERRY
- .2byte ITEM_SPELL_TAG
- .2byte ITEM_BRIGHT_POWDER
- .2byte ITEM_LEPPA_BERRY
- .2byte ITEM_SCOPE_LENS
- .2byte ITEM_TWISTED_SPOON
- .2byte ITEM_METAL_COAT
- .2byte ITEM_MENTAL_HERB
- .2byte ITEM_CHARCOAL
- .2byte ITEM_PECHA_BERRY
- .2byte ITEM_SOFT_SAND
- .2byte ITEM_LUM_BERRY
- .2byte ITEM_DRAGON_SCALE
- .2byte ITEM_DRAGON_FANG
- .2byte ITEM_IAPAPA_BERRY
- .2byte ITEM_WIKI_BERRY
- .2byte ITEM_SEA_INCENSE
- .2byte ITEM_SHELL_BELL
- .2byte ITEM_SALAC_BERRY
- .2byte ITEM_LANSAT_BERRY
- .2byte ITEM_APICOT_BERRY
- .2byte ITEM_STARF_BERRY
- .2byte ITEM_LIECHI_BERRY
- .2byte ITEM_STICK
- .2byte ITEM_LAX_INCENSE
- .2byte ITEM_AGUAV_BERRY
- .2byte ITEM_FIGY_BERRY
- .2byte ITEM_THICK_CLUB
- .2byte ITEM_MAGO_BERRY
- .2byte ITEM_METAL_POWDER
- .2byte ITEM_PETAYA_BERRY
- .2byte ITEM_LUCKY_PUNCH
- .2byte ITEM_GANLON_BERRY
diff --git a/data/battle_tower/level_100_mons.inc b/data/battle_tower/level_100_mons.inc
deleted file mode 100644
index 9e678153e..000000000
--- a/data/battle_tower/level_100_mons.inc
+++ /dev/null
@@ -1,2701 +0,0 @@
- .align 2
-gBattleTowerLevel100Mons:: @ 8404BA0
-@ 0
- .2byte SPECIES_LINOONE
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0x42 @ team flags
- .2byte MOVE_SLASH, MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_SAND_ATTACK
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 1
- .2byte SPECIES_MIGHTYENA
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_BITE, MOVE_HOWL, MOVE_ODOR_SLEUTH, MOVE_SCARY_FACE
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 2
- .2byte SPECIES_BEAUTIFLY
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_GUST, MOVE_STUN_SPORE, MOVE_PROTECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 3
- .2byte SPECIES_DUSTOX
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_PSYBEAM, MOVE_GUST, MOVE_DOUBLE_TEAM, MOVE_SILVER_WIND
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 4
- .2byte SPECIES_LOMBRE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_ASTONISH, MOVE_GROWL, MOVE_MEGA_DRAIN, MOVE_SURF
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 5
- .2byte SPECIES_NUZLEAF
- .byte BATTLE_TOWER_ITEM_WHITE_HERB
- .byte 0x01 @ team flags
- .2byte MOVE_BULLET_SEED, MOVE_RAZOR_WIND, MOVE_FAINT_ATTACK, MOVE_GROWTH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 6
- .2byte SPECIES_SWELLOW
- .byte BATTLE_TOWER_ITEM_SHARP_BEAK
- .byte 0x42 @ team flags
- .2byte MOVE_AERIAL_ACE, MOVE_GROWL, MOVE_ENDEAVOR, MOVE_FOCUS_ENERGY
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 7
- .2byte SPECIES_PELIPPER
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x02 @ team flags
- .2byte MOVE_SURF, MOVE_WATER_SPORT, MOVE_PROTECT, MOVE_SUPERSONIC
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 8
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x42 @ team flags
- .2byte MOVE_MACH_PUNCH, MOVE_MEGA_DRAIN, MOVE_HEADBUTT, MOVE_STUN_SPORE
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 9
- .2byte SPECIES_NINJASK
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_SCRATCH, MOVE_SCREECH, MOVE_LEECH_LIFE, MOVE_FLASH
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 10
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_BITE, MOVE_FLY, MOVE_SUPERSONIC, MOVE_HAZE
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 11
- .2byte SPECIES_MAWILE
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x03 @ team flags
- .2byte MOVE_VICE_GRIP, MOVE_SWEET_SCENT, MOVE_ASTONISH, MOVE_STRENGTH
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 12
- .2byte SPECIES_NOSEPASS
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_ROCK_THROW, MOVE_SANDSTORM, MOVE_HARDEN, MOVE_PROTECT
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 13
- .2byte SPECIES_DELCATTY
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x42 @ team flags
- .2byte MOVE_DOUBLE_SLAP, MOVE_TAIL_WHIP, MOVE_ATTRACT, MOVE_CHARM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 14
- .2byte SPECIES_CAMERUPT
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x01 @ team flags
- .2byte MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_GROWL, MOVE_SANDSTORM
- .byte F_EV_SPREAD_SP_DEFENSE
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 15
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_ORAN_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_POISON_GAS, MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_SCREECH
- .byte F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 16
- .2byte SPECIES_SANDSLASH
- .byte BATTLE_TOWER_ITEM_SOFT_SAND
- .byte 0x03 @ team flags
- .2byte MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_DEFENSE_CURL, MOVE_SWIFT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 17
- .2byte SPECIES_SPINDA
- .byte BATTLE_TOWER_ITEM_SILK_SCARF
- .byte 0x42 @ team flags
- .2byte MOVE_UPROAR, MOVE_WATER_PULSE, MOVE_THRASH, MOVE_SAFEGUARD
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 18
- .2byte SPECIES_WHISCASH
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_TICKLE, MOVE_MUD_SPORT, MOVE_WATER_GUN, MOVE_WATER_SPORT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 19
- .2byte SPECIES_CACTURNE
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x01 @ team flags
- .2byte MOVE_POISON_STING, MOVE_PIN_MISSILE, MOVE_ABSORB, MOVE_COTTON_SPORE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 20
- .2byte SPECIES_JIGGLYPUFF
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x42 @ team flags
- .2byte MOVE_SING, MOVE_ROLLOUT, MOVE_POUND, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 21
- .2byte SPECIES_MARILL
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x42 @ team flags
- .2byte MOVE_BUBBLE_BEAM, MOVE_DEFENSE_CURL, MOVE_RAIN_DANCE, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SP_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 22
- .2byte SPECIES_MAGNETON
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_THUNDER_SHOCK, MOVE_SUPERSONIC, MOVE_FLASH, MOVE_SCREECH
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 23
- .2byte SPECIES_CARVANHA
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x01 @ team flags
- .2byte MOVE_BITE, MOVE_RAGE, MOVE_SCARY_FACE, MOVE_LEER
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 24
- .2byte SPECIES_KECLEON
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_THIEF, MOVE_LICK, MOVE_BIND, MOVE_FURY_SWIPES
- .byte F_EV_SPREAD_DEFENSE
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 25
- .2byte SPECIES_NINETALES
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x02 @ team flags
- .2byte MOVE_EMBER, MOVE_CONFUSE_RAY, MOVE_FIRE_SPIN, MOVE_SAFEGUARD
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 26
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x42 @ team flags
- .2byte MOVE_SHOCK_WAVE, MOVE_GROWL, MOVE_DOUBLE_TEAM, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_DEFENSE
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 27
- .2byte SPECIES_SEALEO
- .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE
- .byte 0x01 @ team flags
- .2byte MOVE_ICE_BALL, MOVE_WATER_GUN, MOVE_ENCORE, MOVE_HAIL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 28
- .2byte SPECIES_GRAVELER
- .byte BATTLE_TOWER_ITEM_HARD_STONE
- .byte 0x01 @ team flags
- .2byte MOVE_ROCK_THROW, MOVE_MUD_SPORT, MOVE_SANDSTORM, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 29
- .2byte SPECIES_SHUPPET
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x03 @ team flags
- .2byte MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SCREECH, MOVE_KNOCK_OFF
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 30
- .2byte SPECIES_LUVDISC
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_ATTRACT, MOVE_FLAIL, MOVE_SWEET_KISS, MOVE_WATER_PULSE
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 31
- .2byte SPECIES_LANTURN
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_THUNDER_WAVE, MOVE_SUPERSONIC, MOVE_WATER_GUN, MOVE_SPARK
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 32
- .2byte SPECIES_CORSOLA
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_MIRROR_COAT, MOVE_BUBBLE, MOVE_HARDEN, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 33
- .2byte SPECIES_WAILMER
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_SURF, MOVE_ROAR, MOVE_GROWL, MOVE_MIST
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 34
- .2byte SPECIES_RHYDON
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_TAKE_DOWN, MOVE_SCARY_FACE, MOVE_TAIL_WHIP, MOVE_ROAR
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 35
- .2byte SPECIES_DODRIO
- .byte BATTLE_TOWER_ITEM_SHARP_BEAK
- .byte 0x05 @ team flags
- .2byte MOVE_FURY_ATTACK, MOVE_PURSUIT, MOVE_AERIAL_ACE, MOVE_AGILITY
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 36
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x05 @ team flags
- .2byte MOVE_FURY_SWIPES, MOVE_TAIL_WHIP, MOVE_DISABLE, MOVE_PSYCH_UP
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 37
- .2byte SPECIES_BELLOSSOM
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x0A @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_ACID
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 38
- .2byte SPECIES_TROPIUS
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x05 @ team flags
- .2byte MOVE_STOMP, MOVE_RAZOR_LEAF, MOVE_GUST, MOVE_SYNTHESIS
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 39
- .2byte SPECIES_SABLEYE
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x0A @ team flags
- .2byte MOVE_NIGHT_SHADE, MOVE_FAKE_OUT, MOVE_PSYCH_UP, MOVE_DETECT
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 40
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x03 @ team flags
- .2byte MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_SPARK, MOVE_SELF_DESTRUCT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 41
- .2byte SPECIES_TENTACRUEL
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x01 @ team flags
- .2byte MOVE_ACID, MOVE_WATER_PULSE, MOVE_BARRIER, MOVE_WRAP
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 42
- .2byte SPECIES_CLAYDOL
- .byte BATTLE_TOWER_ITEM_SOFT_SAND
- .byte 0x05 @ team flags
- .2byte MOVE_ANCIENT_POWER, MOVE_MUD_SLAP, MOVE_RAPID_SPIN, MOVE_CONFUSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 43
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_PSYBEAM, MOVE_PSYCH_UP, MOVE_BOUNCE, MOVE_MAGIC_COAT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 44
- .2byte SPECIES_CRAWDAUNT
- .byte BATTLE_TOWER_ITEM_MENTAL_HERB
- .byte 0x05 @ team flags
- .2byte MOVE_CRABHAMMER, MOVE_BUBBLE_BEAM, MOVE_BRICK_BREAK, MOVE_PROTECT
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 45
- .2byte SPECIES_SEVIPER
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x01 @ team flags
- .2byte MOVE_POISON_TAIL, MOVE_GLARE, MOVE_WRAP, MOVE_THIEF
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 46
- .2byte SPECIES_ZANGOOSE
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_FURY_CUTTER, MOVE_LEER, MOVE_QUICK_ATTACK, MOVE_DETECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 47
- .2byte SPECIES_ALTARIA
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x03 @ team flags
- .2byte MOVE_DRAGON_BREATH, MOVE_SING, MOVE_SAFEGUARD, MOVE_TAKE_DOWN
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 48
- .2byte SPECIES_ROSELIA
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GROWTH, MOVE_STUN_SPORE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 49
- .2byte SPECIES_VOLBEAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x09 @ team flags
- .2byte MOVE_SIGNAL_BEAM, MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 50
- .2byte SPECIES_ILLUMISE
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_CHARM, MOVE_ENCORE, MOVE_SOLAR_BEAM, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 51
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_MAGNET
- .byte 0x03 @ team flags
- .2byte MOVE_BITE, MOVE_HOWL, MOVE_THUNDER_WAVE, MOVE_SPARK
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 52
- .2byte SPECIES_MAWILE
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_CRUNCH, MOVE_IRON_DEFENSE, MOVE_TORMENT, MOVE_SANDSTORM
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 53
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x05 @ team flags
- .2byte MOVE_ARM_THRUST, MOVE_FAKE_OUT, MOVE_WHIRLWIND, MOVE_REVERSAL
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 54
- .2byte SPECIES_SKARMORY
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x01 @ team flags
- .2byte MOVE_STEEL_WING, MOVE_AGILITY, MOVE_TAUNT, MOVE_FLY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 55
- .2byte SPECIES_TORKOAL
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_FIRE_SPIN, MOVE_SMOKESCREEN, MOVE_BODY_SLAM, MOVE_AMNESIA
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 56
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_THRASH, MOVE_DRAGON_RAGE, MOVE_TWISTER, MOVE_HYDRO_PUMP
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 57
- .2byte SPECIES_MIGHTYENA
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_CRUNCH, MOVE_HOWL, MOVE_IRON_TAIL, MOVE_TORMENT
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 58
- .2byte SPECIES_LINOONE
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x06 @ team flags
- .2byte MOVE_SLASH, MOVE_ATTRACT, MOVE_SHOCK_WAVE, MOVE_TOXIC
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 59
- .2byte SPECIES_MASQUERAIN
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_TOXIC, MOVE_STUN_SPORE, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 60
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x06 @ team flags
- .2byte MOVE_BULLET_SEED, MOVE_SLAM, MOVE_SCREECH, MOVE_DETECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 61
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x06 @ team flags
- .2byte MOVE_DOUBLE_KICK, MOVE_FLAMETHROWER, MOVE_DOUBLE_TEAM, MOVE_ROAR
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 62
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x49 @ team flags
- .2byte MOVE_SURF, MOVE_MUD_SHOT, MOVE_MUD_SPORT, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 63
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x49 @ team flags
- .2byte MOVE_DRAGON_BREATH, MOVE_FLY, MOVE_TOXIC, MOVE_FACADE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 64
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x49 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_SMOKESCREEN, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 65
- .2byte SPECIES_CORSOLA
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_ANCIENT_POWER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_REFLECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 66
- .2byte SPECIES_RHYDON
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x41 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_ROAR, MOVE_THUNDERBOLT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 67
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x06 @ team flags
- .2byte MOVE_MEGAHORN, MOVE_COUNTER, MOVE_PROTECT, MOVE_LEER
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 68
- .2byte SPECIES_GIRAFARIG
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_CRUNCH, MOVE_BATON_PASS, MOVE_AGILITY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 69
- .2byte SPECIES_XATU
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_FLY, MOVE_CONFUSE_RAY, MOVE_TOXIC
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 70
- .2byte SPECIES_DODRIO
- .byte BATTLE_TOWER_ITEM_SHARP_BEAK
- .byte 0x03 @ team flags
- .2byte MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_PURSUIT, MOVE_TORMENT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 71
- .2byte SPECIES_VILEPLUME
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x89 @ team flags
- .2byte MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_SLEEP_POWDER, MOVE_PETAL_DANCE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MODEST
- .2byte 0 @ padding
-
-@ 72
- .2byte SPECIES_MEDICHAM
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x06 @ team flags
- .2byte MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_BULK_UP, MOVE_PSYCHIC
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 73
- .2byte SPECIES_ABSOL
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x06 @ team flags
- .2byte MOVE_SLASH, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM, MOVE_ATTRACT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 74
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x4B @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_DISABLE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 75
- .2byte SPECIES_SHUPPET
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x43 @ team flags
- .2byte MOVE_GRUDGE, MOVE_SHADOW_BALL, MOVE_CURSE, MOVE_KNOCK_OFF
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 76
- .2byte SPECIES_CASTFORM
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x82 @ team flags
- .2byte MOVE_WEATHER_BALL, MOVE_HAIL, MOVE_SUNNY_DAY, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_MODEST
- .2byte 0 @ padding
-
-@ 77
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x02 @ team flags
- .2byte MOVE_SURF, MOVE_REFRESH, MOVE_RECOVER, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 78
- .2byte SPECIES_SHARPEDO
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_CRUNCH, MOVE_FOCUS_ENERGY, MOVE_SCARY_FACE, MOVE_SCREECH
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 79
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x06 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SAND_ATTACK, MOVE_DRAGON_BREATH, MOVE_SAND_TOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 80
- .2byte SPECIES_TRAPINCH
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_TOXIC, MOVE_SAND_TOMB, MOVE_CRUNCH, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 81
- .2byte SPECIES_LUNATONE
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x43 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_ROCK_THROW, MOVE_HYPNOSIS, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 82
- .2byte SPECIES_SOLROCK
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x43 @ team flags
- .2byte MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_COSMIC_POWER, MOVE_CALM_MIND
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 83
- .2byte SPECIES_BALTOY
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x43 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_REFLECT, MOVE_SELF_DESTRUCT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 84
- .2byte SPECIES_CRAWDAUNT
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x06 @ team flags
- .2byte MOVE_CRABHAMMER, MOVE_SURF, MOVE_PROTECT, MOVE_BRICK_BREAK
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 85
- .2byte SPECIES_WHISCASH
- .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY
- .byte 0x06 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_TICKLE, MOVE_AMNESIA, MOVE_SURF
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 86
- .2byte SPECIES_SEVIPER
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_POISON_TAIL, MOVE_CRUNCH, MOVE_GIGA_DRAIN, MOVE_HAZE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 87
- .2byte SPECIES_MAGCARGO
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x89 @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_LIGHT_SCREEN, MOVE_AMNESIA, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 88
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_BLACK_BELT
- .byte 0x09 @ team flags
- .2byte MOVE_KARATE_CHOP, MOVE_SEISMIC_TOSS, MOVE_BRICK_BREAK, MOVE_LOW_KICK
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 89
- .2byte SPECIES_SWALOT
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x86 @ team flags
- .2byte MOVE_YAWN, MOVE_WATER_PULSE, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 90
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0C @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_GIGA_DRAIN, MOVE_FURY_CUTTER, MOVE_DETECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 91
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x0C @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_QUICK_ATTACK
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 92
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x4C @ team flags
- .2byte MOVE_SURF, MOVE_MUD_SHOT, MOVE_MUD_SLAP, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 93
- .2byte SPECIES_MIGHTYENA
- .byte BATTLE_TOWER_ITEM_BLACK_GLASSES
- .byte 0x04 @ team flags
- .2byte MOVE_CRUNCH, MOVE_HOWL, MOVE_SWAGGER, MOVE_SHADOW_BALL
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 94
- .2byte SPECIES_LINOONE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x04 @ team flags
- .2byte MOVE_SLASH, MOVE_REST, MOVE_BELLY_DRUM, MOVE_THUNDERBOLT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 95
- .2byte SPECIES_BEAUTIFLY
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x08 @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_ATTRACT, MOVE_MORNING_SUN, MOVE_STUN_SPORE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 96
- .2byte SPECIES_DUSTOX
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x08 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_SILVER_WIND, MOVE_MOONLIGHT, MOVE_TOXIC
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 97
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x0C @ team flags
- .2byte MOVE_FAKE_OUT, MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_UPROAR
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 98
- .2byte SPECIES_SHIFTRY
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x0C @ team flags
- .2byte MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_TORMENT, MOVE_SWAGGER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 99
- .2byte SPECIES_SWELLOW
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x88 @ team flags
- .2byte MOVE_FLY, MOVE_ENDEAVOR, MOVE_AERIAL_ACE, MOVE_TOXIC
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 100
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_BLACK_GLASSES
- .byte 0x4A @ team flags
- .2byte MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_PSYCHIC, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 101
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x0C @ team flags
- .2byte MOVE_DYNAMIC_PUNCH, MOVE_MIND_READER, MOVE_SNATCH, MOVE_MEGA_DRAIN
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 102
- .2byte SPECIES_VIGOROTH
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x04 @ team flags
- .2byte MOVE_SLASH, MOVE_UPROAR, MOVE_ENCORE, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 103
- .2byte SPECIES_NINJASK
- .byte BATTLE_TOWER_ITEM_SILVER_POWDER
- .byte 0x04 @ team flags
- .2byte MOVE_FURY_CUTTER, MOVE_GIGA_DRAIN, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 104
- .2byte SPECIES_SHEDINJA
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0xCA @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_GRUDGE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 105
- .2byte SPECIES_LOUDRED
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x04 @ team flags
- .2byte MOVE_HYPER_VOICE, MOVE_HOWL, MOVE_SHADOW_BALL, MOVE_TORMENT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 106
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x04 @ team flags
- .2byte MOVE_ARM_THRUST, MOVE_BULK_UP, MOVE_BRICK_BREAK, MOVE_HIDDEN_POWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 107
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x88 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_FUTURE_SIGHT, MOVE_DISABLE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 108
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x88 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_MEAN_LOOK, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 109
- .2byte SPECIES_MAWILE
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x04 @ team flags
- .2byte MOVE_CRUNCH, MOVE_IRON_DEFENSE, MOVE_FAKE_TEARS, MOVE_POISON_FANG
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 110
- .2byte SPECIES_AGGRON
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x45 @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_FLAMETHROWER, MOVE_METAL_SOUND, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 111
- .2byte SPECIES_GOLEM
- .byte BATTLE_TOWER_ITEM_SOFT_SAND
- .byte 0xC5 @ team flags
- .2byte MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_DOUBLE_TEAM, MOVE_SELF_DESTRUCT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 112
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_MAGNET
- .byte 0x04 @ team flags
- .2byte MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_THUNDER_WAVE, MOVE_CHARGE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 113
- .2byte SPECIES_VOLBEAT
- .byte BATTLE_TOWER_ITEM_SILVER_POWDER
- .byte 0x08 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_SIGNAL_BEAM, MOVE_MOONLIGHT, MOVE_TAIL_GLOW
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 114
- .2byte SPECIES_ILLUMISE
- .byte BATTLE_TOWER_ITEM_SILVER_POWDER
- .byte 0x08 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_FLATTER, MOVE_WISH, MOVE_ENCORE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 115
- .2byte SPECIES_MASQUERAIN
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x88 @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_SILVER_WIND, MOVE_STUN_SPORE, MOVE_TOXIC
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 116
- .2byte SPECIES_ROSELIA
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x08 @ team flags
- .2byte MOVE_PETAL_DANCE, MOVE_GROWTH, MOVE_SYNTHESIS, MOVE_GRASS_WHISTLE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 117
- .2byte SPECIES_DELCATTY
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x08 @ team flags
- .2byte MOVE_SING, MOVE_ATTRACT, MOVE_DOUBLE_SLAP, MOVE_HEAL_BELL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 118
- .2byte SPECIES_SEAKING
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x88 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_ATTRACT, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 119
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x8C @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_EARTHQUAKE, MOVE_DRAGON_RAGE, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 120
- .2byte SPECIES_SWALOT
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x42 @ team flags
- .2byte MOVE_STOCKPILE, MOVE_SWALLOW, MOVE_SPIT_UP, MOVE_YAWN
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 121
- .2byte SPECIES_MAGCARGO
- .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_BODY_SLAM, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 122
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0xC3 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_ACID_ARMOR, MOVE_DISABLE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 123
- .2byte SPECIES_SPINDA
- .byte BATTLE_TOWER_ITEM_SILK_SCARF
- .byte 0x42 @ team flags
- .2byte MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE, MOVE_PSYCH_UP, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_MODEST
- .2byte 0 @ padding
-
-@ 124
- .2byte SPECIES_ALTARIA
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x03 @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_REFRESH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 125
- .2byte SPECIES_ZANGOOSE
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_CRUSH_CLAW, MOVE_TAUNT, MOVE_SWORDS_DANCE, MOVE_DETECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 126
- .2byte SPECIES_SEVIPER
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_SWAGGER, MOVE_TAUNT, MOVE_GLARE, MOVE_POISON_TAIL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 127
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x42 @ team flags
- .2byte MOVE_TOXIC, MOVE_BOUNCE, MOVE_CONFUSE_RAY, MOVE_ATTRACT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 128
- .2byte SPECIES_CACTURNE
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x41 @ team flags
- .2byte MOVE_NEEDLE_ARM, MOVE_INGRAIN, MOVE_SPIKES, MOVE_COTTON_SPORE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 129
- .2byte SPECIES_CLAYDOL
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SANDSTORM, MOVE_COSMIC_POWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 130
- .2byte SPECIES_TENTACRUEL
- .byte BATTLE_TOWER_ITEM_MENTAL_HERB
- .byte 0xC1 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_HYDRO_PUMP, MOVE_BARRIER, MOVE_SUPERSONIC
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 131
- .2byte SPECIES_WIGGLYTUFF
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0xC3 @ team flags
- .2byte MOVE_SING, MOVE_FOCUS_PUNCH, MOVE_DISABLE, MOVE_FACADE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 132
- .2byte SPECIES_AZUMARILL
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0xC2 @ team flags
- .2byte MOVE_SURF, MOVE_ATTRACT, MOVE_DEFENSE_CURL, MOVE_ROLLOUT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 133
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0xC3 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_MIRROR_COAT, MOVE_LIGHT_SCREEN, MOVE_SELF_DESTRUCT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 134
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x42 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_ATTRACT, MOVE_RECOVER, MOVE_REFRESH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 135
- .2byte SPECIES_KECLEON
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x43 @ team flags
- .2byte MOVE_SKILL_SWAP, MOVE_ANCIENT_POWER, MOVE_WATER_PULSE, MOVE_THUNDERBOLT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 136
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x43 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_REST, MOVE_MEAN_LOOK
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 137
- .2byte SPECIES_ABSOL
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_SLASH, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 138
- .2byte SPECIES_NINETALES
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0xC2 @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM, MOVE_WILL_O_WISP
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 139
- .2byte SPECIES_PIKACHU
- .byte BATTLE_TOWER_ITEM_LIGHT_BALL
- .byte 0xC2 @ team flags
- .2byte MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_ATTRACT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 140
- .2byte SPECIES_VILEPLUME
- .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY
- .byte 0xC3 @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_SLEEP_POWDER, MOVE_MOONLIGHT, MOVE_SLUDGE_BOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 141
- .2byte SPECIES_DONPHAN
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_IRON_TAIL, MOVE_FISSURE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 142
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0xC3 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 143
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE
- .byte 0x43 @ team flags
- .2byte MOVE_ICE_BEAM, MOVE_BODY_SLAM, MOVE_ENCORE, MOVE_HAIL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 144
- .2byte SPECIES_RELICANTH
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x41 @ team flags
- .2byte MOVE_YAWN, MOVE_MUD_SPORT, MOVE_DOUBLE_EDGE, MOVE_SANDSTORM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 145
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x43 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_ICE_BEAM, MOVE_HYDRO_PUMP, MOVE_AGILITY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 146
- .2byte SPECIES_CRADILY
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x43 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_INGRAIN, MOVE_ANCIENT_POWER, MOVE_GIGA_DRAIN
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 147
- .2byte SPECIES_ARMALDO
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x43 @ team flags
- .2byte MOVE_SLASH, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_WATER_PULSE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 148
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x41 @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_AGILITY
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 149
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x42 @ team flags
- .2byte MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_FLAMETHROWER, MOVE_AERIAL_ACE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 150
- .2byte SPECIES_MIGHTYENA
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_CRUNCH, MOVE_YAWN, MOVE_FACADE, MOVE_HOWL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 151
- .2byte SPECIES_LINOONE
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x02 @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_FACADE, MOVE_ATTRACT, MOVE_TRICK
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 152
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_FAKE_OUT, MOVE_SYNTHESIS
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 153
- .2byte SPECIES_EXPLOUD
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_UPROAR, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 154
- .2byte SPECIES_SWELLOW
- .byte BATTLE_TOWER_ITEM_LANSAT_BERRY
- .byte 0x02 @ team flags
- .2byte MOVE_FACADE, MOVE_SUPERSONIC, MOVE_WING_ATTACK, MOVE_ENDEAVOR
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 155
- .2byte SPECIES_PELIPPER
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x82 @ team flags
- .2byte MOVE_STOCKPILE, MOVE_SWALLOW, MOVE_SPIT_UP, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 156
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x01 @ team flags
- .2byte MOVE_DYNAMIC_PUNCH, MOVE_COUNTER, MOVE_BULK_UP, MOVE_MIND_READER
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 157
- .2byte SPECIES_SHEDINJA
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_RETURN, MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_SHADOW_BALL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 158
- .2byte SPECIES_EXPLOUD
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_SUPERSONIC, MOVE_FLAMETHROWER, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 159
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x01 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_FACADE, MOVE_FAKE_OUT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 160
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x83 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_ENCORE, MOVE_DISABLE, MOVE_RECOVER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 161
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x81 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_AIR_CUTTER, MOVE_TORMENT, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 162
- .2byte SPECIES_SABLEYE
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x83 @ team flags
- .2byte MOVE_TOXIC, MOVE_DETECT, MOVE_RECOVER, MOVE_TORMENT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 163
- .2byte SPECIES_MAWILE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x02 @ team flags
- .2byte MOVE_CRUNCH, MOVE_SWORDS_DANCE, MOVE_IRON_DEFENSE, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 164
- .2byte SPECIES_AGGRON
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_DOUBLE_EDGE, MOVE_IRON_DEFENSE, MOVE_ROAR, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 165
- .2byte SPECIES_GOLEM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FLAMETHROWER, MOVE_FACADE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 166
- .2byte SPECIES_NOSEPASS
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x81 @ team flags
- .2byte MOVE_THUNDER_WAVE, MOVE_ROCK_SLIDE, MOVE_TORMENT, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 167
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x02 @ team flags
- .2byte MOVE_THUNDER, MOVE_CRUNCH, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 168
- .2byte SPECIES_ROSELIA
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x82 @ team flags
- .2byte MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_GROWTH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 169
- .2byte SPECIES_DELCATTY
- .byte BATTLE_TOWER_ITEM_STARF_BERRY
- .byte 0x02 @ team flags
- .2byte MOVE_ASSIST, MOVE_SING, MOVE_ATTRACT, MOVE_SUBSTITUTE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 170
- .2byte SPECIES_TROPIUS
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0xC2 @ team flags
- .2byte MOVE_RAZOR_LEAF, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_SYNTHESIS
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 171
- .2byte SPECIES_SWALOT
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_YAWN, MOVE_SLUDGE_BOMB, MOVE_ATTRACT, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 172
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_BLACK_BELT
- .byte 0x01 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_BULK_UP, MOVE_LOW_KICK, MOVE_BRICK_BREAK
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 173
- .2byte SPECIES_CAMERUPT
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x40 @ team flags
- .2byte MOVE_ERUPTION, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_OVERHEAT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 174
- .2byte SPECIES_MAGCARGO
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x03 @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_REFLECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 175
- .2byte SPECIES_WEEZING
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x81 @ team flags
- .2byte MOVE_WILL_O_WISP, MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_DESTINY_BOND
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 176
- .2byte SPECIES_SPINDA
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x82 @ team flags
- .2byte MOVE_TRICK, MOVE_TEETER_DANCE, MOVE_FOCUS_PUNCH, MOVE_FACADE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 177
- .2byte SPECIES_SKARMORY
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_TORMENT, MOVE_PROTECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 178
- .2byte SPECIES_ALTARIA
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x02 @ team flags
- .2byte MOVE_SING, MOVE_DRAGON_CLAW, MOVE_ICE_BEAM, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 179
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x82 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_CALM_MIND, MOVE_REST
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 180
- .2byte SPECIES_SHIFTRY
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x20 @ team flags
- .2byte MOVE_SWAGGER, MOVE_FRUSTRATION, MOVE_ATTRACT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 181
- .2byte SPECIES_CLAYDOL
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x20 @ team flags
- .2byte MOVE_COSMIC_POWER, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 182
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x33 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_BELLY_DRUM, MOVE_REST
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 183
- .2byte SPECIES_NOSEPASS
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x20 @ team flags
- .2byte MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, MOVE_EARTHQUAKE, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 184
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x33 @ team flags
- .2byte MOVE_SHADOW_PUNCH, MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_DESTINY_BOND
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 185
- .2byte SPECIES_SEAKING
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x20 @ team flags
- .2byte MOVE_HORN_DRILL, MOVE_AGILITY, MOVE_SLEEP_TALK, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 186
- .2byte SPECIES_CAMERUPT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x73 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ERUPTION, MOVE_ROCK_SLIDE, MOVE_FISSURE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 187
- .2byte SPECIES_LANTURN
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x13 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_SURF, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 188
- .2byte SPECIES_WEEZING
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x33 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_FIRE_BLAST, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 189
- .2byte SPECIES_WHISCASH
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x20 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_SPARK, MOVE_FISSURE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 190
- .2byte SPECIES_AGGRON
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x51 @ team flags
- .2byte MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 191
- .2byte SPECIES_KECLEON
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x12 @ team flags
- .2byte MOVE_TRICK, MOVE_FOCUS_PUNCH, MOVE_ATTRACT, MOVE_SNATCH
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 192
- .2byte SPECIES_SHARPEDO
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x11 @ team flags
- .2byte MOVE_CRUNCH, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_SWAGGER
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 193
- .2byte SPECIES_ABSOL
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x12 @ team flags
- .2byte MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_SWORDS_DANCE, MOVE_QUICK_ATTACK
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 194
- .2byte SPECIES_WAILORD
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x72 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_FISSURE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 195
- .2byte SPECIES_TENTACRUEL
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x20 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_BARRIER, MOVE_MIRROR_COAT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 196
- .2byte SPECIES_SABLEYE
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x32 @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_RECOVER, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 197
- .2byte SPECIES_WOBBUFFET
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x20 @ team flags
- .2byte MOVE_ENCORE, MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 198
- .2byte SPECIES_RHYDON
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x71 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_HORN_DRILL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 199
- .2byte SPECIES_GLALIE
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x31 @ team flags
- .2byte MOVE_CRUNCH, MOVE_BLIZZARD, MOVE_HAIL, MOVE_SHEER_COLD
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 200
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x8C @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 201
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x8C @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_COUNTER, MOVE_ENDURE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 202
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x8C @ team flags
- .2byte MOVE_SURF, MOVE_EARTHQUAKE, MOVE_MIRROR_COAT, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 203
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x1A @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_DESTINY_BOND, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 204
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x15 @ team flags
- .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_MACH_PUNCH, MOVE_ATTRACT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 205
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x58 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_RECOVER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 206
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x15 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FAKE_OUT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 207
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x55 @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 208
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x58 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_CONFUSE_RAY, MOVE_AIR_CUTTER, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 209
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x5D @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 210
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x1A @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ROAR, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 211
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x60 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_MIRROR_COAT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 212
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x64 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 213
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x1C @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 214
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x5C @ team flags
- .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_RECOVER, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 215
- .2byte SPECIES_NINETALES
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x4A @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_FIRE_SPIN, MOVE_HEAT_WAVE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 216
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x5A @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_REVERSAL, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 217
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x55 @ team flags
- .2byte MOVE_SURF, MOVE_CROSS_CHOP, MOVE_ICE_BEAM, MOVE_DIG
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 218
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x5D @ team flags
- .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_ENDURE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 219
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x26 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_SHEER_COLD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 220
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x5B @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_DRAGON_BREATH, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 221
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x0D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_FIRE_BLAST
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 222
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x3D @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 223
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x3C @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_THUNDERBOLT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 224
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_LAX_INCENSE
- .byte 0x3C @ team flags
- .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 225
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x3C @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 226
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x0E @ team flags
- .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 227
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x0D @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 228
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x1A @ team flags
- .2byte MOVE_SURF, MOVE_TOXIC, MOVE_RECOVER, MOVE_MIRROR_COAT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 229
- .2byte SPECIES_SLAKING
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x15 @ team flags
- .2byte MOVE_YAWN, MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_SLACK_OFF
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 230
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x8C @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM, MOVE_LEECH_SEED, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 231
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x8C @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_QUICK_ATTACK
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 232
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x8C @ team flags
- .2byte MOVE_MUDDY_WATER, MOVE_MUD_SHOT, MOVE_MIRROR_COAT, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 233
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_HYPNOSIS, MOVE_DREAM_EATER
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 234
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_SPORE, MOVE_COUNTER, MOVE_SKY_UPPERCUT, MOVE_GIGA_DRAIN
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 235
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x58 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_RECOVER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 236
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x04 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_ENDURE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 237
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x44 @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 238
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x48 @ team flags
- .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_ATTRACT, MOVE_FLY
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 239
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x5D @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_EARTHQUAKE, MOVE_FACADE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 240
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 241
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x60 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_LIGHT_SCREEN, MOVE_MIRROR_COAT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 242
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x64 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_FLAMETHROWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 243
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x1C @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_CRUNCH
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 244
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x5C @ team flags
- .2byte MOVE_BLIZZARD, MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_RECOVER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 245
- .2byte SPECIES_DODRIO
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x5A @ team flags
- .2byte MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_AGILITY, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 246
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x4A @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_FOCUS_PUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 247
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x45 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_CROSS_CHOP, MOVE_BLIZZARD, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 248
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x5D @ team flags
- .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 249
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x26 @ team flags
- .2byte MOVE_SURF, MOVE_BLIZZARD, MOVE_ROCK_SLIDE, MOVE_SHEER_COLD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 250
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x5C @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_DRAGON_BREATH, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 251
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x1D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 252
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x3D @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 253
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x3C @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_FOCUS_PUNCH, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 254
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x3C @ team flags
- .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_HAIL, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 255
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x3C @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 256
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x1E @ team flags
- .2byte MOVE_MIST_BALL, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 257
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_LAX_INCENSE
- .byte 0x1D @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 258
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x1A @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_MIRROR_COAT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 259
- .2byte SPECIES_SLAKING
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x15 @ team flags
- .2byte MOVE_YAWN, MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_PURSUIT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 260
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x8C @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 261
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_GANLON_BERRY
- .byte 0x8C @ team flags
- .2byte MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_SWAGGER, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 262
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x8C @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_ATTRACT, MOVE_REST
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 263
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_LAX_INCENSE
- .byte 0x0A @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ATTRACT, MOVE_WILL_O_WISP
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 264
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_MACH_PUNCH, MOVE_COUNTER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 265
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x58 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_TRICK, MOVE_RECOVER, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 266
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_REVENGE, MOVE_COUNTER, MOVE_FOCUS_PUNCH, MOVE_REVERSAL
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 267
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x0A @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_DIVE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 268
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x48 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_SNATCH
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 269
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x5D @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_FIRE_BLAST, MOVE_LOW_KICK, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 270
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x08 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 271
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x60 @ team flags
- .2byte MOVE_THUNDER, MOVE_SWIFT, MOVE_MIRROR_COAT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 272
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x64 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_PUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 273
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_LAX_INCENSE
- .byte 0x0C @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FIRE_BLAST, MOVE_SANDSTORM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 274
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x4C @ team flags
- .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_PSYCHIC
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 275
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x4A @ team flags
- .2byte MOVE_LEECH_SEED, MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 276
- .2byte SPECIES_SKARMORY
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x4B @ team flags
- .2byte MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_ATTRACT, MOVE_PURSUIT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 277
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x49 @ team flags
- .2byte MOVE_SURF, MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_CROSS_CHOP
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 278
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x5D @ team flags
- .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 279
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x26 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_FISSURE, MOVE_SHEER_COLD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 280
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x5C @ team flags
- .2byte MOVE_SURF, MOVE_BLIZZARD, MOVE_HYPER_BEAM, MOVE_FLAIL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 281
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x1D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FIRE_BLAST, MOVE_HYDRO_PUMP
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 282
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x3D @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 283
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x3C @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_SUPERPOWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 284
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_LAX_INCENSE
- .byte 0x3C @ team flags
- .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_ANCIENT_POWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 285
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x3C @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_THUNDERBOLT, MOVE_HYPER_BEAM, MOVE_EXPLOSION
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 286
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x1E @ team flags
- .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 287
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_GANLON_BERRY
- .byte 0x1D @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 288
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x1A @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 289
- .2byte SPECIES_ALTARIA
- .byte BATTLE_TOWER_ITEM_GANLON_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_ICE_BEAM, MOVE_SING, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 290
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x9C @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_DETECT, MOVE_DRAGON_CLAW, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 291
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x9C @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_SKY_UPPERCUT, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 292
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x9C @ team flags
- .2byte MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 293
- .2byte SPECIES_SHEDINJA
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x20 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_GRUDGE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 294
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x1D @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 295
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x58 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 296
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x1E @ team flags
- .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 297
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x1D @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 298
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x1D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 299
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x5D @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_LOW_KICK, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
diff --git a/data/battle_tower/level_50_mons.inc b/data/battle_tower/level_50_mons.inc
deleted file mode 100644
index 3dfc269a8..000000000
--- a/data/battle_tower/level_50_mons.inc
+++ /dev/null
@@ -1,2701 +0,0 @@
- .align 2
-gBattleTowerLevel50Mons:: @ 84038E0
-@ 0
- .2byte SPECIES_PIKACHU
- .byte BATTLE_TOWER_ITEM_ORAN_BERRY
- .byte 0x42 @ team flags
- .2byte MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_THUNDER_SHOCK, MOVE_GROWL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 1
- .2byte SPECIES_BEAUTIFLY
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x41 @ team flags
- .2byte MOVE_ABSORB, MOVE_STUN_SPORE, MOVE_GUST, MOVE_SAFEGUARD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 2
- .2byte SPECIES_SWELLOW
- .byte BATTLE_TOWER_ITEM_SHARP_BEAK
- .byte 0x07 @ team flags
- .2byte MOVE_PECK, MOVE_WING_ATTACK, MOVE_AERIAL_ACE, MOVE_AGILITY
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 3
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x0B @ team flags
- .2byte MOVE_HAIL, MOVE_ENCORE, MOVE_ICE_BALL, MOVE_TOXIC
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 4
- .2byte SPECIES_SEAKING
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x07 @ team flags
- .2byte MOVE_PECK, MOVE_FLAIL, MOVE_FURY_ATTACK, MOVE_SURF
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 5
- .2byte SPECIES_TORCHIC
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x42 @ team flags
- .2byte MOVE_FIRE_SPIN, MOVE_PROTECT, MOVE_SAND_ATTACK, MOVE_SLASH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 6
- .2byte SPECIES_MASQUERAIN
- .byte BATTLE_TOWER_ITEM_WHITE_HERB
- .byte 0x41 @ team flags
- .2byte MOVE_STUN_SPORE, MOVE_WATER_SPORT, MOVE_QUICK_ATTACK, MOVE_GUST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 7
- .2byte SPECIES_ILLUMISE
- .byte BATTLE_TOWER_ITEM_NONE
- .byte 0x41 @ team flags
- .2byte MOVE_FLATTER, MOVE_COVET, MOVE_WISH, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 8
- .2byte SPECIES_DELCATTY
- .byte BATTLE_TOWER_ITEM_SILK_SCARF
- .byte 0x42 @ team flags
- .2byte MOVE_ATTRACT, MOVE_TAIL_WHIP, MOVE_FAINT_ATTACK, MOVE_DIG
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 9
- .2byte SPECIES_KECLEON
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_TAIL_WHIP, MOVE_SLASH, MOVE_LICK, MOVE_SCREECH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 10
- .2byte SPECIES_MIGHTYENA
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_BITE, MOVE_TAKE_DOWN, MOVE_ROAR, MOVE_HOWL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 11
- .2byte SPECIES_SLAKING
- .byte BATTLE_TOWER_ITEM_BLACK_GLASSES
- .byte 0x05 @ team flags
- .2byte MOVE_FAINT_ATTACK, MOVE_COUNTER, MOVE_SCRATCH, MOVE_TAUNT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 12
- .2byte SPECIES_MACHOKE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_LEER, MOVE_DIG, MOVE_LOW_KICK, MOVE_FOCUS_PUNCH
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 13
- .2byte SPECIES_RHYDON
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_STRENGTH, MOVE_ROCK_TOMB, MOVE_STOMP, MOVE_ROCK_SMASH
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 14
- .2byte SPECIES_CACTURNE
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x0B @ team flags
- .2byte MOVE_POISON_STING, MOVE_GROWTH, MOVE_ABSORB, MOVE_SOLAR_BEAM
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 15
- .2byte SPECIES_ZIGZAGOON
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x0A @ team flags
- .2byte MOVE_FLAIL, MOVE_SAND_ATTACK, MOVE_REST, MOVE_SURF
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 16
- .2byte SPECIES_DODRIO
- .byte BATTLE_TOWER_ITEM_SHARP_BEAK
- .byte 0x03 @ team flags
- .2byte MOVE_PURSUIT, MOVE_TRI_ATTACK, MOVE_GROWL, MOVE_AGILITY
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 17
- .2byte SPECIES_WHISCASH
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x0B @ team flags
- .2byte MOVE_WATER_GUN, MOVE_AMNESIA, MOVE_MAGNITUDE, MOVE_MUD_SLAP
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 18
- .2byte SPECIES_NINJASK
- .byte BATTLE_TOWER_ITEM_SILVER_POWDER
- .byte 0x41 @ team flags
- .2byte MOVE_SAND_ATTACK, MOVE_FURY_CUTTER, MOVE_AGILITY, MOVE_HARDEN
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 19
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_PROTECT, MOVE_NIGHT_SHADE, MOVE_ASTONISH, MOVE_WILL_O_WISP
- .byte F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 20
- .2byte SPECIES_CAMERUPT
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x07 @ team flags
- .2byte MOVE_DIG, MOVE_EMBER, MOVE_GROWL, MOVE_ROCK_SMASH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 21
- .2byte SPECIES_SPINDA
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x4A @ team flags
- .2byte MOVE_TEETER_DANCE, MOVE_FLAIL, MOVE_PSYCH_UP, MOVE_DOUBLE_EDGE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 22
- .2byte SPECIES_SEVIPER
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x09 @ team flags
- .2byte MOVE_SCREECH, MOVE_GLARE, MOVE_DIG, MOVE_POISON_FANG
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 23
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x49 @ team flags
- .2byte MOVE_SAND_ATTACK, MOVE_SAND_TOMB, MOVE_FACADE, MOVE_TOXIC
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 24
- .2byte SPECIES_AZUMARILL
- .byte BATTLE_TOWER_ITEM_WHITE_HERB
- .byte 0x42 @ team flags
- .2byte MOVE_BUBBLE_BEAM, MOVE_TAIL_WHIP, MOVE_RAIN_DANCE, MOVE_ROLLOUT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 25
- .2byte SPECIES_ZANGOOSE
- .byte BATTLE_TOWER_ITEM_MENTAL_HERB
- .byte 0x07 @ team flags
- .2byte MOVE_STRENGTH, MOVE_TAUNT, MOVE_CRUSH_CLAW, MOVE_DETECT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 26
- .2byte SPECIES_MEDICHAM
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x07 @ team flags
- .2byte MOVE_REVERSAL, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 27
- .2byte SPECIES_ROSELIA
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x0A @ team flags
- .2byte MOVE_GROWTH, MOVE_MEGA_DRAIN, MOVE_TOXIC, MOVE_CUT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 28
- .2byte SPECIES_SWALOT
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_STOCKPILE, MOVE_SPIT_UP, MOVE_SLUDGE, MOVE_POISON_GAS
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 29
- .2byte SPECIES_MAGNETON
- .byte BATTLE_TOWER_ITEM_MAGNET
- .byte 0x0B @ team flags
- .2byte MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SCREECH, MOVE_TRI_ATTACK
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 30
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x09 @ team flags
- .2byte MOVE_CONFUSION, MOVE_TOXIC, MOVE_TORMENT, MOVE_PROTECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 31
- .2byte SPECIES_RELICANTH
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x01 @ team flags
- .2byte MOVE_SURF, MOVE_ANCIENT_POWER, MOVE_ROCK_TOMB, MOVE_HARDEN
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 32
- .2byte SPECIES_NINETALES
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_FIRE_SPIN, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 33
- .2byte SPECIES_SHARPEDO
- .byte BATTLE_TOWER_ITEM_BLACK_GLASSES
- .byte 0x05 @ team flags
- .2byte MOVE_BITE, MOVE_SKULL_BASH, MOVE_RAIN_DANCE, MOVE_SURF
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 34
- .2byte SPECIES_GIRAFARIG
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x03 @ team flags
- .2byte MOVE_STRENGTH, MOVE_PSYBEAM, MOVE_AGILITY, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 35
- .2byte SPECIES_PELIPPER
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_MIST, MOVE_STOCKPILE, MOVE_SWALLOW, MOVE_SPIT_UP
- .byte F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 36
- .2byte SPECIES_SABLEYE
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_NIGHT_SHADE, MOVE_SNATCH, MOVE_FAKE_OUT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 37
- .2byte SPECIES_LUNATONE
- .byte BATTLE_TOWER_ITEM_HARD_STONE
- .byte 0x0B @ team flags
- .2byte MOVE_COSMIC_POWER, MOVE_SANDSTORM, MOVE_PSYCHIC, MOVE_ROCK_THROW
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 38
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_NONE
- .byte 0x0B @ team flags
- .2byte MOVE_THIEF, MOVE_FAKE_OUT, MOVE_SURF, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 39
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_ODOR_SLEUTH, MOVE_CONFUSE_RAY, MOVE_MAGIC_COAT, MOVE_PSYCHIC
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 40
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x0B @ team flags
- .2byte MOVE_CUT, MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_STUN_SPORE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 41
- .2byte SPECIES_WAILORD
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x03 @ team flags
- .2byte MOVE_WATER_SPOUT, MOVE_ROLLOUT, MOVE_MIST, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 42
- .2byte SPECIES_WEEZING
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x05 @ team flags
- .2byte MOVE_SMOG, MOVE_SELF_DESTRUCT, MOVE_TOXIC, MOVE_SLUDGE_BOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 43
- .2byte SPECIES_KADABRA
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_FUTURE_SIGHT, MOVE_FOCUS_PUNCH, MOVE_SKILL_SWAP, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 44
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_MAGNET
- .byte 0x07 @ team flags
- .2byte MOVE_THUNDER_WAVE, MOVE_BITE, MOVE_SPARK, MOVE_QUICK_ATTACK
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 45
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_QUICK_ATTACK, MOVE_AGILITY, MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 46
- .2byte SPECIES_XATU
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x03 @ team flags
- .2byte MOVE_NIGHT_SHADE, MOVE_PECK, MOVE_CONFUSE_RAY, MOVE_FUTURE_SIGHT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 47
- .2byte SPECIES_LOUDRED
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_UPROAR, MOVE_STOMP, MOVE_SCREECH, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_MODEST
- .2byte 0 @ padding
-
-@ 48
- .2byte SPECIES_SOLROCK
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x03 @ team flags
- .2byte MOVE_ROCK_THROW, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_SANDSTORM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 49
- .2byte SPECIES_CLAYDOL
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x03 @ team flags
- .2byte MOVE_SANDSTORM, MOVE_REFLECT, MOVE_ROCK_TOMB, MOVE_STRENGTH
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 50
- .2byte SPECIES_CRAWDAUNT
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x03 @ team flags
- .2byte MOVE_WATER_PULSE, MOVE_KNOCK_OFF, MOVE_HARDEN, MOVE_CUT
- .byte F_EV_SPREAD_HP
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 51
- .2byte SPECIES_GOLBAT
- .byte BATTLE_TOWER_ITEM_WHITE_HERB
- .byte 0x09 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_WING_ATTACK, MOVE_MEAN_LOOK, MOVE_BITE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 52
- .2byte SPECIES_BELLOSSOM
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x0A @ team flags
- .2byte MOVE_SOLAR_BEAM, MOVE_PETAL_DANCE, MOVE_SWEET_SCENT, MOVE_BULLET_SEED
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 53
- .2byte SPECIES_DONPHAN
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x05 @ team flags
- .2byte MOVE_ROCK_SMASH, MOVE_RAPID_SPIN, MOVE_FLAIL, MOVE_HORN_ATTACK
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 54
- .2byte SPECIES_NOSEPASS
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_SANDSTORM, MOVE_ROCK_SLIDE, MOVE_BLOCK, MOVE_THUNDER_WAVE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 55
- .2byte SPECIES_PINSIR
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_SWORDS_DANCE, MOVE_HARDEN, MOVE_CUT, MOVE_SEISMIC_TOSS
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 56
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x0B @ team flags
- .2byte MOVE_DISABLE, MOVE_PSYCH_UP, MOVE_WATER_PULSE, MOVE_BRICK_BREAK
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 57
- .2byte SPECIES_SHIFTRY
- .byte BATTLE_TOWER_ITEM_MENTAL_HERB
- .byte 0x07 @ team flags
- .2byte MOVE_TORMENT, MOVE_EXTRASENSORY, MOVE_SOLAR_BEAM, MOVE_AERIAL_ACE
- .byte F_EV_SPREAD_DEFENSE
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 58
- .2byte SPECIES_DUSTOX
- .byte BATTLE_TOWER_ITEM_SILVER_POWDER
- .byte 0x01 @ team flags
- .2byte MOVE_CONFUSION, MOVE_SILVER_WIND, MOVE_PSYBEAM, MOVE_WHIRLWIND
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 59
- .2byte SPECIES_SHUPPET
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x03 @ team flags
- .2byte MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_FAINT_ATTACK, MOVE_CURSE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 60
- .2byte SPECIES_SEAKING
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x07 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_HORN_ATTACK, MOVE_HORN_DRILL
- .byte F_EV_SPREAD_SP_DEFENSE
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 61
- .2byte SPECIES_SKARMORY
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x07 @ team flags
- .2byte MOVE_STEEL_WING, MOVE_SAND_ATTACK, MOVE_SWIFT, MOVE_AGILITY
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 62
- .2byte SPECIES_TORKOAL
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x43 @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_IRON_DEFENSE, MOVE_BODY_SLAM, MOVE_PROTECT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 63
- .2byte SPECIES_GOLEM
- .byte BATTLE_TOWER_ITEM_SOFT_SAND
- .byte 0x05 @ team flags
- .2byte MOVE_MAGNITUDE, MOVE_EXPLOSION, MOVE_STRENGTH, MOVE_SANDSTORM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 64
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x41 @ team flags
- .2byte MOVE_REFLECT, MOVE_PSYCHIC, MOVE_IMPRISON, MOVE_TOXIC
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 65
- .2byte SPECIES_SANDSLASH
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x07 @ team flags
- .2byte MOVE_SANDSTORM, MOVE_SLASH, MOVE_EARTHQUAKE, MOVE_SWIFT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 66
- .2byte SPECIES_WOBBUFFET
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 67
- .2byte SPECIES_TENTACRUEL
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_CONSTRICT, MOVE_SURF, MOVE_HYPER_BEAM, MOVE_SCREECH
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 68
- .2byte SPECIES_TROPIUS
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x05 @ team flags
- .2byte MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_SYNTHESIS, MOVE_RAZOR_LEAF
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 69
- .2byte SPECIES_MAWILE
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x43 @ team flags
- .2byte MOVE_IRON_DEFENSE, MOVE_SLUDGE_BOMB, MOVE_CRUNCH, MOVE_STRENGTH
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 70
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_SLUDGE, MOVE_ACID_ARMOR, MOVE_GIGA_DRAIN, MOVE_DISABLE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 71
- .2byte SPECIES_MAGCARGO
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x0D @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_ROCK_THROW, MOVE_HARDEN, MOVE_AMNESIA
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 72
- .2byte SPECIES_LINOONE
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x07 @ team flags
- .2byte MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF, MOVE_DIG
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 73
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT, MOVE_SWIFT, MOVE_ROLLOUT
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 74
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x09 @ team flags
- .2byte MOVE_MEAN_LOOK, MOVE_NIGHT_SHADE, MOVE_SKILL_SWAP, MOVE_SHADOW_BALL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 75
- .2byte SPECIES_VILEPLUME
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x0A @ team flags
- .2byte MOVE_TOXIC, MOVE_MOONLIGHT, MOVE_GIGA_DRAIN, MOVE_STUN_SPORE
- .byte F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 76
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_BITE, MOVE_HAZE, MOVE_WING_ATTACK, MOVE_STEEL_WING
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 77
- .2byte SPECIES_CORSOLA
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x0A @ team flags
- .2byte MOVE_RECOVER, MOVE_MIRROR_COAT, MOVE_HAIL, MOVE_SURF
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 78
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x0B @ team flags
- .2byte MOVE_RAPID_SPIN, MOVE_WATER_PULSE, MOVE_REFLECT, MOVE_SKILL_SWAP
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 79
- .2byte SPECIES_EXPLOUD
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x41 @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_HOWL, MOVE_UPROAR, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 80
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x0B @ team flags
- .2byte MOVE_PSYBEAM, MOVE_SNATCH, MOVE_REFLECT, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 81
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x05 @ team flags
- .2byte MOVE_HORN_ATTACK, MOVE_COUNTER, MOVE_REVERSAL, MOVE_LEER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 82
- .2byte SPECIES_CASTFORM
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_WEATHER_BALL, MOVE_SUNNY_DAY, MOVE_RAIN_DANCE, MOVE_HAIL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 83
- .2byte SPECIES_VIGOROTH
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_FOCUS_PUNCH, MOVE_REVERSAL, MOVE_COUNTER, MOVE_TAUNT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 84
- .2byte SPECIES_DUSKULL
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x09 @ team flags
- .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_WILL_O_WISP
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 85
- .2byte SPECIES_LANTURN
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x07 @ team flags
- .2byte MOVE_FLAIL, MOVE_SURF, MOVE_SPARK, MOVE_TAKE_DOWN
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 86
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x05 @ team flags
- .2byte MOVE_STRENGTH, MOVE_FAKE_OUT, MOVE_FACADE, MOVE_SAND_ATTACK
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 87
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x43 @ team flags
- .2byte MOVE_AGILITY, MOVE_DIVE, MOVE_ICE_BEAM, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 88
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x41 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_WATER_PULSE, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 89
- .2byte SPECIES_AGGRON
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x45 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_METAL_CLAW, MOVE_ROAR
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 90
- .2byte SPECIES_ABSOL
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0xC7 @ team flags
- .2byte MOVE_SWORDS_DANCE, MOVE_IRON_TAIL, MOVE_SLASH, MOVE_FACADE
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 91
- .2byte SPECIES_SWELLOW
- .byte BATTLE_TOWER_ITEM_SHARP_BEAK
- .byte 0x0F @ team flags
- .2byte MOVE_DOUBLE_TEAM, MOVE_FLY, MOVE_TOXIC, MOVE_STEEL_WING
- .byte 0
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 92
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_BLACK_BELT
- .byte 0x05 @ team flags
- .2byte MOVE_STRENGTH, MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 93
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE
- .byte 0x41 @ team flags
- .2byte MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_HYPER_BEAM, MOVE_SURF
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 94
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x41 @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_DRAGON_CLAW, MOVE_AGILITY, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 95
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x41 @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_MIRROR_MOVE, MOVE_EARTHQUAKE, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 96
- .2byte SPECIES_ALTARIA
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x43 @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_DRAGON_DANCE, MOVE_TOXIC, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 97
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_BLACK_BELT
- .byte 0x43 @ team flags
- .2byte MOVE_BRICK_BREAK, MOVE_WATER_PULSE, MOVE_RAIN_DANCE, MOVE_FOCUS_PUNCH
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 98
- .2byte SPECIES_SABLEYE
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x49 @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_SNATCH, MOVE_DIG, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 99
- .2byte SPECIES_ZANGOOSE
- .byte BATTLE_TOWER_ITEM_BLACK_GLASSES
- .byte 0x0F @ team flags
- .2byte MOVE_FACADE, MOVE_THUNDERBOLT, MOVE_CRUSH_CLAW, MOVE_DETECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 100
- .2byte SPECIES_LINOONE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x0F @ team flags
- .2byte MOVE_IRON_TAIL, MOVE_HEADBUTT, MOVE_ATTRACT, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 101
- .2byte SPECIES_WHISCASH
- .byte BATTLE_TOWER_ITEM_SOFT_SAND
- .byte 0x07 @ team flags
- .2byte MOVE_MUD_SLAP, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_AMNESIA
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 102
- .2byte SPECIES_SOLROCK
- .byte BATTLE_TOWER_ITEM_HARD_STONE
- .byte 0x43 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE, MOVE_CONFUSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 103
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x03 @ team flags
- .2byte MOVE_RECOVER, MOVE_RAIN_DANCE, MOVE_SURF, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 104
- .2byte SPECIES_CACTURNE
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x0F @ team flags
- .2byte MOVE_INGRAIN, MOVE_LEECH_SEED, MOVE_PROTECT, MOVE_FRUSTRATION
- .byte 0
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 105
- .2byte SPECIES_SHIFTRY
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_FRUSTRATION, MOVE_HYPER_BEAM, MOVE_GIGA_DRAIN, MOVE_TORMENT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 106
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_MAGNET
- .byte 0x0F @ team flags
- .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_IRON_TAIL, MOVE_ROAR
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 107
- .2byte SPECIES_KECLEON
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0xC3 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 108
- .2byte SPECIES_PINSIR
- .byte BATTLE_TOWER_ITEM_SOFT_SAND
- .byte 0x8D @ team flags
- .2byte MOVE_GUILLOTINE, MOVE_SUBMISSION, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 109
- .2byte SPECIES_METANG
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x05 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_METEOR_MASH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 110
- .2byte SPECIES_CLAYDOL
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x43 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_PROTECT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 111
- .2byte SPECIES_MASQUERAIN
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_TOXIC, MOVE_SILVER_WIND, MOVE_ATTRACT, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 112
- .2byte SPECIES_RELICANTH
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0xC5 @ team flags
- .2byte MOVE_ROCK_TOMB, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 113
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x0D @ team flags
- .2byte MOVE_SURF, MOVE_ENCORE, MOVE_BLIZZARD, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 114
- .2byte SPECIES_WAILORD
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_WATER_SPOUT, MOVE_REST, MOVE_AMNESIA, MOVE_HAIL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 115
- .2byte SPECIES_GIRAFARIG
- .byte BATTLE_TOWER_ITEM_GANLON_BERRY
- .byte 0x4F @ team flags
- .2byte MOVE_DOUBLE_TEAM, MOVE_CRUNCH, MOVE_PSYCHIC, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 116
- .2byte SPECIES_MEDICHAM
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x4B @ team flags
- .2byte MOVE_CALM_MIND, MOVE_REVERSAL, MOVE_ROCK_TOMB, MOVE_PSYCHIC
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 117
- .2byte SPECIES_TROPIUS
- .byte BATTLE_TOWER_ITEM_MENTAL_HERB
- .byte 0xC7 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SYNTHESIS, MOVE_RAZOR_LEAF, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 118
- .2byte SPECIES_NINJASK
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x05 @ team flags
- .2byte MOVE_DOUBLE_TEAM, MOVE_SLASH, MOVE_SWORDS_DANCE, MOVE_LEECH_LIFE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 119
- .2byte SPECIES_CAMERUPT
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x0D @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 120
- .2byte SPECIES_SHARPEDO
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x05 @ team flags
- .2byte MOVE_CRUNCH, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 121
- .2byte SPECIES_WIGGLYTUFF
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x0E @ team flags
- .2byte MOVE_PROTECT, MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_DIG
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 122
- .2byte SPECIES_SEVIPER
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x05 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_HAZE, MOVE_CRUNCH, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 123
- .2byte SPECIES_CRADILY
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0xC1 @ team flags
- .2byte MOVE_ROCK_TOMB, MOVE_CONFUSE_RAY, MOVE_INGRAIN, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 124
- .2byte SPECIES_ARMALDO
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0xC1 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SANDSTORM, MOVE_PROTECT, MOVE_SLASH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 125
- .2byte SPECIES_MAGNETON
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x0D @ team flags
- .2byte MOVE_ZAP_CANNON, MOVE_SUPERSONIC, MOVE_TOXIC, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 126
- .2byte SPECIES_LANTURN
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x06 @ team flags
- .2byte MOVE_THUNDER, MOVE_SURF, MOVE_ICE_BEAM, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 127
- .2byte SPECIES_SWALOT
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x8B @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_SNATCH, MOVE_ENCORE, MOVE_BODY_SLAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 128
- .2byte SPECIES_SKARMORY
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x81 @ team flags
- .2byte MOVE_STEEL_WING, MOVE_AGILITY, MOVE_TORMENT, MOVE_FACADE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 129
- .2byte SPECIES_DONPHAN
- .byte BATTLE_TOWER_ITEM_WHITE_HERB
- .byte 0x0D @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_FLAIL, MOVE_ROAR, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 130
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x41 @ team flags
- .2byte MOVE_FACADE, MOVE_REVERSAL, MOVE_MEGAHORN, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 131
- .2byte SPECIES_BANETTE
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x83 @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_SKILL_SWAP
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 132
- .2byte SPECIES_SANDSLASH
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x0F @ team flags
- .2byte MOVE_SANDSTORM, MOVE_TOXIC, MOVE_SLASH, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 133
- .2byte SPECIES_CRAWDAUNT
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x05 @ team flags
- .2byte MOVE_GUILLOTINE, MOVE_CRABHAMMER, MOVE_BLIZZARD, MOVE_SLUDGE_BOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 134
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x8B @ team flags
- .2byte MOVE_MAGIC_COAT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 135
- .2byte SPECIES_RHYDON
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x45 @ team flags
- .2byte MOVE_IRON_TAIL, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_FIRE_BLAST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 136
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x8B @ team flags
- .2byte MOVE_PSYCHIC, MOVE_REFLECT, MOVE_RECOVER, MOVE_SKILL_SWAP
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 137
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_WILL_O_WISP, MOVE_BLIZZARD, MOVE_PSYCHIC
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 138
- .2byte SPECIES_TORKOAL
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x09 @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_AMNESIA, MOVE_IRON_TAIL, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 139
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_SCREECH, MOVE_EXPLOSION, MOVE_MIRROR_COAT, MOVE_PROTECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 140
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_IRON_TAIL, MOVE_FOCUS_PUNCH, MOVE_DOUBLE_TEAM, MOVE_LEECH_SEED
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 141
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x05 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 142
- .2byte SPECIES_WEEZING
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x05 @ team flags
- .2byte MOVE_EXPLOSION, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 143
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x4E @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_DOUBLE_TEAM, MOVE_FOCUS_PUNCH, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 144
- .2byte SPECIES_TENTACRUEL
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x09 @ team flags
- .2byte MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_SURF, MOVE_SLUDGE_BOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 145
- .2byte SPECIES_EXPLOUD
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_BLIZZARD, MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_RETURN
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 146
- .2byte SPECIES_XATU
- .byte BATTLE_TOWER_ITEM_WHITE_HERB
- .byte 0x43 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_TOXIC
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 147
- .2byte SPECIES_GOLEM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 148
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x83 @ team flags
- .2byte MOVE_SURF, MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 149
- .2byte SPECIES_NINETALES
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x4A @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_TOXIC, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 150
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x13 @ team flags
- .2byte MOVE_DOUBLE_TEAM, MOVE_REST, MOVE_SURF, MOVE_DRAGON_BREATH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 151
- .2byte SPECIES_SLAKING
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x03 @ team flags
- .2byte MOVE_CURSE, MOVE_AMNESIA, MOVE_YAWN, MOVE_FOCUS_PUNCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 152
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_HYDRO_PUMP, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 153
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x21 @ team flags
- .2byte MOVE_BELLY_DRUM, MOVE_ENDURE, MOVE_EARTHQUAKE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 154
- .2byte SPECIES_ABSOL
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0xC3 @ team flags
- .2byte MOVE_FAINT_ATTACK, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 155
- .2byte SPECIES_ALTARIA
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x83 @ team flags
- .2byte MOVE_DRAGON_DANCE, MOVE_MIRROR_MOVE, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 156
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_BLACK_BELT
- .byte 0x11 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_ENCORE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 157
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x43 @ team flags
- .2byte MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 158
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x33 @ team flags
- .2byte MOVE_COUNTER, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 159
- .2byte SPECIES_GLALIE
- .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE
- .byte 0x81 @ team flags
- .2byte MOVE_BLIZZARD, MOVE_CRUNCH, MOVE_ICY_WIND, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 160
- .2byte SPECIES_HUNTAIL
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0xA1 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_HYDRO_PUMP, MOVE_CRUNCH, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 161
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_GANLON_BERRY
- .byte 0xD3 @ team flags
- .2byte MOVE_SURF, MOVE_ATTRACT, MOVE_RECOVER, MOVE_TOXIC
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 162
- .2byte SPECIES_GOREBYSS
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x83 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_SURF, MOVE_BLIZZARD, MOVE_SHADOW_BALL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 163
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x53 @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_ENDEAVOR, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 164
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x53 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_MUD_SHOT, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 165
- .2byte SPECIES_AGGRON
- .byte BATTLE_TOWER_ITEM_MENTAL_HERB
- .byte 0x41 @ team flags
- .2byte MOVE_DOUBLE_EDGE, MOVE_FLAMETHROWER, MOVE_IRON_TAIL, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 166
- .2byte SPECIES_CRADILY
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0xE1 @ team flags
- .2byte MOVE_STOCKPILE, MOVE_SPIT_UP, MOVE_SWALLOW, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 167
- .2byte SPECIES_ARMALDO
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0xC1 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SLASH, MOVE_SWORDS_DANCE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 168
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x82 @ team flags
- .2byte MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_MACH_PUNCH, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 169
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x83 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_TOXIC
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 170
- .2byte SPECIES_SHIFTRY
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x03 @ team flags
- .2byte MOVE_TORMENT, MOVE_FAINT_ATTACK, MOVE_SHADOW_BALL, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 171
- .2byte SPECIES_TROPIUS
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0xC3 @ team flags
- .2byte MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_SOLAR_BEAM, MOVE_LEECH_SEED
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 172
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_MACHO_BRACE
- .byte 0x23 @ team flags
- .2byte MOVE_TRICK, MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_REST
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 173
- .2byte SPECIES_TORKOAL
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x81 @ team flags
- .2byte MOVE_IRON_DEFENSE, MOVE_TOXIC, MOVE_REST, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 174
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_NONE
- .byte 0x03 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_CRUNCH, MOVE_ROAR, MOVE_THIEF
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 175
- .2byte SPECIES_PINSIR
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x61 @ team flags
- .2byte MOVE_GUILLOTINE, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 176
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x93 @ team flags
- .2byte MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 177
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x51 @ team flags
- .2byte MOVE_MEGAHORN, MOVE_REVERSAL, MOVE_EARTHQUAKE, MOVE_COUNTER
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 178
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE
- .byte 0x83 @ team flags
- .2byte MOVE_BLIZZARD, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 179
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x13 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_RECOVER, MOVE_ENCORE, MOVE_SNATCH
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 180
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x93 @ team flags
- .2byte MOVE_SURF, MOVE_BLIZZARD, MOVE_RECOVER, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 181
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x11 @ team flags
- .2byte MOVE_REST, MOVE_CURSE, MOVE_BLIZZARD, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 182
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x11 @ team flags
- .2byte MOVE_REST, MOVE_IRON_DEFENSE, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 183
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x91 @ team flags
- .2byte MOVE_ROCK_TOMB, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 184
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x20 @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_EARTHQUAKE, MOVE_BLIZZARD, MOVE_DESTINY_BOND
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 185
- .2byte SPECIES_SEAKING
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0xB2 @ team flags
- .2byte MOVE_HORN_DRILL, MOVE_AGILITY, MOVE_SLEEP_TALK, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 186
- .2byte SPECIES_CAMERUPT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x00 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ERUPTION, MOVE_ROCK_SLIDE, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 187
- .2byte SPECIES_LANTURN
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x82 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_SURF, MOVE_THUNDER_WAVE, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 188
- .2byte SPECIES_WEEZING
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x20 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_FIRE_BLAST, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 189
- .2byte SPECIES_WHISCASH
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_ROCK_TOMB, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 190
- .2byte SPECIES_AGGRON
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x11 @ team flags
- .2byte MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 191
- .2byte SPECIES_CACTURNE
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x63 @ team flags
- .2byte MOVE_DYNAMIC_PUNCH, MOVE_COUNTER, MOVE_FAINT_ATTACK, MOVE_GIGA_DRAIN
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 192
- .2byte SPECIES_SHARPEDO
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x01 @ team flags
- .2byte MOVE_CRUNCH, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_SWAGGER
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 193
- .2byte SPECIES_ABSOL
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x82 @ team flags
- .2byte MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_SWORDS_DANCE, MOVE_QUICK_ATTACK
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 194
- .2byte SPECIES_WAILORD
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x23 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_FISSURE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 195
- .2byte SPECIES_TENTACRUEL
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x21 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_MIRROR_COAT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 196
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0xA2 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_TOXIC, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 197
- .2byte SPECIES_WOBBUFFET
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x23 @ team flags
- .2byte MOVE_ENCORE, MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 198
- .2byte SPECIES_RHYDON
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x21 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_MEGAHORN, MOVE_HORN_DRILL, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 199
- .2byte SPECIES_GLALIE
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x21 @ team flags
- .2byte MOVE_CRUNCH, MOVE_BLIZZARD, MOVE_HAIL, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 200
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x13 @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 201
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x17 @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_ROCK_TOMB, MOVE_ENDURE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 202
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x17 @ team flags
- .2byte MOVE_SURF, MOVE_EARTHQUAKE, MOVE_MUD_SHOT, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 203
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x19 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_DESTINY_BOND, MOVE_WILL_O_WISP
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 204
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0xF6 @ team flags
- .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_BRICK_BREAK, MOVE_SLUDGE_BOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 205
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_GANLON_BERRY
- .byte 0x1B @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_REFLECT, MOVE_RECOVER
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 206
- .2byte SPECIES_SHIFTRY
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x89 @ team flags
- .2byte MOVE_FAINT_ATTACK, MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_REST
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 207
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x85 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FAKE_OUT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 208
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x49 @ team flags
- .2byte MOVE_ATTRACT, MOVE_CONFUSE_RAY, MOVE_BITE, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 209
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x15 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 210
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ROAR, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 211
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x27 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_MIRROR_COAT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 212
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x05 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 213
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x4D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 214
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x1B @ team flags
- .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_RECOVER, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 215
- .2byte SPECIES_DODRIO
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x2B @ team flags
- .2byte MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_AGILITY, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 216
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x0A @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_REVERSAL, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 217
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_SURF, MOVE_CROSS_CHOP, MOVE_ICE_BEAM, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 218
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x54 @ team flags
- .2byte MOVE_MEGAHORN, MOVE_ROCK_TOMB, MOVE_ENDURE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 219
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x06 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 220
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x1D @ team flags
- .2byte MOVE_SURF, MOVE_TOXIC, MOVE_PROTECT, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 221
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x9C @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 222
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x15 @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 223
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0xB5 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_FOCUS_PUNCH, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 224
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x96 @ team flags
- .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_DOUBLE_TEAM, MOVE_REST
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 225
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x94 @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 226
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x96 @ team flags
- .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_REST, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 227
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x95 @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_REFLECT, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 228
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x96 @ team flags
- .2byte MOVE_SURF, MOVE_TOXIC, MOVE_RECOVER, MOVE_MIRROR_COAT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 229
- .2byte SPECIES_SLAKING
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 230
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x1F @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM, MOVE_LEECH_SEED, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 231
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x17 @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_REST
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 232
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x17 @ team flags
- .2byte MOVE_MUDDY_WATER, MOVE_MUD_SHOT, MOVE_MIRROR_COAT, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 233
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x7B @ team flags
- .2byte MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_DESTINY_BOND, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 234
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x56 @ team flags
- .2byte MOVE_SPORE, MOVE_COUNTER, MOVE_IRON_TAIL, MOVE_GIGA_DRAIN
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 235
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x0A @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_RECOVER
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 236
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_ROCK_TOMB, MOVE_ENDURE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 237
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x0C @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 238
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x49 @ team flags
- .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_ATTRACT, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 239
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x15 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_EARTHQUAKE, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 240
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x63 @ team flags
- .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_REST, MOVE_CRUNCH
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 241
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x07 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_SCREECH, MOVE_MIRROR_COAT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MODEST
- .2byte 0 @ padding
-
-@ 242
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x45 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_ROCK_TOMB, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 243
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x4D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 244
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x1B @ team flags
- .2byte MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_REST
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 245
- .2byte SPECIES_NINETALES
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_OVERHEAT, MOVE_FLAMETHROWER, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 246
- .2byte SPECIES_GOLEM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x25 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ROAR, MOVE_FIRE_BLAST, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 247
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x27 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_CROSS_CHOP, MOVE_BLIZZARD, MOVE_PSYCH_UP
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 248
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x55 @ team flags
- .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 249
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x36 @ team flags
- .2byte MOVE_SURF, MOVE_BLIZZARD, MOVE_ROCK_SLIDE, MOVE_SHEER_COLD
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 250
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x5C @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_PROTECT, MOVE_DRAGON_BREATH, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 251
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x9D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 252
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x15 @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 253
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x95 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_FACADE, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 254
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x96 @ team flags
- .2byte MOVE_BLIZZARD, MOVE_THUNDERBOLT, MOVE_HAIL, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 255
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x94 @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 256
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x96 @ team flags
- .2byte MOVE_MIST_BALL, MOVE_REFLECT, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 257
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x95 @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 258
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0xD6 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 259
- .2byte SPECIES_KECLEON
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x69 @ team flags
- .2byte MOVE_TRICK, MOVE_REST, MOVE_IRON_TAIL, MOVE_DISABLE
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 260
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x5F @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_EARTHQUAKE, MOVE_REST, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 261
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x7F @ team flags
- .2byte MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_SWAGGER, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 262
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x57 @ team flags
- .2byte MOVE_IRON_TAIL, MOVE_CURSE, MOVE_DOUBLE_TEAM, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 263
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x3B @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_REST, MOVE_IMPRISON
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 264
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x56 @ team flags
- .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_SLUDGE_BOMB, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 265
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x1A @ team flags
- .2byte MOVE_PSYCHIC, MOVE_TRICK, MOVE_RECOVER, MOVE_SNATCH
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 266
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x65 @ team flags
- .2byte MOVE_REVENGE, MOVE_COUNTER, MOVE_FOCUS_PUNCH, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 267
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x54 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_TOXIC, MOVE_SURF
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 268
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x4B @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_BITE, MOVE_AIR_CUTTER, MOVE_SHADOW_BALL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 269
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x75 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_DYNAMIC_PUNCH, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 270
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 271
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x64 @ team flags
- .2byte MOVE_THUNDER, MOVE_DOUBLE_TEAM, MOVE_MIRROR_COAT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 272
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x49 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_PUNCH
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 273
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0xCD @ team flags
- .2byte MOVE_PROTECT, MOVE_DIG, MOVE_TOXIC, MOVE_SANDSTORM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 274
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x5B @ team flags
- .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_BLIZZARD, MOVE_PSYCHIC
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 275
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x1A @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_LEECH_SEED, MOVE_DIVE, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 276
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x4A @ team flags
- .2byte MOVE_THUNDER, MOVE_REVERSAL, MOVE_FACADE, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 277
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_SURF, MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 278
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x15 @ team flags
- .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 279
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x26 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_FISSURE, MOVE_SHEER_COLD
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 280
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x4D @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_BLIZZARD, MOVE_HYPER_BEAM, MOVE_DISABLE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 281
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x9C @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FIRE_BLAST, MOVE_HYDRO_PUMP
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 282
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0xB5 @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_PURSUIT, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 283
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x95 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SUPERPOWER, MOVE_REST
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 284
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_LAX_INCENSE
- .byte 0x96 @ team flags
- .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_ANCIENT_POWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 285
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0xB4 @ team flags
- .2byte MOVE_CURSE, MOVE_AMNESIA, MOVE_RETURN, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 286
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x92 @ team flags
- .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 287
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x91 @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_SURF
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 288
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0xB2 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 289
- .2byte SPECIES_SLAKING
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x65 @ team flags
- .2byte MOVE_YAWN, MOVE_SLASH, MOVE_COUNTER, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 290
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0xDF @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_DETECT, MOVE_DRAGON_CLAW, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 291
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0xD7 @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_SKY_UPPERCUT, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 292
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x5F @ team flags
- .2byte MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 293
- .2byte SPECIES_SHEDINJA
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0xDB @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 294
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x94 @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 295
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_MACHO_BRACE
- .byte 0x4B @ team flags
- .2byte MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_TRICK, MOVE_REFLECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 296
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x92 @ team flags
- .2byte MOVE_MIST_BALL, MOVE_RECOVER, MOVE_ATTRACT, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 297
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x91 @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 298
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x1A @ team flags
- .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 299
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x14 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_ROCK_TOMB, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
diff --git a/data/battle_tower/trainers.inc b/data/battle_tower/trainers.inc
deleted file mode 100644
index 05fadc320..000000000
--- a/data/battle_tower/trainers.inc
+++ /dev/null
@@ -1,1301 +0,0 @@
- .align 2
-gBattleTowerTrainers:: @ 8402F00
-@ 0
- .byte TRAINER_CLASS_YOUNGSTER
- .string "ALVIN$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word READY
- ec_word QUES
- ec_word HERE_I_COME
- ec_word EXCL
-
-@ 1
- .byte TRAINER_CLASS_BIRD_KEEPER
- .string "DIRK$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word OKAY
- ec_word I_AM
- ec_word GOING
- ec_word FOR
- ec_word IT
- ec_word EXCL
-
-@ 2
- .byte TRAINER_CLASS_LADY
- .string "CYBIL$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word A
- ec_word PUSHOVER
- ec_word LET_S
- ec_word GET
- ec_word GOING
-
-@ 3
- .byte TRAINER_CLASS_BLACK_BELT
- .string "CHEN$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word SPIRIT
- ec_word IS
- ec_word ENOUGH
- ec_word SNORT
- ec_word ARRGH
-
-@ 4
- .byte TRAINER_CLASS_NINJA_BOY
- .string "YOSHI$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GO
- ec_word MY
- ec_word POKEMON
- ec_word FIGHT
- ec_word THE
- ec_word BATTLE
-
-@ 5
- .byte TRAINER_CLASS_SCHOOL_KID_F
- .string "TINA$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word STUDY
- ec_word IS
- ec_word BORING
- ec_word LET_S
- ec_word BATTLE
- ec_word NOW
-
-@ 6
- .byte TRAINER_CLASS_BUG_MANIAC
- .string "COREY$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HEY
- ec_word I
- ec_word WILL
- ec_move2 TRANSFORM
- ec_word FOR
- ec_move1 STRENGTH
-
-@ 7
- .byte TRAINER_CLASS_FISHERMAN
- .string "GORDON$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word NEED
- ec_word A
- ec_word VACATION
- ec_word RIGHT
- ec_word NOW
-
-@ 8
- .byte TRAINER_CLASS_TUBER_F
- .string "ANN$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WE
- ec_word ALL
- ec_word ADORE
- ec_word POKEMON
- ec_word ABSOLUTELY
- ec_word TRULY
-
-@ 9
- .byte TRAINER_CLASS_POKEFAN_F
- .string "JULIA$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word A
- ec_word CUTE
- ec_word LADY
- ec_word YES
- ec_word I_AM
-
-@ 10
- .byte TRAINER_CLASS_GENTLEMAN
- .string "GREGORY$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word THINK
- ec_word WE
- ec_word SHOULD
- ec_word START
- ec_word TODAY
-
-@ 11
- .byte TRAINER_CLASS_CAMPER
- .string "KEITH$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word MY
- ec_word FRIEND
- ec_word FROM
- ec_word NOW
- ec_word ON
-
-@ 12
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_F
- .string "KENDRA$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_move1 SWIFT
- ec_word HOW
- ec_word ABOUT
- ec_word YOU
- ec_word QUES
-
-@ 13
- .byte TRAINER_CLASS_HIKER
- .string "DEV$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WAHAHAHA
- ec_word I_AM
- ec_word FEELING
- ec_word LIKE
- ec_word IT_S
- ec_move2 PAY_DAY
-
-@ 14
- .byte TRAINER_CLASS_BATTLE_GIRL
- .string "CASSIE$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word STRONG
- ec_word AREN_T
- .2byte -1
- ec_word YOU
- ec_word QUES
-
-@ 15
- .byte TRAINER_CLASS_PSYCHIC_M
- .string "JULIAN$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word FUFUFU
- .2byte -1
- ec_word YOU
- ec_word CAN_T
- ec_word WIN
- ec_word KID
-
-@ 16
- .byte TRAINER_CLASS_LASS
- .string "JOYCE$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BE
- ec_word KIND
- ec_word TO
- ec_word THE
- ec_word DIGITAL
- ec_word IDOL
-
-@ 17
- .byte TRAINER_CLASS_GUITARIST
- .string "LES$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word GREAT
- ec_word YOU_RE
- ec_word JUST
- ec_word RATHER
- ec_word OKAY
-
-@ 18
- .byte TRAINER_CLASS_RICH_BOY
- .string "CLINTON$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word HAVE
- ec_word ROUGH_SKIN
- ec_word I
- ec_word NEED
- ec_word NATURAL_CURE
-
-@ 19
- .byte TRAINER_CLASS_BUG_CATCHER
- .string "LEWIS$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THIS
- ec_word IS
- ec_word EXCITING
- ec_word CAN
- ec_word I
- ec_word WIN
-
-@ 20
- .byte TRAINER_CLASS_PICNICKER
- .string "RACHAEL$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word LIKE
- ec_word WALKING
- ec_word WITH
- ec_word MY
- ec_word POKEMON
-
-@ 21
- .byte TRAINER_CLASS_COLLECTOR
- .string "HAROLD$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HERE
- ec_word THEY
- ec_word COME
- ec_word MY
- ec_move2 SUPERPOWER
- ec_word POKEMON
-
-@ 22
- .byte TRAINER_CLASS_TUBER_M
- .string "KIPP$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word A
- ec_word GENIUS
- ec_word I
- ec_word SHOULD
- ec_word WIN
-
-@ 23
- .byte TRAINER_CLASS_KINDLER
- .string "IRWIN$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU
- ec_word WILL
- ec_word BE
- ec_word FEELING
- ec_word MY
- ec_word FIRE
-
-@ 24
- .byte TRAINER_CLASS_PSYCHIC_F
- .string "EILEEN$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word WILL
- ec_move1 ASTONISH
- ec_word YOU
- ec_word IN
- ec_word BATTLE
-
-@ 25
- .byte TRAINER_CLASS_SWIMMER_F
- .string "ANNE$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word SORRY
- ec_word BUT
- ec_word YOU
- ec_word WILL
- ec_word NOT
- ec_word WIN
-
-@ 26
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_F
- .string "RUTH$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word A
- ec_word STRONG
- ec_word GIRL
- ec_word WANTS
- ec_word TOUGH
- ec_word POKEMON
-
-@ 27
- .byte TRAINER_CLASS_POKEMANIAC
- .string "JEREMY$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word POKEMON
- ec_word ARE
- ec_word COOL
- ec_word YOURS
- ec_word CAN_T_WIN
-
-@ 28
- .byte TRAINER_CLASS_SAILOR
- .string "TREVOR$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word OPPONENT
- ec_word IS
- ec_word FINALLY
- ec_word HERE
- ec_word EXCELLENT
-
-@ 29
- .byte TRAINER_CLASS_POKEMON_BREEDER_F
- .string "COLETTE$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word AM
- ec_word HUNGRY
- ec_move2 POUND
- ec_word MY
- ec_move2 BELLY_DRUM
-
-@ 30
- .byte TRAINER_CLASS_HEX_MANIAC
- .string "PAULA$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT_S
- ec_word HARD
- ec_word TO
- ec_word TAKE
- ec_word UGLY
- ec_move1 SPITE
-
-@ 31
- .byte TRAINER_CLASS_RUIN_MANIAC
- .string "STANLY$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ADVENTURE
- ec_word AND
- ec_word BATTLE
- ec_word ARE
- ec_word MY
- ec_word LIKES
-
-@ 32
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M
- .string "TROY$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU
- ec_word CAN_T
- ec_word LOSE
- ec_word TO
- ec_word A
- ec_word KID
-
-@ 33
- .byte TRAINER_CLASS_SCHOOL_KID_M
- .string "ED$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word POKEMON
- ec_word DAILY
- ec_word AT
- ec_word SCHOOL
- ec_word IT_S
- ec_word AWESOME
-
-@ 34
- .byte TRAINER_CLASS_POKEMON_RANGER_F
- .string "ELLEN$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word KIND
- ec_word TO
- ec_word YOUR
- ec_word POKEMON
-
-@ 35
- .byte TRAINER_CLASS_SWIMMER_M
- .string "ARNIE$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word BATTLE
- ec_word SERIOUSLY
- ec_word BEAUTIFUL
- ec_word YOU
- ec_move1 DIG
-
-@ 36
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_M
- .string "HAL$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BOY
- ec_word I_AM
- ec_word TIRED
- ec_word READY
- ec_word FOR
- ec_word SLEEP
-
-@ 37
- .byte TRAINER_CLASS_BEAUTY
- .string "LAUREN$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word A
- ec_word TRAINER
- ec_word LIKE
- ec_word YOU
- ec_word IS
- ec_word EXCITING
-
-@ 38
- .byte TRAINER_CLASS_AROMA_LADY
- .string "STACY$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HAVE
- ec_word YOU
- ec_word A
- ec_word STENCH
- ec_word OR
- ec_move1 SWEET_SCENT
-
-@ 39
- .byte TRAINER_CLASS_COLLECTOR
- .string "DARYL$", 8
- .byte 0x81 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOUR
- ec_word POKEMON
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word I
- ec_word WANT
- ec_word IT
-
-@ 40
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_F
- .string "KATHY$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word WILL
- ec_word TRY
- ec_word MY
- ec_word BEST
- ec_word TODAY
-
-@ 41
- .byte TRAINER_CLASS_POKEMON_RANGER_M
- .string "HARRIS$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WAAAH
- ec_word WAAAH
- ec_word WAAAH
- ec_word WAAAH
- ec_word EHEHE
- ec_move1 FAKE_TEARS
-
-@ 42
- .byte TRAINER_CLASS_POKEFAN_M
- .string "GLENN$", 8
- .byte 0x80 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word LISTEN
- ec_word TO
- ec_word MY
- ec_word LOUSY
- ec_word ANIME
- ec_word SONG
-
-@ 43
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_M
- .string "NICO$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word DON_T
- ec_word JUST
- ec_word BATTLE
- ec_word DO
- ec_word SOMETHING
- ec_word ELSE
-
-@ 44
- .byte TRAINER_CLASS_POKEMON_BREEDER_M
- .string "BAILEY$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word BUSY
- ec_word GET
- ec_word WITH
- ec_word IT
-
-@ 45
- .byte TRAINER_CLASS_PARASOL_LADY
- .string "ABBIE$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THE
- ec_move1 MORNING_SUN
- ec_word HAS
- ec_word SO
- ec_word MUCH
- ec_move1 COSMIC_POWER
-
-@ 46
- .byte TRAINER_CLASS_CAMPER
- .string "AL$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word LET_S
- ec_word HAVE
- ec_word AN
- ec_word EXCITING
- ec_word BATTLE
- ec_word YEEHAW_EXCL
-
-@ 47
- .byte TRAINER_CLASS_SCHOOL_KID_F
- .string "PEGGY$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word WANT
- ec_word TO
- ec_word SEE
- ec_word SOME
- ec_move1 GROWTH
-
-@ 48
- .byte TRAINER_CLASS_BEAUTY
- .string "NAOMI$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT
- ec_word WAS
- ec_word GREAT
- ec_word TO
- ec_word BE
- ec_word YOUNG
-
-@ 49
- .byte TRAINER_CLASS_NINJA_BOY
- .string "KENJI$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word PLEASE
- .2byte -1
- ec_word DON_T
- ec_word BE
- ec_word MEAN
- ec_word TO_ME
-
-@ 50
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_M
- .string "ROSS$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WAKE_UP
- ec_word MY
- ec_move2 HIDDEN_POWER
- ec_word AND
- ec_move1 ASTONISH
- ec_word ME
-
-@ 51
- .byte TRAINER_CLASS_POKEMON_RANGER_F
- .string "EDNA$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BATTLE_TOWER
- ec_word IS
- ec_word SO
- ec_word ENTERTAINING
- ec_word IT_S
- ec_word AWESOME
-
-@ 52
- .byte TRAINER_CLASS_RUIN_MANIAC
- .string "ANTON$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BLEND
- ec_word THICK_FAT
- ec_word AND
- ec_word CHLOROPHYLL
- ec_word IT_S
- ec_word TASTY
-
-@ 53
- .byte TRAINER_CLASS_SWIMMER_M
- .string "MITCH$", 8
- .byte 0x81 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word NEXT
- ec_word A
- ec_word GIRL
- ec_word WITH
- ec_word A
- ec_move1 SCARY_FACE
-
-@ 54
- .byte TRAINER_CLASS_HEX_MANIAC
- .string "ROD$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GIMME
- ec_word A
- ec_word TOUGH
- ec_word BATTLE
- ec_word NOT
- ec_word WIMPY
-
-@ 55
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_M
- .string "RICH$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TASTY
- ec_word WATER
- ec_word IS
- ec_word HIP_AND
- ec_word HAPPENING
- ec_word YES_SIR_EXCL
-
-@ 56
- .byte TRAINER_CLASS_POKEFAN_M
- .string "DANIEL$", 8
- .byte 0x80 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GO
- ec_word FOR
- ec_word IT
- ec_word MY
- ec_word LOVEY_DOVEY
- ec_word POKEMON
-
-@ 57
- .byte TRAINER_CLASS_PSYCHIC_F
- .string "GLORIA$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word LET_S
- ec_word GET
- ec_word THIS
- ec_word FIERY
- ec_word BATTLE
- ec_word HAPPENING
-
-@ 58
- .byte TRAINER_CLASS_GUITARIST
- .string "NELSON$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MUSIC
- ec_word IS
- ec_word MY
- ec_word ALL
- ec_word MY
- ec_word DESTINY
-
-@ 59
- .byte TRAINER_CLASS_KINDLER
- .string "FERRIS$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GOOD
- ec_word IT
- ec_word IS
- ec_word SO
- ec_word VERY
- ec_word GOOD
-
-@ 60
- .byte TRAINER_CLASS_AROMA_LADY
- .string "AMANDA$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WHAT
- ec_word KIND
- ec_word OF
- ec_word TRAINER
- ec_word ARE
- ec_word YOU
-
-@ 61
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M
- .string "MASON$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word DON_T
- ec_word KNOW
- ec_word HOW
- ec_word TO
- ec_word LOSE
-
-@ 62
- .byte TRAINER_CLASS_DRAGON_TAMER
- .string "NATE$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word DRAGON
- ec_word POKEMON
- ec_word ARE
- ec_word ALL
- ec_word THE
- ec_move1 RAGE
-
-@ 63
- .byte TRAINER_CLASS_LASS
- .string "MIRIAM$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word TOO_STRONG
- ec_word SERIOUSLY
- ec_word IT_S
- ec_word BAD
- ec_word NEWS
-
-@ 64
- .byte TRAINER_CLASS_POKEMANIAC
- .string "THEO$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word ADORE
- ec_word MY
- ec_word MEGA
- ec_word CUTE
- ec_word PLUSH_DOLL
-
-@ 65
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_F
- .string "PAMELA$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HERE_I_COME
- ec_word I_AM
- ec_word THE
- ec_word CUTE
- ec_move2 WATER_SPORT
- ec_word IDOL
-
-@ 66
- .byte TRAINER_CLASS_POKEFAN_F
- .string "ALISSA$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT_S
- ec_word A
- ec_word PREPOSTEROUS
- ec_word MATCH
- ec_word I_AM
- ec_word SHOCKED
-
-@ 67
- .byte TRAINER_CLASS_GENTLEMAN
- .string "ARTHUR$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word PLEASE
- ec_word GIVE
- ec_word ME
- ec_word A
- ec_word GOOD
- ec_word BATTLE
-
-@ 68
- .byte TRAINER_CLASS_SWIMMER_F
- .string "MARCY$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word BEAUTIFUL
- ec_word YOU
- ec_word CAN_T
- ec_word BEAT
- ec_word ME
-
-@ 69
- .byte TRAINER_CLASS_COOL_TRAINER_M
- .string "MILLER$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word BATTLE
- ec_word DAILY
- ec_word I
- ec_word WON_T
- ec_word LOSE
-
-@ 70
- .byte TRAINER_CLASS_BIRD_KEEPER
- .string "OLIVER$", 8
- .byte 0x11 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word GIGGLE
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- .2byte -1
- .2byte -1
- .2byte -1
-
-@ 71
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_F
- .string "MOLLY$", 8
- .byte 0x12 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HOW
- ec_word ARE
- ec_word YOU
- ec_word ON
- ec_word MONDAY
- ec_word MORNING
-
-@ 72
- .byte TRAINER_CLASS_BUG_MANIAC
- .string "JASON$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WATER
- ec_word AND
- ec_word BUG
- ec_word POKEMON
- ec_word ARE
- ec_word GREAT
-
-@ 73
- .byte TRAINER_CLASS_BATTLE_GIRL
- .string "AVA$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WHAT
- ec_word IS
- ec_word THIS
- ec_word PRESSURE
- ec_word ELLIPSIS
- ec_word STATIC
-
-@ 74
- .byte TRAINER_CLASS_FISHERMAN
- .string "HANK$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word A
- ec_word KID
- ec_word YOU
- ec_word CAN_T
- ec_word WIN
-
-@ 75
- .byte TRAINER_CLASS_SAILOR
- .string "PETER$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT_S
- ec_word SERIOUSLY
- ec_word TERRIBLE
- ec_word I
- ec_word REALLY
- ec_word THINK
-
-@ 76
- .byte TRAINER_CLASS_EXPERT_F
- .string "MINDY$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU
- ec_word APPEAR
- ec_word TO
- ec_word TRAIN
- ec_word VERY
- ec_word WELL
-
-@ 77
- .byte TRAINER_CLASS_BUG_MANIAC
- .string "DWIGHT$", 8
- .byte 0x11 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word STRONG
- ec_word YOU
- ec_word ARE
- ec_word SCARY
-
-@ 78
- .byte TRAINER_CLASS_POKEMON_BREEDER_F
- .string "REENA$", 8
- .byte 0x12 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word ALWAYS
- ec_word LOSE
- ec_word MAYBE
- ec_word TODAY
- ec_word ELLIPSIS
-
-@ 79
- .byte TRAINER_CLASS_PARASOL_LADY
- .string "MEGAN$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word DON_T
- ec_word MAKE
- ec_word THAT
- ec_move1 SCARY_FACE
- ec_word AT
- ec_word ME
-
-@ 80
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_F
- .string "SIERRA$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_VE
- ec_word RUN
- ec_word A_LOT
- ec_word SO
- ec_word I_AM
- ec_word HEALTHY
-
-@ 81
- .byte TRAINER_CLASS_POKEMON_RANGER_M
- .string "ARNOLD$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word FEELING
- ec_word AWESOME
- ec_word MY
- ec_word POKEMON
- ec_word ROCK
-
-@ 82
- .byte TRAINER_CLASS_BLACK_BELT
- .string "XIN$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HOO_HAH
- ec_word ARE
- ec_word YOU
- ec_word READY
- ec_word TO
- ec_word ROCK
-
-@ 83
- .byte TRAINER_CLASS_COOL_TRAINER_F
- .string "KELLY$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU
- ec_word COULDN_T
- ec_word BEAT
- ec_word ME
- ec_word EVER
- ec_word KID
-
-@ 84
- .byte TRAINER_CLASS_COLLECTOR
- .string "VANCE$", 8
- .byte 0x80 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word POKEMON
- ec_word ALL
- ec_word OVER
- ec_word THE
- ec_word PLACE
- ec_word WOWEE
-
-@ 85
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M
- .string "TOBY$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THIS
- ec_word ISN_T
- ec_word SPORTS
- ec_word IT_S
- ec_word A
- ec_word BATTLE
-
-@ 86
- .byte TRAINER_CLASS_GENTLEMAN
- .string "NORTON$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word HAVE
- ec_word TO
- ec_word WIN
- ec_word PLEASE
- ec_word LOSE
-
-@ 87
- .byte TRAINER_CLASS_BATTLE_GIRL
- .string "ZOE$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THIS
- ec_word IS
- ec_word SCARY
- ec_word PLEASE
- ec_word BE
- ec_word NICE
-
-@ 88
- .byte TRAINER_CLASS_BEAUTY
- .string "EMMA$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word DON_T
- ec_word YOU
- ec_move1 FLAIL
- ec_word YOU
- ec_word CAN_T
- ec_move1 WITHDRAW
-
-@ 89
- .byte TRAINER_CLASS_HIKER
- .string "VINCE$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YAHOO
- ec_word YAHOO
- ec_word ARE
- ec_word YOU
- ec_word LISTENING
- ec_word QUES
-
-@ 90
- .byte TRAINER_CLASS_EXPERT_M
- .string "MARV$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word LEARN
- ec_word TO
- ec_word BATTLE
- ec_word THE
- ec_word CORRECT
- ec_word WAY
-
-@ 91
- .byte TRAINER_CLASS_POKEMON_BREEDER_M
- .string "TODD$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THE
- ec_word WAY
- ec_word YOU
- ec_word BATTLE
- ec_word IT_S
- ec_word CHILD_S_PLAY
-
-@ 92
- .byte TRAINER_CLASS_GUITARIST
- .string "GAVIN$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BABY
- ec_word BABY
- ec_word BABY
- ec_word ROCK
- ec_word ME
- ec_word HARD
-
-@ 93
- .byte TRAINER_CLASS_PSYCHIC_M
- .string "QUINN$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word HAVE
- ec_word A
- ec_word STICKY_HOLD
- ec_word ON
- ec_word YOU
-
-@ 94
- .byte TRAINER_CLASS_COOL_TRAINER_F
- .string "JENN$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word ON
- ec_word A
- ec_word TOUGH
- ec_word TRAINER
- ec_word SEARCH
-
-@ 95
- .byte TRAINER_CLASS_EXPERT_M
- .string "JOEL$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BELIEVE
- ec_word IN
- ec_word YOUR
- ec_word POKEMON
- ec_word AND
- ec_word WIN
-
-@ 96
- .byte TRAINER_CLASS_DRAGON_TAMER
- .string "KYLE$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word LIKE
- ec_word A
- ec_word GIRL
- ec_word WITH
- ec_move2 FORESIGHT
-
-@ 97
- .byte TRAINER_CLASS_COOL_TRAINER_M
- .string "BRET$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TAKE
- ec_word MY
- ec_word OVERWHELMING
- ec_word POWER
- ec_word AND
- ec_word DISAPPEAR
-
-@ 98
- .byte TRAINER_CLASS_EXPERT_F
- .string "CARRIE$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TRAINER
- ec_word I
- ec_word SEE
- ec_word YOU
- ec_word ARE
- ec_word CAPABLE
-
-@ 99
- .byte TRAINER_CLASS_LADY
- .string "GILLIAN$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word COME_ON
- ec_word SHOW
- ec_word ME
- ec_word AN
- ec_word EXCELLENT
- ec_word TIME
diff --git a/data/scripts/maps/BattleTower_BattleRoom.inc b/data/scripts/maps/BattleTower_BattleRoom.inc
index 3f1aad4a0..dbab17a8b 100644
--- a/data/scripts/maps/BattleTower_BattleRoom.inc
+++ b/data/scripts/maps/BattleTower_BattleRoom.inc
@@ -16,7 +16,7 @@ BattleTower_BattleRoom_EventScript_1608FA:: @ 81608FA
addobject 1
applymovement 1, BattleTower_BattleRoom_Movement_160AC0
waitmovement 0
- special sub_8135474
+ special PrintBattleTowerTrainerGreeting
msgbox 0x20234cc, 4
waitmessage
closemessage
@@ -116,7 +116,7 @@ BattleTower_BattleRoom_EventScript_160A94:: @ 8160A94
BattleTower_BattleRoom_EventScript_160AB1:: @ 8160AB1
fadescreen 1
- special sub_8135C38
+ special BattleTower_SoftReset
end
BattleTower_BattleRoom_Movement_160AB7:: @ 8160AB7
diff --git a/data/scripts/maps/BattleTower_Lobby.inc b/data/scripts/maps/BattleTower_Lobby.inc
index 3227df991..75d4f8731 100644
--- a/data/scripts/maps/BattleTower_Lobby.inc
+++ b/data/scripts/maps/BattleTower_Lobby.inc
@@ -79,7 +79,7 @@ BattleTower_Lobby_EventScript_160342:: @ 8160342
special sub_81358A4
compare RESULT, 6
goto_if_eq BattleTower_Lobby_EventScript_16037D
- special sub_8135E50
+ special AwardBattleTowerRibbons
compare RESULT, 0
goto_if_eq BattleTower_Lobby_EventScript_16037D
message BattleTower_Lobby_Text_19A6BE
@@ -97,7 +97,7 @@ BattleTower_Lobby_EventScript_16037D:: @ 816037D
waitmessage
setvar 0x8004, 13
special sub_8135668
- special sub_8135D84
+ special DetermineBattleTowerPrize
setvar 0x8004, 3
special sub_8135BA0
playse 55
@@ -109,7 +109,7 @@ BattleTower_Lobby_EventScript_1603AD:: @ 81603AD
special sub_8135668
message BattleTower_Lobby_Text_19A4BB
waitmessage
- special sub_8135DEC
+ special GiveBattleTowerPrize
switch RESULT
case 0, BattleTower_Lobby_EventScript_160408
message BattleTower_Lobby_Text_19A506
diff --git a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
index 66ad747f9..cef02df2c 100644
--- a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
+++ b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
@@ -5,7 +5,7 @@ MossdeepCity_GameCorner_1F_MapScripts:: @ 815AC52
.byte 0
MossdeepCity_GameCorner_1F_MapScript1_15AC62:: @ 815AC62
- special sub_813601C
+ special ValidateEReaderTrainer
compare RESULT, 1
call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AC71
end
@@ -16,7 +16,7 @@ MossdeepCity_GameCorner_1F_EventScript_15AC71:: @ 815AC71
return
MossdeepCity_GameCorner_1F_MapScript1_15AC84:: @ 815AC84
- special sub_813601C
+ special ValidateEReaderTrainer
compare RESULT, 0
call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AC9E
compare 0x40c0, 0
diff --git a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
index 886c64d29..11b3ce7a3 100644
--- a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
+++ b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
@@ -4,7 +4,7 @@ MossdeepCity_GameCorner_B1F_MapScripts:: @ 815AE55
.byte 0
MossdeepCity_GameCorner_B1F_MapScript1_15AE60:: @ 815AE60
- special sub_8134AB4
+ special SetEReaderTrainerGfxId
end
MossdeepCity_GameCorner_B1F_MapScript2_15AE64:: @ 815AE64
@@ -15,7 +15,7 @@ MossdeepCity_GameCorner_B1F_EventScript_15AE6E:: @ 815AE6E
lockall
applymovement 255, MossdeepCity_GameCorner_B1F_Movement_15AEF9
waitmovement 0
- special sub_81360C0
+ special PrintEReaderTrainerGreeting
msgbox 0x20234cc, 4
closemessage
setvar 0x8004, 2
diff --git a/data/specials.inc b/data/specials.inc
index c11cedf00..0b3648c4a 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -241,19 +241,19 @@ gSpecials::
def_special sub_8134548
def_special sub_81347F8
def_special CheckPartyBattleTowerBanlist
- def_special sub_8135474
- def_special sub_81360C0
+ def_special PrintBattleTowerTrainerGreeting
+ def_special PrintEReaderTrainerGreeting
def_special sub_813556C
def_special sub_8135668
def_special sub_81358A4
def_special sub_8135A14
def_special sub_8135BA0
- def_special sub_8135C38
- def_special sub_8135D84
- def_special sub_8135DEC
- def_special sub_8135E50
+ def_special BattleTower_SoftReset
+ def_special DetermineBattleTowerPrize
+ def_special GiveBattleTowerPrize
+ def_special AwardBattleTowerRibbons
def_special ChooseBattleTowerPlayerParty
- def_special sub_813601C
+ def_special ValidateEReaderTrainer
def_special sub_810F404
def_special ReducePlayerPartyToThree
def_special BedroomPC
@@ -329,7 +329,7 @@ gSpecials::
def_special sp13F_fall_to_last_warp
def_special ShowContestEntryMonPic
def_special sub_80C5164
- def_special sub_8134AB4
+ def_special SetEReaderTrainerGfxId
def_special ScrSpecial_StartSouthernIslandBattle
def_special SetRoute119Weather
def_special SetRoute123Weather
diff --git a/include/battle_tower.h b/include/battle_tower.h
index 75ea405ab..8f179a68c 100644
--- a/include/battle_tower.h
+++ b/include/battle_tower.h
@@ -1,8 +1,102 @@
#ifndef GUARD_BATTLE_TOWER_H
#define GUARD_BATTLE_TOWER_H
-void sub_8134AC0(void *);
+#define BATTLE_TOWER_EREADER_TRAINER_ID 200
+#define BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID 100
+
+enum
+{
+ F_EV_SPREAD_HP = 1 << 0,
+ F_EV_SPREAD_ATTACK = 1 << 1,
+ F_EV_SPREAD_DEFENSE = 1 << 2,
+ F_EV_SPREAD_SPEED = 1 << 3,
+ F_EV_SPREAD_SP_ATTACK = 1 << 4,
+ F_EV_SPREAD_SP_DEFENSE = 1 << 5,
+};
+
+enum
+{
+ BATTLE_TOWER_ITEM_NONE,
+ BATTLE_TOWER_ITEM_KINGS_ROCK,
+ BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ BATTLE_TOWER_ITEM_ORAN_BERRY,
+ BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ BATTLE_TOWER_ITEM_HARD_STONE,
+ BATTLE_TOWER_ITEM_FOCUS_BAND,
+ BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ BATTLE_TOWER_ITEM_BERRY_JUICE,
+ BATTLE_TOWER_ITEM_MACHO_BRACE,
+ BATTLE_TOWER_ITEM_SILVER_POWDER,
+ BATTLE_TOWER_ITEM_CHERI_BERRY,
+ BATTLE_TOWER_ITEM_BLACK_GLASSES,
+ BATTLE_TOWER_ITEM_BLACK_BELT,
+ BATTLE_TOWER_ITEM_SOUL_DEW,
+ BATTLE_TOWER_ITEM_CHOICE_BAND,
+ BATTLE_TOWER_ITEM_MAGNET,
+ BATTLE_TOWER_ITEM_SILK_SCARF,
+ BATTLE_TOWER_ITEM_WHITE_HERB,
+ BATTLE_TOWER_ITEM_DEEP_SEA_SCALE,
+ BATTLE_TOWER_ITEM_DEEP_SEA_TOOTH,
+ BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ BATTLE_TOWER_ITEM_SHARP_BEAK,
+ BATTLE_TOWER_ITEM_QUICK_CLAW,
+ BATTLE_TOWER_ITEM_LEFTOVERS,
+ BATTLE_TOWER_ITEM_RAWST_BERRY,
+ BATTLE_TOWER_ITEM_LIGHT_BALL,
+ BATTLE_TOWER_ITEM_POISON_BARB,
+ BATTLE_TOWER_ITEM_NEVER_MELT_ICE,
+ BATTLE_TOWER_ITEM_ASPEAR_BERRY,
+ BATTLE_TOWER_ITEM_SPELL_TAG,
+ BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ BATTLE_TOWER_ITEM_SCOPE_LENS,
+ BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ BATTLE_TOWER_ITEM_METAL_COAT,
+ BATTLE_TOWER_ITEM_MENTAL_HERB,
+ BATTLE_TOWER_ITEM_CHARCOAL,
+ BATTLE_TOWER_ITEM_PECHA_BERRY,
+ BATTLE_TOWER_ITEM_SOFT_SAND,
+ BATTLE_TOWER_ITEM_LUM_BERRY,
+ BATTLE_TOWER_ITEM_DRAGON_SCALE,
+ BATTLE_TOWER_ITEM_DRAGON_FANG,
+ BATTLE_TOWER_ITEM_IAPAPA_BERRY,
+ BATTLE_TOWER_ITEM_WIKI_BERRY,
+ BATTLE_TOWER_ITEM_SEA_INCENSE,
+ BATTLE_TOWER_ITEM_SHELL_BELL,
+ BATTLE_TOWER_ITEM_SALAC_BERRY,
+ BATTLE_TOWER_ITEM_LANSAT_BERRY,
+ BATTLE_TOWER_ITEM_APICOT_BERRY,
+ BATTLE_TOWER_ITEM_STARF_BERRY,
+ BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ BATTLE_TOWER_ITEM_STICK,
+ BATTLE_TOWER_ITEM_LAX_INCENSE,
+ BATTLE_TOWER_ITEM_AGUAV_BERRY,
+ BATTLE_TOWER_ITEM_FIGY_BERRY,
+ BATTLE_TOWER_ITEM_THICK_CLUB,
+ BATTLE_TOWER_ITEM_MAGO_BERRY,
+ BATTLE_TOWER_ITEM_METAL_POWDER,
+ BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ BATTLE_TOWER_ITEM_LUCKY_PUNCH,
+ BATTLE_TOWER_ITEM_GANLON_BERRY,
+};
+
+struct BattleTowerPokemon
+{
+ /*0x00*/u16 species;
+ /*0x02*/u8 heldItem; // entry in sBattleTowerHeldItems
+ /*0x03*/u8 teamFlags;
+ /*0x04*/u16 moves[4];
+ /*0x0C*/u8 evSpread;
+ /*0x0D*/u8 nature;
+};
+
+u16 GetCurrentBattleTowerWinStreak(u8);
+void sub_8134AC0(struct BattleTowerRecord *);
u16 sub_8135D3C(u8);
-void sub_8135FF4(u8*);
+void SetEReaderTrainerName(u8*);
+u8 GetEReaderTrainerPicIndex(void);
+u8 GetEReaderTrainerClassNameIndex(void);
+void ValidateEReaderTrainer(void);
#endif // GUARD_BATTLE_TOWER_H
diff --git a/include/easy_chat.h b/include/easy_chat.h
index 8a820353f..b59adedd5 100644
--- a/include/easy_chat.h
+++ b/include/easy_chat.h
@@ -1080,6 +1080,7 @@ u8 sub_80EB868(u8);
void sub_80EB890(u8);
u8 sub_80EB8C0(void);
u16 sub_80EB8EC(void);
+u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3);
#if GERMAN
u32 de_sub_80EB748(u32, u32);
diff --git a/include/global.h b/include/global.h
index 7c1ac9c68..29804a5a9 100644
--- a/include/global.h
+++ b/include/global.h
@@ -681,10 +681,12 @@ struct SaveBlock1 /* 0x02025734 */
/*0x2B0D*/ u8 outbreakPokemonProbability;
/*0x2B0E*/ u16 outbreakUnk5;
/*0x2B10*/ struct GabbyAndTyData gabbyAndTyData;
- /*0x2B1C*/ u16 unk2B1C[6];
- /*0x2B28*/ u16 unk2B28[6];
- /*0x2B34*/ u16 unk2B34[6];
- /*0x2B40*/ u16 unk2B40[6];
+ /*0x2B1C*/ struct {
+ /*0x2B1C*/ u16 unk2B1C[6];
+ /*0x2B28*/ u16 unk2B28[6];
+ /*0x2B34*/ u16 unk2B34[6];
+ /*0x2B40*/ u16 unk2B40[6];
+ } easyChats;
/*0x2B4C*/ struct MailStruct mail[16];
/*0x2D8C*/ u8 unk2D8C[4];
/*0x2D90*/ u8 filler_2D90[0x4];
@@ -727,26 +729,74 @@ struct Pokedex
/*0x44*/ u8 seen[DEX_FLAGS_NO];
};
-struct SaveBlock2_Sub
+struct BattleTowerTrainer
{
- /*0x0000, 0x00A8*/ u8 filler_000[0x3D8];
- /*0x03D8, 0x0480*/ u16 var_480;
- /*0x03DA, 0x0482*/ u16 var_482;
- /*0x03DC, 0x0484*/ u8 filler_3DC[0x14];
- /*0x03F0, 0x0498*/ u8 ereaderTrainer[0xBC];
- /*0x04AC, 0x0554*/ u8 var_4AC;
- /*0x04AD, 0x0555*/ u8 var_4AD;
+ u8 trainerClass;
+ u8 name[8];
+ u8 teamFlags;
+ struct {
+ u16 easyChat[6];
+ } greeting;
+};
+
+struct BattleTowerRecord // record mixing
+{
+ /*0x00*/u8 battleTowerLevelType; // 0 = level 50, 1 = level 100
+ /*0x01*/u8 trainerClass;
+ /*0x02*/u16 winStreak;
+ /*0x04*/u8 name[8];
+ /*0x0C*/u8 trainerId[4];
+ /*0x10*/struct {
+ u16 easyChat[6];
+ } greeting;
+ /*0x1C*/struct UnknownPokemonStruct party[3];
+ /*0xA0*/u32 checksum;
+};
+
+struct BattleTowerEReaderTrainer
+{
+ /*0x00*/u8 unk0;
+ /*0x01*/u8 trainerClass;
+ /*0x02*/u16 winStreak;
+ /*0x04*/u8 name[8];
+ /*0x0C*/u8 trainerId[4];
+ /*0x10*/struct {
+ u16 easyChat[6];
+ } greeting;
+ /*0x1C*/struct {
+ u16 easyChat[6];
+ } farewellPlayerLost;
+ /*0x28*/struct {
+ u16 easyChat[6];
+ } farewellPlayerWon;
+ /*0x34*/struct UnknownPokemonStruct party[3];
+ /*0xB8*/u32 checksum;
+};
+
+struct BattleTowerData
+{
+ /*0x0000, 0x00A8*/ struct BattleTowerRecord playerRecord;
+ /*0x00A4, 0x014C*/ struct BattleTowerRecord records[5]; // from record mixing
+ /*0x03D8, 0x0480*/ u16 firstMonSpecies; // species of the first pokemon in the player's battle tower party
+ /*0x03DA, 0x0482*/ u16 defeatedBySpecies; // species of the pokemon that defated the player
+ /*0x03DC, 0x0484*/ u8 defeatedByTrainerName[8];
+ /*0x03E4, 0x048C*/ u8 firstMonNickname[POKEMON_NAME_LENGTH]; // nickname of the first pokemon in the player's battle tower party
+ /*0x03F0, 0x0498*/ struct BattleTowerEReaderTrainer ereaderTrainer;
+ /*0x04AC, 0x0554*/ u8 battleTowerLevelType:1; // 0 = level 50; 1 = level 100
+ /*0x04AC, 0x0554*/ u8 unk_554:1;
+ /*0x04AD, 0x0555*/ u8 battleOutcome;
/*0x04AE, 0x0556*/ u8 var_4AE[2];
- /*0x04B0, 0x0558*/ u16 var_4B0;
- /*0x04B2, 0x055A*/ u16 var_4B2;
- /*0x04B4, 0x055C*/ u16 var_4B4;
- /*0x04B6, 0x055E*/ u16 var_4B6;
- /*0x04B8, 0x0560*/ u16 recordWinStreak[2];
- /*0x04BC, 0x0564*/ u8 filler_4BC[0xC];
- /*0x04C8, 0x0570*/ u16 var_4C8;
- /*0x04CA, 0x0572*/ u16 var_4CA;
- /*0x04CC, 0x0574*/ u16 winStreak[2];
- /*0x04D0, 0x0578*/ u8 var_4D0;
+ /*0x04B0, 0x0558*/ u16 curChallengeBattleNum[2]; // 1-based index of battle in the current challenge. (challenges consist of 7 battles)
+ /*0x04B4, 0x055C*/ u16 curStreakChallengesNum[2]; // 1-based index of the current challenge in the current streak.
+ /*0x04B8, 0x0560*/ u16 recordWinStreaks[2];
+ /*0x04BC, 0x0564*/ u8 battleTowerTrainerId; // index for gBattleTowerTrainers table
+ /*0x04BD, 0x0565*/ u8 selectedPartyMons[0x3]; // indices of the 3 selected player party mons.
+ /*0x04C0, 0x0568*/ u16 prizeItem;
+ /*0x04C2, 0x056A*/ u8 filler_4C2[0x6];
+ /*0x04C8, 0x0570*/ u16 totalBattleTowerWins;
+ /*0x04CA, 0x0572*/ u16 bestBattleTowerWinStreak;
+ /*0x04CC, 0x0574*/ u16 currentWinStreaks[2];
+ /*0x04D0, 0x0578*/ u8 lastStreakLevelType; // 0 = level 50, 1 = level 100. level type of the last streak. Used by tv to report the level mode.
/*0x04D1, 0x0579*/ u8 filler_4D1[0x317];
};
@@ -771,7 +821,7 @@ struct SaveBlock2 /* 0x02024EA4 */
/*0x90*/ u8 filler_90[0x8];
/*0x98*/ struct Time localTimeOffset;
/*0xA0*/ struct Time lastBerryTreeUpdate;
- /*0xA8*/ struct SaveBlock2_Sub filler_A8;
+ /*0xA8*/ struct BattleTowerData battleTower;
};
struct MapPosition
diff --git a/include/pokemon.h b/include/pokemon.h
index d653067e4..7fc8e181f 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -288,29 +288,29 @@ struct Pokemon
struct UnknownPokemonStruct
{
- u16 species;
- u16 heldItem;
- u16 moves[4];
- u8 level;
- u8 ppBonuses;
- u8 hpEV;
- u8 attackEV;
- u8 defenseEV;
- u8 speedEV;
- u8 spAttackEV;
- u8 spDefenseEV;
- u32 otId;
- u32 hpIV:5;
- u32 attackIV:5;
- u32 defenseIV:5;
- u32 speedIV:5;
- u32 spAttackIV:5;
- u32 spDefenseIV:5;
- u32 gap:1;
- u32 altAbility:1;
- u32 personality;
- u8 nickname[POKEMON_NAME_LENGTH + 1];
- u8 friendship;
+ /*0x00*/u16 species;
+ /*0x02*/u16 heldItem;
+ /*0x04*/u16 moves[4];
+ /*0x0C*/u8 level;
+ /*0x0D*/u8 ppBonuses;
+ /*0x0E*/u8 hpEV;
+ /*0x0F*/u8 attackEV;
+ /*0x10*/u8 defenseEV;
+ /*0x11*/u8 speedEV;
+ /*0x12*/u8 spAttackEV;
+ /*0x13*/u8 spDefenseEV;
+ /*0x14*/u32 otId;
+ /*0x18*/u32 hpIV:5;
+ /*0x18*/u32 attackIV:5;
+ /*0x19*/u32 defenseIV:5;
+ /*0x19*/u32 speedIV:5;
+ /*0x1A*/u32 spAttackIV:5;
+ /*0x1A*/u32 spDefenseIV:5;
+ /*0x1B*/u32 gap:1;
+ /*0x1B*/u32 altAbility:1;
+ /*0x1C*/u32 personality;
+ /*0x20*/u8 nickname[POKEMON_NAME_LENGTH + 1];
+ /*0x2B*/u8 friendship;
};
struct BattlePokemon
diff --git a/include/record_mixing.h b/include/record_mixing.h
index ca60b04a7..96105f3f7 100644
--- a/include/record_mixing.h
+++ b/include/record_mixing.h
@@ -21,7 +21,7 @@ u16 *GetPlayerRecvBuffer(u8 player);
void sub_80B9A78(void);
void sub_80B9A88(u8 *a);
void sub_80B9B1C(u8 *a, size_t size, u8 index);
-void sub_80B9B70(u8 *a, size_t size, u8 index);
+void sub_80B9B70(void *a, u32 size, u8 index);
u8 sub_80B9BBC(u16 *a);
void sub_80B9BC4(u8 *, size_t, u8[][2], u8 d, u8 e);
u8 sub_80B9C4C(u8 *a);
diff --git a/include/tv.h b/include/tv.h
index 3243fff2c..a933e1779 100644
--- a/include/tv.h
+++ b/include/tv.h
@@ -107,5 +107,6 @@ void sub_80BE3BC(void);
void UpdateTVShowsPerDay(u16);
void sub_80C045C();
void sub_80BF088(u8, s32);
+void sub_80BFD20(void);
#endif // GUARD_TV_H
diff --git a/ld_script.txt b/ld_script.txt
index b6a61415b..52006a040 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -231,7 +231,7 @@ SECTIONS {
src/field/fldeff_softboiled.o(.text);
src/field/decoration_inventory.o(.text);
src/field/roamer.o(.text);
- asm/battle_tower.o(.text);
+ src/field/battle_tower.o(.text);
src/field/use_pokeblock.o(.text);
src/battle/battle_controller_wally.o(.text);
src/field/player_pc.o(.text);
@@ -443,7 +443,7 @@ SECTIONS {
src/pokemon/learn_move.o(.rodata);
src/field/decoration_inventory.o(.rodata);
src/field/roamer.o(.rodata);
- data/battle_tower.o(.rodata);
+ src/field/battle_tower.o(.rodata);
src/field/use_pokeblock.o(.rodata);
src/battle/battle_controller_wally.o(.rodata);
src/field/player_pc.o(.rodata);
diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c
index 9b3808824..d9f24e6c2 100644
--- a/src/battle/battle_controller_opponent.c
+++ b/src/battle/battle_controller_opponent.c
@@ -4,6 +4,7 @@
#include "data2.h"
#include "battle_811DA74.h"
#include "battle_anim_813F0F4.h"
+#include "battle_tower.h"
#include "link.h"
#include "m4a.h"
#include "main.h"
@@ -76,7 +77,6 @@ extern u8 sub_8046400();
extern void sub_8032A08();
extern void sub_8043DB0();
extern void sub_8033160(void);
-extern u8 sub_8135FBC(void);
extern u8 get_trainer_class_pic_index(void);
extern void sub_80313A0(struct Sprite *);
extern void sub_8032B4C(void);
@@ -1217,7 +1217,7 @@ void OpponentHandleTrainerThrow(void)
else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
trainerPicIndex = get_trainer_class_pic_index();
else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
- trainerPicIndex = sub_8135FBC();
+ trainerPicIndex = GetEReaderTrainerPicIndex();
else
trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic;
@@ -1247,7 +1247,7 @@ void OpponentHandleTrainerSlide(void)
else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
trainerPicIndex = get_trainer_class_pic_index();
else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
- trainerPicIndex = sub_8135FBC();
+ trainerPicIndex = GetEReaderTrainerPicIndex();
else
trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic;
diff --git a/src/battle/battle_message.c b/src/battle/battle_message.c
index a3cc320ad..79855a614 100644
--- a/src/battle/battle_message.c
+++ b/src/battle/battle_message.c
@@ -1,6 +1,7 @@
#include "global.h"
-#include "battle_message.h"
#include "battle.h"
+#include "battle_message.h"
+#include "battle_tower.h"
#include "item.h"
#include "items.h"
#include "pokemon.h"
@@ -127,7 +128,6 @@ u8 GetBankSide(u8 bank);
s32 sub_803FC34(u16);
void get_trainer_name(u8* dst);
u8 get_trainer_class_name_index(void);
-u8 sub_8135FD8(void);
u8 GetMultiplayerId(void);
u8 GetBankByPlayerAI(u8 ID);
u8 GetBankSide(u8 bank);
@@ -632,7 +632,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
toCpy = gTrainerClassNames[get_trainer_class_name_index()];
else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
- toCpy = gTrainerClassNames[sub_8135FD8()];
+ toCpy = gTrainerClassNames[GetEReaderTrainerClassNameIndex()];
else
toCpy = gTrainerClassNames[gTrainers[gTrainerBattleOpponent].trainerClass];
break;
@@ -661,7 +661,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
}
else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
{
- sub_8135FF4(text);
+ SetEReaderTrainerName(text);
toCpy = text;
}
else
diff --git a/src/battle/battle_records.c b/src/battle/battle_records.c
index d848a10b8..fd1f528ac 100644
--- a/src/battle/battle_records.c
+++ b/src/battle/battle_records.c
@@ -260,9 +260,9 @@ void ShowLinkBattleRecords(void) {
static bool32 sub_8110494(u8 level)
{
- struct SaveBlock2_Sub *sb2sub = &gSaveBlock2.filler_A8;
+ struct BattleTowerData *battleTower = &gSaveBlock2.battleTower;
- switch (sb2sub->var_4AE[level])
+ switch (battleTower->var_4AE[level])
{
case 0:
return FALSE;
@@ -294,17 +294,18 @@ static void PrintWinStreak(const u8 *str, u16 streak, u8 left, u8 top)
static void PrintRecordWinStreak(u8 level, u8 left, u8 top)
{
- struct SaveBlock2_Sub *sb2sub = &gSaveBlock2.filler_A8;
- u16 winStreak = sb2sub->recordWinStreak[level];
+ struct BattleTowerData *battleTower = &gSaveBlock2.battleTower;
+ u16 winStreak = battleTower->recordWinStreaks[level];
PrintWinStreak(gOtherText_Record, winStreak, left, top);
}
static u16 GetLastWinStreak(u8 level)
{
- u16 result = gSaveBlock2.filler_A8.winStreak[level];
- if (result > 9999)
- result = 9999;
- return result;
+ u16 winStreak = gSaveBlock2.battleTower.currentWinStreaks[level];
+ if (winStreak > 9999)
+ winStreak = 9999;
+
+ return winStreak;
}
static void PrintLastWinStreak(u8 level, u8 left, u8 top)
diff --git a/src/data/battle_tower/level_100_mons.h b/src/data/battle_tower/level_100_mons.h
new file mode 100644
index 000000000..4f2b711ee
--- /dev/null
+++ b/src/data/battle_tower/level_100_mons.h
@@ -0,0 +1,3903 @@
+const struct BattleTowerPokemon gBattleTowerLevel100Mons[] =
+{
+ {
+ .species = SPECIES_LINOONE,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_GROWL,
+ MOVE_TAIL_WHIP,
+ MOVE_SAND_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_MIGHTYENA,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_BITE,
+ MOVE_HOWL,
+ MOVE_ODOR_SLEUTH,
+ MOVE_SCARY_FACE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_BEAUTIFLY,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_GUST,
+ MOVE_STUN_SPORE,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_DUSTOX,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_PSYBEAM,
+ MOVE_GUST,
+ MOVE_DOUBLE_TEAM,
+ MOVE_SILVER_WIND
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_LOMBRE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_ASTONISH,
+ MOVE_GROWL,
+ MOVE_MEGA_DRAIN,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_NUZLEAF,
+ .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_BULLET_SEED,
+ MOVE_RAZOR_WIND,
+ MOVE_FAINT_ATTACK,
+ MOVE_GROWTH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_AERIAL_ACE,
+ MOVE_GROWL,
+ MOVE_ENDEAVOR,
+ MOVE_FOCUS_ENERGY
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_PELIPPER,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_SURF,
+ MOVE_WATER_SPORT,
+ MOVE_PROTECT,
+ MOVE_SUPERSONIC
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_MACH_PUNCH,
+ MOVE_MEGA_DRAIN,
+ MOVE_HEADBUTT,
+ MOVE_STUN_SPORE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_NINJASK,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_SCRATCH,
+ MOVE_SCREECH,
+ MOVE_LEECH_LIFE,
+ MOVE_FLASH
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_BITE,
+ MOVE_FLY,
+ MOVE_SUPERSONIC,
+ MOVE_HAZE
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_MAWILE,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_VICE_GRIP,
+ MOVE_SWEET_SCENT,
+ MOVE_ASTONISH,
+ MOVE_STRENGTH
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_NOSEPASS,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_ROCK_THROW,
+ MOVE_SANDSTORM,
+ MOVE_HARDEN,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_DELCATTY,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_DOUBLE_SLAP,
+ MOVE_TAIL_WHIP,
+ MOVE_ATTRACT,
+ MOVE_CHARM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CAMERUPT,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_EMBER,
+ MOVE_TAKE_DOWN,
+ MOVE_GROWL,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_ORAN_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_POISON_GAS,
+ MOVE_MINIMIZE,
+ MOVE_SLUDGE,
+ MOVE_SCREECH
+ },
+ .evSpread = F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_SANDSLASH,
+ .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_SAND_ATTACK,
+ MOVE_DEFENSE_CURL,
+ MOVE_SWIFT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SPINDA,
+ .heldItem = BATTLE_TOWER_ITEM_SILK_SCARF,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_UPROAR,
+ MOVE_WATER_PULSE,
+ MOVE_THRASH,
+ MOVE_SAFEGUARD
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_WHISCASH,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_TICKLE,
+ MOVE_MUD_SPORT,
+ MOVE_WATER_GUN,
+ MOVE_WATER_SPORT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_POISON_STING,
+ MOVE_PIN_MISSILE,
+ MOVE_ABSORB,
+ MOVE_COTTON_SPORE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_JIGGLYPUFF,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_SING,
+ MOVE_ROLLOUT,
+ MOVE_POUND,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MARILL,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_BUBBLE_BEAM,
+ MOVE_DEFENSE_CURL,
+ MOVE_RAIN_DANCE,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MAGNETON,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_THUNDER_SHOCK,
+ MOVE_SUPERSONIC,
+ MOVE_FLASH,
+ MOVE_SCREECH
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_CARVANHA,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_BITE,
+ MOVE_RAGE,
+ MOVE_SCARY_FACE,
+ MOVE_LEER
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_KECLEON,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_THIEF,
+ MOVE_LICK,
+ MOVE_BIND,
+ MOVE_FURY_SWIPES
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_EMBER,
+ MOVE_CONFUSE_RAY,
+ MOVE_FIRE_SPIN,
+ MOVE_SAFEGUARD
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_SHOCK_WAVE,
+ MOVE_GROWL,
+ MOVE_DOUBLE_TEAM,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_SEALEO,
+ .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_ICE_BALL,
+ MOVE_WATER_GUN,
+ MOVE_ENCORE,
+ MOVE_HAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_GRAVELER,
+ .heldItem = BATTLE_TOWER_ITEM_HARD_STONE,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_ROCK_THROW,
+ MOVE_MUD_SPORT,
+ MOVE_SANDSTORM,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_SHUPPET,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_NIGHT_SHADE,
+ MOVE_WILL_O_WISP,
+ MOVE_SCREECH,
+ MOVE_KNOCK_OFF
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LUVDISC,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_ATTRACT,
+ MOVE_FLAIL,
+ MOVE_SWEET_KISS,
+ MOVE_WATER_PULSE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_LANTURN,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_THUNDER_WAVE,
+ MOVE_SUPERSONIC,
+ MOVE_WATER_GUN,
+ MOVE_SPARK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CORSOLA,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_MIRROR_COAT,
+ MOVE_BUBBLE,
+ MOVE_HARDEN,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_WAILMER,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ROAR,
+ MOVE_GROWL,
+ MOVE_MIST
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_RHYDON,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_TAKE_DOWN,
+ MOVE_SCARY_FACE,
+ MOVE_TAIL_WHIP,
+ MOVE_ROAR
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_DODRIO,
+ .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_FURY_ATTACK,
+ MOVE_PURSUIT,
+ MOVE_AERIAL_ACE,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_FURY_SWIPES,
+ MOVE_TAIL_WHIP,
+ MOVE_DISABLE,
+ MOVE_PSYCH_UP
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_BELLOSSOM,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_POISON_POWDER,
+ MOVE_STUN_SPORE,
+ MOVE_ACID
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_STOMP,
+ MOVE_RAZOR_LEAF,
+ MOVE_GUST,
+ MOVE_SYNTHESIS
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_NIGHT_SHADE,
+ MOVE_FAKE_OUT,
+ MOVE_PSYCH_UP,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_SONIC_BOOM,
+ MOVE_SCREECH,
+ MOVE_SPARK,
+ MOVE_SELF_DESTRUCT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_TENTACRUEL,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_ACID,
+ MOVE_WATER_PULSE,
+ MOVE_BARRIER,
+ MOVE_WRAP
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_ANCIENT_POWER,
+ MOVE_MUD_SLAP,
+ MOVE_RAPID_SPIN,
+ MOVE_CONFUSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_PSYBEAM,
+ MOVE_PSYCH_UP,
+ MOVE_BOUNCE,
+ MOVE_MAGIC_COAT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_CRAWDAUNT,
+ .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_CRABHAMMER,
+ MOVE_BUBBLE_BEAM,
+ MOVE_BRICK_BREAK,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_POISON_TAIL,
+ MOVE_GLARE,
+ MOVE_WRAP,
+ MOVE_THIEF
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_ZANGOOSE,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_FURY_CUTTER,
+ MOVE_LEER,
+ MOVE_QUICK_ATTACK,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_DRAGON_BREATH,
+ MOVE_SING,
+ MOVE_SAFEGUARD,
+ MOVE_TAKE_DOWN
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ROSELIA,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_LEECH_SEED,
+ MOVE_MEGA_DRAIN,
+ MOVE_GROWTH,
+ MOVE_STUN_SPORE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_VOLBEAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_SIGNAL_BEAM,
+ MOVE_CONFUSE_RAY,
+ MOVE_DOUBLE_TEAM,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ILLUMISE,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_CHARM,
+ MOVE_ENCORE,
+ MOVE_SOLAR_BEAM,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_MAGNET,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_BITE,
+ MOVE_HOWL,
+ MOVE_THUNDER_WAVE,
+ MOVE_SPARK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_MAWILE,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_IRON_DEFENSE,
+ MOVE_TORMENT,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_ARM_THRUST,
+ MOVE_FAKE_OUT,
+ MOVE_WHIRLWIND,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_STEEL_WING,
+ MOVE_AGILITY,
+ MOVE_TAUNT,
+ MOVE_FLY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_TORKOAL,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_FIRE_SPIN,
+ MOVE_SMOKESCREEN,
+ MOVE_BODY_SLAM,
+ MOVE_AMNESIA
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_THRASH,
+ MOVE_DRAGON_RAGE,
+ MOVE_TWISTER,
+ MOVE_HYDRO_PUMP
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_MIGHTYENA,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_HOWL,
+ MOVE_IRON_TAIL,
+ MOVE_TORMENT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_LINOONE,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_ATTRACT,
+ MOVE_SHOCK_WAVE,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MASQUERAIN,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_STUN_SPORE,
+ MOVE_SUNNY_DAY,
+ MOVE_SOLAR_BEAM
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_BULLET_SEED,
+ MOVE_SLAM,
+ MOVE_SCREECH,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_DOUBLE_KICK,
+ MOVE_FLAMETHROWER,
+ MOVE_DOUBLE_TEAM,
+ MOVE_ROAR
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_SURF,
+ MOVE_MUD_SHOT,
+ MOVE_MUD_SPORT,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_DRAGON_BREATH,
+ MOVE_FLY,
+ MOVE_TOXIC,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_SMOKESCREEN,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_CORSOLA,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_ANCIENT_POWER,
+ MOVE_MIRROR_COAT,
+ MOVE_SAFEGUARD,
+ MOVE_REFLECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_RHYDON,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_IRON_TAIL,
+ MOVE_ROAR,
+ MOVE_THUNDERBOLT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_COUNTER,
+ MOVE_PROTECT,
+ MOVE_LEER
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GIRAFARIG,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_CRUNCH,
+ MOVE_BATON_PASS,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_XATU,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_FLY,
+ MOVE_CONFUSE_RAY,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_DODRIO,
+ .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_DRILL_PECK,
+ MOVE_TRI_ATTACK,
+ MOVE_PURSUIT,
+ MOVE_TORMENT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_VILEPLUME,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x89,
+ .moves = {
+ MOVE_POISON_POWDER,
+ MOVE_STUN_SPORE,
+ MOVE_SLEEP_POWDER,
+ MOVE_PETAL_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST,
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_FOCUS_PUNCH,
+ MOVE_LIGHT_SCREEN,
+ MOVE_BULK_UP,
+ MOVE_PSYCHIC
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_SWORDS_DANCE,
+ MOVE_DOUBLE_TEAM,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x4B,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_WILL_O_WISP,
+ MOVE_NIGHT_SHADE,
+ MOVE_DISABLE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_SHUPPET,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_GRUDGE,
+ MOVE_SHADOW_BALL,
+ MOVE_CURSE,
+ MOVE_KNOCK_OFF
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_CASTFORM,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_WEATHER_BALL,
+ MOVE_HAIL,
+ MOVE_SUNNY_DAY,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_SURF,
+ MOVE_REFRESH,
+ MOVE_RECOVER,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SHARPEDO,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_FOCUS_ENERGY,
+ MOVE_SCARY_FACE,
+ MOVE_SCREECH
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SAND_ATTACK,
+ MOVE_DRAGON_BREATH,
+ MOVE_SAND_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_TRAPINCH,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_SAND_TOMB,
+ MOVE_CRUNCH,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_LUNATONE,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_ROCK_THROW,
+ MOVE_HYPNOSIS,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_SOLAR_BEAM,
+ MOVE_SUNNY_DAY,
+ MOVE_COSMIC_POWER,
+ MOVE_CALM_MIND
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_BALTOY,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_REFLECT,
+ MOVE_SELF_DESTRUCT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_CRAWDAUNT,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_CRABHAMMER,
+ MOVE_SURF,
+ MOVE_PROTECT,
+ MOVE_BRICK_BREAK
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_WHISCASH,
+ .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_TICKLE,
+ MOVE_AMNESIA,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_POISON_TAIL,
+ MOVE_CRUNCH,
+ MOVE_GIGA_DRAIN,
+ MOVE_HAZE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_MAGCARGO,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x89,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_LIGHT_SCREEN,
+ MOVE_AMNESIA,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_KARATE_CHOP,
+ MOVE_SEISMIC_TOSS,
+ MOVE_BRICK_BREAK,
+ MOVE_LOW_KICK
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_SWALOT,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x86,
+ .moves = {
+ MOVE_YAWN,
+ MOVE_WATER_PULSE,
+ MOVE_SHADOW_BALL,
+ MOVE_SLUDGE_BOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_GIGA_DRAIN,
+ MOVE_FURY_CUTTER,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_FLAMETHROWER,
+ MOVE_PROTECT,
+ MOVE_QUICK_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x4C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_MUD_SHOT,
+ MOVE_MUD_SLAP,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MIGHTYENA,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_HOWL,
+ MOVE_SWAGGER,
+ MOVE_SHADOW_BALL
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_LINOONE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_REST,
+ MOVE_BELLY_DRUM,
+ MOVE_THUNDERBOLT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_BEAUTIFLY,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_ATTRACT,
+ MOVE_MORNING_SUN,
+ MOVE_STUN_SPORE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_DUSTOX,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_SILVER_WIND,
+ MOVE_MOONLIGHT,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_FAKE_OUT,
+ MOVE_HYDRO_PUMP,
+ MOVE_ICE_BEAM,
+ MOVE_UPROAR
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_FRUSTRATION,
+ MOVE_GIGA_DRAIN,
+ MOVE_TORMENT,
+ MOVE_SWAGGER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x88,
+ .moves = {
+ MOVE_FLY,
+ MOVE_ENDEAVOR,
+ MOVE_AERIAL_ACE,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_HYPNOSIS,
+ MOVE_DREAM_EATER,
+ MOVE_PSYCHIC,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_DYNAMIC_PUNCH,
+ MOVE_MIND_READER,
+ MOVE_SNATCH,
+ MOVE_MEGA_DRAIN
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_VIGOROTH,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_UPROAR,
+ MOVE_ENCORE,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_NINJASK,
+ .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_FURY_CUTTER,
+ MOVE_GIGA_DRAIN,
+ MOVE_SWORDS_DANCE,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0xCA,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_SOLAR_BEAM,
+ MOVE_SUNNY_DAY,
+ MOVE_GRUDGE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_LOUDRED,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_HYPER_VOICE,
+ MOVE_HOWL,
+ MOVE_SHADOW_BALL,
+ MOVE_TORMENT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_ARM_THRUST,
+ MOVE_BULK_UP,
+ MOVE_BRICK_BREAK,
+ MOVE_HIDDEN_POWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x88,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_SHADOW_BALL,
+ MOVE_FUTURE_SIGHT,
+ MOVE_DISABLE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x88,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_TOXIC,
+ MOVE_MEAN_LOOK,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MAWILE,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_IRON_DEFENSE,
+ MOVE_FAKE_TEARS,
+ MOVE_POISON_FANG
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x45,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_FLAMETHROWER,
+ MOVE_METAL_SOUND,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND,
+ .teamFlags = 0xC5,
+ .moves = {
+ MOVE_ROLLOUT,
+ MOVE_DEFENSE_CURL,
+ MOVE_DOUBLE_TEAM,
+ MOVE_SELF_DESTRUCT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_MAGNET,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_RAIN_DANCE,
+ MOVE_THUNDER_WAVE,
+ MOVE_CHARGE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_VOLBEAT,
+ .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_SIGNAL_BEAM,
+ MOVE_MOONLIGHT,
+ MOVE_TAIL_GLOW
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_ILLUMISE,
+ .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_FLATTER,
+ MOVE_WISH,
+ MOVE_ENCORE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MASQUERAIN,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x88,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_SILVER_WIND,
+ MOVE_STUN_SPORE,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_ROSELIA,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_PETAL_DANCE,
+ MOVE_GROWTH,
+ MOVE_SYNTHESIS,
+ MOVE_GRASS_WHISTLE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_DELCATTY,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_SING,
+ MOVE_ATTRACT,
+ MOVE_DOUBLE_SLAP,
+ MOVE_HEAL_BELL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_SEAKING,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x88,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_SURF,
+ MOVE_ATTRACT,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_EARTHQUAKE,
+ MOVE_DRAGON_RAGE,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_SWALOT,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_STOCKPILE,
+ MOVE_SWALLOW,
+ MOVE_SPIT_UP,
+ MOVE_YAWN
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_MAGCARGO,
+ .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_ROCK_SLIDE,
+ MOVE_FIRE_BLAST,
+ MOVE_BODY_SLAM,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_FLAMETHROWER,
+ MOVE_ACID_ARMOR,
+ MOVE_DISABLE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_SPINDA,
+ .heldItem = BATTLE_TOWER_ITEM_SILK_SCARF,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_DIZZY_PUNCH,
+ MOVE_TEETER_DANCE,
+ MOVE_PSYCH_UP,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST,
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_DRAGON_BREATH,
+ MOVE_DRAGON_DANCE,
+ MOVE_REFRESH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_ZANGOOSE,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_CRUSH_CLAW,
+ MOVE_TAUNT,
+ MOVE_SWORDS_DANCE,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_SWAGGER,
+ MOVE_TAUNT,
+ MOVE_GLARE,
+ MOVE_POISON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_BOUNCE,
+ MOVE_CONFUSE_RAY,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_NEEDLE_ARM,
+ MOVE_INGRAIN,
+ MOVE_SPIKES,
+ MOVE_COTTON_SPORE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SANDSTORM,
+ MOVE_COSMIC_POWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_TENTACRUEL,
+ .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB,
+ .teamFlags = 0xC1,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_HYDRO_PUMP,
+ MOVE_BARRIER,
+ MOVE_SUPERSONIC
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WIGGLYTUFF,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_SING,
+ MOVE_FOCUS_PUNCH,
+ MOVE_DISABLE,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_AZUMARILL,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0xC2,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ATTRACT,
+ MOVE_DEFENSE_CURL,
+ MOVE_ROLLOUT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_MIRROR_COAT,
+ MOVE_LIGHT_SCREEN,
+ MOVE_SELF_DESTRUCT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_ATTRACT,
+ MOVE_RECOVER,
+ MOVE_REFRESH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_KECLEON,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_SKILL_SWAP,
+ MOVE_ANCIENT_POWER,
+ MOVE_WATER_PULSE,
+ MOVE_THUNDERBOLT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_CURSE,
+ MOVE_REST,
+ MOVE_MEAN_LOOK
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_SWORDS_DANCE,
+ MOVE_DOUBLE_TEAM,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0xC2,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_CONFUSE_RAY,
+ MOVE_DOUBLE_TEAM,
+ MOVE_WILL_O_WISP
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_PIKACHU,
+ .heldItem = BATTLE_TOWER_ITEM_LIGHT_BALL,
+ .teamFlags = 0xC2,
+ .moves = {
+ MOVE_THUNDER_WAVE,
+ MOVE_THUNDER,
+ MOVE_RAIN_DANCE,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_VILEPLUME,
+ .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_SLEEP_POWDER,
+ MOVE_MOONLIGHT,
+ MOVE_SLUDGE_BOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_DONPHAN,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_DOUBLE_EDGE,
+ MOVE_IRON_TAIL,
+ MOVE_FISSURE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_ICE_BEAM,
+ MOVE_BODY_SLAM,
+ MOVE_ENCORE,
+ MOVE_HAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_RELICANTH,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_YAWN,
+ MOVE_MUD_SPORT,
+ MOVE_DOUBLE_EDGE,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_ICE_BEAM,
+ MOVE_HYDRO_PUMP,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_CRADILY,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_INGRAIN,
+ MOVE_ANCIENT_POWER,
+ MOVE_GIGA_DRAIN
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_ROCK_SLIDE,
+ MOVE_EARTHQUAKE,
+ MOVE_WATER_PULSE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_PSYCHIC,
+ MOVE_LIGHT_SCREEN,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_DRAGON_BREATH,
+ MOVE_CRUNCH,
+ MOVE_FLAMETHROWER,
+ MOVE_AERIAL_ACE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_MIGHTYENA,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_YAWN,
+ MOVE_FACADE,
+ MOVE_HOWL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LINOONE,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_FACADE,
+ MOVE_ATTRACT,
+ MOVE_TRICK
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_SURF,
+ MOVE_FOCUS_PUNCH,
+ MOVE_FAKE_OUT,
+ MOVE_SYNTHESIS
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_EXPLOUD,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_UPROAR,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .heldItem = BATTLE_TOWER_ITEM_LANSAT_BERRY,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_FACADE,
+ MOVE_SUPERSONIC,
+ MOVE_WING_ATTACK,
+ MOVE_ENDEAVOR
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_PELIPPER,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_STOCKPILE,
+ MOVE_SWALLOW,
+ MOVE_SPIT_UP,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_DYNAMIC_PUNCH,
+ MOVE_COUNTER,
+ MOVE_BULK_UP,
+ MOVE_MIND_READER
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_RETURN,
+ MOVE_DOUBLE_TEAM,
+ MOVE_TOXIC,
+ MOVE_SHADOW_BALL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_EXPLOUD,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_SUPERSONIC,
+ MOVE_FLAMETHROWER,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_COUNTER,
+ MOVE_FACADE,
+ MOVE_FAKE_OUT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_ENCORE,
+ MOVE_DISABLE,
+ MOVE_RECOVER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x81,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_AIR_CUTTER,
+ MOVE_TORMENT,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_DETECT,
+ MOVE_RECOVER,
+ MOVE_TORMENT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_MAWILE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_SWORDS_DANCE,
+ MOVE_IRON_DEFENSE,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_DOUBLE_EDGE,
+ MOVE_IRON_DEFENSE,
+ MOVE_ROAR,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE,
+ MOVE_FLAMETHROWER,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_NOSEPASS,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x81,
+ .moves = {
+ MOVE_THUNDER_WAVE,
+ MOVE_ROCK_SLIDE,
+ MOVE_TORMENT,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_CRUNCH,
+ MOVE_THUNDER_WAVE,
+ MOVE_QUICK_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_ROSELIA,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_GRASS_WHISTLE,
+ MOVE_LEECH_SEED,
+ MOVE_GIGA_DRAIN,
+ MOVE_GROWTH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_DELCATTY,
+ .heldItem = BATTLE_TOWER_ITEM_STARF_BERRY,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_ASSIST,
+ MOVE_SING,
+ MOVE_ATTRACT,
+ MOVE_SUBSTITUTE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0xC2,
+ .moves = {
+ MOVE_RAZOR_LEAF,
+ MOVE_EARTHQUAKE,
+ MOVE_ATTRACT,
+ MOVE_SYNTHESIS
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_SWALOT,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_YAWN,
+ MOVE_SLUDGE_BOMB,
+ MOVE_ATTRACT,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_BULK_UP,
+ MOVE_LOW_KICK,
+ MOVE_BRICK_BREAK
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_CAMERUPT,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x40,
+ .moves = {
+ MOVE_ERUPTION,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE,
+ MOVE_OVERHEAT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_MAGCARGO,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_ROCK_SLIDE,
+ MOVE_EARTHQUAKE,
+ MOVE_REFLECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x81,
+ .moves = {
+ MOVE_WILL_O_WISP,
+ MOVE_HYPER_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_DESTINY_BOND
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_SPINDA,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_TRICK,
+ MOVE_TEETER_DANCE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_DRILL_PECK,
+ MOVE_STEEL_WING,
+ MOVE_TORMENT,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_SING,
+ MOVE_DRAGON_CLAW,
+ MOVE_ICE_BEAM,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_CONFUSE_RAY,
+ MOVE_CALM_MIND,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_SWAGGER,
+ MOVE_FRUSTRATION,
+ MOVE_ATTRACT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_COSMIC_POWER,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x33,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_COUNTER,
+ MOVE_BELLY_DRUM,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_NOSEPASS,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_ROCK_SLIDE,
+ MOVE_THUNDER_WAVE,
+ MOVE_EARTHQUAKE,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x33,
+ .moves = {
+ MOVE_SHADOW_PUNCH,
+ MOVE_WILL_O_WISP,
+ MOVE_CONFUSE_RAY,
+ MOVE_DESTINY_BOND
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_SEAKING,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_HORN_DRILL,
+ MOVE_AGILITY,
+ MOVE_SLEEP_TALK,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_CAMERUPT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x73,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ERUPTION,
+ MOVE_ROCK_SLIDE,
+ MOVE_FISSURE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_LANTURN,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x13,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_SURF,
+ MOVE_THUNDER_WAVE,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x33,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_THUNDERBOLT,
+ MOVE_FIRE_BLAST,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WHISCASH,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_SPARK,
+ MOVE_FISSURE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x51,
+ .moves = {
+ MOVE_DOUBLE_EDGE,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_KECLEON,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x12,
+ .moves = {
+ MOVE_TRICK,
+ MOVE_FOCUS_PUNCH,
+ MOVE_ATTRACT,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_SHARPEDO,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x11,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_DOUBLE_EDGE,
+ MOVE_SURF,
+ MOVE_SWAGGER
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x12,
+ .moves = {
+ MOVE_DOUBLE_EDGE,
+ MOVE_FACADE,
+ MOVE_SWORDS_DANCE,
+ MOVE_QUICK_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WAILORD,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x72,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_EARTHQUAKE,
+ MOVE_ATTRACT,
+ MOVE_FISSURE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_TENTACRUEL,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_SLUDGE_BOMB,
+ MOVE_BARRIER,
+ MOVE_MIRROR_COAT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x32,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_TOXIC,
+ MOVE_RECOVER,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_ENCORE,
+ MOVE_COUNTER,
+ MOVE_MIRROR_COAT,
+ MOVE_DESTINY_BOND
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_RHYDON,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x71,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_MEGAHORN,
+ MOVE_BRICK_BREAK,
+ MOVE_HORN_DRILL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GLALIE,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x31,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_BLIZZARD,
+ MOVE_HAIL,
+ MOVE_SHEER_COLD
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_EARTHQUAKE,
+ MOVE_DRAGON_CLAW,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_COUNTER,
+ MOVE_ENDURE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_EARTHQUAKE,
+ MOVE_MIRROR_COAT,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDERBOLT,
+ MOVE_DESTINY_BOND,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_SPORE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_MACH_PUNCH,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x58,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_FIRE_PUNCH,
+ MOVE_ICE_PUNCH,
+ MOVE_RECOVER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_EARTHQUAKE,
+ MOVE_FACADE,
+ MOVE_FAKE_OUT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x55,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x58,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_CONFUSE_RAY,
+ MOVE_AIR_CUTTER,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_FLAMETHROWER,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_ROAR,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x60,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_PROTECT,
+ MOVE_MIRROR_COAT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x64,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_FLAMETHROWER,
+ MOVE_THUNDERBOLT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x1C,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FLAMETHROWER,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x5C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_THUNDERBOLT,
+ MOVE_RECOVER,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_TOXIC,
+ MOVE_FIRE_SPIN,
+ MOVE_HEAT_WAVE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x5A,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_REVERSAL,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x55,
+ .moves = {
+ MOVE_SURF,
+ MOVE_CROSS_CHOP,
+ MOVE_ICE_BEAM,
+ MOVE_DIG
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_EARTHQUAKE,
+ MOVE_ENDURE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x26,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_EARTHQUAKE,
+ MOVE_SHEER_COLD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x5B,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_DRAGON_BREATH,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_CRUNCH,
+ MOVE_FIRE_BLAST
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x3D,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ANCIENT_POWER,
+ MOVE_THUNDERBOLT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_ICE_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_THUNDERBOLT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x0E,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_THUNDERBOLT,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_THUNDERBOLT,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_SURF,
+ MOVE_TOXIC,
+ MOVE_RECOVER,
+ MOVE_MIRROR_COAT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_YAWN,
+ MOVE_FOCUS_PUNCH,
+ MOVE_COUNTER,
+ MOVE_SLACK_OFF
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_DOUBLE_TEAM,
+ MOVE_LEECH_SEED,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE,
+ MOVE_QUICK_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_MUDDY_WATER,
+ MOVE_MUD_SHOT,
+ MOVE_MIRROR_COAT,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDERBOLT,
+ MOVE_HYPNOSIS,
+ MOVE_DREAM_EATER
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SPORE,
+ MOVE_COUNTER,
+ MOVE_SKY_UPPERCUT,
+ MOVE_GIGA_DRAIN
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x58,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDER_PUNCH,
+ MOVE_FIRE_PUNCH,
+ MOVE_RECOVER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_COUNTER,
+ MOVE_ENDURE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x44,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x48,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_CONFUSE_RAY,
+ MOVE_ATTRACT,
+ MOVE_FLY
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_COUNTER,
+ MOVE_EARTHQUAKE,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_THUNDER_WAVE,
+ MOVE_QUICK_ATTACK,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x60,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_LIGHT_SCREEN,
+ MOVE_MIRROR_COAT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x64,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_GIGA_DRAIN,
+ MOVE_FLAMETHROWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x1C,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_IRON_TAIL,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x5C,
+ .moves = {
+ MOVE_BLIZZARD,
+ MOVE_THUNDERBOLT,
+ MOVE_PSYCHIC,
+ MOVE_RECOVER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_DODRIO,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x5A,
+ .moves = {
+ MOVE_DRILL_PECK,
+ MOVE_TRI_ATTACK,
+ MOVE_AGILITY,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_ATTRACT,
+ MOVE_FOCUS_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x45,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_CROSS_CHOP,
+ MOVE_BLIZZARD,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_EARTHQUAKE,
+ MOVE_COUNTER,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x26,
+ .moves = {
+ MOVE_SURF,
+ MOVE_BLIZZARD,
+ MOVE_ROCK_SLIDE,
+ MOVE_SHEER_COLD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x5C,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_ICE_BEAM,
+ MOVE_DRAGON_BREATH,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_CRUNCH,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x3D,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_SHADOW_BALL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_THUNDERBOLT,
+ MOVE_FOCUS_PUNCH,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_ICE_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_HAIL,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_ANCIENT_POWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x1E,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_MIRROR_COAT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_YAWN,
+ MOVE_FOCUS_PUNCH,
+ MOVE_COUNTER,
+ MOVE_PURSUIT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_ROCK_TOMB,
+ MOVE_DRAGON_CLAW,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_FOCUS_PUNCH,
+ MOVE_COUNTER,
+ MOVE_SWAGGER,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_ATTRACT,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDERBOLT,
+ MOVE_ATTRACT,
+ MOVE_WILL_O_WISP
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SPORE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_MACH_PUNCH,
+ MOVE_COUNTER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x58,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_TRICK,
+ MOVE_RECOVER,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_REVENGE,
+ MOVE_COUNTER,
+ MOVE_FOCUS_PUNCH,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_LEECH_SEED,
+ MOVE_GIGA_DRAIN,
+ MOVE_DIVE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x48,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_CONFUSE_RAY,
+ MOVE_SHADOW_BALL,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_FIRE_BLAST,
+ MOVE_LOW_KICK,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_ATTRACT,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x60,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_SWIFT,
+ MOVE_MIRROR_COAT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x64,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_FLAMETHROWER,
+ MOVE_THUNDERBOLT,
+ MOVE_SHADOW_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FIRE_BLAST,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x4C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_THUNDERBOLT,
+ MOVE_ICE_BEAM,
+ MOVE_PSYCHIC
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_LEECH_SEED,
+ MOVE_ATTRACT,
+ MOVE_DOUBLE_TEAM,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x4B,
+ .moves = {
+ MOVE_DRILL_PECK,
+ MOVE_STEEL_WING,
+ MOVE_ATTRACT,
+ MOVE_PURSUIT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_SURF,
+ MOVE_PSYCHIC,
+ MOVE_ICE_BEAM,
+ MOVE_CROSS_CHOP
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_EARTHQUAKE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x26,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_FISSURE,
+ MOVE_SHEER_COLD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x5C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_BLIZZARD,
+ MOVE_HYPER_BEAM,
+ MOVE_FLAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FIRE_BLAST,
+ MOVE_HYDRO_PUMP
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x3D,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_THUNDERBOLT,
+ MOVE_SUPERPOWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_ICE_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_ANCIENT_POWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_THUNDERBOLT,
+ MOVE_HYPER_BEAM,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x1E,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_ICE_BEAM,
+ MOVE_SING,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x9C,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_DETECT,
+ MOVE_DRAGON_CLAW,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x9C,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_SKY_UPPERCUT,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x9C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_SHADOW_BALL,
+ MOVE_TOXIC,
+ MOVE_GRUDGE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_EARTHQUAKE,
+ MOVE_DOUBLE_TEAM,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x58,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDER_PUNCH,
+ MOVE_ICE_PUNCH,
+ MOVE_FIRE_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x1E,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_THUNDERBOLT,
+ MOVE_ICE_BEAM,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_THUNDERBOLT,
+ MOVE_ICE_BEAM,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_FLAMETHROWER,
+ MOVE_EARTHQUAKE,
+ MOVE_AERIAL_ACE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_EARTHQUAKE,
+ MOVE_LOW_KICK,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+}; \ No newline at end of file
diff --git a/src/data/battle_tower/level_50_mons.h b/src/data/battle_tower/level_50_mons.h
new file mode 100644
index 000000000..c61f840af
--- /dev/null
+++ b/src/data/battle_tower/level_50_mons.h
@@ -0,0 +1,3903 @@
+const struct BattleTowerPokemon gBattleTowerLevel50Mons[] =
+{
+ {
+ .species = SPECIES_PIKACHU,
+ .heldItem = BATTLE_TOWER_ITEM_ORAN_BERRY,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_QUICK_ATTACK,
+ MOVE_THUNDER_WAVE,
+ MOVE_THUNDER_SHOCK,
+ MOVE_GROWL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BEAUTIFLY,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_ABSORB,
+ MOVE_STUN_SPORE,
+ MOVE_GUST,
+ MOVE_SAFEGUARD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_PECK,
+ MOVE_WING_ATTACK,
+ MOVE_AERIAL_ACE,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_HAIL,
+ MOVE_ENCORE,
+ MOVE_ICE_BALL,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SEAKING,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_PECK,
+ MOVE_FLAIL,
+ MOVE_FURY_ATTACK,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_TORCHIC,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_FIRE_SPIN,
+ MOVE_PROTECT,
+ MOVE_SAND_ATTACK,
+ MOVE_SLASH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_MASQUERAIN,
+ .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_STUN_SPORE,
+ MOVE_WATER_SPORT,
+ MOVE_QUICK_ATTACK,
+ MOVE_GUST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_ILLUMISE,
+ .heldItem = BATTLE_TOWER_ITEM_NONE,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_FLATTER,
+ MOVE_COVET,
+ MOVE_WISH,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_DELCATTY,
+ .heldItem = BATTLE_TOWER_ITEM_SILK_SCARF,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_ATTRACT,
+ MOVE_TAIL_WHIP,
+ MOVE_FAINT_ATTACK,
+ MOVE_DIG
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_KECLEON,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_TAIL_WHIP,
+ MOVE_SLASH,
+ MOVE_LICK,
+ MOVE_SCREECH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_MIGHTYENA,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_BITE,
+ MOVE_TAKE_DOWN,
+ MOVE_ROAR,
+ MOVE_HOWL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_FAINT_ATTACK,
+ MOVE_COUNTER,
+ MOVE_SCRATCH,
+ MOVE_TAUNT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_MACHOKE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_LEER,
+ MOVE_DIG,
+ MOVE_LOW_KICK,
+ MOVE_FOCUS_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_RHYDON,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_STRENGTH,
+ MOVE_ROCK_TOMB,
+ MOVE_STOMP,
+ MOVE_ROCK_SMASH
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_POISON_STING,
+ MOVE_GROWTH,
+ MOVE_ABSORB,
+ MOVE_SOLAR_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ZIGZAGOON,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_FLAIL,
+ MOVE_SAND_ATTACK,
+ MOVE_REST,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_DODRIO,
+ .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_PURSUIT,
+ MOVE_TRI_ATTACK,
+ MOVE_GROWL,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_WHISCASH,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_WATER_GUN,
+ MOVE_AMNESIA,
+ MOVE_MAGNITUDE,
+ MOVE_MUD_SLAP
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_NINJASK,
+ .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_SAND_ATTACK,
+ MOVE_FURY_CUTTER,
+ MOVE_AGILITY,
+ MOVE_HARDEN
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_PROTECT,
+ MOVE_NIGHT_SHADE,
+ MOVE_ASTONISH,
+ MOVE_WILL_O_WISP
+ },
+ .evSpread = F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_CAMERUPT,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_DIG,
+ MOVE_EMBER,
+ MOVE_GROWL,
+ MOVE_ROCK_SMASH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_SPINDA,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_TEETER_DANCE,
+ MOVE_FLAIL,
+ MOVE_PSYCH_UP,
+ MOVE_DOUBLE_EDGE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_SCREECH,
+ MOVE_GLARE,
+ MOVE_DIG,
+ MOVE_POISON_FANG
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_SAND_ATTACK,
+ MOVE_SAND_TOMB,
+ MOVE_FACADE,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_AZUMARILL,
+ .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_BUBBLE_BEAM,
+ MOVE_TAIL_WHIP,
+ MOVE_RAIN_DANCE,
+ MOVE_ROLLOUT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ZANGOOSE,
+ .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_STRENGTH,
+ MOVE_TAUNT,
+ MOVE_CRUSH_CLAW,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_REVERSAL,
+ MOVE_MEDITATE,
+ MOVE_CONFUSION,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_ROSELIA,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_GROWTH,
+ MOVE_MEGA_DRAIN,
+ MOVE_TOXIC,
+ MOVE_CUT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_SWALOT,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_STOCKPILE,
+ MOVE_SPIT_UP,
+ MOVE_SLUDGE,
+ MOVE_POISON_GAS
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MAGNETON,
+ .heldItem = BATTLE_TOWER_ITEM_MAGNET,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_SUPERSONIC,
+ MOVE_THUNDER_WAVE,
+ MOVE_SCREECH,
+ MOVE_TRI_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_CONFUSION,
+ MOVE_TOXIC,
+ MOVE_TORMENT,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_RELICANTH,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ANCIENT_POWER,
+ MOVE_ROCK_TOMB,
+ MOVE_HARDEN
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_FIRE_SPIN,
+ MOVE_QUICK_ATTACK,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_SHARPEDO,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_BITE,
+ MOVE_SKULL_BASH,
+ MOVE_RAIN_DANCE,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_GIRAFARIG,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_STRENGTH,
+ MOVE_PSYBEAM,
+ MOVE_AGILITY,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_PELIPPER,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_MIST,
+ MOVE_STOCKPILE,
+ MOVE_SWALLOW,
+ MOVE_SPIT_UP
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_NIGHT_SHADE,
+ MOVE_SNATCH,
+ MOVE_FAKE_OUT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_LUNATONE,
+ .heldItem = BATTLE_TOWER_ITEM_HARD_STONE,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_COSMIC_POWER,
+ MOVE_SANDSTORM,
+ MOVE_PSYCHIC,
+ MOVE_ROCK_THROW
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_NONE,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_THIEF,
+ MOVE_FAKE_OUT,
+ MOVE_SURF,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_ODOR_SLEUTH,
+ MOVE_CONFUSE_RAY,
+ MOVE_MAGIC_COAT,
+ MOVE_PSYCHIC
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_CUT,
+ MOVE_LEECH_SEED,
+ MOVE_MEGA_DRAIN,
+ MOVE_STUN_SPORE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_WAILORD,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_WATER_SPOUT,
+ MOVE_ROLLOUT,
+ MOVE_MIST,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SMOG,
+ MOVE_SELF_DESTRUCT,
+ MOVE_TOXIC,
+ MOVE_SLUDGE_BOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_KADABRA,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_FUTURE_SIGHT,
+ MOVE_FOCUS_PUNCH,
+ MOVE_SKILL_SWAP,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_MAGNET,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_THUNDER_WAVE,
+ MOVE_BITE,
+ MOVE_SPARK,
+ MOVE_QUICK_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_QUICK_ATTACK,
+ MOVE_AGILITY,
+ MOVE_LIGHT_SCREEN,
+ MOVE_THUNDERBOLT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_XATU,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_NIGHT_SHADE,
+ MOVE_PECK,
+ MOVE_CONFUSE_RAY,
+ MOVE_FUTURE_SIGHT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_LOUDRED,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_UPROAR,
+ MOVE_STOMP,
+ MOVE_SCREECH,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST,
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_ROCK_THROW,
+ MOVE_SUNNY_DAY,
+ MOVE_SOLAR_BEAM,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_SANDSTORM,
+ MOVE_REFLECT,
+ MOVE_ROCK_TOMB,
+ MOVE_STRENGTH
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_CRAWDAUNT,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_WATER_PULSE,
+ MOVE_KNOCK_OFF,
+ MOVE_HARDEN,
+ MOVE_CUT
+ },
+ .evSpread = F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_GOLBAT,
+ .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_WING_ATTACK,
+ MOVE_MEAN_LOOK,
+ MOVE_BITE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_BELLOSSOM,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_SOLAR_BEAM,
+ MOVE_PETAL_DANCE,
+ MOVE_SWEET_SCENT,
+ MOVE_BULLET_SEED
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_DONPHAN,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_ROCK_SMASH,
+ MOVE_RAPID_SPIN,
+ MOVE_FLAIL,
+ MOVE_HORN_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_NOSEPASS,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_SANDSTORM,
+ MOVE_ROCK_SLIDE,
+ MOVE_BLOCK,
+ MOVE_THUNDER_WAVE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_PINSIR,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SWORDS_DANCE,
+ MOVE_HARDEN,
+ MOVE_CUT,
+ MOVE_SEISMIC_TOSS
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_DISABLE,
+ MOVE_PSYCH_UP,
+ MOVE_WATER_PULSE,
+ MOVE_BRICK_BREAK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_TORMENT,
+ MOVE_EXTRASENSORY,
+ MOVE_SOLAR_BEAM,
+ MOVE_AERIAL_ACE
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_DUSTOX,
+ .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_CONFUSION,
+ MOVE_SILVER_WIND,
+ MOVE_PSYBEAM,
+ MOVE_WHIRLWIND
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_SHUPPET,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_WILL_O_WISP,
+ MOVE_NIGHT_SHADE,
+ MOVE_FAINT_ATTACK,
+ MOVE_CURSE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SEAKING,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_SURF,
+ MOVE_HORN_ATTACK,
+ MOVE_HORN_DRILL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_STEEL_WING,
+ MOVE_SAND_ATTACK,
+ MOVE_SWIFT,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_TORKOAL,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_IRON_DEFENSE,
+ MOVE_BODY_SLAM,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_MAGNITUDE,
+ MOVE_EXPLOSION,
+ MOVE_STRENGTH,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_REFLECT,
+ MOVE_PSYCHIC,
+ MOVE_IMPRISON,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_SANDSLASH,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_SANDSTORM,
+ MOVE_SLASH,
+ MOVE_EARTHQUAKE,
+ MOVE_SWIFT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_COUNTER,
+ MOVE_MIRROR_COAT,
+ MOVE_SAFEGUARD,
+ MOVE_DESTINY_BOND
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_TENTACRUEL,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_CONSTRICT,
+ MOVE_SURF,
+ MOVE_HYPER_BEAM,
+ MOVE_SCREECH
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SUNNY_DAY,
+ MOVE_SOLAR_BEAM,
+ MOVE_SYNTHESIS,
+ MOVE_RAZOR_LEAF
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_MAWILE,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_IRON_DEFENSE,
+ MOVE_SLUDGE_BOMB,
+ MOVE_CRUNCH,
+ MOVE_STRENGTH
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_SLUDGE,
+ MOVE_ACID_ARMOR,
+ MOVE_GIGA_DRAIN,
+ MOVE_DISABLE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MAGCARGO,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_ROCK_THROW,
+ MOVE_HARDEN,
+ MOVE_AMNESIA
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_LINOONE,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_HEADBUTT,
+ MOVE_TAIL_WHIP,
+ MOVE_SURF,
+ MOVE_DIG
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_LIGHT_SCREEN,
+ MOVE_THUNDERBOLT,
+ MOVE_SWIFT,
+ MOVE_ROLLOUT
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_MEAN_LOOK,
+ MOVE_NIGHT_SHADE,
+ MOVE_SKILL_SWAP,
+ MOVE_SHADOW_BALL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_VILEPLUME,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_MOONLIGHT,
+ MOVE_GIGA_DRAIN,
+ MOVE_STUN_SPORE
+ },
+ .evSpread = F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_BITE,
+ MOVE_HAZE,
+ MOVE_WING_ATTACK,
+ MOVE_STEEL_WING
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_CORSOLA,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_RECOVER,
+ MOVE_MIRROR_COAT,
+ MOVE_HAIL,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_RAPID_SPIN,
+ MOVE_WATER_PULSE,
+ MOVE_REFLECT,
+ MOVE_SKILL_SWAP
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_EXPLOUD,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_HOWL,
+ MOVE_UPROAR,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_PSYBEAM,
+ MOVE_SNATCH,
+ MOVE_REFLECT,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_HORN_ATTACK,
+ MOVE_COUNTER,
+ MOVE_REVERSAL,
+ MOVE_LEER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CASTFORM,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_WEATHER_BALL,
+ MOVE_SUNNY_DAY,
+ MOVE_RAIN_DANCE,
+ MOVE_HAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_VIGOROTH,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_FOCUS_PUNCH,
+ MOVE_REVERSAL,
+ MOVE_COUNTER,
+ MOVE_TAUNT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_DUSKULL,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_CONFUSE_RAY,
+ MOVE_SHADOW_BALL,
+ MOVE_WILL_O_WISP
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_LANTURN,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_FLAIL,
+ MOVE_SURF,
+ MOVE_SPARK,
+ MOVE_TAKE_DOWN
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_STRENGTH,
+ MOVE_FAKE_OUT,
+ MOVE_FACADE,
+ MOVE_SAND_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_AGILITY,
+ MOVE_DIVE,
+ MOVE_ICE_BEAM,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_SURF,
+ MOVE_WATER_PULSE,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x45,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_BRICK_BREAK,
+ MOVE_METAL_CLAW,
+ MOVE_ROAR
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0xC7,
+ .moves = {
+ MOVE_SWORDS_DANCE,
+ MOVE_IRON_TAIL,
+ MOVE_SLASH,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK,
+ .teamFlags = 0x0F,
+ .moves = {
+ MOVE_DOUBLE_TEAM,
+ MOVE_FLY,
+ MOVE_TOXIC,
+ MOVE_STEEL_WING
+ },
+ .evSpread = 0,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_STRENGTH,
+ MOVE_CROSS_CHOP,
+ MOVE_EARTHQUAKE,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_PROTECT,
+ MOVE_ICE_BEAM,
+ MOVE_HYPER_BEAM,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_DRAGON_CLAW,
+ MOVE_AGILITY,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_MIRROR_MOVE,
+ MOVE_EARTHQUAKE,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_DRAGON_DANCE,
+ MOVE_TOXIC,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_BRICK_BREAK,
+ MOVE_WATER_PULSE,
+ MOVE_RAIN_DANCE,
+ MOVE_FOCUS_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_SNATCH,
+ MOVE_DIG,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ZANGOOSE,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES,
+ .teamFlags = 0x0F,
+ .moves = {
+ MOVE_FACADE,
+ MOVE_THUNDERBOLT,
+ MOVE_CRUSH_CLAW,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_LINOONE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x0F,
+ .moves = {
+ MOVE_IRON_TAIL,
+ MOVE_HEADBUTT,
+ MOVE_ATTRACT,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WHISCASH,
+ .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_MUD_SLAP,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_AMNESIA
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .heldItem = BATTLE_TOWER_ITEM_HARD_STONE,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_LIGHT_SCREEN,
+ MOVE_ROCK_SLIDE,
+ MOVE_CONFUSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_RECOVER,
+ MOVE_RAIN_DANCE,
+ MOVE_SURF,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x0F,
+ .moves = {
+ MOVE_INGRAIN,
+ MOVE_LEECH_SEED,
+ MOVE_PROTECT,
+ MOVE_FRUSTRATION
+ },
+ .evSpread = 0,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_FRUSTRATION,
+ MOVE_HYPER_BEAM,
+ MOVE_GIGA_DRAIN,
+ MOVE_TORMENT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_MAGNET,
+ .teamFlags = 0x0F,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_THUNDER_WAVE,
+ MOVE_IRON_TAIL,
+ MOVE_ROAR
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_KECLEON,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_FOCUS_PUNCH,
+ MOVE_IRON_TAIL,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_PINSIR,
+ .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND,
+ .teamFlags = 0x8D,
+ .moves = {
+ MOVE_GUILLOTINE,
+ MOVE_SUBMISSION,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_METANG,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SHADOW_BALL,
+ MOVE_PSYCHIC,
+ MOVE_METEOR_MASH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SELF_DESTRUCT,
+ MOVE_SANDSTORM,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_MASQUERAIN,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_SILVER_WIND,
+ MOVE_ATTRACT,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_RELICANTH,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0xC5,
+ .moves = {
+ MOVE_ROCK_TOMB,
+ MOVE_DOUBLE_EDGE,
+ MOVE_SURF,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ENCORE,
+ MOVE_BLIZZARD,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WAILORD,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_WATER_SPOUT,
+ MOVE_REST,
+ MOVE_AMNESIA,
+ MOVE_HAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_GIRAFARIG,
+ .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY,
+ .teamFlags = 0x4F,
+ .moves = {
+ MOVE_DOUBLE_TEAM,
+ MOVE_CRUNCH,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x4B,
+ .moves = {
+ MOVE_CALM_MIND,
+ MOVE_REVERSAL,
+ MOVE_ROCK_TOMB,
+ MOVE_PSYCHIC
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB,
+ .teamFlags = 0xC7,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SYNTHESIS,
+ MOVE_RAZOR_LEAF,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_NINJASK,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_DOUBLE_TEAM,
+ MOVE_SLASH,
+ MOVE_SWORDS_DANCE,
+ MOVE_LEECH_LIFE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_CAMERUPT,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_OVERHEAT,
+ MOVE_SUNNY_DAY,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_SHARPEDO,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_SURF,
+ MOVE_EARTHQUAKE,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WIGGLYTUFF,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x0E,
+ .moves = {
+ MOVE_PROTECT,
+ MOVE_TOXIC,
+ MOVE_DOUBLE_TEAM,
+ MOVE_DIG
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_HAZE,
+ MOVE_CRUNCH,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_CRADILY,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0xC1,
+ .moves = {
+ MOVE_ROCK_TOMB,
+ MOVE_CONFUSE_RAY,
+ MOVE_INGRAIN,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0xC1,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SANDSTORM,
+ MOVE_PROTECT,
+ MOVE_SLASH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MAGNETON,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_ZAP_CANNON,
+ MOVE_SUPERSONIC,
+ MOVE_TOXIC,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_LANTURN,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SWALOT,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x8B,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_SNATCH,
+ MOVE_ENCORE,
+ MOVE_BODY_SLAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x81,
+ .moves = {
+ MOVE_STEEL_WING,
+ MOVE_AGILITY,
+ MOVE_TORMENT,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_DONPHAN,
+ .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_FLAIL,
+ MOVE_ROAR,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_FACADE,
+ MOVE_REVERSAL,
+ MOVE_MEGAHORN,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BANETTE,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_HYPER_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_SKILL_SWAP
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_SANDSLASH,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x0F,
+ .moves = {
+ MOVE_SANDSTORM,
+ MOVE_TOXIC,
+ MOVE_SLASH,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_CRAWDAUNT,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_GUILLOTINE,
+ MOVE_CRABHAMMER,
+ MOVE_BLIZZARD,
+ MOVE_SLUDGE_BOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x8B,
+ .moves = {
+ MOVE_MAGIC_COAT,
+ MOVE_PSYCHIC,
+ MOVE_REFLECT,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_RHYDON,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x45,
+ .moves = {
+ MOVE_IRON_TAIL,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_FIRE_BLAST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x8B,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_REFLECT,
+ MOVE_RECOVER,
+ MOVE_SKILL_SWAP
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_WILL_O_WISP,
+ MOVE_BLIZZARD,
+ MOVE_PSYCHIC
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_TORKOAL,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_AMNESIA,
+ MOVE_IRON_TAIL,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_SCREECH,
+ MOVE_EXPLOSION,
+ MOVE_MIRROR_COAT,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_IRON_TAIL,
+ MOVE_FOCUS_PUNCH,
+ MOVE_DOUBLE_TEAM,
+ MOVE_LEECH_SEED
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_THUNDERBOLT,
+ MOVE_FLAMETHROWER,
+ MOVE_FOCUS_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_EXPLOSION,
+ MOVE_SLUDGE_BOMB,
+ MOVE_SHADOW_BALL,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x4E,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_DOUBLE_TEAM,
+ MOVE_FOCUS_PUNCH,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_TENTACRUEL,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_DOUBLE_TEAM,
+ MOVE_TOXIC,
+ MOVE_SURF,
+ MOVE_SLUDGE_BOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_EXPLOUD,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_BLIZZARD,
+ MOVE_FLAMETHROWER,
+ MOVE_EARTHQUAKE,
+ MOVE_RETURN
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_XATU,
+ .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_REST,
+ MOVE_CONFUSE_RAY,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_EXPLOSION,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_TOMB,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ATTRACT,
+ MOVE_CALM_MIND,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_ATTRACT,
+ MOVE_TOXIC,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x13,
+ .moves = {
+ MOVE_DOUBLE_TEAM,
+ MOVE_REST,
+ MOVE_SURF,
+ MOVE_DRAGON_BREATH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_CURSE,
+ MOVE_AMNESIA,
+ MOVE_YAWN,
+ MOVE_FOCUS_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_EARTHQUAKE,
+ MOVE_HYDRO_PUMP,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x21,
+ .moves = {
+ MOVE_BELLY_DRUM,
+ MOVE_ENDURE,
+ MOVE_EARTHQUAKE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_FAINT_ATTACK,
+ MOVE_DOUBLE_EDGE,
+ MOVE_SHADOW_BALL,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_DRAGON_DANCE,
+ MOVE_MIRROR_MOVE,
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT,
+ .teamFlags = 0x11,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_FOCUS_PUNCH,
+ MOVE_ROCK_TOMB,
+ MOVE_ENCORE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x33,
+ .moves = {
+ MOVE_COUNTER,
+ MOVE_ROCK_SLIDE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GLALIE,
+ .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE,
+ .teamFlags = 0x81,
+ .moves = {
+ MOVE_BLIZZARD,
+ MOVE_CRUNCH,
+ MOVE_ICY_WIND,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_HUNTAIL,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0xA1,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_HYDRO_PUMP,
+ MOVE_CRUNCH,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY,
+ .teamFlags = 0xD3,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ATTRACT,
+ MOVE_RECOVER,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_GOREBYSS,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_SURF,
+ MOVE_BLIZZARD,
+ MOVE_SHADOW_BALL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x53,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_ENDEAVOR,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x53,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_MUD_SHOT,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_DOUBLE_EDGE,
+ MOVE_FLAMETHROWER,
+ MOVE_IRON_TAIL,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CRADILY,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0xE1,
+ .moves = {
+ MOVE_STOCKPILE,
+ MOVE_SPIT_UP,
+ MOVE_SWALLOW,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0xC1,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_HYPER_BEAM,
+ MOVE_SLASH,
+ MOVE_SWORDS_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_FOCUS_PUNCH,
+ MOVE_COUNTER,
+ MOVE_MACH_PUNCH,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_SURF,
+ MOVE_PROTECT,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_TORMENT,
+ MOVE_FAINT_ATTACK,
+ MOVE_SHADOW_BALL,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_SUNNY_DAY,
+ MOVE_SYNTHESIS,
+ MOVE_SOLAR_BEAM,
+ MOVE_LEECH_SEED
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_MACHO_BRACE,
+ .teamFlags = 0x23,
+ .moves = {
+ MOVE_TRICK,
+ MOVE_SKILL_SWAP,
+ MOVE_PSYCHIC,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_TORKOAL,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x81,
+ .moves = {
+ MOVE_IRON_DEFENSE,
+ MOVE_TOXIC,
+ MOVE_REST,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_NONE,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_CRUNCH,
+ MOVE_ROAR,
+ MOVE_THIEF
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_PINSIR,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x61,
+ .moves = {
+ MOVE_GUILLOTINE,
+ MOVE_EARTHQUAKE,
+ MOVE_DOUBLE_TEAM,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x93,
+ .moves = {
+ MOVE_LIGHT_SCREEN,
+ MOVE_THUNDERBOLT,
+ MOVE_SURF,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x51,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_REVERSAL,
+ MOVE_EARTHQUAKE,
+ MOVE_COUNTER
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_BLIZZARD,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x13,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_RECOVER,
+ MOVE_ENCORE,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x93,
+ .moves = {
+ MOVE_SURF,
+ MOVE_BLIZZARD,
+ MOVE_RECOVER,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x11,
+ .moves = {
+ MOVE_REST,
+ MOVE_CURSE,
+ MOVE_BLIZZARD,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x11,
+ .moves = {
+ MOVE_REST,
+ MOVE_IRON_DEFENSE,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x91,
+ .moves = {
+ MOVE_ROCK_TOMB,
+ MOVE_EARTHQUAKE,
+ MOVE_THUNDERBOLT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_EARTHQUAKE,
+ MOVE_BLIZZARD,
+ MOVE_DESTINY_BOND
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_SEAKING,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0xB2,
+ .moves = {
+ MOVE_HORN_DRILL,
+ MOVE_AGILITY,
+ MOVE_SLEEP_TALK,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_CAMERUPT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x00,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ERUPTION,
+ MOVE_ROCK_SLIDE,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_LANTURN,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_SURF,
+ MOVE_THUNDER_WAVE,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_THUNDERBOLT,
+ MOVE_FIRE_BLAST,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_WHISCASH,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_ROCK_TOMB,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x11,
+ .moves = {
+ MOVE_DOUBLE_EDGE,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x63,
+ .moves = {
+ MOVE_DYNAMIC_PUNCH,
+ MOVE_COUNTER,
+ MOVE_FAINT_ATTACK,
+ MOVE_GIGA_DRAIN
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_SHARPEDO,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_DOUBLE_EDGE,
+ MOVE_SURF,
+ MOVE_SWAGGER
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_DOUBLE_EDGE,
+ MOVE_FACADE,
+ MOVE_SWORDS_DANCE,
+ MOVE_QUICK_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WAILORD,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x23,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_EARTHQUAKE,
+ MOVE_ATTRACT,
+ MOVE_FISSURE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_TENTACRUEL,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x21,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_SLUDGE_BOMB,
+ MOVE_GIGA_DRAIN,
+ MOVE_MIRROR_COAT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0xA2,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_SURF,
+ MOVE_TOXIC,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x23,
+ .moves = {
+ MOVE_ENCORE,
+ MOVE_COUNTER,
+ MOVE_MIRROR_COAT,
+ MOVE_DESTINY_BOND
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_RHYDON,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x21,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_MEGAHORN,
+ MOVE_HORN_DRILL,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GLALIE,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x21,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_BLIZZARD,
+ MOVE_HAIL,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x13,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_EARTHQUAKE,
+ MOVE_DRAGON_CLAW,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x17,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_ROCK_TOMB,
+ MOVE_ENDURE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x17,
+ .moves = {
+ MOVE_SURF,
+ MOVE_EARTHQUAKE,
+ MOVE_MUD_SHOT,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x19,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDERBOLT,
+ MOVE_DESTINY_BOND,
+ MOVE_WILL_O_WISP
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0xF6,
+ .moves = {
+ MOVE_SPORE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_BRICK_BREAK,
+ MOVE_SLUDGE_BOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY,
+ .teamFlags = 0x1B,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDER_PUNCH,
+ MOVE_REFLECT,
+ MOVE_RECOVER
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x89,
+ .moves = {
+ MOVE_FAINT_ATTACK,
+ MOVE_SHADOW_BALL,
+ MOVE_DOUBLE_TEAM,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x85,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_EARTHQUAKE,
+ MOVE_FACADE,
+ MOVE_FAKE_OUT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_ATTRACT,
+ MOVE_CONFUSE_RAY,
+ MOVE_BITE,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_FLAMETHROWER,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_ROAR,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x27,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_PROTECT,
+ MOVE_MIRROR_COAT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_FLAMETHROWER,
+ MOVE_THUNDERBOLT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x4D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FLAMETHROWER,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x1B,
+ .moves = {
+ MOVE_SURF,
+ MOVE_THUNDERBOLT,
+ MOVE_RECOVER,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_DODRIO,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x2B,
+ .moves = {
+ MOVE_DRILL_PECK,
+ MOVE_TRI_ATTACK,
+ MOVE_AGILITY,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_REVERSAL,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_SURF,
+ MOVE_CROSS_CHOP,
+ MOVE_ICE_BEAM,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x54,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_ROCK_TOMB,
+ MOVE_ENDURE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_EARTHQUAKE,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_SURF,
+ MOVE_TOXIC,
+ MOVE_PROTECT,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x9C,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_CRUNCH,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0xB5,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ANCIENT_POWER,
+ MOVE_FOCUS_PUNCH,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x96,
+ .moves = {
+ MOVE_ICE_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_DOUBLE_TEAM,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x94,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_THUNDERBOLT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x96,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_THUNDERBOLT,
+ MOVE_REST,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x95,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_REFLECT,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x96,
+ .moves = {
+ MOVE_SURF,
+ MOVE_TOXIC,
+ MOVE_RECOVER,
+ MOVE_MIRROR_COAT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_EARTHQUAKE,
+ MOVE_NONE,
+ MOVE_NONE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x1F,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_DOUBLE_TEAM,
+ MOVE_LEECH_SEED,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x17,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x17,
+ .moves = {
+ MOVE_MUDDY_WATER,
+ MOVE_MUD_SHOT,
+ MOVE_MIRROR_COAT,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x7B,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_SHADOW_BALL,
+ MOVE_DESTINY_BOND,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x56,
+ .moves = {
+ MOVE_SPORE,
+ MOVE_COUNTER,
+ MOVE_IRON_TAIL,
+ MOVE_GIGA_DRAIN
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDER_PUNCH,
+ MOVE_FIRE_PUNCH,
+ MOVE_RECOVER
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_ROCK_TOMB,
+ MOVE_ENDURE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_CONFUSE_RAY,
+ MOVE_ATTRACT,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_COUNTER,
+ MOVE_EARTHQUAKE,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x63,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_THUNDER_WAVE,
+ MOVE_REST,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_SCREECH,
+ MOVE_MIRROR_COAT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x45,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_GIGA_DRAIN,
+ MOVE_ROCK_TOMB,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x4D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_IRON_TAIL,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x1B,
+ .moves = {
+ MOVE_LIGHT_SCREEN,
+ MOVE_THUNDERBOLT,
+ MOVE_SURF,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_OVERHEAT,
+ MOVE_FLAMETHROWER,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x25,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ROAR,
+ MOVE_FIRE_BLAST,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x27,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_CROSS_CHOP,
+ MOVE_BLIZZARD,
+ MOVE_PSYCH_UP
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x55,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_EARTHQUAKE,
+ MOVE_COUNTER,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x36,
+ .moves = {
+ MOVE_SURF,
+ MOVE_BLIZZARD,
+ MOVE_ROCK_SLIDE,
+ MOVE_SHEER_COLD
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x5C,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_PROTECT,
+ MOVE_DRAGON_BREATH,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x9D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FLAMETHROWER,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x95,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_TOMB,
+ MOVE_FACADE,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x96,
+ .moves = {
+ MOVE_BLIZZARD,
+ MOVE_THUNDERBOLT,
+ MOVE_HAIL,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x94,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_ANCIENT_POWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x96,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_REFLECT,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x95,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0xD6,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_KECLEON,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x69,
+ .moves = {
+ MOVE_TRICK,
+ MOVE_REST,
+ MOVE_IRON_TAIL,
+ MOVE_DISABLE
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x5F,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_EARTHQUAKE,
+ MOVE_REST,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x7F,
+ .moves = {
+ MOVE_FOCUS_PUNCH,
+ MOVE_COUNTER,
+ MOVE_SWAGGER,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x57,
+ .moves = {
+ MOVE_IRON_TAIL,
+ MOVE_CURSE,
+ MOVE_DOUBLE_TEAM,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x3B,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_PSYCHIC,
+ MOVE_REST,
+ MOVE_IMPRISON
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x56,
+ .moves = {
+ MOVE_SPORE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_SLUDGE_BOMB,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_TRICK,
+ MOVE_RECOVER,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x65,
+ .moves = {
+ MOVE_REVENGE,
+ MOVE_COUNTER,
+ MOVE_FOCUS_PUNCH,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x54,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_PROTECT,
+ MOVE_TOXIC,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x4B,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_BITE,
+ MOVE_AIR_CUTTER,
+ MOVE_SHADOW_BALL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x75,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_ROCK_SLIDE,
+ MOVE_DYNAMIC_PUNCH,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_ATTRACT,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x64,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_DOUBLE_TEAM,
+ MOVE_MIRROR_COAT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_FLAMETHROWER,
+ MOVE_THUNDERBOLT,
+ MOVE_SHADOW_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0xCD,
+ .moves = {
+ MOVE_PROTECT,
+ MOVE_DIG,
+ MOVE_TOXIC,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x5B,
+ .moves = {
+ MOVE_SURF,
+ MOVE_THUNDERBOLT,
+ MOVE_BLIZZARD,
+ MOVE_PSYCHIC
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_LEECH_SEED,
+ MOVE_DIVE,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_REVERSAL,
+ MOVE_FACADE,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_SURF,
+ MOVE_PSYCHIC,
+ MOVE_ICE_BEAM,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_EARTHQUAKE,
+ MOVE_FACADE,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x26,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_FISSURE,
+ MOVE_SHEER_COLD
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x4D,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_BLIZZARD,
+ MOVE_HYPER_BEAM,
+ MOVE_DISABLE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x9C,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FIRE_BLAST,
+ MOVE_HYDRO_PUMP
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0xB5,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_PURSUIT,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x95,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_TOXIC,
+ MOVE_SUPERPOWER,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE,
+ .teamFlags = 0x96,
+ .moves = {
+ MOVE_ICE_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_ANCIENT_POWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0xB4,
+ .moves = {
+ MOVE_CURSE,
+ MOVE_AMNESIA,
+ MOVE_RETURN,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x92,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x91,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0xB2,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x65,
+ .moves = {
+ MOVE_YAWN,
+ MOVE_SLASH,
+ MOVE_COUNTER,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0xDF,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_DETECT,
+ MOVE_DRAGON_CLAW,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0xD7,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_SKY_UPPERCUT,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x5F,
+ .moves = {
+ MOVE_SURF,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0xDB,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_SHADOW_BALL,
+ MOVE_TOXIC,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x94,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_SHADOW_BALL,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_MACHO_BRACE,
+ .teamFlags = 0x4B,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_CONFUSE_RAY,
+ MOVE_TRICK,
+ MOVE_REFLECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x92,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_RECOVER,
+ MOVE_ATTRACT,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x91,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_THUNDERBOLT,
+ MOVE_ICE_BEAM,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_SURF,
+ MOVE_THUNDERBOLT,
+ MOVE_PSYCHIC,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x14,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_COUNTER,
+ MOVE_ROCK_TOMB,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+};
diff --git a/src/data/battle_tower/trainers.h b/src/data/battle_tower/trainers.h
new file mode 100644
index 000000000..b5eb3da7a
--- /dev/null
+++ b/src/data/battle_tower/trainers.h
@@ -0,0 +1,1503 @@
+const struct BattleTowerTrainer gBattleTowerTrainers[] =
+{
+ {
+ .trainerClass = TRAINER_CLASS_YOUNGSTER,
+ .name = _("ALVIN"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_READY,
+ EC_WORD_QUES,
+ EC_WORD_HERE_I_COME,
+ EC_WORD_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BIRD_KEEPER,
+ .name = _("DIRK"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_OKAY,
+ EC_WORD_I_AM,
+ EC_WORD_GOING,
+ EC_WORD_FOR,
+ EC_WORD_IT,
+ EC_WORD_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LADY,
+ .name = _("CYBIL"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_A,
+ EC_WORD_PUSHOVER,
+ EC_WORD_LET_S,
+ EC_WORD_GET,
+ EC_WORD_GOING,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BLACK_BELT,
+ .name = _("CHEN"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_SPIRIT,
+ EC_WORD_IS,
+ EC_WORD_ENOUGH,
+ EC_WORD_SNORT,
+ EC_WORD_ARRGH,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_NINJA_BOY,
+ .name = _("YOSHI"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GO,
+ EC_WORD_MY,
+ EC_WORD_POKEMON,
+ EC_WORD_FIGHT,
+ EC_WORD_THE,
+ EC_WORD_BATTLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SCHOOL_KID_F,
+ .name = _("TINA"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_STUDY,
+ EC_WORD_IS,
+ EC_WORD_BORING,
+ EC_WORD_LET_S,
+ EC_WORD_BATTLE,
+ EC_WORD_NOW,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_MANIAC,
+ .name = _("COREY"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HEY,
+ EC_WORD_I,
+ EC_WORD_WILL,
+ EC_MOVE2(TRANSFORM),
+ EC_WORD_FOR,
+ EC_MOVE(STRENGTH),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_FISHERMAN,
+ .name = _("GORDON"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_NEED,
+ EC_WORD_A,
+ EC_WORD_VACATION,
+ EC_WORD_RIGHT,
+ EC_WORD_NOW,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_TUBER_F,
+ .name = _("ANN"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WE,
+ EC_WORD_ALL,
+ EC_WORD_ADORE,
+ EC_WORD_POKEMON,
+ EC_WORD_ABSOLUTELY,
+ EC_WORD_TRULY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_F,
+ .name = _("JULIA"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_A,
+ EC_WORD_CUTE,
+ EC_WORD_LADY,
+ EC_WORD_YES,
+ EC_WORD_I_AM,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GENTLEMAN,
+ .name = _("GREGORY"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_THINK,
+ EC_WORD_WE,
+ EC_WORD_SHOULD,
+ EC_WORD_START,
+ EC_WORD_TODAY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CAMPER,
+ .name = _("KEITH"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_MY,
+ EC_WORD_FRIEND,
+ EC_WORD_FROM,
+ EC_WORD_NOW,
+ EC_WORD_ON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_F,
+ .name = _("KENDRA"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_MOVE(SWIFT),
+ EC_WORD_HOW,
+ EC_WORD_ABOUT,
+ EC_WORD_YOU,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HIKER,
+ .name = _("DEV"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WAHAHAHA,
+ EC_WORD_I_AM,
+ EC_WORD_FEELING,
+ EC_WORD_LIKE,
+ EC_WORD_IT_S,
+ EC_MOVE2(PAY_DAY),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BATTLE_GIRL,
+ .name = _("CASSIE"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_STRONG,
+ EC_WORD_AREN_T,
+ 0xFFFF,
+ EC_WORD_YOU,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_M,
+ .name = _("JULIAN"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_FUFUFU,
+ 0xFFFF,
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_WIN,
+ EC_WORD_KID,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LASS,
+ .name = _("JOYCE"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BE,
+ EC_WORD_KIND,
+ EC_WORD_TO,
+ EC_WORD_THE,
+ EC_WORD_DIGITAL,
+ EC_WORD_IDOL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GUITARIST,
+ .name = _("LES"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_GREAT,
+ EC_WORD_YOU_RE,
+ EC_WORD_JUST,
+ EC_WORD_RATHER,
+ EC_WORD_OKAY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RICH_BOY,
+ .name = _("CLINTON"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_HAVE,
+ EC_WORD_ROUGH_SKIN,
+ EC_WORD_I,
+ EC_WORD_NEED,
+ EC_WORD_NATURAL_CURE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_CATCHER,
+ .name = _("LEWIS"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THIS,
+ EC_WORD_IS,
+ EC_WORD_EXCITING,
+ EC_WORD_CAN,
+ EC_WORD_I,
+ EC_WORD_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PICNICKER,
+ .name = _("RACHAEL"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_LIKE,
+ EC_WORD_WALKING,
+ EC_WORD_WITH,
+ EC_WORD_MY,
+ EC_WORD_POKEMON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COLLECTOR,
+ .name = _("HAROLD"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HERE,
+ EC_WORD_THEY,
+ EC_WORD_COME,
+ EC_WORD_MY,
+ EC_MOVE2(SUPERPOWER),
+ EC_WORD_POKEMON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_TUBER_M,
+ .name = _("KIPP"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_A,
+ EC_WORD_GENIUS,
+ EC_WORD_I,
+ EC_WORD_SHOULD,
+ EC_WORD_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_KINDLER,
+ .name = _("IRWIN"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU,
+ EC_WORD_WILL,
+ EC_WORD_BE,
+ EC_WORD_FEELING,
+ EC_WORD_MY,
+ EC_WORD_FIRE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_F,
+ .name = _("EILEEN"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_WILL,
+ EC_MOVE(ASTONISH),
+ EC_WORD_YOU,
+ EC_WORD_IN,
+ EC_WORD_BATTLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_F,
+ .name = _("ANNE"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_SORRY,
+ EC_WORD_BUT,
+ EC_WORD_YOU,
+ EC_WORD_WILL,
+ EC_WORD_NOT,
+ EC_WORD_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_F,
+ .name = _("RUTH"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_A,
+ EC_WORD_STRONG,
+ EC_WORD_GIRL,
+ EC_WORD_WANTS,
+ EC_WORD_TOUGH,
+ EC_WORD_POKEMON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMANIAC,
+ .name = _("JEREMY"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_POKEMON,
+ EC_WORD_ARE,
+ EC_WORD_COOL,
+ EC_WORD_YOURS,
+ EC_WORD_CAN_T_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SAILOR,
+ .name = _("TREVOR"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_OPPONENT,
+ EC_WORD_IS,
+ EC_WORD_FINALLY,
+ EC_WORD_HERE,
+ EC_WORD_EXCELLENT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_F,
+ .name = _("COLETTE"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_AM,
+ EC_WORD_HUNGRY,
+ EC_MOVE2(POUND),
+ EC_WORD_MY,
+ EC_MOVE2(BELLY_DRUM),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HEX_MANIAC,
+ .name = _("PAULA"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT_S,
+ EC_WORD_HARD,
+ EC_WORD_TO,
+ EC_WORD_TAKE,
+ EC_WORD_UGLY,
+ EC_MOVE(SPITE),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUIN_MANIAC,
+ .name = _("STANLY"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ADVENTURE,
+ EC_WORD_AND,
+ EC_WORD_BATTLE,
+ EC_WORD_ARE,
+ EC_WORD_MY,
+ EC_WORD_LIKES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ .name = _("TROY"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_LOSE,
+ EC_WORD_TO,
+ EC_WORD_A,
+ EC_WORD_KID,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SCHOOL_KID_M,
+ .name = _("ED"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_POKEMON,
+ EC_WORD_DAILY,
+ EC_WORD_AT,
+ EC_WORD_SCHOOL,
+ EC_WORD_IT_S,
+ EC_WORD_AWESOME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_F,
+ .name = _("ELLEN"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_KIND,
+ EC_WORD_TO,
+ EC_WORD_YOUR,
+ EC_WORD_POKEMON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_M,
+ .name = _("ARNIE"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_BATTLE,
+ EC_WORD_SERIOUSLY,
+ EC_WORD_BEAUTIFUL,
+ EC_WORD_YOU,
+ EC_MOVE(DIG),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_M,
+ .name = _("HAL"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BOY,
+ EC_WORD_I_AM,
+ EC_WORD_TIRED,
+ EC_WORD_READY,
+ EC_WORD_FOR,
+ EC_WORD_SLEEP,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BEAUTY,
+ .name = _("LAUREN"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_A,
+ EC_WORD_TRAINER,
+ EC_WORD_LIKE,
+ EC_WORD_YOU,
+ EC_WORD_IS,
+ EC_WORD_EXCITING,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_AROMA_LADY,
+ .name = _("STACY"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HAVE,
+ EC_WORD_YOU,
+ EC_WORD_A,
+ EC_WORD_STENCH,
+ EC_WORD_OR,
+ EC_MOVE(SWEET_SCENT),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COLLECTOR,
+ .name = _("DARYL"),
+ .teamFlags = 0x81,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOUR,
+ EC_WORD_POKEMON,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_I,
+ EC_WORD_WANT,
+ EC_WORD_IT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_F,
+ .name = _("KATHY"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_WILL,
+ EC_WORD_TRY,
+ EC_WORD_MY,
+ EC_WORD_BEST,
+ EC_WORD_TODAY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_M,
+ .name = _("HARRIS"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WAAAH,
+ EC_WORD_WAAAH,
+ EC_WORD_WAAAH,
+ EC_WORD_WAAAH,
+ EC_WORD_EHEHE,
+ EC_MOVE(FAKE_TEARS),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_M,
+ .name = _("GLENN"),
+ .teamFlags = 0x80,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_LISTEN,
+ EC_WORD_TO,
+ EC_WORD_MY,
+ EC_WORD_LOUSY,
+ EC_WORD_ANIME,
+ EC_WORD_SONG,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_M,
+ .name = _("NICO"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_DON_T,
+ EC_WORD_JUST,
+ EC_WORD_BATTLE,
+ EC_WORD_DO,
+ EC_WORD_SOMETHING,
+ EC_WORD_ELSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_M,
+ .name = _("BAILEY"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_BUSY,
+ EC_WORD_GET,
+ EC_WORD_WITH,
+ EC_WORD_IT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PARASOL_LADY,
+ .name = _("ABBIE"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THE,
+ EC_MOVE(MORNING_SUN),
+ EC_WORD_HAS,
+ EC_WORD_SO,
+ EC_WORD_MUCH,
+ EC_MOVE(COSMIC_POWER),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CAMPER,
+ .name = _("AL"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_LET_S,
+ EC_WORD_HAVE,
+ EC_WORD_AN,
+ EC_WORD_EXCITING,
+ EC_WORD_BATTLE,
+ EC_WORD_YEEHAW_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SCHOOL_KID_F,
+ .name = _("PEGGY"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_WANT,
+ EC_WORD_TO,
+ EC_WORD_SEE,
+ EC_WORD_SOME,
+ EC_MOVE(GROWTH),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BEAUTY,
+ .name = _("NAOMI"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT,
+ EC_WORD_WAS,
+ EC_WORD_GREAT,
+ EC_WORD_TO,
+ EC_WORD_BE,
+ EC_WORD_YOUNG,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_NINJA_BOY,
+ .name = _("KENJI"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_PLEASE,
+ 0xFFFF,
+ EC_WORD_DON_T,
+ EC_WORD_BE,
+ EC_WORD_MEAN,
+ EC_WORD_TO_ME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_M,
+ .name = _("ROSS"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WAKE_UP,
+ EC_WORD_MY,
+ EC_MOVE2(HIDDEN_POWER),
+ EC_WORD_AND,
+ EC_MOVE(ASTONISH),
+ EC_WORD_ME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_F,
+ .name = _("EDNA"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BATTLE_TOWER,
+ EC_WORD_IS,
+ EC_WORD_SO,
+ EC_WORD_ENTERTAINING,
+ EC_WORD_IT_S,
+ EC_WORD_AWESOME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUIN_MANIAC,
+ .name = _("ANTON"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BLEND,
+ EC_WORD_THICK_FAT,
+ EC_WORD_AND,
+ EC_WORD_CHLOROPHYLL,
+ EC_WORD_IT_S,
+ EC_WORD_TASTY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_M,
+ .name = _("MITCH"),
+ .teamFlags = 0x81,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_NEXT,
+ EC_WORD_A,
+ EC_WORD_GIRL,
+ EC_WORD_WITH,
+ EC_WORD_A,
+ EC_MOVE(SCARY_FACE),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HEX_MANIAC,
+ .name = _("ROD"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GIMME,
+ EC_WORD_A,
+ EC_WORD_TOUGH,
+ EC_WORD_BATTLE,
+ EC_WORD_NOT,
+ EC_WORD_WIMPY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_M,
+ .name = _("RICH"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TASTY,
+ EC_WORD_WATER,
+ EC_WORD_IS,
+ EC_WORD_HIP_AND,
+ EC_WORD_HAPPENING,
+ EC_WORD_YES_SIR_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_M,
+ .name = _("DANIEL"),
+ .teamFlags = 0x80,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GO,
+ EC_WORD_FOR,
+ EC_WORD_IT,
+ EC_WORD_MY,
+ EC_WORD_LOVEY_DOVEY,
+ EC_WORD_POKEMON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_F,
+ .name = _("GLORIA"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_LET_S,
+ EC_WORD_GET,
+ EC_WORD_THIS,
+ EC_WORD_FIERY,
+ EC_WORD_BATTLE,
+ EC_WORD_HAPPENING,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GUITARIST,
+ .name = _("NELSON"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MUSIC,
+ EC_WORD_IS,
+ EC_WORD_MY,
+ EC_WORD_ALL,
+ EC_WORD_MY,
+ EC_WORD_DESTINY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_KINDLER,
+ .name = _("FERRIS"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GOOD,
+ EC_WORD_IT,
+ EC_WORD_IS,
+ EC_WORD_SO,
+ EC_WORD_VERY,
+ EC_WORD_GOOD,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_AROMA_LADY,
+ .name = _("AMANDA"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WHAT,
+ EC_WORD_KIND,
+ EC_WORD_OF,
+ EC_WORD_TRAINER,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ .name = _("MASON"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_DON_T,
+ EC_WORD_KNOW,
+ EC_WORD_HOW,
+ EC_WORD_TO,
+ EC_WORD_LOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_DRAGON_TAMER,
+ .name = _("NATE"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_DRAGON,
+ EC_WORD_POKEMON,
+ EC_WORD_ARE,
+ EC_WORD_ALL,
+ EC_WORD_THE,
+ EC_MOVE(RAGE),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LASS,
+ .name = _("MIRIAM"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_TOO_STRONG,
+ EC_WORD_SERIOUSLY,
+ EC_WORD_IT_S,
+ EC_WORD_BAD,
+ EC_WORD_NEWS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMANIAC,
+ .name = _("THEO"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_ADORE,
+ EC_WORD_MY,
+ EC_WORD_MEGA,
+ EC_WORD_CUTE,
+ EC_WORD_PLUSH_DOLL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_F,
+ .name = _("PAMELA"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HERE_I_COME,
+ EC_WORD_I_AM,
+ EC_WORD_THE,
+ EC_WORD_CUTE,
+ EC_MOVE2(WATER_SPORT),
+ EC_WORD_IDOL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_F,
+ .name = _("ALISSA"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT_S,
+ EC_WORD_A,
+ EC_WORD_PREPOSTEROUS,
+ EC_WORD_MATCH,
+ EC_WORD_I_AM,
+ EC_WORD_SHOCKED,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GENTLEMAN,
+ .name = _("ARTHUR"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_PLEASE,
+ EC_WORD_GIVE,
+ EC_WORD_ME,
+ EC_WORD_A,
+ EC_WORD_GOOD,
+ EC_WORD_BATTLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_F,
+ .name = _("MARCY"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_BEAUTIFUL,
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_BEAT,
+ EC_WORD_ME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_M,
+ .name = _("MILLER"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_BATTLE,
+ EC_WORD_DAILY,
+ EC_WORD_I,
+ EC_WORD_WON_T,
+ EC_WORD_LOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BIRD_KEEPER,
+ .name = _("OLIVER"),
+ .teamFlags = 0x11,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_GIGGLE,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ 0xFFFF,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_F,
+ .name = _("MOLLY"),
+ .teamFlags = 0x12,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HOW,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_ON,
+ EC_WORD_MONDAY,
+ EC_WORD_MORNING,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_MANIAC,
+ .name = _("JASON"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WATER,
+ EC_WORD_AND,
+ EC_WORD_BUG,
+ EC_WORD_POKEMON,
+ EC_WORD_ARE,
+ EC_WORD_GREAT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BATTLE_GIRL,
+ .name = _("AVA"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WHAT,
+ EC_WORD_IS,
+ EC_WORD_THIS,
+ EC_WORD_PRESSURE,
+ EC_WORD_ELLIPSIS,
+ EC_WORD_STATIC,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_FISHERMAN,
+ .name = _("HANK"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_A,
+ EC_WORD_KID,
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SAILOR,
+ .name = _("PETER"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT_S,
+ EC_WORD_SERIOUSLY,
+ EC_WORD_TERRIBLE,
+ EC_WORD_I,
+ EC_WORD_REALLY,
+ EC_WORD_THINK,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_F,
+ .name = _("MINDY"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU,
+ EC_WORD_APPEAR,
+ EC_WORD_TO,
+ EC_WORD_TRAIN,
+ EC_WORD_VERY,
+ EC_WORD_WELL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_MANIAC,
+ .name = _("DWIGHT"),
+ .teamFlags = 0x11,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_STRONG,
+ EC_WORD_YOU,
+ EC_WORD_ARE,
+ EC_WORD_SCARY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_F,
+ .name = _("REENA"),
+ .teamFlags = 0x12,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_ALWAYS,
+ EC_WORD_LOSE,
+ EC_WORD_MAYBE,
+ EC_WORD_TODAY,
+ EC_WORD_ELLIPSIS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PARASOL_LADY,
+ .name = _("MEGAN"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_DON_T,
+ EC_WORD_MAKE,
+ EC_WORD_THAT,
+ EC_MOVE(SCARY_FACE),
+ EC_WORD_AT,
+ EC_WORD_ME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_F,
+ .name = _("SIERRA"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_VE,
+ EC_WORD_RUN,
+ EC_WORD_A_LOT,
+ EC_WORD_SO,
+ EC_WORD_I_AM,
+ EC_WORD_HEALTHY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_M,
+ .name = _("ARNOLD"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_FEELING,
+ EC_WORD_AWESOME,
+ EC_WORD_MY,
+ EC_WORD_POKEMON,
+ EC_WORD_ROCK,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BLACK_BELT,
+ .name = _("XIN"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HOO_HAH,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_READY,
+ EC_WORD_TO,
+ EC_WORD_ROCK,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_F,
+ .name = _("KELLY"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU,
+ EC_WORD_COULDN_T,
+ EC_WORD_BEAT,
+ EC_WORD_ME,
+ EC_WORD_EVER,
+ EC_WORD_KID,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COLLECTOR,
+ .name = _("VANCE"),
+ .teamFlags = 0x80,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_POKEMON,
+ EC_WORD_ALL,
+ EC_WORD_OVER,
+ EC_WORD_THE,
+ EC_WORD_PLACE,
+ EC_WORD_WOWEE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ .name = _("TOBY"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THIS,
+ EC_WORD_ISN_T,
+ EC_WORD_SPORTS,
+ EC_WORD_IT_S,
+ EC_WORD_A,
+ EC_WORD_BATTLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GENTLEMAN,
+ .name = _("NORTON"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_HAVE,
+ EC_WORD_TO,
+ EC_WORD_WIN,
+ EC_WORD_PLEASE,
+ EC_WORD_LOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BATTLE_GIRL,
+ .name = _("ZOE"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THIS,
+ EC_WORD_IS,
+ EC_WORD_SCARY,
+ EC_WORD_PLEASE,
+ EC_WORD_BE,
+ EC_WORD_NICE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BEAUTY,
+ .name = _("EMMA"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_DON_T,
+ EC_WORD_YOU,
+ EC_MOVE(FLAIL),
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_MOVE(WITHDRAW),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HIKER,
+ .name = _("VINCE"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YAHOO,
+ EC_WORD_YAHOO,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_LISTENING,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_M,
+ .name = _("MARV"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_LEARN,
+ EC_WORD_TO,
+ EC_WORD_BATTLE,
+ EC_WORD_THE,
+ EC_WORD_CORRECT,
+ EC_WORD_WAY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_M,
+ .name = _("TODD"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THE,
+ EC_WORD_WAY,
+ EC_WORD_YOU,
+ EC_WORD_BATTLE,
+ EC_WORD_IT_S,
+ EC_WORD_CHILD_S_PLAY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GUITARIST,
+ .name = _("GAVIN"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BABY,
+ EC_WORD_BABY,
+ EC_WORD_BABY,
+ EC_WORD_ROCK,
+ EC_WORD_ME,
+ EC_WORD_HARD,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_M,
+ .name = _("QUINN"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_HAVE,
+ EC_WORD_A,
+ EC_WORD_STICKY_HOLD,
+ EC_WORD_ON,
+ EC_WORD_YOU,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_F,
+ .name = _("JENN"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_ON,
+ EC_WORD_A,
+ EC_WORD_TOUGH,
+ EC_WORD_TRAINER,
+ EC_WORD_SEARCH,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_M,
+ .name = _("JOEL"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BELIEVE,
+ EC_WORD_IN,
+ EC_WORD_YOUR,
+ EC_WORD_POKEMON,
+ EC_WORD_AND,
+ EC_WORD_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_DRAGON_TAMER,
+ .name = _("KYLE"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_LIKE,
+ EC_WORD_A,
+ EC_WORD_GIRL,
+ EC_WORD_WITH,
+ EC_MOVE2(FORESIGHT),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_M,
+ .name = _("BRET"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TAKE,
+ EC_WORD_MY,
+ EC_WORD_OVERWHELMING,
+ EC_WORD_POWER,
+ EC_WORD_AND,
+ EC_WORD_DISAPPEAR,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_F,
+ .name = _("CARRIE"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TRAINER,
+ EC_WORD_I,
+ EC_WORD_SEE,
+ EC_WORD_YOU,
+ EC_WORD_ARE,
+ EC_WORD_CAPABLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LADY,
+ .name = _("GILLIAN"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_COME_ON,
+ EC_WORD_SHOW,
+ EC_WORD_ME,
+ EC_WORD_AN,
+ EC_WORD_EXCELLENT,
+ EC_WORD_TIME,
+ },
+ },
+ },
+};
diff --git a/src/data/battle_tower/trainers_de.h b/src/data/battle_tower/trainers_de.h
new file mode 100644
index 000000000..86182da9d
--- /dev/null
+++ b/src/data/battle_tower/trainers_de.h
@@ -0,0 +1,1503 @@
+const struct BattleTowerTrainer gBattleTowerTrainers[] =
+{
+ {
+ .trainerClass = TRAINER_CLASS_YOUNGSTER,
+ .name = _("ALWIN"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_READY,
+ EC_WORD_QUES,
+ EC_WORD_HERE_I_COME,
+ EC_WORD_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BIRD_KEEPER,
+ .name = _("DIRK"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_OH_KAY,
+ EC_WORD_I_AM,
+ EC_WORD_READY,
+ EC_WORD_EXCL,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LADY,
+ .name = _("SIBILLE"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THAT,
+ EC_WORD_BECOMES,
+ EC_WORD_A,
+ EC_WORD_CHILD_S_PLAY,
+ EC_WORD_GO,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BLACK_BELT,
+ .name = _("OLAF"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_GHOST,
+ EC_WORD_IS,
+ EC_WORD_FULL,
+ EC_WORD_TOUGHNESS,
+ EC_WORD_SNORT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_NINJA_BOY,
+ .name = _("JOST"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GO,
+ EC_WORD_WHO_WAS,
+ EC_WORD_POKEMON,
+ EC_WORD_FIGHT,
+ EC_WORD_FIGHT,
+ EC_WORD_FIGHT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SCHOOL_KID_F,
+ .name = _("TINA"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_STUDY,
+ EC_WORD_IS,
+ EC_WORD_BORING,
+ EC_WORD_LET_S,
+ EC_WORD_BETTER,
+ EC_WORD_FIGHT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_MANIAC,
+ .name = _("HAJO"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TOUGHNESS,
+ EC_WORD_AND,
+ EC_MOVE2(TRANSFORM),
+ EC_WORD_WILL,
+ EC_WORD_BABE,
+ EC_WORD_FAINT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_FISHERMAN,
+ .name = _("GEORG"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT,
+ EC_WORD_GOES,
+ EC_WORD_NOTHING,
+ EC_WORD_OVER,
+ EC_WORD_FISHING,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_TUBER_F,
+ .name = _("ANNE"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_POKEMON,
+ EC_WORD_MUST_BE,
+ EC_WORD_MAN,
+ EC_WORD_SIMPLE,
+ EC_WORD_ADORE,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_F,
+ .name = _("JULIA"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_CUTE,
+ EC_WORD_I_AM,
+ EC_WORD_QUITE,
+ EC_WORD_AN,
+ EC_WORD_LADY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GENTLEMAN,
+ .name = _("JOHANN"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THE,
+ EC_WORD_DAY,
+ EC_WORD_IS,
+ EC_WORD_PERFECT,
+ EC_WORD_FOR,
+ EC_WORD_BATTLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CAMPER,
+ .name = _("KARL"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_NOW,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_MY,
+ EC_WORD_FRIEND,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_F,
+ .name = _("KENDRA"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_SMART,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_AND,
+ EC_WORD_YOU,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HIKER,
+ .name = _("DAVID"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WAHAHAHA,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_TODAY,
+ EC_WORD_IS,
+ EC_MOVE2(PAY_DAY),
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BATTLE_GIRL,
+ .name = _("KEA"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_TOUGH,
+ EC_WORD_OR,
+ EC_WORD_QUES,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_M,
+ .name = _("JULIAN"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_FUFUFU,
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_DON_T,
+ EC_WORD_WINS,
+ EC_WORD_KID,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LASS,
+ .name = _("JOSI"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BE,
+ EC_WORD_KIND,
+ EC_WORD_TO,
+ EC_WORD_GIRL,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GUITARIST,
+ .name = _("LEIF"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_GREAT,
+ EC_WORD_YOU_RE,
+ EC_WORD_RATHER,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_OKAY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RICH_BOY,
+ .name = _("INGO"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_HAVE,
+ EC_WORD_ROUGH_SKIN,
+ EC_WORD_NATURAL_CURE,
+ EC_WORD_IS,
+ EC_WORD_ALL_RIGHT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_CATCHER,
+ .name = _("LUDWIG"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IF_I_WIN,
+ EC_WORD_IS,
+ EC_WORD_THAT,
+ EC_WORD_EXCITING,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PICNICKER,
+ .name = _("RAJA"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WITH,
+ EC_WORD_POKEMON,
+ EC_WORD_TO,
+ EC_WORD_WALKING,
+ EC_WORD_IS,
+ EC_WORD_GREAT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COLLECTOR,
+ .name = _("HARALD"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HERE_GOES,
+ EC_WORD_MY,
+ EC_WORD_HUGE_POWER,
+ 0xFFFF,
+ EC_WORD_POKEMON,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_TUBER_M,
+ .name = _("KIM"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_A,
+ EC_WORD_GENIUS,
+ EC_WORD_WE,
+ EC_WORD_WILL,
+ EC_WORD_WINS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_KINDLER,
+ .name = _("ERWIN"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_FIRE,
+ EC_WORD_IS,
+ EC_WORD_VERY,
+ EC_WORD_HOT,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_F,
+ .name = _("EIKA"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_FIGHTING,
+ EC_MOVE(ASTONISH),
+ EC_WORD_AND,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_F,
+ .name = _("ANNINA"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_SORRY,
+ EC_WORD_YOURS,
+ EC_WORD_POKEMON,
+ EC_WORD_WILL,
+ EC_WORD_DON_T,
+ EC_WORD_WINS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_F,
+ .name = _("RUTH"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_TOUGH,
+ EC_WORD_WHO_WAS,
+ EC_WORD_POKEMON,
+ EC_WORD_TOO,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMANIAC,
+ .name = _("JENS"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WHO_WAS,
+ EC_WORD_POKEMON,
+ EC_WORD_THOSE,
+ EC_WORD_COOL,
+ EC_WORD_YOURS,
+ EC_WORD_LOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SAILOR,
+ .name = _("TITUS"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_FOE,
+ EC_WORD_IS,
+ EC_WORD_FINALLY,
+ EC_WORD_HERE,
+ EC_WORD_EXCELLENT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_F,
+ .name = _("NICOLA"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_VORACIOUS,
+ EC_MOVE2(POUND),
+ EC_WORD_AND,
+ EC_MOVE2(BELLY_DRUM),
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HEX_MANIAC,
+ .name = _("PAULA"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IS_IT_QUES,
+ EC_WORD_THOSE_ARE,
+ EC_WORD_UGLY,
+ EC_MOVE(SPITE),
+ EC_WORD_TO,
+ EC_WORD_TAKE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUIN_MANIAC,
+ .name = _("SÖREN"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ADVENTURE,
+ EC_WORD_AND,
+ EC_WORD_BATTLE,
+ EC_WORD_THOSE,
+ EC_WORD_WHO_WAS,
+ EC_WORD_LIKES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ .name = _("RAINER"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WE,
+ EC_WORD_CAN,
+ EC_WORD_VERSUS,
+ EC_WORD_CHILDREN,
+ EC_WORD_DON_T,
+ EC_WORD_LOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SCHOOL_KID_M,
+ .name = _("FABIAN"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_DAILY,
+ EC_WORD_POKEMON,
+ EC_WORD_IN,
+ EC_WORD_THE,
+ EC_WORD_SCHOOL,
+ EC_WORD_AWESOME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_F,
+ .name = _("ELLEN"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_ALL_RIGHT,
+ EC_WORD_TO,
+ EC_WORD_POKEMON,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_M,
+ .name = _("ARNIE"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_FIGHTING,
+ EC_WORD_IS,
+ EC_WORD_PERFECTION,
+ EC_WORD_YOUR,
+ EC_WORD_USELESS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_M,
+ .name = _("HARDI"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BOY,
+ EC_WORD_I_AM,
+ EC_WORD_MAYBE,
+ EC_WORD_TIRED,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BEAUTY,
+ .name = _("LINA"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_A,
+ EC_WORD_TRAINER,
+ EC_WORD_HOW_DO,
+ EC_WORD_YOU,
+ EC_WORD_IS,
+ EC_WORD_EXCITING,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_AROMA_LADY,
+ .name = _("SELINA"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_VE,
+ EC_WORD_STENCH,
+ EC_WORD_OR,
+ EC_MOVE(SWEET_SCENT),
+ EC_WORD_QUES,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COLLECTOR,
+ .name = _("DANTE"),
+ .teamFlags = 0x81,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOURS,
+ EC_WORD_POKEMON,
+ EC_WORD_I,
+ EC_WORD_WANTS,
+ EC_WORD_SHE,
+ EC_WORD_EXCL_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_F,
+ .name = _("KATJA"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TODAY,
+ EC_WORD_WANTS,
+ EC_WORD_I,
+ EC_WORD_MY,
+ EC_WORD_BEST,
+ EC_WORD_GIVE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_M,
+ .name = _("HORST"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WAAAH,
+ EC_WORD_WAAAH,
+ EC_WORD_WAAAH,
+ EC_WORD_WAAAH,
+ EC_WORD_EHEHE,
+ EC_MOVE(FAKE_TEARS),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_M,
+ .name = _("GERRIT"),
+ .teamFlags = 0x80,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_ANIME,
+ EC_WORD_SONG,
+ EC_WORD_IS,
+ EC_WORD_DON_T,
+ EC_WORD_LOUSY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_M,
+ .name = _("NIKO"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BATTLE,
+ EC_WORD_DON_T,
+ EC_WORD_JUST,
+ EC_WORD_DO,
+ EC_WORD_SOMETHING,
+ EC_WORD_ELSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_M,
+ .name = _("BALDO"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_BUSY,
+ EC_WORD_HAS,
+ EC_WORD_THAT,
+ EC_WORD_TIME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PARASOL_LADY,
+ .name = _("ALMA"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THAT,
+ EC_MOVE(MORNING_SUN),
+ EC_WORD_HAS,
+ EC_WORD_SO,
+ EC_WORD_A_LOT,
+ EC_MOVE(COSMIC_POWER),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CAMPER,
+ .name = _("ADAM"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_EXCITING,
+ EC_WORD_BATTLE,
+ EC_WORD_THOSE,
+ EC_WORD_GREAT,
+ EC_WORD_YEEHAW_EXCL,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SCHOOL_KID_F,
+ .name = _("GRETE"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_WANTS,
+ EC_WORD_SOMETHING,
+ EC_MOVE(GROWTH),
+ EC_WORD_WORKS,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BEAUTY,
+ .name = _("NAOMI"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT,
+ EC_WORD_WAS,
+ EC_WORD_GREAT,
+ EC_WORD_YOUNG,
+ EC_WORD_TO,
+ EC_WORD_HIS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_NINJA_BOY,
+ .name = _("KENO"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_PLEASE,
+ EC_WORD_BE,
+ EC_WORD_DON_T,
+ EC_WORD_SO,
+ EC_WORD_MEAN,
+ EC_WORD_TO_ME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_M,
+ .name = _("REMUS"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WAKES_UP,
+ EC_MOVE2(HIDDEN_POWER),
+ EC_WORD_AND,
+ EC_MOVE(ASTONISH),
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_F,
+ .name = _("EDITH"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THE,
+ EC_WORD_BATTLE_TOWER,
+ EC_WORD_IS,
+ EC_WORD_SO,
+ EC_WORD_ENTERTAINING,
+ EC_WORD_AWESOME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUIN_MANIAC,
+ .name = _("ANTON"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THICK_FAT,
+ EC_WORD_AND,
+ EC_WORD_CHLOROPHYLL,
+ EC_WORD_BLEND,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_TASTY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_M,
+ .name = _("MALTE"),
+ .teamFlags = 0x81,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_AN,
+ EC_MOVE(SCARY_FACE),
+ EC_WORD_IS,
+ EC_WORD_DON_T,
+ EC_WORD_QUITE,
+ EC_WORD_TERRIBLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HEX_MANIAC,
+ .name = _("RAOUL"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_RUN_AWAY,
+ EC_WORD_GIVE_ME,
+ EC_WORD_SON,
+ EC_WORD_BEST,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_M,
+ .name = _("RICK"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WATER,
+ EC_WORD_IS,
+ EC_WORD_TASTY,
+ EC_WORD_HIP_AND,
+ EC_WORD_REFRESHING,
+ EC_WORD_YES_SIR_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_M,
+ .name = _("DENNIS"),
+ .teamFlags = 0x80,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GO,
+ EC_WORD_WHO_WAS,
+ EC_WORD_POKEMON,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_F,
+ .name = _("GLORIA"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THE,
+ EC_WORD_FIGHTING,
+ EC_WORD_MUST_BE,
+ EC_WORD_HOT,
+ EC_WORD_HIS,
+ EC_WORD_FIERY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GUITARIST,
+ .name = _("NINO"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MUSIC,
+ EC_WORD_IS,
+ EC_WORD_MY,
+ EC_WORD_EVERY,
+ EC_WORD_MY,
+ EC_WORD_DESTINY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_KINDLER,
+ .name = _("FIETE"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT_S,
+ EC_WORD_ALL_RIGHT,
+ EC_WORD_VERY,
+ EC_WORD_ALL_RIGHT,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_AROMA_LADY,
+ .name = _("AMANDA"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WHAT,
+ EC_WORD_FOR,
+ EC_WORD_A,
+ EC_WORD_TRAINER,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ .name = _("MAREK"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WE_VE,
+ EC_WORD_UNTIL,
+ EC_WORD_NOW,
+ EC_WORD_TOTALLY,
+ EC_WORD_NEVER,
+ EC_WORD_LOST,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_DRAGON_TAMER,
+ .name = _("NATHAN"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_DRAGON,
+ 0xFFFF,
+ EC_WORD_POKEMON,
+ EC_WORD_THOSE,
+ EC_WORD_FANTASTIC,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LASS,
+ .name = _("MIRIAM"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_QUITE,
+ EC_WORD_TOO_STRONG,
+ EC_WORD_AM,
+ EC_WORD_BAD,
+ EC_WORD_NEWS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMANIAC,
+ .name = _("THEO"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_PLUSH_DOLL,
+ EC_WORD_MUST_BE,
+ EC_WORD_MAN,
+ EC_WORD_SIMPLE,
+ EC_WORD_ADORE,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_F,
+ .name = _("PIA"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HERE_I_COME,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_CUTE,
+ EC_WORD_A,
+ EC_WORD_CHANNEL,
+ EC_WORD_IDOL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_F,
+ .name = _("ALISSA"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOURS,
+ EC_WORD_POKEMON,
+ EC_WORD_THOSE,
+ EC_WORD_PREPOSTEROUS,
+ EC_WORD_I_AM,
+ EC_WORD_SHOCKED,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GENTLEMAN,
+ .name = _("ARTUR"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_PLEASE,
+ EC_WORD_ALL,
+ EC_WORD_BATTLE,
+ EC_WORD_WEREN_T,
+ EC_WORD_GREAT,
+ EC_WORD_HIS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_F,
+ .name = _("MAJA"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_PRETTY,
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_DON_T,
+ EC_WORD_WINS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_M,
+ .name = _("MARIUS"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_BATTLE,
+ EC_WORD_DAILY,
+ EC_WORD_I,
+ EC_WORD_WON_T,
+ EC_WORD_LOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BIRD_KEEPER,
+ .name = _("OLIVER"),
+ .teamFlags = 0x11,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GIGGLE,
+ EC_WORD_GIGGLE,
+ EC_WORD_SNORT,
+ EC_WORD_HAPPILY,
+ EC_WORD_GIGGLE,
+ EC_WORD_MUFUFU,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_F,
+ .name = _("MOLLY"),
+ .teamFlags = 0x12,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IS,
+ EC_WORD_TODAY,
+ EC_WORD_MONDAY,
+ EC_WORD_QUES,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_MANIAC,
+ .name = _("JÖRG"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WATER,
+ 0xFFFF,
+ EC_WORD_AND,
+ EC_WORD_BUG,
+ 0xFFFF,
+ EC_WORD_POKEMON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BATTLE_GIRL,
+ .name = _("ANKE"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WHAT,
+ EC_WORD_IS,
+ EC_WORD_PRESSURE,
+ EC_WORD_STATIC,
+ EC_WORD_IS,
+ EC_WORD_SUPER,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_FISHERMAN,
+ .name = _("HANS"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_KID,
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_DON_T,
+ EC_WORD_WINS,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SAILOR,
+ .name = _("PETER"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT_S,
+ EC_WORD_QUITE,
+ EC_WORD_TERRIBLE,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_MODE,
+ EC_WORD_I,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_F,
+ .name = _("MARA"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_VERY,
+ EC_WORD_ALL_RIGHT,
+ EC_WORD_TRAINS,
+ EC_WORD_OR,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_MANIAC,
+ .name = _("DARIUS"),
+ .teamFlags = 0x11,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_TOUGH,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_SCARY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_F,
+ .name = _("REGINA"),
+ .teamFlags = 0x12,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TODAY,
+ EC_WORD_WIN,
+ EC_WORD_I,
+ EC_WORD_MAYBE,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PARASOL_LADY,
+ .name = _("MAIKE"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_SO,
+ EC_WORD_AN,
+ EC_MOVE(SCARY_FACE),
+ EC_WORD_IS,
+ EC_WORD_NOT_VERY,
+ EC_WORD_KIND,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_F,
+ .name = _("SANDRA"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_SPORTS,
+ EC_WORD_IS,
+ EC_WORD_HEALTHY,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_SPIRALING,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_M,
+ .name = _("ARNOLD"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_AWESOME,
+ EC_WORD_WHO_WAS,
+ EC_WORD_POKEMON,
+ EC_WORD_THOSE,
+ EC_WORD_ROCK_SOLID,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BLACK_BELT,
+ .name = _("XENO"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HOO_HAH,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_READY,
+ EC_WORD_FOR,
+ EC_WORD_SHADY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_F,
+ .name = _("KARLA"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_ME,
+ EC_WORD_NEVER,
+ EC_WORD_SMITE,
+ EC_WORD_KID,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COLLECTOR,
+ .name = _("VOLKER"),
+ .teamFlags = 0x80,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_FROM,
+ EC_WORD_PLACE,
+ EC_WORD_TO,
+ EC_WORD_PLACE,
+ EC_WORD_POKEMON,
+ EC_WORD_WOWEE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ .name = _("TOBIAS"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THAT,
+ EC_WORD_ISN_T,
+ EC_WORD_SPORTS,
+ EC_WORD_IT_S,
+ EC_WORD_A,
+ EC_WORD_FIGHTING,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GENTLEMAN,
+ .name = _("NORBERT"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_MUST_BE,
+ EC_WORD_WINS,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_PLEASE,
+ EC_WORD_PLEASE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BATTLE_GIRL,
+ .name = _("ZITA"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THAT,
+ EC_WORD_IS,
+ EC_WORD_SCARY,
+ EC_WORD_PLEASE,
+ EC_WORD_BE,
+ EC_WORD_NICE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BEAUTY,
+ .name = _("ELKE"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WITHOUT,
+ EC_MOVE(FLAIL),
+ EC_WORD_NONE,
+ EC_MOVE(WITHDRAW),
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HIKER,
+ .name = _("VITUS"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YAHOO,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_LISTENS,
+ EC_WORD_HER,
+ EC_WORD_TO,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_M,
+ .name = _("MALTE"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_LEARN,
+ EC_WORD_CORRECT,
+ EC_WORD_TO,
+ EC_WORD_FIGHT,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_M,
+ .name = _("TIM"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT_S,
+ EC_WORD_A,
+ EC_WORD_FIGHTING,
+ EC_WORD_NONE,
+ EC_WORD_CHILD_S_PLAY,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GUITARIST,
+ .name = _("GAVIN"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_SHADY,
+ EC_WORD_BABY,
+ EC_WORD_BABY,
+ EC_WORD_BABY,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_M,
+ .name = _("RALF"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_STICKY_HOLD,
+ EC_WORD_THOSE,
+ EC_WORD_IMPORTANT,
+ EC_WORD_ISN_T_IT_QUES,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_F,
+ .name = _("JENNY"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_SEARCH,
+ EC_WORD_TRAINER,
+ EC_WORD_ABSOLUTELY,
+ EC_WORD_TOUGH,
+ EC_WORD_THOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_M,
+ .name = _("JOEL"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BELIEVE,
+ EC_WORD_ON,
+ EC_WORD_YOURS,
+ EC_WORD_POKEMON,
+ EC_WORD_AND,
+ EC_WORD_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_DRAGON_TAMER,
+ .name = _("KOLJA"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GIRL,
+ EC_WORD_WITH,
+ EC_MOVE2(FORESIGHT),
+ EC_WORD_THOSE,
+ EC_WORD_NICE,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_M,
+ .name = _("BILL"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WHO_WAS,
+ EC_WORD_POWER,
+ EC_WORD_IS,
+ EC_WORD_OVERWHELMING,
+ EC_WORD_DISAPPEAR,
+ EC_WORD_BETTER,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_F,
+ .name = _("CALLA"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TRAINER,
+ EC_WORD_YOU,
+ EC_WORD_ARE,
+ EC_WORD_SEEMS,
+ EC_WORD_CAPABLE,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LADY,
+ .name = _("GESA"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_COME_ON,
+ EC_WORD_ABSOLUTELY,
+ EC_WORD_TIME,
+ EC_WORD_BECOMES,
+ EC_WORD_EXCELLENT,
+ 0xFFFF,
+ },
+ },
+ },
+};
diff --git a/src/de_rom_8040FE0.c b/src/de_rom_8040FE0.c
index eebcc1437..8cf510d6f 100644
--- a/src/de_rom_8040FE0.c
+++ b/src/de_rom_8040FE0.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "battle.h"
+#include "battle_tower.h"
#if GERMAN
@@ -59,7 +60,6 @@ u8 *de_sub_804100C(u8 gender) {
u8 de_sub_81364AC(void);
u8 get_trainer_class_name_index(void);
u8 de_sub_81364F8(void);
-u8 sub_8135FD8(void);
u8 *de_sub_8041024(s32 arg0, u32 arg1) {
u8 nameIndex, trainerClass, gender;
@@ -94,7 +94,7 @@ u8 *de_sub_8041024(s32 arg0, u32 arg1) {
case 0x800:
trainerClass = de_sub_81364F8();
- nameIndex = sub_8135FD8();
+ nameIndex = GetEReaderTrainerClassNameIndex();
if (trainerClass == TRAINER_CLASS_SCHOOL_KID_F)
{
return de_sub_8040FE0(FEMALE);
@@ -196,7 +196,7 @@ _08041086:\n\
bl de_sub_81364F8\n\
lsls r0, 24\n\
lsrs r4, r0, 24\n\
- bl sub_8135FD8\n\
+ bl GetEReaderTrainerClassNameIndex\n\
b _08041070\n\
_08041094:\n\
movs r0, 0x1\n\
diff --git a/src/debug/unknown_debug_menu.c b/src/debug/unknown_debug_menu.c
index a81625f2a..429f43766 100644
--- a/src/debug/unknown_debug_menu.c
+++ b/src/debug/unknown_debug_menu.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "battle_tower.h"
#include "menu.h"
extern u8 gBattleCommunication[];
@@ -41,12 +42,12 @@ static u8 sub_814A464(void)
u8 sub_814A4B8(void)
{
- gSaveBlock2.filler_A8.var_4AE[0] = 3;
- gSaveBlock2.filler_A8.var_4AE[1] = 3;
- gSaveBlock2.filler_A8.var_4B4 = gBattleCommunication[0] + 1;
- gSaveBlock2.filler_A8.var_4B6 = gBattleCommunication[0] + 1;
- gSaveBlock2.filler_A8.var_4B0 = 1;
- gSaveBlock2.filler_A8.var_4B2 = 1;
+ gSaveBlock2.battleTower.var_4AE[0] = 3;
+ gSaveBlock2.battleTower.var_4AE[1] = 3;
+ gSaveBlock2.battleTower.curStreakChallengesNum[0] = gBattleCommunication[0] + 1;
+ gSaveBlock2.battleTower.curStreakChallengesNum[1] = gBattleCommunication[0] + 1;
+ gSaveBlock2.battleTower.curChallengeBattleNum[0] = 1;
+ gSaveBlock2.battleTower.curChallengeBattleNum[1] = 1;
CloseMenu();
return 1;
}
diff --git a/src/engine/mystery_event_script.c b/src/engine/mystery_event_script.c
index a6568f5de..69434710f 100644
--- a/src/engine/mystery_event_script.c
+++ b/src/engine/mystery_event_script.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "berry.h"
+#include "battle_tower.h"
#include "easy_chat.h"
#include "event_data.h"
#include "mail_data.h"
@@ -27,7 +28,6 @@
#endif
extern void party_compaction(void);
-extern void sub_813601C(void);
extern ScrCmdFunc gMysteryEventScriptCmdTable[];
extern ScrCmdFunc gMysteryEventScriptCmdTableEnd[];
@@ -420,8 +420,8 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx)
bool8 MEScrCmd_addtrainer(struct ScriptContext *ctx)
{
u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0];
- memcpy(gSaveBlock2.filler_A8.ereaderTrainer, (void *)data, sizeof(gSaveBlock2.filler_A8.ereaderTrainer));
- sub_813601C();
+ memcpy(&gSaveBlock2.battleTower.ereaderTrainer, (void *)data, sizeof(gSaveBlock2.battleTower.ereaderTrainer));
+ ValidateEReaderTrainer();
StringExpandPlaceholders(gStringVar4, gOtherText_NewTrainerInHoenn);
ctx->data[2] = 2;
return FALSE;
diff --git a/src/engine/record_mixing.c b/src/engine/record_mixing.c
index 8dff432c1..87fc6a81d 100644
--- a/src/engine/record_mixing.c
+++ b/src/engine/record_mixing.c
@@ -43,7 +43,7 @@ void *gUnknown_083D0274 = &gSaveBlock1.unknown_2ABC;
void *gUnknown_083D0278 = &gSaveBlock1.mauvilleMan;
void *recordMixingEasyChatPairs = &gSaveBlock1.easyChatPairs;
struct RecordMixingDayCareMail *gUnknown_083D0280 = &gUnknown_02038738;
-void *gUnknown_083D0284 = &gSaveBlock2.filler_A8;
+void *gBattleTowerPlayerRecord = &gSaveBlock2.battleTower.playerRecord;
#define BUFFER_CHUNK_SIZE 200
@@ -60,7 +60,7 @@ struct PlayerRecords
u8 filler1044[0x40];
struct EasyChatPair easyChatPairs[5];
struct RecordMixingDayCareMail filler10AC;
- u8 filler1124[0xA4];
+ struct BattleTowerRecord battleTowerRecord;
u16 filler11C8[0x34];
};
@@ -78,7 +78,7 @@ void RecordMixing_PrepareExchangePacket(void)
gUnknown_02038738.mail[1] = gSaveBlock1.daycareData.misc.mail[1];
sub_8041324(gSaveBlock1.daycareData.mons, &gUnknown_02038738);
memcpy(&unk_2018000.filler10AC, gUnknown_083D0280, sizeof(struct RecordMixingDayCareMail));
- memcpy(unk_2018000.filler1124, gUnknown_083D0284, sizeof(unk_2018000.filler1124));
+ memcpy(&unk_2018000.battleTowerRecord, gBattleTowerPlayerRecord, sizeof(struct BattleTowerRecord));
if (GetMultiplayerId() == 0)
unk_2018000.filler11C8[0] = GetRecordMixingGift();
@@ -92,7 +92,7 @@ void RecordMixing_ReceiveExchangePacket(u32 a)
sub_80B9B1C(unk_2008000.filler1044, sizeof(struct PlayerRecords), a);
sub_80FA4E4(unk_2008000.easyChatPairs, sizeof(struct PlayerRecords), a);
sub_80B9C6C((u8 *)&unk_2008000.filler10AC, sizeof(struct PlayerRecords), a, unk_2008000.tvShows);
- sub_80B9B70(unk_2008000.filler1124, sizeof(struct PlayerRecords), a);
+ sub_80B9B70(&unk_2008000.battleTowerRecord, sizeof(struct PlayerRecords), a);
sub_80B9F3C(unk_2008000.filler11C8, a);
}
@@ -447,11 +447,11 @@ void sub_80B9B1C(u8 *a, size_t size, u8 index)
sub_80F7F30();
}
-void sub_80B9B70(u8 *a, size_t size, u8 index)
+void sub_80B9B70(void *battleTowerRecord, u32 size, u8 index)
{
sub_80B9A88(gUnknown_0300071C);
- memcpy(a + size * index, a + size * gUnknown_0300071C[index], 0xA4);
- sub_8134AC0(a + size * index);
+ memcpy(battleTowerRecord + size * index, battleTowerRecord + size * gUnknown_0300071C[index], sizeof(struct BattleTowerRecord));
+ sub_8134AC0(battleTowerRecord + size * index);
}
u8 sub_80B9BBC(u16 *a)
diff --git a/src/engine/trainer_card.c b/src/engine/trainer_card.c
index bcb62ede6..3e9dadbda 100644
--- a/src/engine/trainer_card.c
+++ b/src/engine/trainer_card.c
@@ -311,16 +311,16 @@ static void nullsub_60(u8 taskid)
{
}
-void sub_8093390(struct TrainerCard *arg1)
+void sub_8093390(struct TrainerCard *trainerCard)
{
u32 playTime;
bool32 enteredHallOfFame;
bool8 r4;
u8 i;
- arg1->gender = gSaveBlock2.playerGender;
- arg1->playTimeHours = gSaveBlock2.playTimeHours;
- arg1->playTimeMinutes = gSaveBlock2.playTimeMinutes;
+ trainerCard->gender = gSaveBlock2.playerGender;
+ trainerCard->playTimeHours = gSaveBlock2.playTimeHours;
+ trainerCard->playTimeMinutes = gSaveBlock2.playTimeMinutes;
playTime = GetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME);
enteredHallOfFame = GetGameStat(GAME_STAT_ENTERED_HOF);
@@ -328,39 +328,39 @@ void sub_8093390(struct TrainerCard *arg1)
{
playTime = 0;
}
- arg1->firstHallOfFameA = playTime >> 16;
- arg1->firstHallOfFameB = (playTime >> 8) & 0xFF;
- arg1->firstHallOfFameC = playTime & 0xFF;
+ trainerCard->firstHallOfFameA = playTime >> 16;
+ trainerCard->firstHallOfFameB = (playTime >> 8) & 0xFF;
+ trainerCard->firstHallOfFameC = playTime & 0xFF;
- arg1->hasPokedex = FlagGet(SYS_POKEDEX_GET);
- arg1->var_3 = sub_8090FC0();
- arg1->pokedexSeen = GetPokedexSeenCount();
+ trainerCard->hasPokedex = FlagGet(SYS_POKEDEX_GET);
+ trainerCard->var_3 = sub_8090FC0();
+ trainerCard->pokedexSeen = GetPokedexSeenCount();
- arg1->trainerId = (gSaveBlock2.playerTrainerId[1] << 8) | gSaveBlock2.playerTrainerId[0];
+ trainerCard->trainerId = (gSaveBlock2.playerTrainerId[1] << 8) | gSaveBlock2.playerTrainerId[0];
// Link Cable Battles
- arg1->linkBattleWins = sav12_xor_get_clamped_above(GAME_STAT_LINK_BATTLE_WINS, 9999);
- arg1->linkBattleLosses = sav12_xor_get_clamped_above(GAME_STAT_LINK_BATTLE_LOSSES, 9999);
+ trainerCard->linkBattleWins = sav12_xor_get_clamped_above(GAME_STAT_LINK_BATTLE_WINS, 9999);
+ trainerCard->linkBattleLosses = sav12_xor_get_clamped_above(GAME_STAT_LINK_BATTLE_LOSSES, 9999);
// Contests w/ Friends
- arg1->contestsWithFriends = sav12_xor_get_clamped_above(GAME_STAT_WON_LINK_CONTEST, 999);
+ trainerCard->contestsWithFriends = sav12_xor_get_clamped_above(GAME_STAT_WON_LINK_CONTEST, 999);
// Pokéblocks w/ Friends
- arg1->pokeblocksWithFriends = sav12_xor_get_clamped_above(GAME_STAT_POKEBLOCKS_WITH_FRIENDS, 0xFFFF);
+ trainerCard->pokeblocksWithFriends = sav12_xor_get_clamped_above(GAME_STAT_POKEBLOCKS_WITH_FRIENDS, 0xFFFF);
// Pokémon Trades
- arg1->pokemonTrades = sav12_xor_get_clamped_above(GAME_STAT_POKEMON_TRADES, 0xFFFF);
+ trainerCard->pokemonTrades = sav12_xor_get_clamped_above(GAME_STAT_POKEMON_TRADES, 0xFFFF);
- // Battle tower?
- arg1->battleTowerWins = gSaveBlock2.filler_A8.var_4C8;
- arg1->battleTowerLosses = gSaveBlock2.filler_A8.var_4CA;
- if (arg1->battleTowerWins > 9999)
+ // Battle Tower
+ trainerCard->battleTowerWins = gSaveBlock2.battleTower.totalBattleTowerWins;
+ trainerCard->battleTowerLosses = gSaveBlock2.battleTower.bestBattleTowerWinStreak;
+ if (trainerCard->battleTowerWins > 9999)
{
- arg1->battleTowerWins = 9999;
+ trainerCard->battleTowerWins = 9999;
}
- if (arg1->battleTowerLosses > 9999)
+ if (trainerCard->battleTowerLosses > 9999)
{
- arg1->battleTowerLosses = 9999;
+ trainerCard->battleTowerLosses = 9999;
}
r4 = FALSE;
@@ -368,21 +368,21 @@ void sub_8093390(struct TrainerCard *arg1)
{
r4 = TRUE;
}
- arg1->var_4 = r4;
+ trainerCard->var_4 = r4;
- arg1->money = gSaveBlock1.money;
+ trainerCard->money = gSaveBlock1.money;
for (i = 0; i < 4; i++)
{
- arg1->var_28[i] = gSaveBlock1.unk2B1C[i];
+ trainerCard->var_28[i] = gSaveBlock1.easyChats.unk2B1C[i];
}
for (i = 0; i < 8; i++)
{
- arg1->playerName[i] = gSaveBlock2.playerName[i];
+ trainerCard->playerName[i] = gSaveBlock2.playerName[i];
}
- arg1->stars = sub_80934F4(arg1);
+ trainerCard->stars = sub_80934F4(trainerCard);
}
u8 sub_80934C4(u8 id)
diff --git a/src/field/battle_tower.c b/src/field/battle_tower.c
new file mode 100644
index 000000000..06d692eae
--- /dev/null
+++ b/src/field/battle_tower.c
@@ -0,0 +1,2375 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_setup.h"
+#include "battle_tower.h"
+#include "battle_transition.h"
+#include "data2.h"
+#include "easy_chat.h"
+#include "event_data.h"
+#include "item.h"
+#include "items.h"
+#include "main.h"
+#include "map_object_constants.h"
+#include "moves.h"
+#include "new_game.h"
+#include "overworld.h"
+#include "pokedex.h"
+#include "rng.h"
+#include "save.h"
+#include "script_pokemon_80C4.h"
+#include "species.h"
+#include "string_util.h"
+#include "task.h"
+#include "text.h"
+#include "trainer.h"
+#include "tv.h"
+#include "vars.h"
+
+#if ENGLISH
+#include "../data/battle_tower/trainers.h"
+#elif GERMAN
+#include "../data/battle_tower/trainers_de.h"
+#endif
+
+static const u16 sBattleTowerHeldItems[] = {
+ ITEM_NONE,
+ ITEM_KINGS_ROCK,
+ ITEM_SITRUS_BERRY,
+ ITEM_ORAN_BERRY,
+ ITEM_CHESTO_BERRY,
+ ITEM_HARD_STONE,
+ ITEM_FOCUS_BAND,
+ ITEM_PERSIM_BERRY,
+ ITEM_MIRACLE_SEED,
+ ITEM_BERRY_JUICE,
+ ITEM_MACHO_BRACE,
+ ITEM_SILVER_POWDER,
+ ITEM_CHERI_BERRY,
+ ITEM_BLACK_GLASSES,
+ ITEM_BLACK_BELT,
+ ITEM_SOUL_DEW,
+ ITEM_CHOICE_BAND,
+ ITEM_MAGNET,
+ ITEM_SILK_SCARF,
+ ITEM_WHITE_HERB,
+ ITEM_DEEP_SEA_SCALE,
+ ITEM_DEEP_SEA_TOOTH,
+ ITEM_MYSTIC_WATER,
+ ITEM_SHARP_BEAK,
+ ITEM_QUICK_CLAW,
+ ITEM_LEFTOVERS,
+ ITEM_RAWST_BERRY,
+ ITEM_LIGHT_BALL,
+ ITEM_POISON_BARB,
+ ITEM_NEVER_MELT_ICE,
+ ITEM_ASPEAR_BERRY,
+ ITEM_SPELL_TAG,
+ ITEM_BRIGHT_POWDER,
+ ITEM_LEPPA_BERRY,
+ ITEM_SCOPE_LENS,
+ ITEM_TWISTED_SPOON,
+ ITEM_METAL_COAT,
+ ITEM_MENTAL_HERB,
+ ITEM_CHARCOAL,
+ ITEM_PECHA_BERRY,
+ ITEM_SOFT_SAND,
+ ITEM_LUM_BERRY,
+ ITEM_DRAGON_SCALE,
+ ITEM_DRAGON_FANG,
+ ITEM_IAPAPA_BERRY,
+ ITEM_WIKI_BERRY,
+ ITEM_SEA_INCENSE,
+ ITEM_SHELL_BELL,
+ ITEM_SALAC_BERRY,
+ ITEM_LANSAT_BERRY,
+ ITEM_APICOT_BERRY,
+ ITEM_STARF_BERRY,
+ ITEM_LIECHI_BERRY,
+ ITEM_STICK,
+ ITEM_LAX_INCENSE,
+ ITEM_AGUAV_BERRY,
+ ITEM_FIGY_BERRY,
+ ITEM_THICK_CLUB,
+ ITEM_MAGO_BERRY,
+ ITEM_METAL_POWDER,
+ ITEM_PETAYA_BERRY,
+ ITEM_LUCKY_PUNCH,
+ ITEM_GANLON_BERRY,
+};
+
+#include "../data/battle_tower/level_50_mons.h"
+#include "../data/battle_tower/level_100_mons.h"
+
+static const u8 sMaleTrainerClasses[] = {
+ TRAINER_CLASS_RUIN_MANIAC,
+ TRAINER_CLASS_TUBER_M,
+ TRAINER_CLASS_COOL_TRAINER_M,
+ TRAINER_CLASS_RICH_BOY,
+ TRAINER_CLASS_POKEMANIAC,
+ TRAINER_CLASS_SWIMMER_M,
+ TRAINER_CLASS_BLACK_BELT,
+ TRAINER_CLASS_GUITARIST,
+ TRAINER_CLASS_KINDLER,
+ TRAINER_CLASS_CAMPER,
+ TRAINER_CLASS_BUG_MANIAC,
+ TRAINER_CLASS_PSYCHIC_M,
+ TRAINER_CLASS_GENTLEMAN,
+ TRAINER_CLASS_SCHOOL_KID_M,
+ TRAINER_CLASS_POKEFAN_M,
+ TRAINER_CLASS_EXPERT_M,
+ TRAINER_CLASS_YOUNGSTER,
+ TRAINER_CLASS_FISHERMAN,
+ TRAINER_CLASS_CYCLING_TRIATHLETE_M,
+ TRAINER_CLASS_RUNNING_TRIATHLETE_M,
+ TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ TRAINER_CLASS_DRAGON_TAMER,
+ TRAINER_CLASS_BIRD_KEEPER,
+ TRAINER_CLASS_NINJA_BOY,
+ TRAINER_CLASS_SAILOR,
+ TRAINER_CLASS_COLLECTOR,
+ TRAINER_CLASS_POKEMON_BREEDER_M,
+ TRAINER_CLASS_POKEMON_RANGER_M,
+ TRAINER_CLASS_BUG_CATCHER,
+ TRAINER_CLASS_HIKER,
+};
+
+static const u8 sFemaleTrainerClasses[] = {
+ TRAINER_CLASS_AROMA_LADY,
+ TRAINER_CLASS_TUBER_F,
+ TRAINER_CLASS_COOL_TRAINER_F,
+ TRAINER_CLASS_HEX_MANIAC,
+ TRAINER_CLASS_LADY,
+ TRAINER_CLASS_BEAUTY,
+ TRAINER_CLASS_PSYCHIC_F,
+ TRAINER_CLASS_SCHOOL_KID_F,
+ TRAINER_CLASS_POKEFAN_F,
+ TRAINER_CLASS_EXPERT_F,
+ TRAINER_CLASS_CYCLING_TRIATHLETE_F,
+ TRAINER_CLASS_RUNNING_TRIATHLETE_F,
+ TRAINER_CLASS_SWIMMING_TRIATHLETE_F,
+ TRAINER_CLASS_BATTLE_GIRL,
+ TRAINER_CLASS_PARASOL_LADY,
+ TRAINER_CLASS_SWIMMER_F,
+ TRAINER_CLASS_PICNICKER,
+ TRAINER_CLASS_POKEMON_BREEDER_F,
+ TRAINER_CLASS_POKEMON_RANGER_F,
+ TRAINER_CLASS_LASS,
+};
+
+static const u8 sMaleTrainerGfxIds[] = {
+ MAP_OBJ_GFX_HIKER,
+ MAP_OBJ_GFX_TUBER_M,
+ MAP_OBJ_GFX_MAN_4,
+ MAP_OBJ_GFX_BOY_4,
+ MAP_OBJ_GFX_MANIAC,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_M,
+ MAP_OBJ_GFX_BLACK_BELT,
+ MAP_OBJ_GFX_MAN_6,
+ MAP_OBJ_GFX_MAN_6,
+ MAP_OBJ_GFX_CAMPER,
+ MAP_OBJ_GFX_MANIAC,
+ MAP_OBJ_GFX_PSYCHIC_M,
+ MAP_OBJ_GFX_GENTLEMAN,
+ MAP_OBJ_GFX_SCHOOL_KID_M,
+ MAP_OBJ_GFX_MAN_3,
+ MAP_OBJ_GFX_OLD_MAN_1,
+ MAP_OBJ_GFX_YOUNGSTER,
+ MAP_OBJ_GFX_FISHERMAN,
+ MAP_OBJ_GFX_CYCLING_TRIATHLETE_M,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_M,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_M,
+ MAP_OBJ_GFX_MAN_4,
+ MAP_OBJ_GFX_MAN_6,
+ MAP_OBJ_GFX_LITTLE_BOY_1,
+ MAP_OBJ_GFX_SAILOR,
+ MAP_OBJ_GFX_MANIAC,
+ MAP_OBJ_GFX_MAN_5,
+ MAP_OBJ_GFX_CAMPER,
+ MAP_OBJ_GFX_BUG_CATCHER,
+ MAP_OBJ_GFX_HIKER,
+};
+
+static const u8 sFemaleTrainerGfxIds[] = {
+ MAP_OBJ_GFX_WOMAN_3,
+ MAP_OBJ_GFX_TUBER_F,
+ MAP_OBJ_GFX_WOMAN_7,
+ MAP_OBJ_GFX_WOMAN_1,
+ MAP_OBJ_GFX_WOMAN_3,
+ MAP_OBJ_GFX_BEAUTY,
+ MAP_OBJ_GFX_LASS,
+ MAP_OBJ_GFX_GIRL_3,
+ MAP_OBJ_GFX_WOMAN_2,
+ MAP_OBJ_GFX_OLD_WOMAN_1,
+ MAP_OBJ_GFX_CYCLING_TRIATHLETE_F,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_F,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_F,
+ MAP_OBJ_GFX_GIRL_3,
+ MAP_OBJ_GFX_WOMAN_7,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_F,
+ MAP_OBJ_GFX_PICNICKER,
+ MAP_OBJ_GFX_WOMAN_3,
+ MAP_OBJ_GFX_PICNICKER,
+ MAP_OBJ_GFX_LASS,
+};
+
+const u16 gBattleTowerBannedSpecies[] = {
+ SPECIES_MEW,
+ SPECIES_MEWTWO,
+ SPECIES_HO_OH,
+ SPECIES_LUGIA,
+ SPECIES_CELEBI,
+ SPECIES_KYOGRE,
+ SPECIES_GROUDON,
+ SPECIES_RAYQUAZA,
+ SPECIES_JIRACHI,
+ SPECIES_DEOXYS,
+ 0xFFFF,
+};
+
+// Item prizes for battle tower streaks of 5 or fewer sets.
+/*static*/ const u16 sShortStreakPrizes[] = {
+ ITEM_HP_UP,
+ ITEM_PROTEIN,
+ ITEM_IRON,
+ ITEM_CALCIUM,
+ ITEM_CARBOS,
+ ITEM_ZINC,
+};
+
+// Item prizes for battle tower streaks of greater than 5 sets.
+/*static*/ const u16 sLongStreakPrizes[] = {
+ ITEM_BRIGHT_POWDER,
+ ITEM_WHITE_HERB,
+ ITEM_QUICK_CLAW,
+ ITEM_LEFTOVERS,
+ ITEM_MENTAL_HERB,
+ ITEM_KINGS_ROCK,
+ ITEM_FOCUS_BAND,
+ ITEM_SCOPE_LENS,
+ ITEM_CHOICE_BAND,
+};
+
+static void ResetBattleTowerStreak(u8 levelType);
+static void ValidateBattleTowerRecordChecksums(void);
+static void PrintEReaderTrainerFarewellMessage(void);
+extern void SetBattleTowerTrainerGfxId(u8);
+extern void sub_8135A3C(void);
+static void sub_8135CFC(void);
+static void CheckMonBattleTowerBanlist(u16, u16, u16, u8, u8, u16 *, u16 *, u8 *);
+static void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *);
+static void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer);
+static void SetBattleTowerRecordChecksum(struct BattleTowerRecord *);
+static void ClearBattleTowerRecord(struct BattleTowerRecord *);
+
+extern const u8 gUnknown_08400E23[];
+extern const u8 gUnknown_08400E29[];
+extern const u8 gUnknown_08400E2C[];
+extern const u8 gUnknown_08400E2E[];
+extern const u8 gUnknown_08400E30[];
+extern const u8 gUnknown_08400E32[];
+extern const u8 gUnknown_08400E36[];
+extern u16 gSpecialVar_0x8004;
+extern u8 gTrainerClassToPicIndex[];
+extern u8 gTrainerClassToNameIndex[];
+extern u16 gTrainerBattleOpponent;
+extern u16 gBattleTypeFlags;
+extern u8 gSelectedOrderFromParty[];
+extern u8 gBattleOutcome;
+extern struct Pokemon gUnknown_030042FC[];
+extern struct BattlePokemon gBattleMons[];
+
+#define ewram160FB (ewram[0x160FB])
+
+
+void sub_8134548(void)
+{
+ u8 var1 = 0;
+ s32 levelType;
+
+ for (levelType = 0; levelType < 2; levelType++)
+ {
+ switch (gSaveBlock2.battleTower.var_4AE[levelType])
+ {
+ case 0:
+ default:
+ ResetBattleTowerStreak(levelType);
+ if (!var1)
+ {
+ VarSet(VAR_0x4000, 5);
+ }
+ break;
+ case 1:
+ ResetBattleTowerStreak(levelType);
+ VarSet(VAR_0x4000, 1);
+ var1++;
+ break;
+ case 4:
+ VarSet(VAR_0x4000, 2);
+ var1++;
+ break;
+ case 5:
+ VarSet(VAR_0x4000, 3);
+ var1++;
+ break;
+ case 2:
+ VarSet(VAR_0x4000, 4);
+ var1++;
+ break;
+ case 3:
+ case 6:
+ break;
+ }
+ }
+
+ if ((gSaveBlock2.battleTower.var_4AE[0] == 3 || gSaveBlock2.battleTower.var_4AE[0] == 6)
+ && (gSaveBlock2.battleTower.var_4AE[1] == 3 || gSaveBlock2.battleTower.var_4AE[1] == 6))
+ {
+ VarSet(VAR_0x4000, 5);
+ }
+
+ ValidateBattleTowerRecordChecksums();
+}
+
+void ResetBattleTowerStreak(u8 levelType)
+{
+ gSaveBlock2.battleTower.var_4AE[levelType] = 0;
+ gSaveBlock2.battleTower.curChallengeBattleNum[levelType] = 1;
+ gSaveBlock2.battleTower.curStreakChallengesNum[levelType] = 1;
+}
+
+// Checks if the next trainer in Battle Tower should be the E-Reader trainer.
+bool8 ShouldBattleEReaderTrainer(u8 levelType, u16 winStreak)
+{
+ u8 trainerTeamLevel;
+ u8 monLevel;
+ s32 i;
+ u16 validPartySpecies[6];
+ u16 validPartyHeldItems[6];
+ u8 numValid;
+
+ numValid = 0;
+
+ ValidateEReaderTrainer();
+
+ if (gScriptResult != 0 || gSaveBlock2.battleTower.ereaderTrainer.winStreak != winStreak)
+ {
+ return FALSE;
+ }
+
+ trainerTeamLevel = 50;
+ if (levelType != 0)
+ {
+ trainerTeamLevel = 100;
+ }
+
+ for (i = 0; i < 3; i++)
+ {
+ monLevel = gSaveBlock2.battleTower.ereaderTrainer.party[i].level;
+ if (gSaveBlock2.battleTower.ereaderTrainer.party[i].level != trainerTeamLevel)
+ {
+ return FALSE;
+ }
+
+ CheckMonBattleTowerBanlist(
+ gSaveBlock2.battleTower.ereaderTrainer.party[i].species,
+ gSaveBlock2.battleTower.ereaderTrainer.party[i].heldItem,
+ 1,
+ levelType,
+ monLevel,
+ validPartySpecies,
+ validPartyHeldItems,
+ &numValid);
+ }
+
+ return numValid == 3;
+}
+
+bool8 sub_81346F4(void)
+{
+ s32 recordIndex, i;
+ u8 battleTowerLevelType;
+ u16 winStreak;
+ bool8 retVal;
+ s32 numCandidates;
+ u32 trainerIds[5];
+
+ numCandidates = 0;
+ battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ winStreak = GetCurrentBattleTowerWinStreak(battleTowerLevelType);
+ if (ShouldBattleEReaderTrainer(battleTowerLevelType, winStreak))
+ {
+ gSaveBlock2.battleTower.battleTowerTrainerId = BATTLE_TOWER_EREADER_TRAINER_ID;
+ retVal = TRUE;
+ }
+ else
+ {
+ // Check if one of the battle tower trainers from record mixing should be the next trainer.
+ for (recordIndex = 0; recordIndex < 5; recordIndex++)
+ {
+ struct BattleTowerRecord *record = &gSaveBlock2.battleTower.records[recordIndex];
+ u32 recordHasData = 0;
+ u32 checksum = 0;
+ for (i = 0; i < sizeof(struct BattleTowerRecord) / sizeof(u32) - 1; i++)
+ {
+ recordHasData |= ((u32 *)record)[i];
+ checksum += ((u32 *)record)[i];
+ }
+
+ if (gSaveBlock2.battleTower.records[recordIndex].winStreak == winStreak
+ && gSaveBlock2.battleTower.records[recordIndex].battleTowerLevelType == battleTowerLevelType
+ && recordHasData
+ && gSaveBlock2.battleTower.records[recordIndex].checksum == checksum)
+ {
+ trainerIds[numCandidates] = recordIndex;
+ numCandidates++;
+ }
+ }
+
+ if (numCandidates == 0)
+ {
+ retVal = FALSE;
+ }
+ else
+ {
+ gSaveBlock2.battleTower.battleTowerTrainerId = trainerIds[Random() % numCandidates] + BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID;
+ retVal = TRUE;
+ }
+ }
+
+ return retVal;
+}
+
+// void sub_81347F8(void)
+// {
+// bool8 levelType = gSaveBlock2.battleTower.battleTowerLevelType;
+// if (sub_81346F4())
+// {
+// SetBattleTowerTrainerGfxId(gSaveBlock2.battleTower.battleTowerTrainerId);
+// gSaveBlock2.battleTower.var_4C1[gSaveBlock2.battleTower.curChallengeBattleNum[levelType]] = gSaveBlock2.battleTower.battleTowerTrainerId;
+// }
+// else
+// {
+// u16 var1;
+
+// if (gSaveBlock2.battleTower.curStreakChallengesNum[levelType] > 7)
+// {
+// while (1)
+// {
+// s32 i;
+// u32 temp = ((Random() & 0xFF) * 30) >> 8;
+// var1 = temp + 70;
+// for (i = 0; i < gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1 && var1 != gSaveBlock2.battleTower.var_4C1[i]; i++) // TODO: [i + 1]???
+// { }
+
+// if (i == gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1)
+// {
+// break;
+// }
+// }
+// }
+// else
+// {
+// if (gSaveBlock2.battleTower.curChallengeBattleNum[levelType] == 7)
+// {
+// while (1)
+// {
+// s32 i;
+// u32 temp = ((Random() & 0xFF) * 5);
+// u32 temp2 = (((gSaveBlock2.battleTower.curStreakChallengesNum[levelType] - 1) * 10) + 20);
+// var1 = temp / 128 + temp2;
+// for (i = 0; i < gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1 && gSaveBlock2.battleTower.var_4C1[i] != var1; i++) // TODO: [i + 1]????
+// { }
+
+// if (i == gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1)
+// {
+// break;
+// }
+// }
+// }
+// else
+// {
+// while (1)
+// {
+// s32 i;
+// u32 temp = ((Random() & 0xFF) * 320);
+// u32 temp2 = ((gSaveBlock2.battleTower.curStreakChallengesNum[levelType] - 1) * 10);
+// var1 = temp + temp2;
+// for (i = 0; i < gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1 && gSaveBlock2.battleTower.var_4C1[i] != var1; i++)
+// { }
+
+// if (i == gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1)
+// {
+// break;
+// }
+// }
+// }
+// }
+
+// gSaveBlock2.battleTower.battleTowerTrainerId = var1;
+// SetBattleTowerTrainerGfxId(gSaveBlock2.battleTower.battleTowerTrainerId);
+
+// if (gSaveBlock2.battleTower.curChallengeBattleNum[levelType] < 7)
+// {
+// gSaveBlock2.battleTower.var_4C1[gSaveBlock2.battleTower.curChallengeBattleNum[levelType]] = gSaveBlock2.battleTower.battleTowerTrainerId;
+// }
+// }
+// }
+
+__attribute__((naked))
+void sub_81347F8(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ ldr r5, _08134838 @ =gSaveBlock2\n\
+ ldr r1, _0813483C @ =0x00000554\n\
+ adds r0, r5, r1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 31\n\
+ lsrs r6, r0, 31\n\
+ bl sub_81346F4\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08134848\n\
+ ldr r2, _08134840 @ =0x00000564\n\
+ adds r4, r5, r2\n\
+ ldrb r0, [r4]\n\
+ bl SetBattleTowerTrainerGfxId\n\
+ lsls r0, r6, 1\n\
+ movs r3, 0xAB\n\
+ lsls r3, 3\n\
+ adds r1, r5, r3\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ adds r0, r5, r0\n\
+ ldr r1, _08134844 @ =0x00000569\n\
+ adds r0, r1\n\
+ ldrb r1, [r4]\n\
+ b _081349DC\n\
+ .align 2, 0\n\
+_08134838: .4byte gSaveBlock2\n\
+_0813483C: .4byte 0x00000554\n\
+_08134840: .4byte 0x00000564\n\
+_08134844: .4byte 0x00000569\n\
+_08134848:\n\
+ lsls r0, r6, 1\n\
+ ldr r2, _081348D8 @ =0x0000055c\n\
+ adds r1, r5, r2\n\
+ adds r1, r0, r1\n\
+ ldrh r1, [r1]\n\
+ adds r7, r0, 0\n\
+ cmp r1, 0x7\n\
+ bls _0813485A\n\
+ b _0813495C\n\
+_0813485A:\n\
+ movs r3, 0xAB\n\
+ lsls r3, 3\n\
+ adds r0, r5, r3\n\
+ adds r1, r7, r0\n\
+ ldrh r0, [r1]\n\
+ cmp r0, 0x7\n\
+ bne _081348E4\n\
+ adds r6, r5, 0\n\
+ mov r9, r7\n\
+ adds r5, r1, 0\n\
+ ldr r0, _081348DC @ =0x0000056a\n\
+ adds r0, r6\n\
+ mov r10, r0\n\
+ mov r8, r5\n\
+_08134876:\n\
+ bl Random\n\
+ movs r1, 0xFF\n\
+ ands r1, r0\n\
+ lsls r2, r1, 2\n\
+ adds r2, r1\n\
+ ldr r1, _081348D8 @ =0x0000055c\n\
+ adds r4, r6, r1\n\
+ mov r3, r9\n\
+ adds r0, r3, r4\n\
+ ldrh r1, [r0]\n\
+ subs r1, 0x1\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 1\n\
+ adds r0, 0x14\n\
+ lsrs r2, 7\n\
+ adds r2, r0\n\
+ lsls r2, 16\n\
+ lsrs r2, 16\n\
+ movs r1, 0\n\
+ ldrh r0, [r5]\n\
+ subs r0, 0x1\n\
+ cmp r1, r0\n\
+ bge _081348C8\n\
+ mov r3, r10\n\
+ ldrb r0, [r3]\n\
+ cmp r0, r2\n\
+ beq _081348C8\n\
+ subs r0, r4, 0x4\n\
+ adds r0, r7, r0\n\
+ ldrh r0, [r0]\n\
+ subs r3, r0, 0x1\n\
+ adds r4, 0xE\n\
+_081348BA:\n\
+ adds r1, 0x1\n\
+ cmp r1, r3\n\
+ bge _081348C8\n\
+ adds r0, r1, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, r2\n\
+ bne _081348BA\n\
+_081348C8:\n\
+ mov r3, r8\n\
+ ldrh r0, [r3]\n\
+ subs r0, 0x1\n\
+ ldr r4, _081348E0 @ =gSaveBlock2\n\
+ cmp r1, r0\n\
+ bne _08134876\n\
+ b _081349B6\n\
+ .align 2, 0\n\
+_081348D8: .4byte 0x0000055c\n\
+_081348DC: .4byte 0x0000056a\n\
+_081348E0: .4byte gSaveBlock2\n\
+_081348E4:\n\
+ adds r6, r5, 0\n\
+ mov r9, r7\n\
+ adds r5, r1, 0\n\
+ ldr r2, _08134950 @ =0x0000056a\n\
+ adds r2, r6\n\
+ mov r10, r2\n\
+ mov r8, r5\n\
+_081348F2:\n\
+ bl Random\n\
+ movs r1, 0xFF\n\
+ ands r1, r0\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsrs r2, r0, 6\n\
+ ldr r3, _08134954 @ =0x0000055c\n\
+ adds r4, r6, r3\n\
+ mov r1, r9\n\
+ adds r0, r1, r4\n\
+ ldrh r1, [r0]\n\
+ subs r1, 0x1\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 1\n\
+ adds r0, r2, r0\n\
+ lsls r0, 16\n\
+ lsrs r2, r0, 16\n\
+ movs r1, 0\n\
+ ldrh r0, [r5]\n\
+ subs r0, 0x1\n\
+ cmp r1, r0\n\
+ bge _08134942\n\
+ mov r3, r10\n\
+ ldrb r0, [r3]\n\
+ cmp r0, r2\n\
+ beq _08134942\n\
+ subs r0, r4, 0x4\n\
+ adds r0, r7, r0\n\
+ ldrh r0, [r0]\n\
+ subs r3, r0, 0x1\n\
+ adds r4, 0xE\n\
+_08134934:\n\
+ adds r1, 0x1\n\
+ cmp r1, r3\n\
+ bge _08134942\n\
+ adds r0, r1, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, r2\n\
+ bne _08134934\n\
+_08134942:\n\
+ mov r3, r8\n\
+ ldrh r0, [r3]\n\
+ subs r0, 0x1\n\
+ ldr r4, _08134958 @ =gSaveBlock2\n\
+ cmp r1, r0\n\
+ bne _081348F2\n\
+ b _081349B6\n\
+ .align 2, 0\n\
+_08134950: .4byte 0x0000056a\n\
+_08134954: .4byte 0x0000055c\n\
+_08134958: .4byte gSaveBlock2\n\
+_0813495C:\n\
+ movs r2, 0xAB\n\
+ lsls r2, 3\n\
+ adds r0, r5, r2\n\
+ adds r6, r7, r0\n\
+ ldr r3, _081349EC @ =0x0000056a\n\
+ adds r3, r5\n\
+ mov r8, r3\n\
+ adds r5, r6, 0\n\
+_0813496C:\n\
+ bl Random\n\
+ movs r1, 0xFF\n\
+ ands r1, r0\n\
+ lsls r0, r1, 4\n\
+ subs r0, r1\n\
+ lsls r0, 1\n\
+ asrs r0, 8\n\
+ adds r0, 0x46\n\
+ lsls r0, 16\n\
+ lsrs r2, r0, 16\n\
+ movs r1, 0\n\
+ ldrh r0, [r6]\n\
+ subs r0, 0x1\n\
+ cmp r1, r0\n\
+ bge _081349AC\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ ldr r4, _081349F0 @ =gSaveBlock2\n\
+ cmp r0, r2\n\
+ beq _081349AC\n\
+ ldrh r0, [r5]\n\
+ subs r3, r0, 0x1\n\
+ ldr r0, _081349EC @ =0x0000056a\n\
+ adds r4, r0\n\
+_0813499E:\n\
+ adds r1, 0x1\n\
+ cmp r1, r3\n\
+ bge _081349AC\n\
+ adds r0, r1, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, r2\n\
+ bne _0813499E\n\
+_081349AC:\n\
+ ldrh r0, [r6]\n\
+ subs r0, 0x1\n\
+ ldr r4, _081349F0 @ =gSaveBlock2\n\
+ cmp r1, r0\n\
+ bne _0813496C\n\
+_081349B6:\n\
+ ldr r1, _081349F4 @ =0x00000564\n\
+ adds r0, r4, r1\n\
+ strb r2, [r0]\n\
+ ldr r2, _081349F4 @ =0x00000564\n\
+ adds r5, r4, r2\n\
+ ldrb r0, [r5]\n\
+ bl SetBattleTowerTrainerGfxId\n\
+ movs r3, 0xAB\n\
+ lsls r3, 3\n\
+ adds r0, r4, r3\n\
+ adds r1, r7, r0\n\
+ ldrh r0, [r1]\n\
+ cmp r0, 0x6\n\
+ bhi _081349DE\n\
+ adds r0, r4, r0\n\
+ ldr r1, _081349F8 @ =0x00000569\n\
+ adds r0, r1\n\
+ ldrb r1, [r5]\n\
+_081349DC:\n\
+ strb r1, [r0]\n\
+_081349DE:\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_081349EC: .4byte 0x0000056a\n\
+_081349F0: .4byte gSaveBlock2\n\
+_081349F4: .4byte 0x00000564\n\
+_081349F8: .4byte 0x00000569\n\
+.syntax divided\n");
+}
+
+void SetBattleTowerTrainerGfxId(u8 trainerIndex)
+{
+ u32 i;
+ u8 trainerClass;
+
+ if (trainerIndex < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ trainerClass = gBattleTowerTrainers[trainerIndex].trainerClass;
+ }
+ else if (trainerIndex < BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ trainerClass = gSaveBlock2.battleTower.records[trainerIndex - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass;
+ }
+ else
+ {
+ trainerClass = gSaveBlock2.battleTower.ereaderTrainer.trainerClass;
+ }
+
+ for (i = 0; i < 30 && sMaleTrainerClasses[i] != trainerClass; i++);
+ if (i != 30)
+ {
+ u8 trainerObjectGfxId = sMaleTrainerGfxIds[i];
+ VarSet(0x4010, trainerObjectGfxId);
+ return;
+ }
+
+ for (i = 0; i < 20 && sFemaleTrainerClasses[i] != trainerClass; i++);
+ if (i != 20)
+ {
+ u8 trainerObjectGfxId = sFemaleTrainerGfxIds[i];
+ VarSet(0x4010, trainerObjectGfxId);
+ return;
+ }
+
+ VarSet(0x4010, MAP_OBJ_GFX_BOY_1);
+}
+
+void SetEReaderTrainerGfxId(void)
+{
+ SetBattleTowerTrainerGfxId(BATTLE_TOWER_EREADER_TRAINER_ID);
+}
+
+// void sub_8134AC0(struct BattleTowerRecord *record)
+// {
+// u16 var1[6];
+// u16 var2[6];
+// s32 i, j, k;
+// s16 l = 0;
+
+// for (i = 0; i < 5; i++)
+// {
+// k = 0;
+// for (j = 0; j < 4 && gSaveBlock2.battleTower.records[i].trainerId[j] == record->trainerId[j]; j++);
+// if (j == 4)
+// {
+// for (; k < 7 && gSaveBlock2.battleTower.records[i].name[4] == record->name[4]; k++)
+// {
+// if (record->name[4] == 0xFF)
+// {
+// k = 7;
+// break;
+// }
+// }
+// }
+
+// if (k == 7)
+// {
+// break;
+// }
+// }
+
+// if (i < 5)
+// {
+// gSaveBlock2.battleTower.records[i] = *record;
+// return;
+// }
+
+// i = 0;
+// while (i < 5)
+// {
+// if (gSaveBlock2.battleTower.records[i].winStreak == 0)
+// {
+// if (i > 4)
+// {
+// break;
+// }
+
+// gSaveBlock2.battleTower.records[i] = *record;
+// return;
+// }
+
+// i++;
+// }
+
+// var1[0] = gSaveBlock2.battleTower.records[0].winStreak;
+// var2[0] = 0;
+// l++;
+
+// for (i = 1; i < 5; i++)
+// {
+// j = 0;
+// if (j < l)
+// {
+// for (; gSaveBlock2.battleTower.records[i].winStreak <= var1[j]; j++)
+// {
+// if (gSaveBlock2.battleTower.records[i].winStreak < var1[j])
+// {
+// j = 0;
+// l = 1;
+// var1[0] = gSaveBlock2.battleTower.records[i].winStreak;
+// var2[0] = i;
+// break;
+// }
+// }
+// }
+
+// if (j == l)
+// {
+// var1[l] = gSaveBlock2.battleTower.records[i].winStreak;
+// var2[l] = i;
+// l++;
+// }
+// }
+
+// gSaveBlock2.battleTower.records[var2[(Random() % l)]] = *record;
+// }
+__attribute__((naked))
+void sub_8134AC0(struct BattleTowerRecord *record)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x1C\n\
+ movs r7, 0\n\
+ mov r8, r0\n\
+ movs r5, 0\n\
+ ldr r0, _08134B3C @ =gSaveBlock2\n\
+ mov r12, r0\n\
+ mov r1, r8\n\
+ ldrb r1, [r1, 0xC]\n\
+ str r1, [sp, 0x18]\n\
+ movs r2, 0xAA\n\
+ lsls r2, 1\n\
+ add r2, r12\n\
+ mov r10, r2\n\
+ mov r9, r5\n\
+_08134AE6:\n\
+ movs r6, 0\n\
+ movs r3, 0\n\
+ ldr r0, _08134B40 @ =gSaveBlock2 + 0x158\n\
+ add r0, r9\n\
+ ldrb r0, [r0]\n\
+ ldr r1, [sp, 0x18]\n\
+ cmp r0, r1\n\
+ bne _08134B14\n\
+ movs r0, 0xA4\n\
+ muls r0, r5\n\
+ ldr r1, _08134B40 @ =gSaveBlock2 + 0x158\n\
+ adds r2, r0, r1\n\
+ mov r4, r8\n\
+ adds r4, 0xC\n\
+_08134B02:\n\
+ adds r2, 0x1\n\
+ adds r3, 0x1\n\
+ cmp r3, 0x3\n\
+ bgt _08134B14\n\
+ adds r1, r4, r3\n\
+ ldrb r0, [r2]\n\
+ ldrb r1, [r1]\n\
+ cmp r0, r1\n\
+ beq _08134B02\n\
+_08134B14:\n\
+ cmp r3, 0x4\n\
+ bne _08134B54\n\
+ movs r6, 0\n\
+ mov r2, r10\n\
+ ldrb r0, [r2]\n\
+ mov r3, r8\n\
+ ldrb r3, [r3, 0x8]\n\
+ cmp r0, r3\n\
+ bne _08134B54\n\
+ adds r1, r0, 0\n\
+ movs r0, 0xA4\n\
+ muls r0, r5\n\
+ adds r0, 0x4\n\
+ ldr r3, _08134B44 @ =gSaveBlock2 + 0x150\n\
+ adds r2, r0, r3\n\
+_08134B32:\n\
+ cmp r1, 0xFF\n\
+ bne _08134B48\n\
+ movs r6, 0x7\n\
+ b _08134B54\n\
+ .align 2, 0\n\
+_08134B3C: .4byte gSaveBlock2\n\
+_08134B40: .4byte gSaveBlock2 + 0x158\n\
+_08134B44: .4byte gSaveBlock2 + 0x150\n\
+_08134B48:\n\
+ adds r6, 0x1\n\
+ cmp r6, 0x6\n\
+ bgt _08134B54\n\
+ ldrb r0, [r2]\n\
+ cmp r0, r1\n\
+ beq _08134B32\n\
+_08134B54:\n\
+ cmp r6, 0x7\n\
+ beq _08134B64\n\
+ movs r0, 0xA4\n\
+ add r10, r0\n\
+ add r9, r0\n\
+ adds r5, 0x1\n\
+ cmp r5, 0x4\n\
+ ble _08134AE6\n\
+\n\
+_08134B64:\n\
+ cmp r5, 0x4\n\
+ bgt _08134B76\n\
+ movs r0, 0xA4\n\
+ muls r0, r5\n\
+ add r0, r12\n\
+ movs r1, 0xA6\n\
+ lsls r1, 1\n\
+ adds r0, r1\n\
+ b _08134B9E\n\
+_08134B76:\n\
+ movs r5, 0\n\
+ movs r1, 0xA7\n\
+ lsls r1, 1\n\
+ add r1, r12\n\
+ b _08134B88\n\
+_08134B80:\n\
+ adds r1, 0xA4\n\
+ adds r5, 0x1\n\
+ cmp r5, 0x4\n\
+ bgt _08134BA8\n\
+_08134B88:\n\
+ ldrh r0, [r1]\n\
+ cmp r0, 0\n\
+ bne _08134B80\n\
+ cmp r5, 0x4\n\
+ bgt _08134BA8\n\
+ movs r0, 0xA4\n\
+ muls r0, r5\n\
+ add r0, r12\n\
+ movs r2, 0xA6\n\
+ lsls r2, 1\n\
+ adds r0, r2\n\
+_08134B9E:\n\
+ mov r1, r8\n\
+ movs r2, 0xA4\n\
+ bl memcpy\n\
+ b _08134C5E\n\
+\n\
+_08134BA8:\n\
+ mov r2, sp\n\
+ movs r3, 0xA7\n\
+ lsls r3, 1\n\
+ mov r1, r12\n\
+ adds r0, r1, r3\n\
+ ldrh r0, [r0]\n\
+ movs r1, 0\n\
+ strh r0, [r2]\n\
+ add r0, sp, 0xC\n\
+ strh r1, [r0]\n\
+ adds r7, 0x1\n\
+ movs r5, 0x1\n\
+ add r2, sp, 0xC @var2 = r2\n\
+ mov r9, r2\n\
+ mov r10, r3\n\
+_08134BC6:\n\
+ movs r3, 0\n\
+ adds r0, r5, 0x1\n\
+ mov r12, r0\n\
+ cmp r3, r7\n\
+ bge _08134C0A @ j < l\n\
+ movs r1, 0xA4\n\
+ adds r0, r5, 0\n\
+ muls r0, r1\n\
+ ldr r2, _08134BFC @ =gSaveBlock2\n\
+ adds r0, r2\n\
+ mov r1, r10\n\
+ adds r4, r0, r1\n\
+ mov r6, sp\n\
+_08134BE0:\n\
+ lsls r0, r3, 1\n\
+ add r0, sp\n\
+ ldrh r2, [r4]\n\
+ adds r1, r2, 0\n\
+ ldrh r0, [r0]\n\
+ cmp r1, r0\n\
+ bcs _08134C00\n\
+ movs r3, 0\n\
+ movs r7, 0x1\n\
+ strh r2, [r6]\n\
+ mov r2, r9\n\
+ strh r5, [r2]\n\
+ b _08134C0A\n\
+ .align 2, 0\n\
+_08134BFC: .4byte gSaveBlock2\n\
+_08134C00:\n\
+ cmp r1, r0\n\
+ bhi _08134C0A\n\
+ adds r3, 0x1\n\
+ cmp r3, r7\n\
+ blt _08134BE0\n\
+_08134C0A:\n\
+ cmp r3, r7\n\
+ bne _08134C2A\n\
+ lsls r1, r7, 1\n\
+ mov r3, sp\n\
+ adds r2, r3, r1\n\
+ movs r3, 0xA4\n\
+ adds r0, r5, 0\n\
+ muls r0, r3\n\
+ ldr r3, _08134C70 @ =gSaveBlock2\n\
+ adds r0, r3\n\
+ add r0, r10\n\
+ ldrh r0, [r0]\n\
+ strh r0, [r2]\n\
+ add r1, r9\n\
+ strh r5, [r1]\n\
+ adds r7, 0x1\n\
+_08134C2A:\n\
+ mov r5, r12\n\
+ cmp r5, 0x4\n\
+ ble _08134BC6\n\
+ bl Random\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ adds r1, r7, 0\n\
+ bl __modsi3\n\
+ adds r5, r0, 0\n\
+ ldr r2, _08134C70 @ =gSaveBlock2\n\
+ lsls r0, r5, 1\n\
+ add r0, sp\n\
+ adds r0, 0xC\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0xA4\n\
+ muls r0, r1\n\
+ adds r0, r2\n\
+ movs r1, 0xA6\n\
+ lsls r1, 1\n\
+ adds r0, r1\n\
+ mov r1, r8\n\
+ movs r2, 0xA4\n\
+ bl memcpy\n\
+_08134C5E:\n\
+ add sp, 0x1C\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_08134C70: .4byte gSaveBlock2\n\
+ .syntax divided\n");
+}
+
+u8 get_trainer_class_pic_index(void)
+{
+ if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ return gTrainerClassToPicIndex[gSaveBlock2.battleTower.ereaderTrainer.trainerClass];
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ return gTrainerClassToPicIndex[gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].trainerClass];
+ }
+ else
+ {
+ return gTrainerClassToPicIndex[gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass];
+ }
+}
+
+u8 get_trainer_class_name_index(void)
+{
+ if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ return gTrainerClassToNameIndex[gSaveBlock2.battleTower.ereaderTrainer.trainerClass];
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId >= BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ return gTrainerClassToNameIndex[gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass];
+ }
+ else
+ {
+ return gTrainerClassToNameIndex[gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].trainerClass];
+ }
+}
+
+void get_trainer_name(u8* dest)
+{
+ s32 i;
+
+ if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ for (i = 0; i < 7; i++)
+ {
+ dest[i] = gSaveBlock2.battleTower.ereaderTrainer.name[i];
+ }
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ for (i = 0; i < 7; i++)
+ {
+ dest[i] = gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].name[i];
+ }
+ }
+ else
+ {
+ for (i = 0; i < 7; i++)
+ {
+ dest[i] = gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].name[i];
+ }
+ }
+
+ dest[i] = 0xFF;
+}
+
+void FillBattleTowerTrainerParty(void)
+{
+ s32 partyIndex, i;
+ u16 chosenMonIndices[3];
+ u8 friendship;
+ u8 level;
+ u8 fixedIV;
+ u8 battleMonsOffset;
+ u8 monPoolSize;
+ u8 teamFlags;
+ const struct BattleTowerPokemon *battleTowerMons;
+
+ battleMonsOffset = 0;
+ monPoolSize = 60;
+ friendship = 255;
+
+ ZeroEnemyPartyMons();
+
+ // Different trainers have access to different sets of pokemon to use in battle.
+ // The pokemon later in gBattleTowerLevel100Mons or gBattleTowerLevel50Mons are
+ // stronger. Additionally, the later trainers' pokemon are granted higher IVs.
+ if (gSaveBlock2.battleTower.battleTowerTrainerId < 20)
+ {
+ fixedIV = 6;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < 30)
+ {
+ fixedIV = 9;
+ battleMonsOffset = 30;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < 40)
+ {
+ fixedIV = 12;
+ battleMonsOffset = 60;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < 50)
+ {
+ fixedIV = 15;
+ battleMonsOffset = 90;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < 60)
+ {
+ fixedIV = 18;
+ battleMonsOffset = 120;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < 70)
+ {
+ fixedIV = 21;
+ battleMonsOffset = 150;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < 80)
+ {
+ fixedIV = 31;
+ battleMonsOffset = 180;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ fixedIV = 31;
+ battleMonsOffset = 200;
+ monPoolSize = 100;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ // Load E-Reader trainer's party.
+ for (partyIndex = 0; partyIndex < 3; partyIndex++)
+ {
+ sub_803ADE8(&gEnemyParty[partyIndex], &gSaveBlock2.battleTower.ereaderTrainer.party[partyIndex]);
+ }
+
+ return;
+ }
+ else
+ {
+ // Load a battle tower record's party. (From record mixing)
+ for (partyIndex = 0; partyIndex < 3; partyIndex++)
+ {
+ sub_803ADE8(
+ &gEnemyParty[partyIndex],
+ &gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].party[partyIndex]);
+ }
+
+ return;
+ }
+
+ // Use the appropriate list of pokemon and level depending on the
+ // current challenge type. (level 50 or level 100 challenge)
+ if (gSaveBlock2.battleTower.battleTowerLevelType != 0)
+ {
+ battleTowerMons = gBattleTowerLevel100Mons;
+ level = 100;
+ }
+ else
+ {
+ battleTowerMons = gBattleTowerLevel50Mons;
+ level = 50;
+ }
+
+ teamFlags = gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].teamFlags;
+
+ // Attempt to fill the trainer's party with random Pokemon until 3 have been
+ // successfully chosen. The trainer's party may not have duplicate pokemon species
+ // or duplicate held items. Each pokemon must have all of the trainer's team flags
+ // set, as well. If any of those conditions are not met, then the loop starts over
+ // and another pokemon is chosen at random.
+ partyIndex = 0;
+ while (partyIndex != 3)
+ {
+ // Pick a random pokemon index based on the number of pokemon available to choose from
+ // and the starting offset in the battle tower pokemon array.
+ s32 battleMonIndex = ((Random() & 0xFF) * monPoolSize) / 256 + battleMonsOffset;
+
+ // Ensure the chosen pokemon has compatible team flags with the trainer.
+ if (teamFlags == 0 || (battleTowerMons[battleMonIndex].teamFlags & teamFlags) == teamFlags)
+ {
+ // Ensure this pokemon species isn't a duplicate.
+ for (i = 0; i < partyIndex; i++)
+ {
+ if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES, NULL) == battleTowerMons[battleMonIndex].species)
+ break;
+ }
+
+ if (i != partyIndex)
+ continue;
+
+ // Ensure this pokemon's held item isn't a duplicate.
+ for (i = 0; i < partyIndex; i++)
+ {
+ if (GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, NULL) != 0
+ && GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, NULL) == sBattleTowerHeldItems[battleTowerMons[battleMonIndex].heldItem])
+ {
+ break;
+ }
+ }
+
+ if (i != partyIndex)
+ continue;
+
+ // Ensure this exact pokemon index isn't a duplicate. This check doesn't seem necessary
+ // because the species and held items were already checked directly above. Perhaps this
+ // is leftover code before the logic for duplicate species and held items was added.
+ for (i = 0; i < partyIndex && chosenMonIndices[i] != battleMonIndex; i++);
+
+ if (i != partyIndex)
+ continue;
+
+ chosenMonIndices[partyIndex] = battleMonIndex;
+
+ // Place the chosen pokemon into the trainer's party.
+ CreateMonWithEVSpread(
+ &gEnemyParty[partyIndex],
+ battleTowerMons[battleMonIndex].species,
+ level,
+ fixedIV,
+ battleTowerMons[battleMonIndex].evSpread);
+
+ // Give the chosen pokemon its specified moves.
+ for (i = 0; i < 4; i++)
+ {
+ SetMonMoveSlot(&gEnemyParty[partyIndex], battleTowerMons[battleMonIndex].moves[i], i);
+ if (battleTowerMons[battleMonIndex].moves[i] == MOVE_FRUSTRATION)
+ {
+ // MOVE_FRUSTRATION is more powerful the lower the pokemon's friendship is.
+ friendship = 0;
+ }
+ }
+
+ SetMonData(&gEnemyParty[partyIndex], MON_DATA_FRIENDSHIP, &friendship);
+ SetMonData(&gEnemyParty[partyIndex], MON_DATA_HELD_ITEM, (u8 *)&sBattleTowerHeldItems[battleTowerMons[battleMonIndex].heldItem]);
+
+ // The pokemon was successfully added to the trainer's party, so it's safe to move on to
+ // the next party slot.
+ partyIndex++;
+ }
+ }
+
+}
+
+u32 CountBattleTowerBanlistCaught(void)
+{
+ s32 i;
+ u32 numCaught = 0;
+
+ for (i = 0; gBattleTowerBannedSpecies[i] != 0xFFFF; i++)
+ {
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleTowerBannedSpecies[i]), FLAG_GET_CAUGHT))
+ {
+ numCaught++;
+ }
+ }
+
+ return numCaught;
+}
+
+u8 AppendBattleTowerBannedSpeciesName(u16 species, u8 curIndexToAppend, s32 numToAppend)
+{
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT))
+ {
+ curIndexToAppend++;
+
+ switch (curIndexToAppend - 1)
+ {
+ case 0:
+ case 2:
+ case 4:
+ case 6:
+ case 8:
+ case 10:
+ if (numToAppend == curIndexToAppend)
+ {
+ StringAppend(gStringVar1, gUnknown_08400E23);
+ }
+ else if (numToAppend > curIndexToAppend)
+ {
+ StringAppend(gStringVar1, gUnknown_08400E29);
+ }
+ break;
+ case 1:
+ if (curIndexToAppend == numToAppend)
+ {
+ StringAppend(gStringVar1, gUnknown_08400E23);
+ }
+ else
+ {
+ StringAppend(gStringVar1, gUnknown_08400E29);
+ }
+
+ StringAppend(gStringVar1, gUnknown_08400E30);
+ break;
+ case 3:
+ case 5:
+ case 7:
+ case 9:
+ default:
+ if (curIndexToAppend == numToAppend)
+ {
+ StringAppend(gStringVar1, gUnknown_08400E23);
+ }
+ else
+ {
+ StringAppend(gStringVar1, gUnknown_08400E29);
+ }
+
+ StringAppend(gStringVar1, gUnknown_08400E2E);
+ break;
+ }
+
+ StringAppend(gStringVar1, gSpeciesNames[species]);
+ }
+
+ return curIndexToAppend;
+}
+
+void CheckMonBattleTowerBanlist(u16 species, u16 heldItem, u16 hp, u8 battleTowerLevelType, u8 monLevel, u16 *validPartySpecies, u16 *validPartyHeldItems, u8 *numValid)
+{
+ s32 i;
+ u32 counter = 0;
+
+ if (species == SPECIES_EGG || species == SPECIES_NONE)
+ return;
+
+ while (1)
+ {
+ if (gBattleTowerBannedSpecies[counter] == 0xFFFF)
+ goto EXIT2; // Couldn't get the code to match without this GOTO
+
+ if (gBattleTowerBannedSpecies[counter] == species)
+ break;
+
+ counter++;
+ }
+
+ if (gBattleTowerBannedSpecies[counter] != 0xFFFF)
+ return;
+
+ EXIT2:
+ if (battleTowerLevelType == 0 && monLevel > 50)
+ return;
+
+ for (i = 0; i < *numValid && validPartySpecies[i] != species ; i++);
+ if (i != *numValid)
+ return;
+
+ if (heldItem != 0)
+ {
+ for (i = 0; i < *numValid && validPartyHeldItems[i] != heldItem ; i++);
+ if (i != *numValid)
+ return;
+ }
+
+ validPartySpecies[*numValid] = species;
+ validPartyHeldItems[*numValid] = heldItem;
+ *numValid = *numValid + 1;
+}
+
+void CheckPartyBattleTowerBanlist(void)
+{
+ s32 i;
+ u16 species2;
+ u16 heldItem;
+ u8 level;
+ u16 hp;
+ u32 numBanlistCaught;
+ u16 validPartySpecies[6];
+ u16 validPartyHeldItems[6];
+ u8 counter;
+
+ counter = 0;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ species2 = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
+ heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
+ level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
+ hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
+
+ CheckMonBattleTowerBanlist(species2, heldItem, hp, gScriptResult, level, validPartySpecies, validPartyHeldItems, &counter);
+ }
+
+ if (counter < 3)
+ {
+ gStringVar1[0] = 0xFF;
+ gSpecialVar_0x8004 = 1;
+ counter = 0;
+
+ numBanlistCaught = CountBattleTowerBanlistCaught();
+
+ for (i = 0; gBattleTowerBannedSpecies[i] != 0xFFFF; i++)
+ {
+ counter = AppendBattleTowerBannedSpeciesName(gBattleTowerBannedSpecies[i], counter, numBanlistCaught);
+ }
+
+ if (counter == 0)
+ {
+ StringAppend(gStringVar1, gUnknown_08400E2C);
+ StringAppend(gStringVar1, gUnknown_08400E32);
+ return;
+ }
+
+ if (1 & counter)
+ StringAppend(gStringVar1, gUnknown_08400E2E);
+ else
+ StringAppend(gStringVar1, gUnknown_08400E2C);
+
+ StringAppend(gStringVar1, gUnknown_08400E36);
+ }
+ else
+ {
+ gSpecialVar_0x8004 = 0;
+ gSaveBlock2.battleTower.battleTowerLevelType = gScriptResult;
+ }
+}
+
+void PrintBattleTowerTrainerMessage(u16 *easyChat)
+{
+ sub_80EB544(gStringVar4, easyChat, 2, 3);
+}
+
+void PrintBattleTowerTrainerGreeting(void)
+{
+ if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.greeting.easyChat);
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ PrintBattleTowerTrainerMessage((u16 *)gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].greeting.easyChat);
+ }
+ else
+ {
+ PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].greeting.easyChat);
+ }
+}
+
+void sub_81354CC(void)
+{
+ s32 i;
+ u16 heldItem;
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ break;
+ case 1:
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ heldItem = GetMonData(&gSaveBlock1.playerParty[i], MON_DATA_HELD_ITEM);
+ SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, (u8 *)&heldItem);
+ }
+ break;
+ case 2:
+ PrintEReaderTrainerFarewellMessage();
+ break;
+ }
+
+ SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
+}
+
+void sub_8135534(u8 taskId)
+{
+ if (IsBattleTransitionDone() == TRUE)
+ {
+ gMain.savedCallback = sub_81354CC;
+ SetMainCallback2(sub_800E7C4);
+ DestroyTask(taskId);
+ }
+}
+
+void sub_813556C(void)
+{
+ s32 i;
+ u16 heldItem;
+ u8 transition;
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ gBattleTypeFlags = (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_TRAINER);
+ gTrainerBattleOpponent = 0;
+
+ FillBattleTowerTrainerParty();
+
+ CreateTask(sub_8135534, 1);
+ current_map_music_set__default_for_battle(0);
+ transition = BattleSetup_GetBattleTowerBattleTransition();
+ BattleTransition_StartOnField(transition);
+ break;
+ case 1:
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
+ SetMonData(&gSaveBlock1.playerParty[i], MON_DATA_HELD_ITEM, (u8 *)&heldItem);
+ }
+
+ CreateTask(sub_8135534, 1);
+ current_map_music_set__default_for_battle(0);
+ transition = BattleSetup_GetBattleTowerBattleTransition();
+ BattleTransition_StartOnField(transition);
+ break;
+ case 2:
+ ZeroEnemyPartyMons();
+
+ for (i = 0; i < 3; i++)
+ {
+ sub_803ADE8(&gEnemyParty[i], &gSaveBlock2.battleTower.ereaderTrainer.party[i]);
+ }
+
+ gBattleTypeFlags = (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_TRAINER);
+ gTrainerBattleOpponent = 0;
+
+ CreateTask(sub_8135534, 1);
+ current_map_music_set__default_for_battle(0);
+ transition = BattleSetup_GetBattleTowerBattleTransition();
+ BattleTransition_StartOnField(transition);
+ break;
+ }
+}
+
+void sub_8135668(void)
+{
+ s32 i;
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ ewram160FB = gSaveBlock2.battleTower.var_4AE[battleTowerLevelType];
+ gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = gSpecialVar_0x8005;
+ break;
+ case 1:
+ gSaveBlock2.battleTower.battleTowerLevelType = gSpecialVar_0x8005;
+ break;
+ case 2:
+ gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType] = gSpecialVar_0x8005;
+ break;
+ case 3:
+ gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] = gSpecialVar_0x8005;
+ break;
+ case 4:
+ gSaveBlock2.battleTower.battleTowerTrainerId = gSpecialVar_0x8005;
+ break;
+ case 5:
+ for (i = 0; i < 3; i++)
+ {
+ gSaveBlock2.battleTower.selectedPartyMons[i] = gSelectedOrderFromParty[i];
+ }
+ break;
+ case 6:
+ if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ ClearEReaderTrainer(&gSaveBlock2.battleTower.ereaderTrainer);
+ }
+
+ if (gSaveBlock2.battleTower.totalBattleTowerWins < 9999)
+ {
+ gSaveBlock2.battleTower.totalBattleTowerWins++;
+ }
+
+ gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType]++;
+ sub_8135A3C();
+ gScriptResult = gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType];
+
+ gStringVar1[0] = gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType] + 0xA1;
+ gStringVar1[1] = 0xFF;
+ break;
+ case 7:
+ if (gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] < 1430)
+ {
+ gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType]++;
+ }
+
+ sub_8135A3C();
+ gScriptResult = gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType];
+ break;
+ case 8:
+ gSaveBlock2.battleTower.unk_554 = gSpecialVar_0x8005;
+ break;
+ case 9:
+ break;
+ case 10:
+ SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, gSaveBlock2.battleTower.bestBattleTowerWinStreak);
+ break;
+ case 11:
+ if (gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] != 3)
+ {
+ ResetBattleTowerStreak(battleTowerLevelType);
+ }
+ break;
+ case 12:
+ gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = ewram160FB;
+ break;
+ case 13:
+ gSaveBlock2.battleTower.currentWinStreaks[battleTowerLevelType] = GetCurrentBattleTowerWinStreak(battleTowerLevelType);
+ break;
+ case 14:
+ gSaveBlock2.battleTower.lastStreakLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+ break;
+ }
+}
+
+void sub_81358A4(void)
+{
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ gScriptResult = gSaveBlock2.battleTower.var_4AE[battleTowerLevelType];
+ break;
+ case 1:
+ gScriptResult = gSaveBlock2.battleTower.battleTowerLevelType;
+ break;
+ case 2:
+ gScriptResult = gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType];
+ break;
+ case 3:
+ gScriptResult = gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType];
+ break;
+ case 4:
+ gScriptResult = gSaveBlock2.battleTower.battleTowerTrainerId;
+ break;
+ case 5:
+ case 6:
+ case 7:
+ break;
+ case 8:
+ gScriptResult = gSaveBlock2.battleTower.unk_554;
+ break;
+ case 9:
+ gScriptResult = GetCurrentBattleTowerWinStreak(battleTowerLevelType);
+ break;
+ case 10:
+ SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, gSaveBlock2.battleTower.bestBattleTowerWinStreak);
+ break;
+ case 11:
+ ResetBattleTowerStreak(battleTowerLevelType);
+ break;
+ case 12:
+ gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = ewram160FB;
+ break;
+ case 13:
+ gSaveBlock2.battleTower.currentWinStreaks[battleTowerLevelType] = GetCurrentBattleTowerWinStreak(battleTowerLevelType);
+ break;
+ case 14:
+ gSaveBlock2.battleTower.lastStreakLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+ break;
+ }
+}
+
+void sub_8135A14(void)
+{
+ s32 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ gSelectedOrderFromParty[i] = gSaveBlock2.battleTower.selectedPartyMons[i];
+ }
+
+ ReducePlayerPartyToThree();
+}
+
+#ifdef NONMATCHING
+void sub_8135A3C(void)
+{
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+ u16 winStreak = GetCurrentBattleTowerWinStreak(battleTowerLevelType);
+
+ if (gSaveBlock2.battleTower.recordWinStreaks[battleTowerLevelType] < winStreak)
+ {
+ gSaveBlock2.battleTower.recordWinStreaks[battleTowerLevelType] = winStreak;
+ }
+
+ if (gSaveBlock2.battleTower.recordWinStreaks[0] > gSaveBlock2.battleTower.recordWinStreaks[1])
+ {
+ u16 streak = gSaveBlock2.battleTower.recordWinStreaks[0];
+ SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, streak);
+ if (streak > 9999)
+ {
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = 9999;
+ }
+ else
+ {
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = streak;
+ }
+ }
+ else
+ {
+ u16 streak = gSaveBlock2.battleTower.recordWinStreaks[1];
+ SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, streak);
+ if (streak > 9999)
+ {
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = 9999;
+ }
+ else
+ {
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = streak;
+ }
+ }
+}
+#else
+__attribute__((naked))
+void sub_8135A3C(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r6,lr}\n\
+ ldr r6, _08135A84 @ =gSaveBlock2\n\
+ ldr r1, _08135A88 @ =0x00000554\n\
+ adds r0, r6, r1\n\
+ ldrb r4, [r0]\n\
+ lsls r4, 31\n\
+ lsrs r4, 31\n\
+ adds r0, r4, 0\n\
+ bl GetCurrentBattleTowerWinStreak\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ lsls r4, 1\n\
+ movs r3, 0xAC\n\
+ lsls r3, 3\n\
+ adds r2, r6, r3\n\
+ adds r4, r2\n\
+ ldrh r0, [r4]\n\
+ cmp r0, r5\n\
+ bcs _08135A66\n\
+ strh r5, [r4]\n\
+_08135A66:\n\
+ ldr r0, _08135A8C @ =0x00000562\n\
+ adds r1, r6, r0\n\
+ ldrh r0, [r2]\n\
+ ldrh r3, [r1]\n\
+ cmp r0, r3\n\
+ bls _08135A94\n\
+ adds r5, r0, 0\n\
+ movs r0, 0x20\n\
+ adds r1, r5, 0\n\
+ bl SetGameStat\n\
+ ldr r1, _08135A90 @ =0x0000270f\n\
+ cmp r5, r1\n\
+ bhi _08135AA4\n\
+ b _08135AB4\n\
+ .align 2, 0\n\
+_08135A84: .4byte gSaveBlock2\n\
+_08135A88: .4byte 0x00000554\n\
+_08135A8C: .4byte 0x00000562\n\
+_08135A90: .4byte 0x0000270f\n\
+_08135A94:\n\
+ ldrh r5, [r1]\n\
+ movs r0, 0x20\n\
+ adds r1, r5, 0\n\
+ bl SetGameStat\n\
+ ldr r1, _08135AAC @ =0x0000270f\n\
+ cmp r5, r1\n\
+ bls _08135AB4\n\
+_08135AA4:\n\
+ ldr r2, _08135AB0 @ =0x00000572\n\
+ adds r0, r6, r2\n\
+ strh r1, [r0]\n\
+ b _08135ABA\n\
+ .align 2, 0\n\
+_08135AAC: .4byte 0x0000270f\n\
+_08135AB0: .4byte 0x00000572\n\
+_08135AB4:\n\
+ ldr r3, _08135AC0 @ =0x00000572\n\
+ adds r0, r6, r3\n\
+ strh r5, [r0]\n\
+_08135ABA:\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_08135AC0: .4byte 0x00000572\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void sub_8135AC4(void)
+{
+ s32 i;
+ u8 trainerClass;
+ struct BattleTowerRecord *playerRecord = &gSaveBlock2.battleTower.playerRecord;
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ if (gSaveBlock2.playerGender != MALE)
+ {
+ trainerClass = sFemaleTrainerClasses[(gSaveBlock2.playerTrainerId[0] + gSaveBlock2.playerTrainerId[1]
+ + gSaveBlock2.playerTrainerId[2] + gSaveBlock2.playerTrainerId[3]) % 20u];
+ }
+ else
+ {
+ trainerClass = sMaleTrainerClasses[(gSaveBlock2.playerTrainerId[0] + gSaveBlock2.playerTrainerId[1]
+ + gSaveBlock2.playerTrainerId[2] + gSaveBlock2.playerTrainerId[3]) % 30u];
+ }
+
+ playerRecord->battleTowerLevelType = battleTowerLevelType;
+ playerRecord->trainerClass = trainerClass;
+
+ copy_word_to_mem(playerRecord->trainerId, gSaveBlock2.playerTrainerId);
+ StringCopy8(playerRecord->name, gSaveBlock2.playerName);
+
+ playerRecord->winStreak = GetCurrentBattleTowerWinStreak(battleTowerLevelType);
+
+ for (i = 0; i < 6; i++)
+ {
+ playerRecord->greeting.easyChat[i] = gSaveBlock1.easyChats.unk2B28[i];
+ }
+
+ for (i = 0; i < 3; i++)
+ {
+ sub_803AF78(&gUnknown_030042FC[gSaveBlock2.battleTower.selectedPartyMons[i]], &playerRecord->party[i]);
+ }
+
+ SetBattleTowerRecordChecksum(&gSaveBlock2.battleTower.playerRecord);
+ sub_8135A3C();
+}
+
+void sub_8135BA0(void)
+{
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ if (gSpecialVar_0x8004 == 3 || gSpecialVar_0x8004 == 0)
+ {
+ if (gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] > 1
+ || gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType] > 1)
+ {
+ sub_8135AC4();
+ }
+ }
+
+ sub_8135CFC();
+
+ gSaveBlock2.battleTower.battleOutcome = gBattleOutcome;
+
+ if (gSpecialVar_0x8004 != 3)
+ {
+ gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = gSpecialVar_0x8004;
+ }
+
+ VarSet(VAR_0x4000, 0);
+ gSaveBlock2.battleTower.unk_554 = 1;
+ TrySavingData(EREADER_SAVE);
+}
+
+void BattleTower_SoftReset(void)
+{
+ DoSoftReset();
+}
+
+void ValidateBattleTowerRecordChecksums(void)
+{
+ u32 i;
+ s32 recordIndex;
+ struct BattleTowerRecord *record;
+ u32 checksum;
+
+ checksum = 0;
+ for (i = 0; i < (sizeof(struct BattleTowerRecord) / sizeof(u32)) - 1; i++)
+ {
+ checksum += ((u32 *)&gSaveBlock2.battleTower.playerRecord)[i];
+ }
+
+ if (gSaveBlock2.battleTower.playerRecord.checksum != checksum)
+ {
+ ClearBattleTowerRecord(&gSaveBlock2.battleTower.playerRecord);
+ }
+
+ for (recordIndex = 0; recordIndex < 5; recordIndex++)
+ {
+ record = &gSaveBlock2.battleTower.records[recordIndex];
+ checksum = 0;
+ for (i = 0; i < (sizeof(struct BattleTowerRecord) / sizeof(u32)) - 1; i++)
+ {
+ checksum += ((u32 *)record)[i];
+ }
+
+ if (gSaveBlock2.battleTower.records[recordIndex].checksum != checksum)
+ {
+ ClearBattleTowerRecord(&gSaveBlock2.battleTower.records[recordIndex]);
+ }
+ }
+}
+
+void SetBattleTowerRecordChecksum(struct BattleTowerRecord *record)
+{
+ u32 i;
+
+ record->checksum = 0;
+ for (i = 0; i < (sizeof(struct BattleTowerRecord) / sizeof(u32)) - 1; i++)
+ {
+ record->checksum += ((u32 *)record)[i];
+ }
+}
+
+void ClearBattleTowerRecord(struct BattleTowerRecord *record)
+{
+ u32 i;
+
+ for (i = 0; i < sizeof(struct BattleTowerRecord) / sizeof(u32); i++)
+ {
+ ((u32 *)record)[i] = 0;
+ }
+}
+
+void sub_8135CFC(void)
+{
+ s32 i;
+
+ get_trainer_name(gSaveBlock2.battleTower.defeatedByTrainerName);
+ gSaveBlock2.battleTower.defeatedBySpecies = gBattleMons[1].species;
+ gSaveBlock2.battleTower.firstMonSpecies = gBattleMons[0].species;
+
+ for (i = 0; i < POKEMON_NAME_LENGTH; i++)
+ {
+ gSaveBlock2.battleTower.firstMonNickname[i] = gBattleMons[0].nickname[i];
+ }
+}
+
+u16 GetCurrentBattleTowerWinStreak(u8 battleTowerLevelType)
+{
+ u16 winStreak = ((gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] - 1) * 7 - 1)
+ + gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType];
+
+ if (winStreak > 9999)
+ {
+ return 9999;
+ }
+
+ return winStreak;
+}
+
+#ifdef NONMATCHING
+void DetermineBattleTowerPrize(void)
+{
+ u16 prizeItem;
+ struct SaveBlock2 *saveBlock = &gSaveBlock2;
+ u8 battleTowerLevelType = saveBlock->battleTower.battleTowerLevelType;
+
+ if (saveBlock->battleTower.curStreakChallengesNum[battleTowerLevelType] - 1 > 5)
+ {
+ prizeItem = sLongStreakPrizes[Random() % ARRAY_COUNT(sLongStreakPrizes)];
+ }
+ else
+ {
+ prizeItem = sShortStreakPrizes[Random() % ARRAY_COUNT(sShortStreakPrizes)];
+ }
+
+ saveBlock->battleTower.prizeItem = prizeItem;
+}
+#else
+__attribute__((naked))
+void DetermineBattleTowerPrize(void)
+{
+ asm(".syntax unified\n\
+ push {r4,r5,lr}\n\
+ ldr r5, _08135DB0 @ =gSaveBlock2\n\
+ ldr r1, _08135DB4 @ =0x00000554\n\
+ adds r0, r5, r1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 31\n\
+ lsrs r0, 31\n\
+ lsls r0, 1\n\
+ ldr r2, _08135DB8 @ =0x0000055c\n\
+ adds r1, r5, r2\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ subs r0, 0x1\n\
+ cmp r0, 0x5\n\
+ ble _08135DC0\n\
+ bl Random\n\
+ ldr r4, _08135DBC @ =sLongStreakPrizes\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ movs r1, 0x9\n\
+ b _08135DCC\n\
+ .align 2, 0\n\
+_08135DB0: .4byte gSaveBlock2\n\
+_08135DB4: .4byte 0x00000554\n\
+_08135DB8: .4byte 0x0000055c\n\
+_08135DBC: .4byte sLongStreakPrizes\n\
+_08135DC0:\n\
+ bl Random\n\
+ ldr r4, _08135DE8 @ =sShortStreakPrizes\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ movs r1, 0x6\n\
+_08135DCC:\n\
+ bl __umodsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 15\n\
+ adds r0, r4\n\
+ ldrh r1, [r0]\n\
+ movs r2, 0xAD\n\
+ lsls r2, 3\n\
+ adds r0, r5, r2\n\
+ strh r1, [r0]\n\
+ pop {r4,r5}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_08135DE8: .4byte sShortStreakPrizes\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void GiveBattleTowerPrize(void)
+{
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ if (AddBagItem(gSaveBlock2.battleTower.prizeItem, 1) == TRUE)
+ {
+ CopyItemName(gSaveBlock2.battleTower.prizeItem, gStringVar1);
+ gScriptResult = 1;
+ }
+ else
+ {
+ gScriptResult = 0;
+ gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = 6;
+ }
+}
+
+void AwardBattleTowerRibbons(void)
+{
+ s32 i;
+ u32 partyIndex;
+ struct Pokemon *pokemon;
+ u8 ribbonType;
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ ribbonType = MON_DATA_WINNING_RIBBON;
+ if (battleTowerLevelType != 0)
+ {
+ ribbonType = MON_DATA_VICTORY_RIBBON;
+ }
+
+ gScriptResult = 0;
+
+ if (GetCurrentBattleTowerWinStreak(battleTowerLevelType) > 55)
+ {
+ for (i = 0; i < 3; i++)
+ {
+ partyIndex = gSaveBlock2.battleTower.selectedPartyMons[i] - 1;
+ pokemon = &gPlayerParty[partyIndex];
+ if (!GetMonData(pokemon, ribbonType))
+ {
+ gScriptResult = 1;
+ SetMonData(pokemon, ribbonType, (u8 *)&gScriptResult);
+ }
+ }
+ }
+
+ if (gScriptResult != 0)
+ {
+ IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS);
+ }
+}
+
+// This is a leftover debugging function that is used to populate the E-Reader
+// trainer with the player's current data.
+void Debug_FillEReaderTrainerWithPlayerData(void)
+{
+ struct BattleTowerEReaderTrainer *ereaderTrainer;
+ s32 i;
+ s32 j;
+
+ ereaderTrainer = &gSaveBlock2.battleTower.ereaderTrainer;
+
+ if (gSaveBlock2.playerGender != MALE)
+ {
+ ereaderTrainer->trainerClass = sFemaleTrainerClasses[(gSaveBlock2.playerTrainerId[0] + gSaveBlock2.playerTrainerId[1]
+ + gSaveBlock2.playerTrainerId[2] + gSaveBlock2.playerTrainerId[3]) % 20u];
+ }
+ else
+ {
+ ereaderTrainer->trainerClass = sMaleTrainerClasses[(gSaveBlock2.playerTrainerId[0] + gSaveBlock2.playerTrainerId[1]
+ + gSaveBlock2.playerTrainerId[2] + gSaveBlock2.playerTrainerId[3]) % 30u];
+ }
+
+ copy_word_to_mem(ereaderTrainer->trainerId, gSaveBlock2.playerTrainerId);
+ StringCopy8(ereaderTrainer->name, gSaveBlock2.playerName);
+
+ ereaderTrainer->winStreak = 1;
+
+ j = 7;
+ for (i = 0; i < 6; i++)
+ {
+ ereaderTrainer->greeting.easyChat[i] = gSaveBlock1.easyChats.unk2B28[i];
+ ereaderTrainer->farewellPlayerLost.easyChat[i] = j;
+ ereaderTrainer->farewellPlayerWon.easyChat[i] = j + 6;
+ j++;
+ }
+
+ for (i = 0; i < 3; i++)
+ {
+ sub_803AF78(&gPlayerParty[i], &ereaderTrainer->party[i]);
+ }
+
+ SetEReaderTrainerChecksum(ereaderTrainer);
+}
+
+u8 GetEReaderTrainerPicIndex(void)
+{
+ return gTrainerClassToPicIndex[gSaveBlock2.battleTower.ereaderTrainer.trainerClass];
+}
+
+u8 GetEReaderTrainerClassNameIndex(void)
+{
+ return gTrainerClassToNameIndex[gSaveBlock2.battleTower.ereaderTrainer.trainerClass];
+}
+
+void SetEReaderTrainerName(u8 *trainerName)
+{
+ s32 i;
+
+ for (i = 0; i < 7; i++)
+ {
+ trainerName[i] = gSaveBlock2.battleTower.ereaderTrainer.name[i];
+ }
+
+ trainerName[i] = 0xFF;
+}
+
+// Checks if the saved E-Reader trainer is valid.
+void ValidateEReaderTrainer(void)
+{
+ u32 i;
+ u32 checksum;
+ struct BattleTowerEReaderTrainer *ereaderTrainer;
+
+ gScriptResult = 0;
+ ereaderTrainer = &gSaveBlock2.battleTower.ereaderTrainer;
+
+ checksum = 0;
+ for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32) - 1; i++)
+ {
+ checksum |= ((u32 *)ereaderTrainer)[i];
+ }
+
+ if (checksum == 0)
+ {
+ gScriptResult = 1;
+ return;
+ }
+
+ checksum = 0;
+ for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32) - 1; i++)
+ {
+ checksum += ((u32 *)ereaderTrainer)[i];
+ }
+
+ if (gSaveBlock2.battleTower.ereaderTrainer.checksum != checksum)
+ {
+ ClearEReaderTrainer(&gSaveBlock2.battleTower.ereaderTrainer);
+ gScriptResult = 1;
+ }
+}
+
+void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer)
+{
+ s32 i;
+
+ ereaderTrainer->checksum = 0;
+ for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32) - 1; i++)
+ {
+ ereaderTrainer->checksum += ((u32 *)ereaderTrainer)[i];
+ }
+}
+
+void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer)
+{
+ u32 i;
+
+ for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32); i++)
+ {
+ ((u32 *)ereaderTrainer)[i] = 0;
+ }
+}
+
+void PrintEReaderTrainerGreeting(void)
+{
+ PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.greeting.easyChat);
+}
+
+void PrintEReaderTrainerFarewellMessage(void)
+{
+ if (gBattleOutcome == BATTLE_DREW)
+ {
+ gStringVar4[0] = 0xFF;
+ }
+ else if (gBattleOutcome == BATTLE_WON)
+ {
+ PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.farewellPlayerWon.easyChat);
+ }
+ else
+ {
+ PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.farewellPlayerLost.easyChat);
+ }
+}
+
+void sub_813610C(void)
+{
+ s32 i;
+
+ for (i = 0; i < 2; i++)
+ {
+ if (gSaveBlock2.battleTower.var_4AE[i] == 1)
+ {
+ sub_80BFD20();
+ }
+ }
+}
+
+#if GERMAN
+u8 de_sub_81364AC(void)
+{
+ if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ return gSaveBlock2.battleTower.ereaderTrainer.trainerClass;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId >= BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ return gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass;
+ }
+ else
+ {
+ return gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].trainerClass;
+ }
+}
+
+u8 de_sub_81364F8(void)
+{
+ return gSaveBlock2.battleTower.ereaderTrainer.trainerClass;
+}
+#endif
diff --git a/src/field/choose_party.c b/src/field/choose_party.c
index f35dcdf56..adb210e7b 100644
--- a/src/field/choose_party.c
+++ b/src/field/choose_party.c
@@ -24,7 +24,7 @@ extern u8 gUnknown_020384F0;
extern struct UnknownPokemonStruct2 gUnknown_02023A00[];
extern u8 gUnknown_0202E8F6;
extern struct Pokemon gUnknown_030042FC[];
-extern const u16 gBattleTowerBanlist[];
+extern const u16 gBattleTowerBannedSpecies[];
EWRAM_DATA u8 gSelectedOrderFromParty[3] = {0};
@@ -176,15 +176,15 @@ static bool8 IsMonAllowedInBattleTower(struct Pokemon *pkmn)
return TRUE;
}
- if ((gSaveBlock2.filler_A8.var_4AC & 1) == 0
+ if ((gSaveBlock2.battleTower.battleTowerLevelType) == 0
&& GetMonData(pkmn, MON_DATA_LEVEL) > 50)
return FALSE;
// Check if the pkmn is in the ban list
species = GetMonData(pkmn, MON_DATA_SPECIES);
- while (gBattleTowerBanlist[i] != 0xFFFF)
+ while (gBattleTowerBannedSpecies[i] != 0xFFFF)
{
- if (gBattleTowerBanlist[i] == species)
+ if (gBattleTowerBannedSpecies[i] == species)
return FALSE;
i++;
}
diff --git a/src/field/easy_chat.c b/src/field/easy_chat.c
index 6014b3d14..2668b57dd 100644
--- a/src/field/easy_chat.c
+++ b/src/field/easy_chat.c
@@ -278,13 +278,13 @@ void sub_80EB7C4(void)
switch (gSpecialVar_0x8004)
{
case 0:
- words = gSaveBlock1.unk2B1C;
+ words = gSaveBlock1.easyChats.unk2B1C;
arg1 = 2;
arg2 = 2;
break;
case 1:
- words = gSaveBlock1.unk2B28;
- if (sub_80EB680(gSaveBlock1.unk2B28, 3, 2, 20))
+ words = gSaveBlock1.easyChats.unk2B28;
+ if (sub_80EB680(gSaveBlock1.easyChats.unk2B28, 3, 2, 20))
{
arg1 = 2;
arg2 = 3;
@@ -296,12 +296,12 @@ void sub_80EB7C4(void)
}
break;
case 2:
- words = gSaveBlock1.unk2B34;
+ words = gSaveBlock1.easyChats.unk2B34;
arg1 = 3;
arg2 = 2;
break;
case 3:
- words = gSaveBlock1.unk2B40;
+ words = gSaveBlock1.easyChats.unk2B40;
arg1 = 3;
arg2 = 2;
break;
diff --git a/src/field/field_specials.c b/src/field/field_specials.c
index b328ecb1b..46061febf 100644
--- a/src/field/field_specials.c
+++ b/src/field/field_specials.c
@@ -1789,7 +1789,7 @@ u16 sub_810F404(void)
void sub_810F414(void)
{
- sub_8135FF4(gStringVar1);
+ SetEReaderTrainerName(gStringVar1);
}
const u8 gUnknown_083F83E0[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6};
diff --git a/src/field/tv.c b/src/field/tv.c
index e9b5e850d..87fc03065 100644
--- a/src/field/tv.c
+++ b/src/field/tv.c
@@ -123,7 +123,6 @@ void ClearTVShowData(void)
bool8 sub_80BF1B4(u8);
void sub_80BF20C(void);
-extern u16 sub_8135D3C(u8);
extern u8 gScriptContestCategory;
extern u8 gScriptContestRank;
extern u8 gUnknown_03004316[11];
@@ -674,12 +673,12 @@ void sub_80BE320(void)
bravoTrainerTower->var00 = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE;
bravoTrainerTower->var01 = 1;
StringCopy(bravoTrainerTower->trainerName, gSaveBlock2.playerName);
- StringCopy(bravoTrainerTower->pokemonName, gSaveBlock2.filler_A8.filler_3DC);
- bravoTrainerTower->species = gSaveBlock2.filler_A8.var_480;
- bravoTrainerTower->defeatedSpecies = gSaveBlock2.filler_A8.var_482;
- bravoTrainerTower->var16 = sub_8135D3C(gSaveBlock2.filler_A8.var_4D0);
- bravoTrainerTower->var1c = gSaveBlock2.filler_A8.var_4AD;
- if (gSaveBlock2.filler_A8.var_4D0 == 0)
+ StringCopy(bravoTrainerTower->pokemonName, gSaveBlock2.battleTower.defeatedByTrainerName);
+ bravoTrainerTower->species = gSaveBlock2.battleTower.firstMonSpecies;
+ bravoTrainerTower->defeatedSpecies = gSaveBlock2.battleTower.defeatedBySpecies;
+ bravoTrainerTower->var16 = GetCurrentBattleTowerWinStreak(gSaveBlock2.battleTower.lastStreakLevelType);
+ bravoTrainerTower->var1c = gSaveBlock2.battleTower.battleOutcome;
+ if (gSaveBlock2.battleTower.lastStreakLevelType == 0)
bravoTrainerTower->btLevel = 50;
else
bravoTrainerTower->btLevel = 100;
diff --git a/src/scene/new_game.c b/src/scene/new_game.c
index 6ab21c544..b15282960 100644
--- a/src/scene/new_game.c
+++ b/src/scene/new_game.c
@@ -92,9 +92,9 @@ void sub_8052DA8(void)
gSaveBlock1.sbStruct.unkSB1.sb1_2EFC_struct[i] = gUnknown_08216604;
}
-void sub_8052DE4(void)
+void ZeroBattleTowerData(void)
{
- CpuFill32(0, &gSaveBlock2.filler_A8, sizeof(gSaveBlock2.filler_A8));
+ CpuFill32(0, &gSaveBlock2.battleTower, sizeof(gSaveBlock2.battleTower));
}
void WarpToTruck(void)
@@ -127,7 +127,7 @@ void NewGameInitData(void)
ZeroPlayerPartyMons();
ZeroEnemyPartyMons();
ResetPokedex();
- sub_8052DE4();
+ ZeroBattleTowerData();
memset(&gSaveBlock1, 0, sizeof(gSaveBlock1));
ClearMailData();
gSaveBlock2.specialSaveWarp = 0;