diff options
42 files changed, 16841 insertions, 12451 deletions
@@ -19,9 +19,9 @@ PREPROC := tools/preproc/preproc SCANINC := tools/scaninc/scaninc RAMSCRGEN := tools/ramscrgen/ramscrgen -ASFLAGS := -mcpu=arm7tdmi -I include --defsym $(VERSION)=1 --defsym REVISION=$(REVISION) --defsym $(LANGUAGE)=1 +ASFLAGS := -mcpu=arm7tdmi -I include --defsym $(GAME_VERSION)=1 --defsym REVISION=$(GAME_REVISION) --defsym $(GAME_LANGUAGE)=1 CC1FLAGS := -mthumb-interwork -Wimplicit -Wparentheses -Wunused -Werror -O2 -fhex-asm -CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef -Werror -Wno-trigraphs -D $(VERSION) -D REVISION=$(REVISION) -D $(LANGUAGE) +CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef -Werror -Wno-trigraphs -D $(GAME_VERSION) -D REVISION=$(GAME_REVISION) -D $(GAME_LANGUAGE) #### Files #### @@ -48,7 +48,7 @@ BUILD_DIR := build/$(BUILD_NAME) C_SOURCES := $(foreach dir, $(SUBDIRS), $(wildcard $(dir)/*.c)) ASM_SOURCES := $(foreach dir, $(SUBDIRS), $(wildcard $(dir)/*.s)) -C_OBECTS := $(addprefix $(BUILD_DIR)/, $(C_SOURCES:%.c=%.o)) +C_OBJECTS := $(addprefix $(BUILD_DIR)/, $(C_SOURCES:%.c=%.o)) ASM_OBJECTS := $(addprefix $(BUILD_DIR)/, $(ASM_SOURCES:%.s=%.o)) ALL_OBJECTS := $(C_OBJECTS) $(ASM_OBJECTS) @@ -73,7 +73,7 @@ LD_SCRIPT := $(BUILD_DIR)/ld_script.ld # Disable dependency scanning when NODEP is used for quick building ifeq ($(NODEP),) $(BUILD_DIR)/src/%.o: C_FILE = $(*D)/$(*F).c - $(BUILD_DIR)/src/%.o: C_DEP = $(shell $(SCANINC) -I include $(wildcard $(C_FILE:$(BUILD_DIR)/=))) + $(BUILD_DIR)/src/%.o: C_DEP = $(shell $(SCANINC) -I include $(C_FILE:$(BUILD_DIR)/=)) $(BUILD_DIR)/asm/%.o: ASM_DEP = $(shell $(SCANINC) asm/$(*F).s) $(BUILD_DIR)/data/%.o: ASM_DEP = $(shell $(SCANINC) data/$(*F).s) endif @@ -84,6 +84,8 @@ endif .SUFFIXES: # Don't delete intermediate files .SECONDARY: +# Delete files that weren't built properly +.DELETE_ON_ERROR: # Create build subdirectories $(shell mkdir -p $(addprefix $(BUILD_DIR)/, $(SUBDIRS))) @@ -109,16 +111,16 @@ tidy: %.elf: $(LD_SCRIPT) $(ALL_OBJECTS) cd $(BUILD_DIR) && $(LD) -T ld_script.ld -Map ../../$(MAP) -o ../../$@ ../../$(LIBGCC) ../../$(LIBC) -$(LD_SCRIPT): $(BUILD_DIR)/sym_bss.ld $(BUILD_DIR)/sym_common.ld $(BUILD_DIR)/sym_ewram.ld +$(LD_SCRIPT): $(BUILD_DIR)/sym_bss.ld $(BUILD_DIR)/sym_common.ld $(BUILD_DIR)/sym_ewram.ld ld_script.txt cd $(BUILD_DIR) && sed -f ../../ld_script.sed ../../ld_script.txt | sed "s#tools/#../../tools/#g" >ld_script.ld $(BUILD_DIR)/sym_bss.ld: sym_bss.txt - cd $(BUILD_DIR) && ../../$(RAMSCRGEN) .bss ../../sym_bss.txt $(LANGUAGE) >sym_bss.ld -$(BUILD_DIR)/sym_common.ld: sym_common.txt $(C_OBECTS) $(wildcard common_syms/*.txt) - cd $(BUILD_DIR) && ../../$(RAMSCRGEN) COMMON ../../sym_common.txt $(LANGUAGE) -c src,../../common_syms >sym_common.ld + cd $(BUILD_DIR) && ../../$(RAMSCRGEN) .bss ../../sym_bss.txt $(GAME_LANGUAGE) >sym_bss.ld +$(BUILD_DIR)/sym_common.ld: sym_common.txt $(C_OBJECTS) $(wildcard common_syms/*.txt) + cd $(BUILD_DIR) && ../../$(RAMSCRGEN) COMMON ../../sym_common.txt $(GAME_LANGUAGE) -c src,../../common_syms >sym_common.ld $(BUILD_DIR)/sym_ewram.ld: sym_ewram.txt - cd $(BUILD_DIR) && ../../$(RAMSCRGEN) ewram_data ../../sym_ewram.txt $(LANGUAGE) >sym_ewram.ld + cd $(BUILD_DIR) && ../../$(RAMSCRGEN) ewram_data ../../sym_ewram.txt $(GAME_LANGUAGE) >sym_ewram.ld -$(BUILD_DIR)/%.o: %.c $$(C_DEP) +$(C_OBJECTS): $(BUILD_DIR)/%.o: %.c $$(C_DEP) $(CPP) $(CPPFLAGS) $< -o $(BUILD_DIR)/$*.i $(PREPROC) $(BUILD_DIR)/$*.i charmap.txt | $(CC1) $(CC1FLAGS) -o $(BUILD_DIR)/$*.s @printf ".text\n\t.align\t2, 0\n" >> $(BUILD_DIR)/$*.s @@ -132,14 +134,14 @@ $(BUILD_DIR)/%.o: %.s $$(ASM_DEP) $(AS) $(ASFLAGS) $< -o $@ # "friendly" target names for convenience sake -ruby: ; @$(MAKE) --no-print-directory VERSION=RUBY -ruby_rev1: ; @$(MAKE) --no-print-directory VERSION=RUBY REVISION=1 -ruby_rev2: ; @$(MAKE) --no-print-directory VERSION=RUBY REVISION=2 -sapphire: ; @$(MAKE) --no-print-directory VERSION=SAPPHIRE -sapphire_rev1: ; @$(MAKE) --no-print-directory VERSION=SAPPHIRE REVISION=1 -sapphire_rev2: ; @$(MAKE) --no-print-directory VERSION=SAPPHIRE REVISION=2 -ruby_de: ; @$(MAKE) --no-print-directory VERSION=RUBY LANGUAGE=GERMAN -sapphire_de: ; @$(MAKE) --no-print-directory VERSION=SAPPHIRE LANGUAGE=GERMAN +ruby: ; @$(MAKE) --no-print-directory GAME_VERSION=RUBY +ruby_rev1: ; @$(MAKE) --no-print-directory GAME_VERSION=RUBY GAME_REVISION=1 +ruby_rev2: ; @$(MAKE) --no-print-directory GAME_VERSION=RUBY GAME_REVISION=2 +sapphire: ; @$(MAKE) --no-print-directory GAME_VERSION=SAPPHIRE +sapphire_rev1: ; @$(MAKE) --no-print-directory GAME_VERSION=SAPPHIRE GAME_REVISION=1 +sapphire_rev2: ; @$(MAKE) --no-print-directory GAME_VERSION=SAPPHIRE GAME_REVISION=2 +ruby_de: ; @$(MAKE) --no-print-directory GAME_VERSION=RUBY GAME_LANGUAGE=GERMAN +sapphire_de: ; @$(MAKE) --no-print-directory GAME_VERSION=SAPPHIRE GAME_LANGUAGE=GERMAN #### Graphics Rules #### diff --git a/asm/battle_intro.s b/asm/battle_intro.s deleted file mode 100755 index 5b29f56a4..000000000 --- a/asm/battle_intro.s +++ /dev/null @@ -1,1667 +0,0 @@ - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .syntax unified - - .text - - @ intro - - thumb_func_start sub_80E43C0 -sub_80E43C0: @ 80E43C0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E43D8 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E43E0 - ldr r0, _080E43DC @ =sub_80E4C34 - b _080E4408 - .align 2, 0 -_080E43D8: .4byte gBattleTypeFlags -_080E43DC: .4byte sub_80E4C34 -_080E43E0: - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _080E4400 - ldr r0, _080E43F8 @ =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - beq _080E4400 - movs r4, 0x3 - ldr r0, _080E43FC @ =task00_battle_intro_80BC6C8 - b _080E4408 - .align 2, 0 -_080E43F8: .4byte gGameVersion -_080E43FC: .4byte task00_battle_intro_80BC6C8 -_080E4400: - ldr r1, _080E4434 @ =gUnknown_083DB56C - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] -_080E4408: - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080E4438 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x8] - strh r4, [r1, 0xA] - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strh r0, [r1, 0x10] - strh r0, [r1, 0x12] - strh r0, [r1, 0x14] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E4434: .4byte gUnknown_083DB56C -_080E4438: .4byte gTasks - thumb_func_end sub_80E43C0 - - thumb_func_start sub_80E443C -sub_80E443C: @ 80E443C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r0, _080E4474 @ =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080E4478 @ =gBattle_BG1_Y - strh r1, [r0] - ldr r0, _080E447C @ =gBattle_BG2_X - strh r1, [r0] - ldr r0, _080E4480 @ =gBattle_BG2_Y - strh r1, [r0] - ldr r0, _080E4484 @ =REG_BLDCNT - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0xC - ldr r2, _080E4488 @ =0x00003f3f - adds r1, r2, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080E4474: .4byte gBattle_BG1_X -_080E4478: .4byte gBattle_BG1_Y -_080E447C: .4byte gBattle_BG2_X -_080E4480: .4byte gBattle_BG2_Y -_080E4484: .4byte REG_BLDCNT -_080E4488: .4byte 0x00003f3f - thumb_func_end sub_80E443C - - thumb_func_start task_battle_intro_80BC47C -task_battle_intro_80BC47C: @ 80E448C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080E44C4 @ =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x6 - strh r0, [r1] - ldr r1, _080E44C8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - mov r8, r1 - cmp r0, 0x4 - bls _080E44B8 - b _080E46BE -_080E44B8: - lsls r0, 2 - ldr r1, _080E44CC @ =_080E44D0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E44C4: .4byte gBattle_BG1_X -_080E44C8: .4byte gTasks -_080E44CC: .4byte _080E44D0 - .align 2, 0 -_080E44D0: - .4byte _080E44E4 - .4byte _080E4514 - .4byte _080E4540 - .4byte _080E4588 - .4byte _080E46B8 -_080E44E4: - ldr r0, _080E44FC @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E4500 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - movs r1, 0x10 - b _080E450A - .align 2, 0 -_080E44FC: .4byte gBattleTypeFlags -_080E4500: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - movs r1, 0x1 -_080E450A: - strh r1, [r0, 0xC] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080E46BE -_080E4514: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - mov r3, r8 - adds r1, r0, r3 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _080E452C - b _080E46BE -_080E452C: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - ldr r1, _080E453C @ =REG_WININ - movs r0, 0x3F - strh r0, [r1] - b _080E46BE - .align 2, 0 -_080E453C: .4byte REG_WININ -_080E4540: - ldr r1, _080E457C @ =gBattle_WIN0V - ldrh r0, [r1] - subs r0, 0xFF - strh r0, [r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0xC0 - lsls r1, 6 - cmp r0, r1 - beq _080E4558 - b _080E46BE -_080E4558: - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - add r1, r8 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - movs r0, 0x20 - strh r0, [r1, 0xE] - ldr r2, _080E4580 @ =gUnknown_02024DE8 - ldrh r1, [r2] - ldr r0, _080E4584 @ =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _080E46BE - .align 2, 0 -_080E457C: .4byte gBattle_WIN0V -_080E4580: .4byte gUnknown_02024DE8 -_080E4584: .4byte 0x0000fffe -_080E4588: - lsls r0, r4, 2 - adds r1, r0, r4 - lsls r1, 3 - mov r5, r8 - adds r2, r1, r5 - ldrh r3, [r2, 0xE] - movs r5, 0xE - ldrsh r1, [r2, r5] - mov r12, r0 - cmp r1, 0 - beq _080E45A4 - subs r0, r3, 0x1 - strh r0, [r2, 0xE] - b _080E45D2 -_080E45A4: - movs r1, 0xA - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _080E45C4 - ldr r2, _080E45BC @ =gBattle_BG1_Y - ldrh r1, [r2] - ldr r0, _080E45C0 @ =0x0000ffb0 - cmp r1, r0 - beq _080E45D2 - subs r0, r1, 0x2 - b _080E45D0 - .align 2, 0 -_080E45BC: .4byte gBattle_BG1_Y -_080E45C0: .4byte 0x0000ffb0 -_080E45C4: - ldr r2, _080E4690 @ =gBattle_BG1_Y - ldrh r1, [r2] - ldr r0, _080E4694 @ =0x0000ffc8 - cmp r1, r0 - beq _080E45D2 - subs r0, r1, 0x1 -_080E45D0: - strh r0, [r2] -_080E45D2: - ldr r2, _080E4698 @ =gBattle_WIN0V - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _080E45E6 - ldr r3, _080E469C @ =0xfffffc04 - adds r0, r1, r3 - strh r0, [r2] -_080E45E6: - mov r5, r12 - adds r0, r5, r4 - lsls r0, 3 - mov r2, r8 - adds r1, r0, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080E45FE - subs r0, r2, 0x2 - strh r0, [r1, 0xC] -_080E45FE: - movs r3, 0 - ldr r5, _080E46A0 @ =gScanlineEffect - mov r9, r5 - ldr r7, _080E46A4 @ =gScanlineEffectRegBuffers - mov r6, r9 - adds r5, r1, 0 -_080E460A: - lsls r2, r3, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - ldrh r0, [r5, 0xC] - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x4F - ble _080E460A - cmp r3, 0x9F - bgt _080E464E - ldr r7, _080E46A4 @ =gScanlineEffectRegBuffers - ldr r6, _080E46A0 @ =gScanlineEffect - ldr r1, _080E46A8 @ =gTasks - mov r2, r12 - adds r0, r2, r4 - lsls r0, 3 - adds r5, r0, r1 -_080E4634: - lsls r2, r3, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - ldrh r0, [r5, 0xC] - negs r0, r0 - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x9F - ble _080E4634 -_080E464E: - mov r3, r12 - adds r0, r3, r4 - lsls r0, 3 - mov r5, r8 - adds r1, r0, r5 - movs r0, 0xC - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _080E46BE - movs r0, 0x3 - mov r3, r9 - strb r0, [r3, 0x15] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - str r2, [sp] - ldr r1, _080E46AC @ =0x0600e000 - ldr r2, _080E46B0 @ =0x05000200 - mov r0, sp - bl CpuSet - ldr r1, _080E46B4 @ =REG_BG1CNT - movs r5, 0x9C - lsls r5, 8 - adds r0, r5, 0 - strh r0, [r1] - adds r1, 0x2 - movs r2, 0xBC - lsls r2, 7 - adds r0, r2, 0 - strh r0, [r1] - b _080E46BE - .align 2, 0 -_080E4690: .4byte gBattle_BG1_Y -_080E4694: .4byte 0x0000ffc8 -_080E4698: .4byte gBattle_WIN0V -_080E469C: .4byte 0xfffffc04 -_080E46A0: .4byte gScanlineEffect -_080E46A4: .4byte gScanlineEffectRegBuffers -_080E46A8: .4byte gTasks -_080E46AC: .4byte 0x0600e000 -_080E46B0: .4byte 0x05000200 -_080E46B4: .4byte REG_BG1CNT -_080E46B8: - adds r0, r4, 0 - bl sub_80E443C -_080E46BE: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end task_battle_intro_80BC47C - - thumb_func_start task00_battle_intro_80BC6C8 -task00_battle_intro_80BC6C8: @ 80E46CC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080E46F8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0xA - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x3 - beq _080E470C - cmp r0, 0x3 - bgt _080E46FC - cmp r0, 0x2 - beq _080E4700 - b _080E4714 - .align 2, 0 -_080E46F8: .4byte gTasks -_080E46FC: - cmp r0, 0x4 - bne _080E4714 -_080E4700: - ldr r1, _080E4708 @ =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x8 - b _080E4712 - .align 2, 0 -_080E4708: .4byte gBattle_BG1_X -_080E470C: - ldr r1, _080E4750 @ =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x6 -_080E4712: - strh r0, [r1] -_080E4714: - lsls r0, r5, 2 - adds r1, r0, r5 - lsls r1, 3 - adds r4, r1, r2 - movs r3, 0xA - ldrsh r1, [r4, r3] - adds r6, r0, 0 - cmp r1, 0x4 - bne _080E4778 - ldr r7, _080E4754 @ =gBattle_BG1_Y - ldrh r0, [r4, 0x14] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _080E473A - ldr r1, _080E4758 @ =0x000001ff - adds r0, r1 -_080E473A: - asrs r0, 9 - subs r0, 0x8 - strh r0, [r7] - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0xB3 - bgt _080E475C - adds r0, r1, 0x4 - b _080E475E - .align 2, 0 -_080E4750: .4byte gBattle_BG1_X -_080E4754: .4byte gBattle_BG1_Y -_080E4758: .4byte 0x000001ff -_080E475C: - adds r0, r1, 0x6 -_080E475E: - strh r0, [r4, 0x14] - ldr r2, _080E4794 @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r3, r0, r2 - movs r4, 0x14 - ldrsh r1, [r3, r4] - movs r0, 0xB4 - lsls r0, 1 - cmp r1, r0 - bne _080E4778 - movs r0, 0 - strh r0, [r3, 0x14] -_080E4778: - adds r0, r6, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x4 - bls _080E4788 - b _080E4996 -_080E4788: - lsls r0, 2 - ldr r1, _080E4798 @ =_080E479C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E4794: .4byte gTasks -_080E4798: .4byte _080E479C - .align 2, 0 -_080E479C: - .4byte _080E47B0 - .4byte _080E47E0 - .4byte _080E480C - .4byte _080E485C - .4byte _080E4990 -_080E47B0: - ldr r1, _080E47CC @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0x10 - strh r3, [r2, 0x10] - ldr r0, _080E47D0 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E47D4 - strh r3, [r2, 0xC] - b _080E47D8 - .align 2, 0 -_080E47CC: .4byte gTasks -_080E47D0: .4byte gBattleTypeFlags -_080E47D4: - movs r0, 0x1 - strh r0, [r2, 0xC] -_080E47D8: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _080E4996 -_080E47E0: - ldr r0, _080E4804 @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _080E47F6 - b _080E4996 -_080E47F6: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - ldr r1, _080E4808 @ =REG_WININ - movs r0, 0x3F - strh r0, [r1] - b _080E4996 - .align 2, 0 -_080E4804: .4byte gTasks -_080E4808: .4byte REG_WININ -_080E480C: - ldr r1, _080E484C @ =gBattle_WIN0V - ldrh r0, [r1] - subs r0, 0xFF - strh r0, [r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0xC0 - lsls r1, 6 - cmp r0, r1 - beq _080E4824 - b _080E4996 -_080E4824: - ldr r0, _080E4850 @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - movs r0, 0x20 - strh r0, [r1, 0xE] - movs r0, 0x1 - strh r0, [r1, 0x12] - ldr r2, _080E4854 @ =gUnknown_02024DE8 - ldrh r1, [r2] - ldr r0, _080E4858 @ =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _080E4996 - .align 2, 0 -_080E484C: .4byte gBattle_WIN0V -_080E4850: .4byte gTasks -_080E4854: .4byte gUnknown_02024DE8 -_080E4858: .4byte 0x0000fffe -_080E485C: - adds r0, r6, r5 - lsls r0, 3 - adds r1, r0, r2 - ldrh r3, [r1, 0xE] - movs r4, 0xE - ldrsh r0, [r1, r4] - cmp r0, 0 - beq _080E4898 - subs r0, r3, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - asrs r3, r0, 16 - cmp r3, 0 - bne _080E48B8 - ldr r1, _080E488C @ =REG_BLDCNT - ldr r4, _080E4890 @ =0x00001842 - adds r0, r4, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xF - strh r0, [r1] - ldr r0, _080E4894 @ =REG_BLDY - strh r3, [r0] - b _080E48B8 - .align 2, 0 -_080E488C: .4byte REG_BLDCNT -_080E4890: .4byte 0x00001842 -_080E4894: .4byte REG_BLDY -_080E4898: - ldrh r3, [r1, 0x10] - movs r0, 0x1F - ands r0, r3 - cmp r0, 0 - beq _080E48B8 - ldrh r0, [r1, 0x12] - subs r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - cmp r0, 0 - bne _080E48B8 - adds r0, r3, 0 - adds r0, 0xFF - strh r0, [r1, 0x10] - movs r0, 0x4 - strh r0, [r1, 0x12] -_080E48B8: - ldr r3, _080E4970 @ =gBattle_WIN0V - ldrh r1, [r3] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _080E48CC - ldr r4, _080E4974 @ =0xfffffc04 - adds r0, r1, r4 - strh r0, [r3] -_080E48CC: - adds r0, r6, r5 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080E48E0 - subs r0, r2, 0x2 - strh r0, [r1, 0xC] -_080E48E0: - movs r3, 0 - ldr r4, _080E4978 @ =gScanlineEffect - mov r8, r4 - ldr r0, _080E497C @ =gScanlineEffectRegBuffers - mov r12, r0 - mov r7, r8 - adds r4, r1, 0 -_080E48EE: - lsls r2, r3, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r12 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x4F - ble _080E48EE - cmp r3, 0x9F - bgt _080E4932 - ldr r1, _080E497C @ =gScanlineEffectRegBuffers - mov r12, r1 - ldr r7, _080E4978 @ =gScanlineEffect - ldr r1, _080E4980 @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r4, r0, r1 -_080E4918: - lsls r2, r3, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r12 - ldrh r0, [r4, 0xC] - negs r0, r0 - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x9F - ble _080E4918 -_080E4932: - ldr r1, _080E4980 @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r1, r0, r1 - movs r3, 0xC - ldrsh r2, [r1, r3] - cmp r2, 0 - bne _080E4996 - movs r0, 0x3 - mov r4, r8 - strb r0, [r4, 0x15] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - str r2, [sp] - ldr r1, _080E4984 @ =0x0600e000 - ldr r2, _080E4988 @ =0x05000200 - mov r0, sp - bl CpuSet - ldr r1, _080E498C @ =REG_BG1CNT - movs r2, 0x9C - lsls r2, 8 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r3, 0xBC - lsls r3, 7 - adds r0, r3, 0 - strh r0, [r1] - b _080E4996 - .align 2, 0 -_080E4970: .4byte gBattle_WIN0V -_080E4974: .4byte 0xfffffc04 -_080E4978: .4byte gScanlineEffect -_080E497C: .4byte gScanlineEffectRegBuffers -_080E4980: .4byte gTasks -_080E4984: .4byte 0x0600e000 -_080E4988: .4byte 0x05000200 -_080E498C: .4byte REG_BG1CNT -_080E4990: - adds r0, r5, 0 - bl sub_80E443C -_080E4996: - ldr r0, _080E49B8 @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r2, r1, r0 - movs r4, 0x8 - ldrsh r0, [r2, r4] - cmp r0, 0x4 - beq _080E49AC - ldr r1, _080E49BC @ =REG_BLDALPHA - ldrh r0, [r2, 0x10] - strh r0, [r1] -_080E49AC: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E49B8: .4byte gTasks -_080E49BC: .4byte REG_BLDALPHA - thumb_func_end task00_battle_intro_80BC6C8 - - thumb_func_start task_battle_intro_anim -task_battle_intro_anim: @ 80E49C0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080E49F4 @ =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x8 - strh r0, [r1] - ldr r1, _080E49F8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r5, r1, 0 - cmp r0, 0x4 - bls _080E49EA - b _080E4C06 -_080E49EA: - lsls r0, 2 - ldr r1, _080E49FC @ =_080E4A00 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E49F4: .4byte gBattle_BG1_X -_080E49F8: .4byte gTasks -_080E49FC: .4byte _080E4A00 - .align 2, 0 -_080E4A00: - .4byte _080E4A14 - .4byte _080E4A6C - .4byte _080E4A9C - .4byte _080E4AEC - .4byte _080E4C00 -_080E4A14: - ldr r1, _080E4A48 @ =REG_BLDCNT - ldr r3, _080E4A4C @ =0x00001842 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _080E4A50 @ =REG_BLDALPHA - ldr r6, _080E4A54 @ =0x00000808 - adds r2, r6, 0 - strh r2, [r0] - adds r1, 0x4 - movs r0, 0 - strh r0, [r1] - ldr r1, _080E4A58 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r3, r0, r1 - strh r2, [r3, 0x10] - ldr r0, _080E4A5C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E4A60 - movs r0, 0x10 - b _080E4A62 - .align 2, 0 -_080E4A48: .4byte REG_BLDCNT -_080E4A4C: .4byte 0x00001842 -_080E4A50: .4byte REG_BLDALPHA -_080E4A54: .4byte 0x00000808 -_080E4A58: .4byte gTasks -_080E4A5C: .4byte gBattleTypeFlags -_080E4A60: - movs r0, 0x1 -_080E4A62: - strh r0, [r3, 0xC] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - b _080E4C06 -_080E4A6C: - ldr r0, _080E4A94 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _080E4A84 - b _080E4C06 -_080E4A84: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - ldr r1, _080E4A98 @ =REG_WININ - movs r0, 0x3F - strh r0, [r1] - b _080E4C06 - .align 2, 0 -_080E4A94: .4byte gTasks -_080E4A98: .4byte REG_WININ -_080E4A9C: - ldr r1, _080E4ADC @ =gBattle_WIN0V - ldrh r0, [r1] - subs r0, 0xFF - strh r0, [r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0xC0 - lsls r1, 6 - cmp r0, r1 - beq _080E4AB4 - b _080E4C06 -_080E4AB4: - ldr r0, _080E4AE0 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - movs r0, 0x20 - strh r0, [r1, 0xE] - movs r0, 0x1 - strh r0, [r1, 0x12] - ldr r2, _080E4AE4 @ =gUnknown_02024DE8 - ldrh r1, [r2] - ldr r0, _080E4AE8 @ =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _080E4C06 - .align 2, 0 -_080E4ADC: .4byte gBattle_WIN0V -_080E4AE0: .4byte gTasks -_080E4AE4: .4byte gUnknown_02024DE8 -_080E4AE8: .4byte 0x0000fffe -_080E4AEC: - lsls r0, r4, 2 - adds r1, r0, r4 - lsls r1, 3 - adds r2, r1, r5 - ldrh r3, [r2, 0xE] - movs r6, 0xE - ldrsh r1, [r2, r6] - mov r12, r0 - cmp r1, 0 - beq _080E4B06 - subs r0, r3, 0x1 - strh r0, [r2, 0xE] - b _080E4B26 -_080E4B06: - ldrh r1, [r2, 0x10] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - beq _080E4B26 - ldrh r0, [r2, 0x12] - subs r0, 0x1 - strh r0, [r2, 0x12] - lsls r0, 16 - cmp r0, 0 - bne _080E4B26 - adds r0, r1, 0 - adds r0, 0xFF - strh r0, [r2, 0x10] - movs r0, 0x6 - strh r0, [r2, 0x12] -_080E4B26: - ldr r2, _080E4BE0 @ =gBattle_WIN0V - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _080E4B3A - ldr r3, _080E4BE4 @ =0xfffffc04 - adds r0, r1, r3 - strh r0, [r2] -_080E4B3A: - mov r6, r12 - adds r0, r6, r4 - lsls r0, 3 - adds r1, r0, r5 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080E4B50 - subs r0, r2, 0x2 - strh r0, [r1, 0xC] -_080E4B50: - movs r3, 0 - ldr r6, _080E4BE8 @ =gScanlineEffect - mov r8, r6 - ldr r7, _080E4BEC @ =gScanlineEffectRegBuffers - adds r5, r1, 0 -_080E4B5A: - lsls r2, r3, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - ldrh r0, [r5, 0xC] - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x4F - ble _080E4B5A - cmp r3, 0x9F - bgt _080E4B9E - ldr r7, _080E4BEC @ =gScanlineEffectRegBuffers - ldr r6, _080E4BE8 @ =gScanlineEffect - ldr r1, _080E4BF0 @ =gTasks - mov r2, r12 - adds r0, r2, r4 - lsls r0, 3 - adds r5, r0, r1 -_080E4B84: - lsls r2, r3, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - ldrh r0, [r5, 0xC] - negs r0, r0 - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x9F - ble _080E4B84 -_080E4B9E: - ldr r1, _080E4BF0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - movs r3, 0xC - ldrsh r2, [r1, r3] - cmp r2, 0 - bne _080E4C06 - movs r0, 0x3 - mov r6, r8 - strb r0, [r6, 0x15] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - str r2, [sp] - ldr r1, _080E4BF4 @ =0x0600e000 - ldr r2, _080E4BF8 @ =0x05000200 - mov r0, sp - bl CpuSet - ldr r1, _080E4BFC @ =REG_BG1CNT - movs r2, 0x9C - lsls r2, 8 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r3, 0xBC - lsls r3, 7 - adds r0, r3, 0 - strh r0, [r1] - b _080E4C06 - .align 2, 0 -_080E4BE0: .4byte gBattle_WIN0V -_080E4BE4: .4byte 0xfffffc04 -_080E4BE8: .4byte gScanlineEffect -_080E4BEC: .4byte gScanlineEffectRegBuffers -_080E4BF0: .4byte gTasks -_080E4BF4: .4byte 0x0600e000 -_080E4BF8: .4byte 0x05000200 -_080E4BFC: .4byte REG_BG1CNT -_080E4C00: - adds r0, r4, 0 - bl sub_80E443C -_080E4C06: - ldr r0, _080E4C2C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r2, r1, r0 - movs r6, 0x8 - ldrsh r0, [r2, r6] - cmp r0, 0x4 - beq _080E4C1E - ldr r1, _080E4C30 @ =REG_BLDALPHA - ldrh r0, [r2, 0x10] - strh r0, [r1] -_080E4C1E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E4C2C: .4byte gTasks -_080E4C30: .4byte REG_BLDALPHA - thumb_func_end task_battle_intro_anim - - thumb_func_start sub_80E4C34 -sub_80E4C34: @ 80E4C34 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080E4C80 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r7, r0, r1 - movs r1, 0x8 - ldrsh r0, [r7, r1] - cmp r0, 0x1 - ble _080E4CAA - movs r2, 0x10 - ldrsh r0, [r7, r2] - cmp r0, 0 - bne _080E4CAA - ldr r2, _080E4C84 @ =gBattle_BG1_X - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - bne _080E4C72 - cmp r1, 0x4F - bhi _080E4C8C -_080E4C72: - adds r0, r1, 0x3 - strh r0, [r2] - ldr r1, _080E4C88 @ =gBattle_BG2_X - ldrh r0, [r1] - subs r0, 0x3 - strh r0, [r1] - b _080E4CAA - .align 2, 0 -_080E4C80: .4byte gTasks -_080E4C84: .4byte gBattle_BG1_X -_080E4C88: .4byte gBattle_BG2_X -_080E4C8C: - str r5, [sp] - ldr r1, _080E4CCC @ =0x0600e000 - ldr r4, _080E4CD0 @ =0x05000200 - mov r0, sp - adds r2, r4, 0 - bl CpuSet - str r5, [sp, 0x4] - add r0, sp, 0x4 - ldr r1, _080E4CD4 @ =0x0600f000 - adds r2, r4, 0 - bl CpuSet - movs r0, 0x1 - strh r0, [r7, 0x10] -_080E4CAA: - ldr r0, _080E4CD8 @ =gTasks - lsls r2, r6, 2 - adds r1, r2, r6 - lsls r1, 3 - adds r1, r0 - movs r3, 0x8 - ldrsh r1, [r1, r3] - mov r12, r0 - adds r5, r2, 0 - cmp r1, 0x4 - bls _080E4CC2 - b _080E4EBA -_080E4CC2: - lsls r0, r1, 2 - ldr r1, _080E4CDC @ =_080E4CE0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E4CCC: .4byte 0x0600e000 -_080E4CD0: .4byte 0x05000200 -_080E4CD4: .4byte 0x0600f000 -_080E4CD8: .4byte gTasks -_080E4CDC: .4byte _080E4CE0 - .align 2, 0 -_080E4CE0: - .4byte _080E4CF4 - .4byte _080E4D06 - .4byte _080E4DA8 - .4byte _080E4DEC - .4byte _080E4EB4 -_080E4CF4: - adds r0, r5, r6 - lsls r0, 3 - add r0, r12 - movs r1, 0x10 - strh r1, [r0, 0xC] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080E4EBA -_080E4D06: - adds r0, r5, r6 - lsls r0, 3 - mov r2, r12 - adds r1, r0, r2 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _080E4D1C - b _080E4EBA -_080E4D1C: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - ldr r5, _080E4D8C @ =gSprites - ldr r4, _080E4D90 @ =gSharedMem - ldr r3, _080E4D94 @ =0x0001608a - adds r6, r4, r3 - ldrb r0, [r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r3, [r1, 0x1] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - movs r3, 0x8 - mov r8, r3 - mov r3, r8 - orrs r0, r3 - strb r0, [r1, 0x1] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r6, r5, 0 - adds r6, 0x1C - adds r0, r6 - ldr r3, _080E4D98 @ =sub_800FE20 - str r3, [r0] - ldr r0, _080E4D9C @ =0x0001608b - adds r4, r0 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x1] - ands r2, r1 - mov r1, r8 - orrs r2, r1 - strb r2, [r0, 0x1] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - str r3, [r0] - ldr r1, _080E4DA0 @ =REG_WININ - movs r0, 0x3F - strh r0, [r1] - adds r1, 0x2 - ldr r2, _080E4DA4 @ =0x00003f06 - b _080E4E94 - .align 2, 0 -_080E4D8C: .4byte gSprites -_080E4D90: .4byte gSharedMem -_080E4D94: .4byte 0x0001608a -_080E4D98: .4byte sub_800FE20 -_080E4D9C: .4byte 0x0001608b -_080E4DA0: .4byte REG_WININ -_080E4DA4: .4byte 0x00003f06 -_080E4DA8: - ldr r1, _080E4DE0 @ =gBattle_WIN0V - ldrh r0, [r1] - subs r0, 0xFF - strh r0, [r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0xC0 - lsls r1, 6 - cmp r0, r1 - beq _080E4DC0 - b _080E4EBA -_080E4DC0: - adds r1, r5, r6 - lsls r1, 3 - add r1, r12 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - movs r0, 0x20 - strh r0, [r1, 0xE] - ldr r2, _080E4DE4 @ =gUnknown_02024DE8 - ldrh r1, [r2] - ldr r0, _080E4DE8 @ =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _080E4EBA - .align 2, 0 -_080E4DE0: .4byte gBattle_WIN0V -_080E4DE4: .4byte gUnknown_02024DE8 -_080E4DE8: .4byte 0x0000fffe -_080E4DEC: - ldr r2, _080E4E9C @ =gBattle_WIN0V - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _080E4E00 - ldr r3, _080E4EA0 @ =0xfffffc04 - adds r0, r1, r3 - strh r0, [r2] -_080E4E00: - adds r0, r5, r6 - lsls r0, 3 - mov r2, r12 - adds r1, r0, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080E4E16 - subs r0, r2, 0x2 - strh r0, [r1, 0xC] -_080E4E16: - movs r3, 0 - ldr r0, _080E4EA4 @ =gScanlineEffect - mov r9, r0 - ldr r2, _080E4EA8 @ =gScanlineEffectRegBuffers - mov r8, r2 - mov r7, r9 - adds r4, r1, 0 -_080E4E24: - lsls r2, r3, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r8 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x4F - ble _080E4E24 - cmp r3, 0x9F - bgt _080E4E68 - ldr r0, _080E4EA8 @ =gScanlineEffectRegBuffers - mov r8, r0 - ldr r7, _080E4EA4 @ =gScanlineEffect - ldr r1, _080E4EAC @ =gTasks - adds r0, r5, r6 - lsls r0, 3 - adds r4, r0, r1 -_080E4E4E: - lsls r2, r3, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r8 - ldrh r0, [r4, 0xC] - negs r0, r0 - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x9F - ble _080E4E4E -_080E4E68: - adds r0, r5, r6 - lsls r0, 3 - mov r2, r12 - adds r1, r0, r2 - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _080E4EBA - movs r0, 0x3 - mov r2, r9 - strb r0, [r2, 0x15] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - ldr r1, _080E4EB0 @ =REG_BG1CNT - movs r3, 0x9C - lsls r3, 8 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - movs r2, 0xBC - lsls r2, 7 -_080E4E94: - adds r0, r2, 0 - strh r0, [r1] - b _080E4EBA - .align 2, 0 -_080E4E9C: .4byte gBattle_WIN0V -_080E4EA0: .4byte 0xfffffc04 -_080E4EA4: .4byte gScanlineEffect -_080E4EA8: .4byte gScanlineEffectRegBuffers -_080E4EAC: .4byte gTasks -_080E4EB0: .4byte REG_BG1CNT -_080E4EB4: - adds r0, r6, 0 - bl sub_80E443C -_080E4EBA: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E4C34 - - thumb_func_start unref_sub_80E4EC8 -unref_sub_80E4EC8: @ 80E4EC8 - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0x80 - lsls r4, 7 - str r4, [sp] - movs r4, 0x1E - str r4, [sp, 0x4] - movs r4, 0x1 - str r4, [sp, 0x8] - bl sub_80E4EF8 - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end unref_sub_80E4EC8 - - thumb_func_start sub_80E4EF8 -sub_80E4EF8: @ 80E4EF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r1 - adds r4, r2, 0 - ldr r1, [sp, 0x24] - mov r8, r1 - ldr r1, [sp, 0x28] - ldr r5, [sp, 0x2C] - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - mov r7, r9 - lsls r7, 24 - adds r0, r7, 0 - lsrs r0, 24 - mov r9, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - mov r3, r8 - lsls r3, 16 - mov r8, r3 - lsrs r6, r3, 16 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r5, 24 - lsrs r5, 24 - adds r0, r4, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080E4FCC @ =0x040000d4 - ldr r1, _080E4FD0 @ =gUnknown_081FAF4C - lsls r4, 2 - adds r4, r1 - ldr r1, _080E4FD4 @ =gBattleMonForms - adds r0, r1 - ldrb r1, [r0] - lsls r1, 11 - ldr r0, [r4] - adds r0, r1 - str r0, [r2] - movs r0, 0xC0 - lsls r0, 19 - adds r6, r0 - str r6, [r2, 0x4] - ldr r0, _080E4FD8 @ =0x80000400 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - mov r0, r8 - lsrs r0, 21 - lsls r5, 9 - subs r5, r0, r5 - mov r0, r9 - adds r1, r0, 0 - adds r1, 0x8 - cmp r0, r1 - bge _080E4FBC - mov r9, r1 - mov r1, r10 - lsls r1, 1 - mov r8, r1 - lsls r7, 11 - mov r12, r7 -_080E4F86: - mov r2, r10 - adds r4, r2, 0 - adds r4, 0x8 - adds r1, r0, 0x1 - cmp r2, r4 - bge _080E4FB6 - ldr r3, [sp] - lsls r6, r3, 12 - lsls r0, 6 - movs r7, 0xC0 - lsls r7, 19 - adds r0, r7 - add r0, r12 - mov r7, r8 - adds r3, r7, r0 - subs r2, r4, r2 -_080E4FA6: - adds r0, r5, 0 - orrs r0, r6 - strh r0, [r3] - adds r5, 0x1 - adds r3, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _080E4FA6 -_080E4FB6: - adds r0, r1, 0 - cmp r0, r9 - blt _080E4F86 -_080E4FBC: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E4FCC: .4byte 0x040000d4 -_080E4FD0: .4byte gUnknown_081FAF4C -_080E4FD4: .4byte gBattleMonForms -_080E4FD8: .4byte 0x80000400 - thumb_func_end sub_80E4EF8 - - thumb_func_start unref_sub_80E4FDC -unref_sub_80E4FDC: @ 80E4FDC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - ldr r5, [sp, 0x28] - mov r8, r5 - ldr r5, [sp, 0x2C] - ldr r6, [sp, 0x30] - mov r9, r6 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r1, 24 - lsls r2, 24 - lsls r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - mov r7, r8 - lsls r7, 16 - lsrs r6, r7, 16 - lsls r5, 24 - lsrs r5, 24 - mov r0, r9 - lsls r0, 24 - mov r9, r0 - ldr r4, _080E509C @ =0x040000d4 - ldr r0, _080E50A0 @ =gUnknown_081FAF4C - lsrs r2, 22 - adds r2, r0 - lsrs r3, 13 - ldr r0, [r2] - adds r0, r3 - str r0, [r4] - movs r0, 0xC0 - lsls r0, 19 - adds r6, r0 - str r6, [r4, 0x4] - ldr r0, _080E50A4 @ =0x80000400 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - adds r2, r7, 0 - lsrs r2, 21 - mov r6, r9 - lsrs r6, 15 - subs r4, r2, r6 - lsrs r0, r1, 24 - adds r1, r0, 0 - adds r1, 0x8 - cmp r0, r1 - bge _080E508C - mov r9, r1 - mov r7, r12 - lsls r7, 1 - mov r8, r7 - lsls r5, 11 - str r5, [sp] -_080E5054: - mov r2, r12 - adds r3, r2, 0 - adds r3, 0x8 - adds r5, r0, 0x1 - cmp r2, r3 - bge _080E5086 - mov r1, r10 - lsls r6, r1, 12 - lsls r0, 6 - movs r7, 0xC0 - lsls r7, 19 - adds r0, r7 - ldr r1, [sp] - adds r0, r1, r0 - mov r7, r8 - adds r1, r7, r0 - subs r2, r3, r2 -_080E5076: - adds r0, r4, 0 - orrs r0, r6 - strh r0, [r1] - adds r4, 0x1 - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _080E5076 -_080E5086: - adds r0, r5, 0 - cmp r0, r9 - blt _080E5054 -_080E508C: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E509C: .4byte 0x040000d4 -_080E50A0: .4byte gUnknown_081FAF4C -_080E50A4: .4byte 0x80000400 - thumb_func_end unref_sub_80E4FDC - - .align 2, 0 @ Don't pad with nop. @@ -1,44 +1,44 @@ ### Build Configuration ### # Default variables -VERSION ?= RUBY -REVISION ?= 0 -LANGUAGE ?= ENGLISH +GAME_VERSION ?= RUBY +GAME_REVISION ?= 0 +GAME_LANGUAGE ?= ENGLISH COMPARE ?= 1 # Version -ifeq ($(VERSION), RUBY) +ifeq ($(GAME_VERSION), RUBY) BUILD_NAME := ruby else -ifeq ($(VERSION), SAPPHIRE) +ifeq ($(GAME_VERSION), SAPPHIRE) BUILD_NAME := sapphire else - $(error unknown version $(VERSION)) + $(error unknown version $(GAME_VERSION)) endif endif # Revision -ifeq ($(REVISION), 0) +ifeq ($(GAME_REVISION), 0) BUILD_NAME := $(BUILD_NAME) else -ifeq ($(REVISION), 1) +ifeq ($(GAME_REVISION), 1) BUILD_NAME := $(BUILD_NAME)_rev1 else -ifeq ($(REVISION), 2) +ifeq ($(GAME_REVISION), 2) BUILD_NAME := $(BUILD_NAME)_rev2 else - $(error unknown revision $(REVISION)) + $(error unknown revision $(GAME_REVISION)) endif endif endif # Language -ifeq ($(LANGUAGE), ENGLISH) +ifeq ($(GAME_LANGUAGE), ENGLISH) BUILD_NAME := $(BUILD_NAME) else -ifeq ($(LANGUAGE), GERMAN) +ifeq ($(GAME_LANGUAGE), GERMAN) BUILD_NAME := $(BUILD_NAME)_de else - $(error unknown language $(LANGUAGE)) + $(error unknown language $(GAME_LANGUAGE)) endif endif diff --git a/data/battle_anim.s b/data/battle_anim.s deleted file mode 100644 index 270ba818a..000000000 --- a/data/battle_anim.s +++ /dev/null @@ -1,1051 +0,0 @@ - .include "include/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gOamData_837DF24:: @ 837DF24 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DF2C:: @ 837DF2C - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DF34:: @ 837DF34 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DF3C:: @ 837DF3C - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837DF44:: @ 837DF44 - .2byte 0x4000 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DF4C:: @ 837DF4C - .2byte 0x4000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DF54:: @ 837DF54 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DF5C:: @ 837DF5C - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837DF64:: @ 837DF64 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DF6C:: @ 837DF6C - .2byte 0x8000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DF74:: @ 837DF74 - .2byte 0x8000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DF7C:: @ 837DF7C - .2byte 0x8000 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837DF84:: @ 837DF84 - .2byte 0x0100 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DF8C:: @ 837DF8C - .2byte 0x0100 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DF94:: @ 837DF94 - .2byte 0x0100 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DF9C:: @ 837DF9C - .2byte 0x0100 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837DFA4:: @ 837DFA4 - .2byte 0x4100 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DFAC:: @ 837DFAC - .2byte 0x4100 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DFB4:: @ 837DFB4 - .2byte 0x4100 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DFBC:: @ 837DFBC - .2byte 0x4100 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837DFC4:: @ 837DFC4 - .2byte 0x8100 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DFCC:: @ 837DFCC - .2byte 0x8100 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DFD4:: @ 837DFD4 - .2byte 0x8100 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DFDC:: @ 837DFDC - .2byte 0x8100 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837DFE4:: @ 837DFE4 - .2byte 0x0300 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DFEC:: @ 837DFEC - .2byte 0x0300 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DFF4:: @ 837DFF4 - .2byte 0x0300 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DFFC:: @ 837DFFC - .2byte 0x0300 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837D004:: @ 837D004 - .2byte 0x4300 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837D00C:: @ 837D00C - .2byte 0x4300 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E014:: @ 837E014 - .2byte 0x4300 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E01C:: @ 837E01C - .2byte 0x4300 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E024:: @ 837E024 - .2byte 0x8300 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E02C:: @ 837E02C - .2byte 0x8300 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E034:: @ 837E034 - .2byte 0x8300 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E03C:: @ 837E03C - .2byte 0x8300 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E044:: @ 837E044 - .2byte 0x0400 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E04C:: @ 837E04C - .2byte 0x0400 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E054:: @ 837E054 - .2byte 0x0400 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E05C:: @ 837E05C - .2byte 0x0400 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E064:: @ 837E064 - .2byte 0x4400 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E06C:: @ 837E06C - .2byte 0x4400 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E074:: @ 837E074 - .2byte 0x4400 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E07C:: @ 837E07C - .2byte 0x4400 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E084:: @ 837E084 - .2byte 0x8400 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E08C:: @ 837E08C - .2byte 0x8400 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E094:: @ 837E094 - .2byte 0x8400 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E09C:: @ 837E09C - .2byte 0x8400 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E0A4:: @ 837E0A4 - .2byte 0x0500 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E0AC:: @ 837E0AC - .2byte 0x0500 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E0B4:: @ 837E0B4 - .2byte 0x0500 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E0BC:: @ 837E0BC - .2byte 0x0500 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E0C4:: @ 837E0C4 - .2byte 0x4500 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E0CC:: @ 837E0CC - .2byte 0x4500 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E0D4:: @ 837E0D4 - .2byte 0x4500 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E0DC:: @ 837E0DC - .2byte 0x4500 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E0E4:: @ 837E0E4 - .2byte 0x8500 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E0EC:: @ 837E0EC - .2byte 0x8500 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E0F4:: @ 837E0F4 - .2byte 0x8500 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E0FC:: @ 837E0FC - .2byte 0x8500 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E104:: @ 837E104 - .2byte 0x0700 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E10C:: @ 837E10C - .2byte 0x0700 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E114:: @ 837E114 - .2byte 0x0700 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E11C:: @ 837E11C - .2byte 0x0700 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E124:: @ 837E124 - .2byte 0x4700 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E12C:: @ 837E12C - .2byte 0x4700 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E134:: @ 837E134 - .2byte 0x4700 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E13C:: @ 837E13C - .2byte 0x4700 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E144:: @ 837E144 - .2byte 0x8700 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E14C:: @ 837E14C - .2byte 0x8700 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E154:: @ 837E154 - .2byte 0x8700 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E15C:: @ 837E15C - .2byte 0x8700 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gBattleAnimPicTable:: @ 837E164 - obj_tiles gBattleAnimSpriteSheet_000, 0x200, 10000 - obj_tiles gBattleAnimSpriteSheet_001, 0x300, 10001 - obj_tiles gBattleAnimSpriteSheet_002, 0x200, 10002 - obj_tiles gBattleAnimSpriteSheet_003, 0x100, 10003 - obj_tiles gBattleAnimSpriteSheet_004, 0x200, 10004 - obj_tiles gBattleAnimSpriteSheet_005, 0x400, 10005 - obj_tiles gBattleAnimSpriteSheet_006, 0x180, 10006 - obj_tiles gBattleAnimSpriteSheet_007, 0x800, 10007 - obj_tiles gBattleAnimSpriteSheet_008, 0x20, 10008 - obj_tiles gBattleAnimSpriteSheet_009, 0x400, 10009 - obj_tiles gBattleAnimSpriteSheet_010, 0x1200, 10010 - obj_tiles gBattleAnimSpriteSheet_011, 0x180, 10011 - obj_tiles gBattleAnimSpriteSheet_012, 0x80, 10012 - obj_tiles gBattleAnimSpriteSheet_013, 0x80, 10013 - obj_tiles gBattleAnimSpriteSheet_014, 0x280, 10014 - obj_tiles gBattleAnimSpriteSheet_015, 0x80, 10015 - obj_tiles gBattleAnimSpriteSheet_016, 0x100, 10016 - obj_tiles gBattleAnimSpriteSheet_017, 0x20, 10017 - obj_tiles gBattleAnimSpriteSheet_018, 0x80, 10018 - obj_tiles gBattleAnimSpriteSheet_019, 0x400, 10019 - obj_tiles gBattleAnimSpriteSheet_020, 0x200, 10020 - obj_tiles gBattleAnimSpriteSheet_021, 0xA00, 10021 - obj_tiles gBattleAnimSpriteSheet_021, 0xA00, 10022 - obj_tiles gBattleAnimSpriteSheet_023, 0x380, 10023 - obj_tiles gBattleAnimSpriteSheet_024, 0x300, 10024 - obj_tiles gBattleAnimSpriteSheet_025, 0xA00, 10025 - obj_tiles gBattleAnimSpriteSheet_026, 0xA00, 10026 - obj_tiles gBattleAnimSpriteSheet_027, 0xA00, 10027 - obj_tiles gBattleAnimSpriteSheet_028, 0xA00, 10028 - obj_tiles gBattleAnimSpriteSheet_029, 0xA00, 10029 - obj_tiles gBattleAnimSpriteSheet_030, 0xA00, 10030 - obj_tiles gBattleAnimSpriteSheet_031, 0xE00, 10031 - obj_tiles gBattleAnimSpriteSheet_032, 0x380, 10032 - obj_tiles gBattleAnimSpriteSheet_033, 0x1000, 10033 - obj_tiles gBattleAnimSpriteSheet_034, 0x800, 10034 - obj_tiles gBattleAnimSpriteSheet_035, 0xA00, 10035 - obj_tiles gBattleAnimSpriteSheet_036, 0x800, 10036 - obj_tiles gBattleAnimSpriteSheet_037, 0xA00, 10037 - obj_tiles gBattleAnimSpriteSheet_038, 0xA00, 10038 - obj_tiles gBattleAnimSpriteSheet_039, 0xA00, 10039 - obj_tiles gBattleAnimSpriteSheet_040, 0xA00, 10040 - obj_tiles gBattleAnimSpriteSheet_041, 0xA00, 10041 - obj_tiles gBattleAnimSpriteSheet_042, 0xA00, 10042 - obj_tiles gBattleAnimSpriteSheet_043, 0xA00, 10043 - obj_tiles gBattleAnimSpriteSheet_044, 0xA00, 10044 - obj_tiles gBattleAnimSpriteSheet_045, 0xA00, 10045 - obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 10046 - obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 10047 - obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 10048 - obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 10049 - obj_tiles gBattleAnimSpriteSheet_050, 0x200, 10050 - obj_tiles gBattleAnimSpriteSheet_051, 0x200, 10051 - obj_tiles gBattleAnimSpriteSheet_052, 0x200, 10052 - obj_tiles gBattleAnimSpriteSheet_053, 0x800, 10053 - obj_tiles gBattleAnimSpriteSheet_054, 0x80, 10054 - obj_tiles gBattleAnimSpriteSheet_055, 0x200, 10055 - obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 10056 - obj_tiles gBattleAnimSpriteSheet_057, 0x180, 10057 - obj_tiles gBattleAnimSpriteSheet_058, 0xC00, 10058 - obj_tiles gBattleAnimSpriteSheet_059, 0x100, 10059 - obj_tiles gBattleAnimSpriteSheet_060, 0x40, 10060 - obj_tiles gBattleAnimSpriteSheet_061, 0x180, 10061 - obj_tiles gBattleAnimSpriteSheet_062, 0x800, 10062 - obj_tiles gBattleAnimSpriteSheet_063, 0x480, 10063 - obj_tiles gBattleAnimSpriteSheet_064, 0x200, 10064 - obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10065 - obj_tiles gBattleAnimSpriteSheet_066, 0x100, 10066 - obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10067 - obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10068 - obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10069 - obj_tiles gBattleAnimSpriteSheet_070, 0x200, 10070 - obj_tiles gBattleAnimSpriteSheet_071, 0xA00, 10071 - obj_tiles gBattleAnimSpriteSheet_072, 0x300, 10072 - obj_tiles gBattleAnimSpriteSheet_073, 0x180, 10073 - obj_tiles gBattleAnimSpriteSheet_074, 0xA0, 10074 - obj_tiles gBattleAnimSpriteSheet_075, 0x700, 10075 - obj_tiles gBattleAnimSpriteSheet_076, 0x400, 10076 - obj_tiles gBattleAnimSpriteSheet_077, 0x200, 10077 - obj_tiles gBattleAnimSpriteSheet_078, 0x300, 10078 - obj_tiles gBattleAnimSpriteSheet_079, 0xC00, 10079 - obj_tiles gBattleAnimSpriteSheet_080, 0xA00, 10080 - obj_tiles gBattleAnimSpriteSheet_081, 0x80, 10081 - obj_tiles gBattleAnimSpriteSheet_082, 0x40, 10082 - obj_tiles gBattleAnimSpriteSheet_083, 0xE00, 10083 - obj_tiles gBattleAnimSpriteSheet_084, 0xE00, 10084 - obj_tiles gBattleAnimSpriteSheet_085, 0x280, 10085 - obj_tiles gBattleAnimSpriteSheet_086, 0x200, 10086 - obj_tiles gBattleAnimSpriteSheet_087, 0x80, 10087 - obj_tiles gBattleAnimSpriteSheet_088, 0xC0, 10088 - obj_tiles gBattleAnimSpriteSheet_089, 0xA00, 10089 - obj_tiles gBattleAnimSpriteSheet_090, 0x200, 10090 - obj_tiles gBattleAnimSpriteSheet_091, 0x180, 10091 - obj_tiles gBattleAnimSpriteSheet_092, 0x80, 10092 - obj_tiles gBattleAnimSpriteSheet_093, 0x1000, 10093 - obj_tiles gBattleAnimSpriteSheet_094, 0xA00, 10094 - obj_tiles gBattleAnimSpriteSheet_095, 0x180, 10095 - obj_tiles gBattleAnimSpriteSheet_096, 0x380, 10096 - obj_tiles gBattleAnimSpriteSheet_097, 0xC00, 10097 - obj_tiles gBattleAnimSpriteSheet_098, 0x200, 10098 - obj_tiles gBattleAnimSpriteSheet_099, 0x200, 10099 - obj_tiles gBattleAnimSpriteSheet_100, 0x200, 10100 - obj_tiles gBattleAnimSpriteSheet_101, 0x200, 10101 - obj_tiles gBattleAnimSpriteSheet_102, 0x400, 10102 - obj_tiles gBattleAnimSpriteSheet_103, 0x80, 10103 - obj_tiles gBattleAnimSpriteSheet_104, 0x400, 10104 - obj_tiles gBattleAnimSpriteSheet_105, 0xC00, 10105 - obj_tiles gBattleAnimSpriteSheet_106, 0x200, 10106 - obj_tiles gBattleAnimSpriteSheet_107, 0x1000, 10107 - obj_tiles gBattleAnimSpriteSheet_108, 0xA00, 10108 - obj_tiles gBattleAnimSpriteSheet_109, 0x20, 10109 - obj_tiles gBattleAnimSpriteSheet_110, 0xE00, 10110 - obj_tiles gBattleAnimSpriteSheet_111, 0x80, 10111 - obj_tiles gBattleAnimSpriteSheet_112, 0xA00, 10112 - obj_tiles gBattleAnimSpriteSheet_113, 0x400, 10113 - obj_tiles gBattleAnimSpriteSheet_114, 0x200, 10114 - obj_tiles gBattleAnimSpriteSheet_115, 0x700, 10115 - obj_tiles gBattleAnimSpriteSheet_116, 0x800, 10116 - obj_tiles gBattleAnimSpriteSheet_117, 0xA00, 10117 - obj_tiles gBattleAnimSpriteSheet_118, 0x600, 10118 - obj_tiles gBattleAnimSpriteSheet_119, 0x800, 10119 - obj_tiles gBattleAnimSpriteSheet_120, 0x200, 10120 - obj_tiles gBattleAnimSpriteSheet_121, 0x40, 10121 - obj_tiles gBattleAnimSpriteSheet_122, 0x180, 10122 - obj_tiles gBattleAnimSpriteSheet_123, 0x600, 10123 - obj_tiles gBattleAnimSpriteSheet_124, 0x600, 10124 - obj_tiles gBattleAnimSpriteSheet_125, 0x200, 10125 - obj_tiles gBattleAnimSpriteSheet_126, 0x80, 10126 - obj_tiles gBattleAnimSpriteSheet_127, 0x200, 10127 - obj_tiles gBattleAnimSpriteSheet_128, 0x800, 10128 - obj_tiles gBattleAnimSpriteSheet_129, 0x80, 10129 - obj_tiles gBattleAnimSpriteSheet_130, 0xA00, 10130 - obj_tiles gBattleAnimSpriteSheet_131, 0x280, 10131 - obj_tiles gBattleAnimSpriteSheet_132, 0x280, 10132 - obj_tiles gBattleAnimSpriteSheet_133, 0x100, 10133 - obj_tiles gBattleAnimSpriteSheet_134, 0x200, 10134 - obj_tiles gBattleAnimSpriteSheet_135, 0x200, 10135 - obj_tiles gBattleAnimSpriteSheet_136, 0x20, 10136 - obj_tiles gBattleAnimSpriteSheet_137, 0xA00, 10137 - obj_tiles gBattleAnimSpriteSheet_138, 0x800, 10138 - obj_tiles gBattleAnimSpriteSheet_139, 0x800, 10139 - obj_tiles gBattleAnimSpriteSheet_140, 0xC0, 10140 - obj_tiles gBattleAnimSpriteSheet_141, 0x1C0, 10141 - obj_tiles gBattleAnimSpriteSheet_142, 0x100, 10142 - obj_tiles gBattleAnimSpriteSheet_143, 0x800, 10143 - obj_tiles gBattleAnimSpriteSheet_144, 0x200, 10144 - obj_tiles gBattleAnimSpriteSheet_145, 0x800, 10145 - obj_tiles gBattleAnimSpriteSheet_146, 0x180, 10146 - obj_tiles gBattleAnimSpriteSheet_147, 0x180, 10147 - obj_tiles gBattleAnimSpriteSheet_148, 0x200, 10148 - obj_tiles gBattleAnimSpriteSheet_149, 0x200, 10149 - obj_tiles gBattleAnimSpriteSheet_150, 0x180, 10150 - obj_tiles gBattleAnimSpriteSheet_151, 0x400, 10151 - obj_tiles gBattleAnimSpriteSheet_152, 0x80, 10152 - obj_tiles gBattleAnimSpriteSheet_153, 0x100, 10153 - obj_tiles gBattleAnimSpriteSheet_154, 0x100, 10154 - obj_tiles gBattleAnimSpriteSheet_155, 0x140, 10155 - obj_tiles gBattleAnimSpriteSheet_156, 0x800, 10156 - obj_tiles gBattleAnimSpriteSheet_157, 0x200, 10157 - obj_tiles gBattleAnimSpriteSheet_158, 0x100, 10158 - obj_tiles gBattleAnimSpriteSheet_159, 0xA0, 10159 - obj_tiles gBattleAnimSpriteSheet_160, 0x100, 10160 - obj_tiles gBattleAnimSpriteSheet_161, 0x80, 10161 - obj_tiles gBattleAnimSpriteSheet_162, 0x300, 10162 - obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10163 - obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10164 - obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10165 - obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10166 - obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10167 - obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10168 - obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10169 - obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10170 - obj_tiles gBattleAnimSpriteSheet_171, 0x80, 10171 - obj_tiles gBattleAnimSpriteSheet_144, 0x200, 10172 - obj_tiles gBattleAnimSpriteSheet_173, 0x200, 10173 - obj_tiles gBattleAnimSpriteSheet_174, 0x200, 10174 - obj_tiles gBattleAnimSpriteSheet_175, 0x80, 10175 - obj_tiles gBattleAnimSpriteSheet_176, 0x200, 10176 - obj_tiles gBattleAnimSpriteSheet_177, 0x500, 10177 - obj_tiles gBattleAnimSpriteSheet_178, 0x800, 10178 - obj_tiles gBattleAnimSpriteSheet_179, 0x400, 10179 - obj_tiles gBattleAnimSpriteSheet_180, 0x20, 10180 - obj_tiles gBattleAnimSpriteSheet_181, 0x800, 10181 - obj_tiles gBattleAnimSpriteSheet_182, 0x100, 10182 - obj_tiles gBattleAnimSpriteSheet_183, 0x800, 10183 - obj_tiles gBattleAnimSpriteSheet_184, 0x400, 10184 - obj_tiles gBattleAnimSpriteSheet_185, 0xA00, 10185 - obj_tiles gBattleAnimSpriteSheet_186, 0x1000, 10186 - obj_tiles gBattleAnimSpriteSheet_187, 0x800, 10187 - obj_tiles gBattleAnimSpriteSheet_188, 0x400, 10188 - obj_tiles gBattleAnimSpriteSheet_189, 0x200, 10189 - obj_tiles gBattleAnimSpriteSheet_190, 0x800, 10190 - obj_tiles gBattleAnimSpriteSheet_191, 0x800, 10191 - obj_tiles gBattleAnimSpriteSheet_192, 0x800, 10192 - obj_tiles gBattleAnimSpriteSheet_193, 0x200, 10193 - obj_tiles gBattleAnimSpriteSheet_194, 0x800, 10194 - obj_tiles gBattleAnimSpriteSheet_195, 0x200, 10195 - obj_tiles gBattleAnimSpriteSheet_196, 0x800, 10196 - obj_tiles gBattleAnimSpriteSheet_197, 0x200, 10197 - obj_tiles gBattleAnimSpriteSheet_198, 0x800, 10198 - obj_tiles gBattleAnimSpriteSheet_199, 0x400, 10199 - obj_tiles gBattleAnimSpriteSheet_200, 0x200, 10200 - obj_tiles gBattleAnimSpriteSheet_201, 0xA80, 10201 - obj_tiles gBattleAnimSpriteSheet_202, 0x600, 10202 - obj_tiles gBattleAnimSpriteSheet_203, 0x800, 10203 - obj_tiles gBattleAnimSpriteSheet_204, 0x200, 10204 - obj_tiles gBattleAnimSpriteSheet_205, 0x600, 10205 - obj_tiles gBattleAnimSpriteSheet_206, 0x800, 10206 - obj_tiles gBattleAnimSpriteSheet_207, 0x180, 10207 - obj_tiles gBattleAnimSpriteSheet_208, 0x800, 10208 - obj_tiles gBattleAnimSpriteSheet_209, 0x800, 10209 - obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10210 - obj_tiles gBattleAnimSpriteSheet_211, 0x80, 10211 - obj_tiles gBattleAnimSpriteSheet_212, 0x800, 10212 - obj_tiles gBattleAnimSpriteSheet_213, 0x800, 10213 - obj_tiles gBattleAnimSpriteSheet_214, 0x600, 10214 - obj_tiles gBattleAnimSpriteSheet_215, 0x600, 10215 - obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10216 - obj_tiles gBattleAnimSpriteSheet_217, 0x80, 10217 - obj_tiles gBattleAnimSpriteSheet_218, 0x180, 10218 - obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10219 - obj_tiles gBattleAnimSpriteSheet_220, 0x200, 10220 - obj_tiles gBattleAnimSpriteSheet_221, 0x400, 10221 - obj_tiles gBattleAnimSpriteSheet_222, 0xA00, 10222 - obj_tiles gBattleAnimSpriteSheet_223, 0x800, 10223 - obj_tiles gBattleAnimSpriteSheet_224, 0x200, 10224 - obj_tiles gBattleAnimSpriteSheet_225, 0x400, 10225 - obj_tiles gBattleAnimSpriteSheet_226, 0x80, 10226 - obj_tiles gBattleAnimSpriteSheet_227, 0x800, 10227 - obj_tiles gBattleAnimSpriteSheet_228, 0x200, 10228 - obj_tiles gBattleAnimSpriteSheet_229, 0x300, 10229 - obj_tiles gBattleAnimSpriteSheet_230, 0x800, 10230 - obj_tiles gBattleAnimSpriteSheet_231, 0x380, 10231 - obj_tiles gBattleAnimSpriteSheet_232, 0x800, 10232 - obj_tiles gBattleAnimSpriteSheet_233, 0xC0, 10233 - obj_tiles gBattleAnimSpriteSheet_234, 0x800, 10234 - obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10235 - obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10236 - obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10237 - obj_tiles gBattleAnimSpriteSheet_238, 0x80, 10238 - obj_tiles gBattleAnimSpriteSheet_239, 0x180, 10239 - obj_tiles gBattleAnimSpriteSheet_240, 0x180, 10240 - obj_tiles gBattleAnimSpriteSheet_241, 0x200, 10241 - obj_tiles gBattleAnimSpriteSheet_242, 0x200, 10242 - obj_tiles gBattleAnimSpriteSheet_243, 0x20, 10243 - obj_tiles gBattleAnimSpriteSheet_244, 0x400, 10244 - obj_tiles gBattleAnimSpriteSheet_245, 0x600, 10245 - obj_tiles gBattleAnimSpriteSheet_246, 0x1000, 10246 - obj_tiles gBattleAnimSpriteSheet_247, 0x400, 10247 - obj_tiles gBattleAnimSpriteSheet_248, 0x20, 10248 - obj_tiles gBattleAnimSpriteSheet_249, 0x80, 10249 - obj_tiles gBattleAnimSpriteSheet_250, 0x800, 10250 - obj_tiles gBattleAnimSpriteSheet_251, 0x80, 10251 - obj_tiles gBattleAnimSpriteSheet_252, 0x200, 10252 - obj_tiles gBattleAnimSpriteSheet_253, 0x400, 10253 - obj_tiles gBattleAnimSpriteSheet_254, 0x200, 10254 - obj_tiles gBattleAnimSpriteSheet_255, 0x200, 10255 - obj_tiles gBattleAnimSpriteSheet_256, 0x800, 10256 - obj_tiles gBattleAnimSpriteSheet_257, 0x280, 10257 - obj_tiles gBattleAnimSpriteSheet_258, 0x200, 10258 - obj_tiles gBattleAnimSpriteSheet_149, 0x200, 10259 - obj_tiles gBattleAnimSpriteSheet_260, 0x400, 10260 - obj_tiles gBattleAnimSpriteSheet_261, 0x200, 10261 - obj_tiles gBattleAnimSpriteSheet_262, 0x200, 10262 - obj_tiles gBattleAnimSpriteSheet_263, 0x80, 10263 - obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10264 - obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10265 - obj_tiles gBattleAnimSpriteSheet_266, 0x80, 10266 - obj_tiles gBattleAnimSpriteSheet_212, 0x800, 10267 - obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10268 - obj_tiles gBattleAnimSpriteSheet_269, 0x80, 10269 - obj_tiles gBattleAnimSpriteSheet_270, 0x400, 10270 - obj_tiles gBattleAnimSpriteSheet_271, 0x80, 10271 - obj_tiles gBattleAnimSpriteSheet_272, 0x800, 10272 - obj_tiles gBattleAnimSpriteSheet_273, 0x20, 10273 - obj_tiles gBattleAnimSpriteSheet_274, 0x800, 10274 - obj_tiles gBattleAnimSpriteSheet_275, 0x800, 10275 - obj_tiles gBattleAnimSpriteSheet_276, 0x800, 10276 - obj_tiles gBattleAnimSpriteSheet_277, 0x1000, 10277 - obj_tiles gBattleAnimSpriteSheet_278, 0x800, 10278 - obj_tiles gBattleAnimSpriteSheet_279, 0xA0, 10279 - obj_tiles gBattleAnimSpriteSheet_280, 0x800, 10280 - obj_tiles gBattleAnimSpriteSheet_281, 0x200, 10281 - obj_tiles gBattleAnimSpriteSheet_282, 0x600, 10282 - obj_tiles gBattleAnimSpriteSheet_283, 0x200, 10283 - obj_tiles gBattleAnimSpriteSheet_284, 0x800, 10284 - obj_tiles gBattleAnimSpriteSheet_285, 0x200, 10285 - obj_tiles gBattleAnimSpriteSheet_183, 0x800, 10286 - obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 10287 - obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10288 - - .align 2 -gBattleAnimPaletteTable:: @ 837EA6C - obj_pal gBattleAnimSpritePalette_000, 10000 - obj_pal gBattleAnimSpritePalette_001, 10001 - obj_pal gBattleAnimSpritePalette_002, 10002 - obj_pal gBattleAnimSpritePalette_003, 10003 - obj_pal gBattleAnimSpritePalette_004, 10004 - obj_pal gBattleAnimSpritePalette_005, 10005 - obj_pal gBattleAnimSpritePalette_006, 10006 - obj_pal gBattleAnimSpritePalette_007, 10007 - obj_pal gBattleAnimSpritePalette_008, 10008 - obj_pal gBattleAnimSpritePalette_009, 10009 - obj_pal gBattleAnimSpritePalette_010, 10010 - obj_pal gBattleAnimSpritePalette_011, 10011 - obj_pal gBattleAnimSpritePalette_012, 10012 - obj_pal gBattleAnimSpritePalette_013, 10013 - obj_pal gBattleAnimSpritePalette_014, 10014 - obj_pal gBattleAnimSpritePalette_015, 10015 - obj_pal gBattleAnimSpritePalette_016, 10016 - obj_pal gBattleAnimSpritePalette_016, 10017 - obj_pal gBattleAnimSpritePalette_018, 10018 - obj_pal gBattleAnimSpritePalette_019, 10019 - obj_pal gBattleAnimSpritePalette_020, 10020 - obj_pal gBattleAnimSpritePalette_021, 10021 - obj_pal gBattleAnimSpritePalette_022, 10022 - obj_pal gBattleAnimSpritePalette_023, 10023 - obj_pal gBattleAnimSpritePalette_024, 10024 - obj_pal gBattleAnimSpritePalette_025, 10025 - obj_pal gBattleAnimSpritePalette_026, 10026 - obj_pal gBattleAnimSpritePalette_027, 10027 - obj_pal gBattleAnimSpritePalette_028, 10028 - obj_pal gBattleAnimSpritePalette_029, 10029 - obj_pal gBattleAnimSpritePalette_030, 10030 - obj_pal gBattleAnimSpritePalette_031, 10031 - obj_pal gBattleAnimSpritePalette_032, 10032 - obj_pal gBattleAnimSpritePalette_033, 10033 - obj_pal gBattleAnimSpritePalette_033, 10034 - obj_pal gBattleAnimSpritePalette_033, 10035 - obj_pal gBattleAnimSpritePalette_036, 10036 - obj_pal gBattleAnimSpritePalette_036, 10037 - obj_pal gBattleAnimSpritePalette_038, 10038 - obj_pal gBattleAnimSpritePalette_039, 10039 - obj_pal gBattleAnimSpritePalette_038, 10040 - obj_pal gBattleAnimSpritePalette_038, 10041 - obj_pal gBattleAnimSpritePalette_042, 10042 - obj_pal gBattleAnimSpritePalette_043, 10043 - obj_pal gBattleAnimSpritePalette_044, 10044 - obj_pal gBattleAnimSpritePalette_045, 10045 - obj_pal gBattleAnimSpritePalette_046, 10046 - obj_pal gBattleAnimSpritePalette_047, 10046 - obj_pal gBattleAnimSpritePalette_048, 10048 - obj_pal gBattleAnimSpritePalette_049, 10049 - obj_pal gBattleAnimSpritePalette_050, 10050 - obj_pal gBattleAnimSpritePalette_050, 10051 - obj_pal gBattleAnimSpritePalette_050, 10052 - obj_pal gBattleAnimSpritePalette_026, 10053 - obj_pal gBattleAnimSpritePalette_054, 10054 - obj_pal gBattleAnimSpritePalette_050, 10055 - obj_pal gBattleAnimSpritePalette_056, 10056 - obj_pal gBattleAnimSpritePalette_057, 10057 - obj_pal gBattleAnimSpritePalette_058, 10058 - obj_pal gBattleAnimSpritePalette_059, 10059 - obj_pal gBattleAnimSpritePalette_060, 10060 - obj_pal gBattleAnimSpritePalette_061, 10061 - obj_pal gBattleAnimSpritePalette_062, 10062 - obj_pal gBattleAnimSpritePalette_063, 10063 - obj_pal gBattleAnimSpritePalette_064, 10064 - obj_pal gBattleAnimSpritePalette_065, 10065 - obj_pal gBattleAnimSpritePalette_066, 10066 - obj_pal gBattleAnimSpritePalette_067, 10067 - obj_pal gBattleAnimSpritePalette_068, 10068 - obj_pal gBattleAnimSpritePalette_065, 10069 - obj_pal gBattleAnimSpritePalette_070, 10070 - obj_pal gBattleAnimSpritePalette_070, 10071 - obj_pal gBattleAnimSpritePalette_072, 10072 - obj_pal gBattleAnimSpritePalette_073, 10073 - obj_pal gBattleAnimSpritePalette_074, 10074 - obj_pal gBattleAnimSpritePalette_075, 10075 - obj_pal gBattleAnimSpritePalette_076, 10076 - obj_pal gBattleAnimSpritePalette_076, 10077 - obj_pal gBattleAnimSpritePalette_078, 10078 - obj_pal gBattleAnimSpritePalette_078, 10079 - obj_pal gBattleAnimSpritePalette_080, 10080 - obj_pal gBattleAnimSpritePalette_081, 10081 - obj_pal gBattleAnimSpritePalette_082, 10082 - obj_pal gBattleAnimSpritePalette_083, 10083 - obj_pal gBattleAnimSpritePalette_084, 10084 - obj_pal gBattleAnimSpritePalette_085, 10085 - obj_pal gBattleAnimSpritePalette_086, 10086 - obj_pal gBattleAnimSpritePalette_087, 10087 - obj_pal gBattleAnimSpritePalette_088, 10088 - obj_pal gBattleAnimSpritePalette_089, 10089 - obj_pal gBattleAnimSpritePalette_090, 10090 - obj_pal gBattleAnimSpritePalette_091, 10091 - obj_pal gBattleAnimSpritePalette_092, 10092 - obj_pal gBattleAnimSpritePalette_093, 10093 - obj_pal gBattleAnimSpritePalette_094, 10094 - obj_pal gBattleAnimSpritePalette_095, 10095 - obj_pal gBattleAnimSpritePalette_096, 10096 - obj_pal gBattleAnimSpritePalette_097, 10097 - obj_pal gBattleAnimSpritePalette_094, 10098 - obj_pal gBattleAnimSpritePalette_099, 10099 - obj_pal gBattleAnimSpritePalette_100, 10100 - obj_pal gBattleAnimSpritePalette_101, 10101 - obj_pal gBattleAnimSpritePalette_101, 10102 - obj_pal gBattleAnimSpritePalette_103, 10103 - obj_pal gBattleAnimSpritePalette_104, 10104 - obj_pal gBattleAnimSpritePalette_105, 10105 - obj_pal gBattleAnimSpritePalette_105, 10106 - obj_pal gBattleAnimSpritePalette_107, 10107 - obj_pal gBattleAnimSpritePalette_107, 10108 - obj_pal gBattleAnimSpritePalette_109, 10109 - obj_pal gBattleAnimSpritePalette_109, 10110 - obj_pal gBattleAnimSpritePalette_111, 10111 - obj_pal gBattleAnimSpritePalette_112, 10112 - obj_pal gBattleAnimSpritePalette_113, 10113 - obj_pal gBattleAnimSpritePalette_114, 10114 - obj_pal gBattleAnimSpritePalette_115, 10115 - obj_pal gBattleAnimSpritePalette_116, 10116 - obj_pal gBattleAnimSpritePalette_117, 10117 - obj_pal gBattleAnimSpritePalette_118, 10118 - obj_pal gBattleAnimSpritePalette_119, 10119 - obj_pal gBattleAnimSpritePalette_120, 10120 - obj_pal gBattleAnimSpritePalette_121, 10121 - obj_pal gBattleAnimSpritePalette_122, 10122 - obj_pal gBattleAnimSpritePalette_122, 10123 - obj_pal gBattleAnimSpritePalette_124, 10124 - obj_pal gBattleAnimSpritePalette_125, 10125 - obj_pal gBattleAnimSpritePalette_126, 10126 - obj_pal gBattleAnimSpritePalette_127, 10127 - obj_pal gBattleAnimSpritePalette_128, 10128 - obj_pal gBattleAnimSpritePalette_128, 10129 - obj_pal gBattleAnimSpritePalette_130, 10130 - obj_pal gBattleAnimSpritePalette_130, 10131 - obj_pal gBattleAnimSpritePalette_132, 10132 - obj_pal gBattleAnimSpritePalette_133, 10133 - obj_pal gBattleAnimSpritePalette_133, 10134 - obj_pal gBattleAnimSpritePalette_135, 10135 - obj_pal gBattleAnimSpritePalette_136, 10136 - obj_pal gBattleAnimSpritePalette_135, 10137 - obj_pal gBattleAnimSpritePalette_135, 10138 - obj_pal gBattleAnimSpritePalette_139, 10139 - obj_pal gBattleAnimSpritePalette_140, 10140 - obj_pal gBattleAnimSpritePalette_141, 10141 - obj_pal gBattleAnimSpritePalette_141, 10142 - obj_pal gBattleAnimSpritePalette_143, 10143 - obj_pal gBattleAnimSpritePalette_144, 10144 - obj_pal gBattleAnimSpritePalette_139, 10145 - obj_pal gBattleAnimSpritePalette_115, 10146 - obj_pal gBattleAnimSpritePalette_147, 10147 - obj_pal gBattleAnimSpritePalette_148, 10148 - obj_pal gBattleAnimSpritePalette_148, 10149 - obj_pal gBattleAnimSpritePalette_150, 10150 - obj_pal gBattleAnimSpritePalette_150, 10151 - obj_pal gBattleAnimSpritePalette_152, 10152 - obj_pal gBattleAnimSpritePalette_153, 10153 - obj_pal gBattleAnimSpritePalette_154, 10154 - obj_pal gBattleAnimSpritePalette_155, 10155 - obj_pal gBattleAnimSpritePalette_156, 10156 - obj_pal gBattleAnimSpritePalette_157, 10157 - obj_pal gBattleAnimSpritePalette_158, 10158 - obj_pal gBattleAnimSpritePalette_159, 10159 - obj_pal gBattleAnimSpritePalette_160, 10160 - obj_pal gBattleAnimSpritePalette_161, 10161 - obj_pal gBattleAnimSpritePalette_162, 10162 - obj_pal gBattleAnimSpritePalette_163, 10163 - obj_pal gBattleAnimSpritePalette_164, 10164 - obj_pal gBattleAnimSpritePalette_165, 10165 - obj_pal gBattleAnimSpritePalette_166, 10166 - obj_pal gBattleAnimSpritePalette_167, 10167 - obj_pal gBattleAnimSpritePalette_168, 10168 - obj_pal gBattleAnimSpritePalette_169, 10169 - obj_pal gBattleAnimSpritePalette_170, 10170 - obj_pal gBattleAnimSpritePalette_171, 10171 - obj_pal gBattleAnimSpritePalette_172, 10172 - obj_pal gBattleAnimSpritePalette_001, 10173 - obj_pal gBattleAnimSpritePalette_174, 10174 - obj_pal gBattleAnimSpritePalette_175, 10175 - obj_pal gBattleAnimSpritePalette_176, 10176 - obj_pal gBattleAnimSpritePalette_177, 10177 - obj_pal gBattleAnimSpritePalette_178, 10178 - obj_pal gBattleAnimSpritePalette_179, 10179 - obj_pal gBattleAnimSpritePalette_179, 10180 - obj_pal gBattleAnimSpritePalette_179, 10181 - obj_pal gBattleAnimSpritePalette_182, 10182 - obj_pal gBattleAnimSpritePalette_183, 10183 - obj_pal gBattleAnimSpritePalette_184, 10184 - obj_pal gBattleAnimSpritePalette_185, 10185 - obj_pal gBattleAnimSpritePalette_186, 10186 - obj_pal gBattleAnimSpritePalette_187, 10187 - obj_pal gBattleAnimSpritePalette_188, 10188 - obj_pal gBattleAnimSpritePalette_189, 10189 - obj_pal gBattleAnimSpritePalette_190, 10190 - obj_pal gBattleAnimSpritePalette_191, 10191 - obj_pal gBattleAnimSpritePalette_192, 10192 - obj_pal gBattleAnimSpritePalette_193, 10193 - obj_pal gBattleAnimSpritePalette_194, 10194 - obj_pal gBattleAnimSpritePalette_195, 10195 - obj_pal gBattleAnimSpritePalette_196, 10196 - obj_pal gBattleAnimSpritePalette_197, 10197 - obj_pal gBattleAnimSpritePalette_198, 10198 - obj_pal gBattleAnimSpritePalette_199, 10199 - obj_pal gBattleAnimSpritePalette_200, 10200 - obj_pal gBattleAnimSpritePalette_201, 10201 - obj_pal gBattleAnimSpritePalette_202, 10202 - obj_pal gBattleAnimSpritePalette_203, 10203 - obj_pal gBattleAnimSpritePalette_204, 10204 - obj_pal gBattleAnimSpritePalette_205, 10205 - obj_pal gBattleAnimSpritePalette_206, 10206 - obj_pal gBattleAnimSpritePalette_207, 10207 - obj_pal gBattleAnimSpritePalette_167, 10208 - obj_pal gBattleAnimSpritePalette_209, 10209 - obj_pal gBattleAnimSpritePalette_210, 10210 - obj_pal gBattleAnimSpritePalette_211, 10211 - obj_pal gBattleAnimSpritePalette_211, 10212 - obj_pal gBattleAnimSpritePalette_211, 10213 - obj_pal gBattleAnimSpritePalette_064, 10214 - obj_pal gBattleAnimSpritePalette_215, 10215 - obj_pal gBattleAnimSpritePalette_216, 10216 - obj_pal gBattleAnimSpritePalette_217, 10217 - obj_pal gBattleAnimSpritePalette_218, 10218 - obj_pal gBattleAnimSpritePalette_219, 10219 - obj_pal gBattleAnimSpritePalette_220, 10220 - obj_pal gBattleAnimSpritePalette_221, 10221 - obj_pal gBattleAnimSpritePalette_222, 10222 - obj_pal gBattleAnimSpritePalette_223, 10223 - obj_pal gBattleAnimSpritePalette_224, 10224 - obj_pal gBattleAnimSpritePalette_225, 10225 - obj_pal gBattleAnimSpritePalette_226, 10226 - obj_pal gBattleAnimSpritePalette_226, 10227 - obj_pal gBattleAnimSpritePalette_228, 10228 - obj_pal gBattleAnimSpritePalette_229, 10229 - obj_pal gBattleAnimSpritePalette_230, 10230 - obj_pal gBattleAnimSpritePalette_231, 10231 - obj_pal gBattleAnimSpritePalette_231, 10232 - obj_pal gBattleAnimSpritePalette_233, 10233 - obj_pal gBattleAnimSpritePalette_234, 10234 - obj_pal gBattleAnimSpritePalette_235, 10235 - obj_pal gBattleAnimSpritePalette_236, 10236 - obj_pal gBattleAnimSpritePalette_237, 10237 - obj_pal gBattleAnimSpritePalette_238, 10238 - obj_pal gBattleAnimSpritePalette_239, 10239 - obj_pal gBattleAnimSpritePalette_240, 10240 - obj_pal gBattleAnimSpritePalette_241, 10241 - obj_pal gBattleAnimSpritePalette_242, 10242 - obj_pal gBattleAnimSpritePalette_243, 10243 - obj_pal gBattleAnimSpritePalette_244, 10244 - obj_pal gBattleAnimSpritePalette_245, 10245 - obj_pal gBattleAnimSpritePalette_245, 10246 - obj_pal gBattleAnimSpritePalette_064, 10247 - obj_pal gBattleAnimSpritePalette_248, 10248 - obj_pal gBattleAnimSpritePalette_249, 10249 - obj_pal gBattleAnimSpritePalette_249, 10250 - obj_pal gBattleAnimSpritePalette_251, 10251 - obj_pal gBattleAnimSpritePalette_252, 10252 - obj_pal gBattleAnimSpritePalette_253, 10253 - obj_pal gBattleAnimSpritePalette_254, 10254 - obj_pal gBattleAnimSpritePalette_255, 10255 - obj_pal gBattleAnimSpritePalette_256, 10256 - obj_pal gBattleAnimSpritePalette_257, 10257 - obj_pal gBattleAnimSpritePalette_258, 10258 - obj_pal gBattleAnimSpritePalette_259, 10259 - obj_pal gBattleAnimSpritePalette_260, 10260 - obj_pal gBattleAnimSpritePalette_261, 10261 - obj_pal gBattleAnimSpritePalette_262, 10262 - obj_pal gBattleAnimSpritePalette_263, 10263 - obj_pal gBattleAnimSpritePalette_264, 10264 - obj_pal gBattleAnimSpritePalette_265, 10265 - obj_pal gBattleAnimSpritePalette_266, 10266 - obj_pal gBattleAnimSpritePalette_267, 10267 - obj_pal gBattleAnimSpritePalette_268, 10268 - obj_pal gBattleAnimSpritePalette_269, 10269 - obj_pal gBattleAnimSpritePalette_270, 10270 - obj_pal gBattleAnimSpritePalette_271, 10271 - obj_pal gBattleAnimSpritePalette_272, 10272 - obj_pal gBattleAnimSpritePalette_272, 10273 - obj_pal gBattleAnimSpritePalette_274, 10274 - obj_pal gBattleAnimSpritePalette_274, 10275 - obj_pal gBattleAnimSpritePalette_274, 10276 - obj_pal gBattleAnimSpritePalette_277, 10277 - obj_pal gBattleAnimSpritePalette_278, 10278 - obj_pal gBattleAnimSpritePalette_279, 10279 - obj_pal gBattleAnimSpritePalette_280, 10280 - obj_pal gBattleAnimSpritePalette_281, 10281 - obj_pal gBattleAnimSpritePalette_282, 10282 - obj_pal gBattleAnimSpritePalette_283, 10283 - obj_pal gBattleAnimSpritePalette_284, 10284 - obj_pal gBattleAnimSpritePalette_285, 10285 - obj_pal gBattleAnimSpritePalette_286, 10286 - obj_pal gBattleAnimSpritePalette_287, 10287 - obj_pal gBattleAnimSpritePalette_288, 10288 - - .align 2 -gBattleAnimBackgroundTable:: @ 837F374 - .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00 - .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00 - .4byte gBattleAnimBackgroundImage_02, gBattleAnimBackgroundPalette_02, gBattleAnimBackgroundTilemap_02 - .4byte gBattleAnimBackgroundImage_03, gBattleAnimBackgroundPalette_03, gBattleAnimBackgroundTilemap_03 - .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_04 - .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_05 - .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_06 - .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_07 - .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_08 - .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_09 - .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_10 - .4byte gBattleAnimBackgroundImage_11, gBattleAnimBackgroundPalette_11, gBattleAnimBackgroundTilemap_11 - .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_12 - .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_13 - .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_14 - .4byte gBattleAnimBackgroundImage_15, gBattleAnimBackgroundPalette_15, gBattleAnimBackgroundTilemap_15 - .4byte gBattleAnimBackgroundImage_16, gBattleAnimBackgroundPalette_16, gBattleAnimBackgroundTilemap_16 - .4byte gBattleAnimBackgroundImage_17, gBattleAnimBackgroundPalette_17, gBattleAnimBackgroundTilemap_17 - .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_07 - .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_08 - .4byte gBattleAnimBackgroundImage_20, gBattleAnimBackgroundPalette_20, gBattleAnimBackgroundTilemap_20 - .4byte gBattleAnimBackgroundImage_21, gBattleAnimBackgroundPalette_21, gBattleAnimBackgroundTilemap_21 - .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_09 - .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_10 - .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_04 - .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05 - .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06 - diff --git a/data/battle_anim_80A7E7C.s b/data/battle_anim_80A7E7C.s deleted file mode 100644 index 395b2e0ab..000000000 --- a/data/battle_anim_80A7E7C.s +++ /dev/null @@ -1,24 +0,0 @@ - .include "include/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gBattleAnimSpriteTemplate_83C1FB0:: @ 83C1FB0 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8530 - - .align 2 -gBattleAnimSpriteTemplate_83C1FC8:: @ 83C1FC8 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A85C8 - - .align 2 -gBattleAnimSpriteTemplate_83C1FE0:: @ 83C1FE0 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8638 - - .align 2 -gBattleAnimSpriteTemplate_83C1FF8:: @ 83C1FF8 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8764 - - .align 2 -gBattleAnimSpriteTemplate_83C2010:: @ 83C2010 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8818 diff --git a/data/battle_anim_80CA710.s b/data/battle_anim_80CA710.s index 8f62d92f6..562bd3090 100644 --- a/data/battle_anim_80CA710.s +++ b/data/battle_anim_80CA710.s @@ -4649,16 +4649,3 @@ gBattleAnimSpriteTemplate_83DB550:: @ 83DB550 gUnknown_083DB568:: @ 83DB568 @ seems to be a src element in a LoadPalette call. .2byte 0x7FFF - - .align 2 -gUnknown_083DB56C:: @ 83DB56C - .4byte task_battle_intro_80BC47C - .4byte task_battle_intro_80BC47C - .4byte task00_battle_intro_80BC6C8 - .4byte task00_battle_intro_80BC6C8 - .4byte task00_battle_intro_80BC6C8 - .4byte task_battle_intro_80BC47C - .4byte task_battle_intro_80BC47C - .4byte task_battle_intro_80BC47C - .4byte task_battle_intro_anim - .4byte task_battle_intro_anim diff --git a/include/battle_anim_80CA710.h b/include/battle_anim_80CA710.h index 14a6ca898..58521bfae 100644 --- a/include/battle_anim_80CA710.h +++ b/include/battle_anim_80CA710.h @@ -1,7 +1,7 @@ #ifndef GUARD_BATTLE_ANIM_80CA710_H #define GUARD_BATTLE_ANIM_80CA710_H -void sub_80E4EF8(int, int, int, int, u16, u8, int); +void sub_80E4EF8(u8, u8, u8, u8, u16, u8, u8); s16 sub_81174E0(s16 a); s16 sub_81174C4(s16 a, s16 b); diff --git a/include/data2.h b/include/data2.h index 9f6644714..2fe8d39f8 100644 --- a/include/data2.h +++ b/include/data2.h @@ -47,7 +47,8 @@ extern const u8 gUnknown_081F96C8[]; extern struct CompressedSpriteSheet gUnknown_081FAEA4; extern struct CompressedSpritePalette gUnknown_081FAEAC; extern const struct SpriteTemplate gSpriteTemplate_81FAF0C; -extern void *const gUnknown_081FAF4C[]; +extern u8 *const gUnknown_081FAF4C[]; +//extern u8 (*const gUnknown_081FAF4C[])[0x800]; extern struct BattleMove gBattleMoves[]; // data/graphics/trainers/front_pic_coords.inc diff --git a/include/ewram.h b/include/ewram.h index 9766ab4df..a1fab4c08 100755 --- a/include/ewram.h +++ b/include/ewram.h @@ -131,6 +131,11 @@ extern u8 gSharedMem[]; #define ewram16088_2 (*(u8 *)(gSharedMem + 0x16088)) #define ewram16089 (gSharedMem[0x16089]) #define ewram16089_2 (*(u8 *)(gSharedMem + 0x16089)) + +// src/battle/anim/battle_intro.c +#define ewram1608A gSharedMem[0x1608A] +#define ewram1608B gSharedMem[0x1608B] + #define ewram1608Carr(bank) (gSharedMem[0x1608C + bank]) #define EWRAM_1609D (gSharedMem[0x1609D]) #define ewram160A1 (gSharedMem[0x160A1]) diff --git a/include/graphics.h b/include/graphics.h index 00a210350..76a45f6f6 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -51,11 +51,7 @@ extern const u8 gMonFootprint_QuestionMark[]; extern const u8 gContestNextTurnGfx[]; extern const u8 gContestNextTurnNumbersGfx[]; extern const u8 gContestNextTurnRandomGfx[]; -extern const u8 gBattleAnimSpriteSheet_264[]; -extern const u8 gBattleAnimSpritePalette_264[]; -extern const u8 gBattleAnimSpritePalette_265[]; -extern const u8 gBattleAnimSpritePalette_067[]; -extern const u8 gBattleAnimSpritePalette_068[]; +// extern const u8 gBattleAnimSpriteSheet_264[]; extern const u8 gContestApplauseGfx[]; extern const u8 gContestApplauseMeterGfx[]; extern const u16 gContestPal[]; @@ -2743,4 +2739,602 @@ extern const u16 gCableCar_Pal[]; extern const u16 gCableCarBG_Pal[]; extern const u8 gCableCarBG_Gfx[]; +// data/graphics.s +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_000; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_001; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_002; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_003; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_004; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_005; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_006; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_007; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_008; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_009; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_010; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_011; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_012; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_013; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_014; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_015; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_016; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_017; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_018; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_019; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_020; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_021; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_021; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_023; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_024; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_025; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_026; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_027; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_028; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_029; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_030; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_031; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_032; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_033; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_034; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_035; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_036; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_037; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_038; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_039; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_040; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_041; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_042; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_043; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_044; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_045; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_046; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_046; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_048; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_048; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_050; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_051; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_052; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_053; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_054; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_055; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_056; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_057; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_058; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_059; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_060; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_061; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_062; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_063; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_064; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_065; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_066; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_070; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_071; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_072; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_073; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_074; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_075; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_076; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_077; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_078; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_079; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_080; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_081; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_082; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_083; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_084; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_085; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_086; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_087; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_088; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_089; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_090; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_091; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_092; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_093; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_094; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_095; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_096; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_097; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_098; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_099; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_100; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_101; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_102; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_103; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_104; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_105; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_106; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_107; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_108; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_109; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_110; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_111; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_112; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_113; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_114; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_115; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_116; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_117; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_118; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_119; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_120; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_121; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_122; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_123; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_124; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_125; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_126; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_127; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_128; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_129; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_130; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_131; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_132; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_133; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_134; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_135; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_136; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_137; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_138; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_139; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_140; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_141; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_142; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_143; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_144; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_145; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_146; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_147; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_148; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_149; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_150; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_151; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_152; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_153; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_154; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_155; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_156; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_157; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_158; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_159; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_160; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_161; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_162; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_163; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_166; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_171; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_173; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_174; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_175; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_176; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_177; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_178; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_179; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_180; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_181; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_182; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_183; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_184; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_185; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_186; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_187; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_188; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_189; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_190; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_191; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_192; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_193; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_194; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_195; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_196; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_197; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_198; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_199; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_200; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_201; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_202; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_203; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_204; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_205; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_206; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_207; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_208; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_209; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_210; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_211; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_212; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_213; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_214; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_215; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_210; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_217; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_218; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_210; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_220; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_221; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_222; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_223; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_224; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_225; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_226; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_227; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_228; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_229; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_230; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_231; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_232; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_233; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_234; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_235; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_235; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_235; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_238; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_239; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_240; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_241; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_242; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_243; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_244; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_245; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_246; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_247; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_248; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_249; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_250; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_251; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_252; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_253; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_254; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_255; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_256; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_257; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_258; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_260; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_261; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_262; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_263; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_264; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_266; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_269; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_270; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_271; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_272; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_273; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_274; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_275; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_276; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_277; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_278; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_279; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_280; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_281; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_282; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_283; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_284; +extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_285; + +extern struct CompressedSpritePalette gBattleAnimSpritePalette_000; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_001; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_002; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_003; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_004; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_005; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_006; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_007; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_008; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_009; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_010; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_011; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_012; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_013; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_014; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_015; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_016; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_016; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_018; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_019; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_020; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_021; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_022; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_023; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_024; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_025; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_026; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_027; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_028; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_029; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_030; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_031; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_032; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_033; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_033; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_033; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_036; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_036; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_038; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_039; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_038; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_038; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_042; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_043; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_044; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_045; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_046; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_047; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_048; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_049; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_050; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_050; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_050; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_026; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_054; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_050; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_056; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_057; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_058; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_059; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_060; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_061; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_062; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_063; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_064; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_065; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_066; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_067; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_068; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_065; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_070; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_070; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_072; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_073; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_074; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_075; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_076; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_076; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_078; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_078; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_080; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_081; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_082; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_083; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_084; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_085; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_086; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_087; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_088; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_089; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_090; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_091; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_092; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_093; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_094; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_095; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_096; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_097; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_094; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_099; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_100; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_101; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_101; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_103; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_104; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_105; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_105; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_107; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_107; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_109; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_109; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_111; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_112; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_113; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_114; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_115; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_116; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_117; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_118; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_119; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_120; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_121; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_122; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_122; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_124; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_125; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_126; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_127; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_128; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_128; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_130; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_130; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_132; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_133; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_133; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_135; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_136; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_135; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_135; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_139; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_140; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_141; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_141; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_143; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_144; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_139; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_115; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_147; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_148; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_148; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_150; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_150; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_152; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_153; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_154; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_155; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_156; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_157; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_158; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_159; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_160; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_161; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_162; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_163; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_164; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_165; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_166; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_167; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_168; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_169; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_170; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_171; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_172; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_174; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_175; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_176; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_177; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_178; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_179; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_182; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_183; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_184; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_185; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_186; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_187; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_188; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_189; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_190; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_191; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_192; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_193; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_194; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_195; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_196; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_197; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_198; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_199; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_200; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_201; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_202; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_203; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_204; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_205; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_206; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_207; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_209; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_210; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_211; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_215; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_216; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_217; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_218; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_219; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_220; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_221; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_222; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_223; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_224; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_225; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_226; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_228; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_229; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_230; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_231; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_233; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_234; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_235; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_236; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_237; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_238; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_239; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_240; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_241; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_242; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_243; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_244; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_245; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_248; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_249; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_251; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_252; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_253; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_254; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_255; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_256; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_257; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_258; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_259; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_260; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_261; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_262; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_263; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_264; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_265; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_266; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_267; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_268; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_269; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_270; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_271; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_272; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_274; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_277; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_278; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_279; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_280; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_281; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_282; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_283; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_284; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_285; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_286; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_287; +extern struct CompressedSpritePalette gBattleAnimSpritePalette_288; + +extern struct BattleAnimBackground gBattleAnimBackgroundImage_00; +extern struct BattleAnimBackground gBattleAnimBackgroundImage_02; +extern struct BattleAnimBackground gBattleAnimBackgroundImage_03; +extern struct BattleAnimBackground gBattleAnimBackgroundImage_04; +extern struct BattleAnimBackground gBattleAnimBackgroundImage_07; +extern struct BattleAnimBackground gBattleAnimBackgroundImage_09; +extern struct BattleAnimBackground gBattleAnimBackgroundImage_11; +extern struct BattleAnimBackground gBattleAnimBackgroundImage_12; +extern struct BattleAnimBackground gBattleAnimBackgroundImage_15; +extern struct BattleAnimBackground gBattleAnimBackgroundImage_16; +extern struct BattleAnimBackground gBattleAnimBackgroundImage_17; +extern struct BattleAnimBackground gBattleAnimBackgroundImage_20; +extern struct BattleAnimBackground gBattleAnimBackgroundImage_21; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_00; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_02; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_03; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_04; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_07; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_09; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_11; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_12; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_15; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_16; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_17; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_18; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_20; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_21; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_22; +extern struct BattleAnimBackground gBattleAnimBackgroundPalette_24; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_00; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_02; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_03; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_04; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_05; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_06; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_07; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_08; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_09; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_10; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_11; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_12; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_13; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_14; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_15; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_16; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_17; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_20; +extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_21; + #endif // GUARD_GRAPHICS_H diff --git a/include/pokemon.h b/include/pokemon.h index 71b35e65c..539323bdb 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -502,8 +502,8 @@ extern struct Pokemon gEnemyParty[PARTY_SIZE]; extern const u8 *const gItemEffectTable[]; extern const struct BaseStats gBaseStats[]; extern const u32 gExperienceTables[][101]; -extern const u16 *const gLevelUpLearnsets[]; -extern const struct EvolutionData gEvolutionTable[]; +extern const u16 *gLevelUpLearnsets[]; +extern struct Evolution gEvolutionTable[][5]; extern struct PokemonStorage gPokemonStorage; void ZeroBoxMonData(struct BoxPokemon *boxMon); diff --git a/include/trainer_card.h b/include/trainer_card.h index b9d3ca081..7ea1d9fc0 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -28,9 +28,9 @@ struct TrainerCard { /*0x30*/ u8 playerName[8]; }; -void sub_8093110(void (*)(void)); -void sub_8093130(u8, void (*)(void)); -void sub_8093390(struct TrainerCard *); +void TrainerCard_ShowPlayerCard(void (*)(void)); +void TrainerCard_ShowLinkCard(u8, void (*)(void)); +void TrainerCard_GenerateCardForPlayer(struct TrainerCard *); u8 sub_80934C4(u8 id); extern struct TrainerCard gTrainerCards[4]; diff --git a/ld_script.txt b/ld_script.txt index a18c11e65..128eb4c20 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -301,7 +301,7 @@ SECTIONS { asm/dark.o(.text); asm/ground.o(.text); asm/normal.o(.text); - asm/battle_intro.o(.text); + src/battle/anim/battle_intro.o(.text); src/field/bike.o(.text); src/easy_chat_1.o(.text); src/easy_chat_2.o(.text); @@ -488,7 +488,12 @@ SECTIONS { src/battle/battle_controller_linkopponent.o(.rodata); data/battle_moves.o(.rodata); src/battle/battle_util.o(.rodata); - src/pokemon/pokemon_data.o(.rodata); + src/pokemon/pokemon_1.o(.rodata); + src/pokemon/pokemon_1.o(.data); /* gEvolutionTable needs to be non-const to match */ + src/battle/calculate_base_damage.o(.rodata); + src/pokemon/pokemon_2.o(.rodata); + src/pokemon/pokemon_item_effect.o(.rodata); + src/pokemon/pokemon_3.o(.rodata); . = ALIGN(4); src/engine/trig.o(.rodata); src/engine/util.o(.rodata); @@ -521,7 +526,6 @@ SECTIONS { src/engine/tileset_anim.o(.rodata); src/engine/palette.o(.rodata); src/engine/sound.o(.rodata); - data/battle_anim.o(.rodata); src/battle/battle_anim.o(.rodata); src/rom_8077ABC.o(.rodata); data/map_events.o(.rodata); @@ -548,7 +552,7 @@ SECTIONS { src/pokemon/pokemon_summary_screen.o(.rodata); src/field/fldeff_cut.o(.rodata); src/field/item_menu.o(.rodata); - data/battle_anim_80A7E7C.o(.rodata); + src/battle/battle_anim_80A7E7C.o(.rodata); src/field/item.o(.rodata); src/debug/matsuda_debug_menu.o(.rodata); data/contest.o(.rodata); @@ -574,6 +578,7 @@ SECTIONS { src/field/rotating_gate.o(.rodata); src/field/item_use.o(.rodata); data/battle_anim_80CA710.o(.rodata); + src/battle/anim/battle_intro.o(.rodata); src/field/bike.o(.rodata); src/easy_chat_1.o(.rodata); src/easy_chat_2.o(.rodata); diff --git a/src/battle/anim/battle_intro.c b/src/battle/anim/battle_intro.c new file mode 100644 index 000000000..01f823fa7 --- /dev/null +++ b/src/battle/anim/battle_intro.c @@ -0,0 +1,499 @@ +#include "global.h" +#include "constants/battle_constants.h" +#include "battle.h" +#include "battle_anim.h" +#include "battle_anim_80CA710.h" +#include "data2.h" +#include "ewram.h" +#include "main.h" +#include "rom_8077ABC.h" +#include "scanline_effect.h" +#include "task.h" +#include "trig.h" + +extern u16 gBattleTypeFlags; +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_X; +extern u16 gBattle_BG2_Y; +extern u16 gBattle_WIN0V; +extern u16 gUnknown_02024DE8; +extern u8 gBattleMonForms[]; + +extern void sub_800FE20(struct Sprite *); + +static void BattleIntroTask_ScrollScenery(u8); +static void BattleIntroTask_FadeScenery(u8); +static void BattleIntroTask_ScrollAndFadeScenery(u8); +static void BattleIntroTask_80E4C34(u8); + +static const TaskFunc sBattleIntroTaskFuncs[] = +{ + BattleIntroTask_ScrollScenery, + BattleIntroTask_ScrollScenery, + BattleIntroTask_FadeScenery, + BattleIntroTask_FadeScenery, + BattleIntroTask_FadeScenery, + BattleIntroTask_ScrollScenery, + BattleIntroTask_ScrollScenery, + BattleIntroTask_ScrollScenery, + BattleIntroTask_ScrollAndFadeScenery, + BattleIntroTask_ScrollAndFadeScenery, +}; + +#define tState data[0] +#define tBgXOffset data[2] +#define tFramesUntilBg1Slide data[3] + +void StartBattleIntroAnim(u8 a) +{ + u8 taskId; + + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + taskId = CreateTask(BattleIntroTask_80E4C34, 0); + } + else if ((gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) && gGameVersion != VERSION_RUBY) + { + a = 3; + taskId = CreateTask(BattleIntroTask_FadeScenery, 0); + } + else + { + taskId = CreateTask(sBattleIntroTaskFuncs[a], 0); + } + + gTasks[taskId].tState = 0; + gTasks[taskId].data[1] = a; + gTasks[taskId].tBgXOffset = 0; + gTasks[taskId].tFramesUntilBg1Slide = 0; + gTasks[taskId].data[4] = 0; + gTasks[taskId].data[5] = 0; + gTasks[taskId].data[6] = 0; +} + +static void EndBattleIntroTask(u8 taskId) +{ + DestroyTask(taskId); + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + REG_BLDY = 0; + REG_WININ = 0x3F3F; + REG_WINOUT = 0x3F3F; +} + +static void BattleIntroTask_ScrollScenery(u8 taskId) +{ + s32 i; + + gBattle_BG1_X += 6; + + switch (gTasks[taskId].tState) + { + case 0: + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + gTasks[taskId].tBgXOffset = 16; + gTasks[taskId].tState++; + } + else + { + gTasks[taskId].tBgXOffset = 1; + gTasks[taskId].tState++; + } + break; + case 1: + gTasks[taskId].tBgXOffset--; + if (gTasks[taskId].tBgXOffset == 0) + { + gTasks[taskId].tState++; + REG_WININ = 0x3F; + } + break; + case 2: + // Open up the window + gBattle_WIN0V -= WIN_RANGE(1, 0); // decrement min Y + gBattle_WIN0V += WIN_RANGE(0, 1); // increment max Y + if ((gBattle_WIN0V & 0xFF00) == 0x3000) + { + gTasks[taskId].tState++; + gTasks[taskId].tBgXOffset = DISPLAY_WIDTH; + gTasks[taskId].tFramesUntilBg1Slide = 32; + gUnknown_02024DE8 &= ~1; + } + break; + case 3: + if (gTasks[taskId].tFramesUntilBg1Slide != 0) + { + gTasks[taskId].tFramesUntilBg1Slide--; + } + else + { + if (gTasks[taskId].data[1] == 1) + { + if (gBattle_BG1_Y != 0xFFB0) + gBattle_BG1_Y -= 2; + } + else + { + if (gBattle_BG1_Y != 0xFFC8) + gBattle_BG1_Y -= 1; + } + } + + if ((gBattle_WIN0V & 0xFF00) != 0) + gBattle_WIN0V -= 1020; + + if (gTasks[taskId].tBgXOffset != 0) + gTasks[taskId].tBgXOffset -= 2; + + // Slide in the top half of the BG from the left + for (i = 0; i < DISPLAY_HEIGHT / 2; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gTasks[taskId].tBgXOffset; + // Slide in the bottom half of the BG from the right + for (; i < DISPLAY_HEIGHT; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = -gTasks[taskId].tBgXOffset; + + if (gTasks[taskId].tBgXOffset == 0) + { + gScanlineEffect.state = 3; + gTasks[taskId].tState++; + CpuFill32(0, (void *)(VRAM + 0xE000), 0x800); + REG_BG1CNT = 0x9C00; + REG_BG2CNT = 0x5E00; + } + break; + case 4: + EndBattleIntroTask(taskId); + break; + } +} + +static void BattleIntroTask_FadeScenery(u8 taskId) +{ + s32 i; + + switch (gTasks[taskId].data[1]) + { + case 2: + case 4: + gBattle_BG1_X += 8; + break; + case 3: + gBattle_BG1_X += 6; + break; + } + + if (gTasks[taskId].data[1] == 4) + { + gBattle_BG1_Y = Cos2(gTasks[taskId].data[6]) / 512 - 8; + if (gTasks[taskId].data[6] < 0xB4) + gTasks[taskId].data[6] += 4; + else + gTasks[taskId].data[6] += 6; + if (gTasks[taskId].data[6] == 0x168) + gTasks[taskId].data[6] = 0; + } + + switch (gTasks[taskId].tState) + { + case 0: + gTasks[taskId].data[4] = 16; + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + gTasks[taskId].tBgXOffset = 16; + gTasks[taskId].tState++; + } + else + { + gTasks[taskId].tBgXOffset = 1; + gTasks[taskId].tState++; + } + break; + case 1: + gTasks[taskId].tBgXOffset--; + if (gTasks[taskId].tBgXOffset == 0) + { + gTasks[taskId].tState++; + REG_WININ = 0x3F; + } + break; + case 2: + // Open up window + gBattle_WIN0V -= WIN_RANGE(1, 0); // decrement min Y + gBattle_WIN0V += WIN_RANGE(0, 1); // increment max Y + if ((gBattle_WIN0V & 0xFF00) == 0x3000) + { + gTasks[taskId].tState++; + gTasks[taskId].tBgXOffset = DISPLAY_WIDTH; + gTasks[taskId].tFramesUntilBg1Slide = 32; + gTasks[taskId].data[5] = 1; + gUnknown_02024DE8 &= ~1; + } + break; + case 3: + if (gTasks[taskId].tFramesUntilBg1Slide != 0) + { + gTasks[taskId].tFramesUntilBg1Slide--; + if (gTasks[taskId].tFramesUntilBg1Slide == 0) + { + REG_BLDCNT = 0x1842; + REG_BLDALPHA = 0xF; + REG_BLDY = 0; + } + } + else + { + if ((gTasks[taskId].data[4] & 0x1F) && --gTasks[taskId].data[5] == 0) + { + gTasks[taskId].data[4] += 255; + gTasks[taskId].data[5] = 4; + } + } + + if ((gBattle_WIN0V & 0xFF00) != 0) + gBattle_WIN0V -= 1020; + + if (gTasks[taskId].tBgXOffset != 0) + gTasks[taskId].tBgXOffset -= 2; + + // Slide in the top half of the BG from the left + for (i = 0; i < DISPLAY_HEIGHT / 2; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gTasks[taskId].tBgXOffset; + // Slide in the bottom half of the BG from the right + for (; i < DISPLAY_HEIGHT; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = -gTasks[taskId].tBgXOffset; + + if (gTasks[taskId].tBgXOffset == 0) + { + gScanlineEffect.state = 3; + gTasks[taskId].tState++; + CpuFill32(0, (void *)(VRAM + 0xE000), 0x800); + REG_BG1CNT = 0x9C00; + REG_BG2CNT = 0x5E00; + } + break; + case 4: + EndBattleIntroTask(taskId); + break; + } + + if (gTasks[taskId].tState != 4) + REG_BLDALPHA = gTasks[taskId].data[4]; +} + +static void BattleIntroTask_ScrollAndFadeScenery(u8 taskId) +{ + s32 i; + + gBattle_BG1_X += 8; + + switch (gTasks[taskId].tState) + { + case 0: + REG_BLDCNT = 0x1842; + REG_BLDALPHA = 0x0808; + REG_BLDY = 0; + gTasks[taskId].data[4] = 0x0808; + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + gTasks[taskId].tBgXOffset = 16; + gTasks[taskId].tState++; + } + else + { + gTasks[taskId].tBgXOffset = 1; + gTasks[taskId].tState++; + } + break; + case 1: + gTasks[taskId].tBgXOffset--; + if (gTasks[taskId].tBgXOffset == 0) + { + gTasks[taskId].tState++; + REG_WININ = 0x3F; + } + break; + case 2: + // Open up window + gBattle_WIN0V -= WIN_RANGE(1, 0); // decrement min Y + gBattle_WIN0V += WIN_RANGE(0, 1); // increment max Y + if ((gBattle_WIN0V & 0xFF00) == 0x3000) + { + gTasks[taskId].tState++; + gTasks[taskId].tBgXOffset = DISPLAY_WIDTH; + gTasks[taskId].tFramesUntilBg1Slide = 32; + gTasks[taskId].data[5] = 1; + gUnknown_02024DE8 &= ~1; + } + break; + case 3: + if (gTasks[taskId].tFramesUntilBg1Slide != 0) + { + gTasks[taskId].tFramesUntilBg1Slide--; + } + else + { + if ((gTasks[taskId].data[4] & 0xF) && --gTasks[taskId].data[5] == 0) + { + gTasks[taskId].data[4] += 255; + gTasks[taskId].data[5] = 6; + } + } + + if ((gBattle_WIN0V & 0xFF00) != 0) + gBattle_WIN0V -= 1020; + + if (gTasks[taskId].tBgXOffset != 0) + gTasks[taskId].tBgXOffset -= 2; + + // Slide in the top half of the BG from the left + for (i = 0; i < DISPLAY_HEIGHT / 2; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gTasks[taskId].tBgXOffset; + // Slide in the bottom half of the BG from the right + for (; i < DISPLAY_HEIGHT; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = -gTasks[taskId].tBgXOffset; + + if (gTasks[taskId].tBgXOffset == 0) + { + gScanlineEffect.state = 3; + gTasks[taskId].tState++; + CpuFill32(0, (void *)(VRAM + 0xE000), 0x800); + REG_BG1CNT = 0x9C00; + REG_BG2CNT = 0x5E00; + } + break; + case 4: + EndBattleIntroTask(taskId); + break; + } + + if (gTasks[taskId].tState != 4) + REG_BLDALPHA = gTasks[taskId].data[4]; +} + +// Seems to only be used for link battles. +static void BattleIntroTask_80E4C34(u8 taskId) +{ + s32 i; + + if (gTasks[taskId].tState > 1 && gTasks[taskId].data[4] == 0) + { + if ((gBattle_BG1_X & 0x8000) || gBattle_BG1_X < 80) // hmm... + { + gBattle_BG1_X += 3; + gBattle_BG2_X -= 3; + } + else + { + CpuFill32(0, (void *)(VRAM + 0xE000), 0x800); + CpuFill32(0, (void *)(VRAM + 0xF000), 0x800); + gTasks[taskId].data[4] = 1; + } + } + + switch (gTasks[taskId].tState) + { + case 0: + gTasks[taskId].tBgXOffset = 16; + gTasks[taskId].tState++; + break; + case 1: + gTasks[taskId].tBgXOffset--; + if (gTasks[taskId].tBgXOffset == 0) + { + gTasks[taskId].tState++; + gSprites[ewram1608A].oam.objMode = 2; + gSprites[ewram1608A].callback = sub_800FE20; + gSprites[ewram1608B].oam.objMode = 2; + gSprites[ewram1608B].callback = sub_800FE20; + REG_WININ = 0x3F; + REG_WINOUT = 0x3F06; + } + break; + case 2: + // Open up window + gBattle_WIN0V -= WIN_RANGE(1, 0); // decrement min Y + gBattle_WIN0V += WIN_RANGE(0, 1); // increment max Y + if ((gBattle_WIN0V & 0xFF00) == 0x3000) + { + gTasks[taskId].tState++; + gTasks[taskId].tBgXOffset = DISPLAY_WIDTH; + gTasks[taskId].tFramesUntilBg1Slide = 32; + gUnknown_02024DE8 &= ~1; + } + break; + case 3: + if ((gBattle_WIN0V & 0xFF00) != 0) + gBattle_WIN0V -= 1020; + + if (gTasks[taskId].tBgXOffset != 0) + gTasks[taskId].tBgXOffset -= 2; + + // Slide in the top half of the BG from the left + for (i = 0; i < DISPLAY_HEIGHT / 2; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gTasks[taskId].tBgXOffset; + // Slide in the bottom half of the BG from the right + for (; i < DISPLAY_HEIGHT; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = -gTasks[taskId].tBgXOffset; + + if (gTasks[taskId].tBgXOffset == 0) + { + gScanlineEffect.state = 3; + gTasks[taskId].tState++; + REG_BG1CNT = 0x9C00; + REG_BG2CNT = 0x5E00; + } + break; + case 4: + EndBattleIntroTask(taskId); + break; + } +} + +void unref_sub_80E4EC8(u8 a, u8 b, u8 c, u8 d) +{ + sub_80E4EF8(a, b, c, d, 0x4000, 30, 1); +} + +// draws some 8x8 tilemap +void sub_80E4EF8(u8 left, u8 top, u8 c, u8 paletteNum, u16 e, u8 bgMap, u8 g) +{ + u32 tileNum; + s32 x; + s32 y; + u8 bank = GetBankByIdentity(c); + + DmaCopy16(3, gUnknown_081FAF4C[c] + gBattleMonForms[bank] * 0x800, (void *)(VRAM + e), 0x800); + tileNum = e / 32 - g * 512; + for (y = top; y < top + 8; y++) + { + for (x = left; x < left + 8; x++) + { + *(u16 *)(VRAM + x * 2 + bgMap * 0x800 + y * 64) = tileNum | (paletteNum << 12); + tileNum++; + } + } +} + +void unref_sub_80E4FDC(u8 left, u8 top, u8 c, u8 form, u8 paletteNum, u16 f, u8 bgMap, u8 h) +{ + u32 tileNum; + s32 x; + s32 y; + + DmaCopy16(3, gUnknown_081FAF4C[c] + form * 0x800, (void *)(VRAM + f), 0x800); + tileNum = f / 32 - h * 512; + for (y = top; y < top + 8; y++) + { + for (x = left; x < left + 8; x++) + { + *(u16 *)(VRAM + x * 2 + bgMap * 0x800 + y * 64) = tileNum | (paletteNum << 12); + tileNum++; + } + } +} diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index a0c74be1d..4549d1fcb 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -13,6 +13,7 @@ #include "sprite.h" #include "task.h" #include "ewram.h" +#include "graphics.h" // sprites start at 10000 and thus must be subtracted of 10000 to account for the true index. #define GET_TRUE_SPRITE_INDEX(i) (i - 10000) @@ -20,6 +21,1271 @@ #define ANIM_SPRITE_INDEX_COUNT 8 #define ANIM_ARGS_COUNT 8 +const struct OamData gOamData_837DF24 = +{ + .affineMode = 0, + .objMode = 0, + .shape = 0, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837DF2C = +{ + .affineMode = 0, + .objMode = 0, + .shape = 0, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837DF34 = +{ + .affineMode = 0, + .objMode = 0, + .shape = 0, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837DF3C = +{ + .affineMode = 0, + .objMode = 0, + .shape = 0, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837DF44 = +{ + .affineMode = 0, + .objMode = 0, + .shape = 1, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837DF4C = +{ + .affineMode = 0, + .objMode = 0, + .shape = 1, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837DF54 = +{ + .affineMode = 0, + .objMode = 0, + .shape = 1, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837DF5C = +{ + .affineMode = 0, + .objMode = 0, + .shape = 1, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837DF64 = +{ + .affineMode = 0, + .objMode = 0, + .shape = 2, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837DF6C = +{ + .affineMode = 0, + .objMode = 0, + .shape = 2, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837DF74 = +{ + .affineMode = 0, + .objMode = 0, + .shape = 2, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837DF7C = +{ + .affineMode = 0, + .objMode = 0, + .shape = 2, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837DF84 = +{ + .affineMode = 1, + .objMode = 0, + .shape = 0, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837DF8C = +{ + .affineMode = 1, + .objMode = 0, + .shape = 0, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837DF94 = +{ + .affineMode = 1, + .objMode = 0, + .shape = 0, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837DF9C = +{ + .affineMode = 1, + .objMode = 0, + .shape = 0, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837DFA4 = +{ + .affineMode = 1, + .objMode = 0, + .shape = 1, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837DFAC = +{ + .affineMode = 1, + .objMode = 0, + .shape = 1, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837DFB4 = +{ + .affineMode = 1, + .objMode = 0, + .shape = 1, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837DFBC = +{ + .affineMode = 1, + .objMode = 0, + .shape = 1, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837DFC4 = +{ + .affineMode = 1, + .objMode = 0, + .shape = 2, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837DFCC = +{ + .affineMode = 1, + .objMode = 0, + .shape = 2, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837DFD4 = +{ + .affineMode = 1, + .objMode = 0, + .shape = 2, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837DFDC = +{ + .affineMode = 1, + .objMode = 0, + .shape = 2, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837DFE4 = +{ + .affineMode = 3, + .objMode = 0, + .shape = 0, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837DFEC = +{ + .affineMode = 3, + .objMode = 0, + .shape = 0, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837DFF4 = +{ + .affineMode = 3, + .objMode = 0, + .shape = 0, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837DFFC = +{ + .affineMode = 3, + .objMode = 0, + .shape = 0, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837D004 = +{ + .affineMode = 3, + .objMode = 0, + .shape = 1, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837D00C = +{ + .affineMode = 3, + .objMode = 0, + .shape = 1, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837E014 = +{ + .affineMode = 3, + .objMode = 0, + .shape = 1, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837E01C = +{ + .affineMode = 3, + .objMode = 0, + .shape = 1, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837E024 = +{ + .affineMode = 3, + .objMode = 0, + .shape = 2, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837E02C = +{ + .affineMode = 3, + .objMode = 0, + .shape = 2, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837E034 = +{ + .affineMode = 3, + .objMode = 0, + .shape = 2, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837E03C = +{ + .affineMode = 3, + .objMode = 0, + .shape = 2, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837E044 = +{ + .affineMode = 0, + .objMode = 1, + .shape = 0, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837E04C = +{ + .affineMode = 0, + .objMode = 1, + .shape = 0, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837E054 = +{ + .affineMode = 0, + .objMode = 1, + .shape = 0, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837E05C = +{ + .affineMode = 0, + .objMode = 1, + .shape = 0, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837E064 = +{ + .affineMode = 0, + .objMode = 1, + .shape = 1, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837E06C = +{ + .affineMode = 0, + .objMode = 1, + .shape = 1, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837E074 = +{ + .affineMode = 0, + .objMode = 1, + .shape = 1, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837E07C = +{ + .affineMode = 0, + .objMode = 1, + .shape = 1, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837E084 = +{ + .affineMode = 0, + .objMode = 1, + .shape = 2, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837E08C = +{ + .affineMode = 0, + .objMode = 1, + .shape = 2, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837E094 = +{ + .affineMode = 0, + .objMode = 1, + .shape = 2, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837E09C = +{ + .affineMode = 0, + .objMode = 1, + .shape = 2, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837E0A4 = +{ + .affineMode = 1, + .objMode = 1, + .shape = 0, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837E0AC = +{ + .affineMode = 1, + .objMode = 1, + .shape = 0, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837E0B4 = +{ + .affineMode = 1, + .objMode = 1, + .shape = 0, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837E0BC = +{ + .affineMode = 1, + .objMode = 1, + .shape = 0, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837E0C4 = +{ + .affineMode = 1, + .objMode = 1, + .shape = 1, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837E0CC = +{ + .affineMode = 1, + .objMode = 1, + .shape = 1, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837E0D4 = +{ + .affineMode = 1, + .objMode = 1, + .shape = 1, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837E0DC = +{ + .affineMode = 1, + .objMode = 1, + .shape = 1, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837E0E4 = +{ + .affineMode = 1, + .objMode = 1, + .shape = 2, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837E0EC = +{ + .affineMode = 1, + .objMode = 1, + .shape = 2, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837E0F4 = +{ + .affineMode = 1, + .objMode = 1, + .shape = 2, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837E0FC = +{ + .affineMode = 1, + .objMode = 1, + .shape = 2, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837E104 = +{ + .affineMode = 3, + .objMode = 1, + .shape = 0, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837E10C = +{ + .affineMode = 3, + .objMode = 1, + .shape = 0, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837E114 = +{ + .affineMode = 3, + .objMode = 1, + .shape = 0, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837E11C = +{ + .affineMode = 3, + .objMode = 1, + .shape = 0, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837E124 = +{ + .affineMode = 3, + .objMode = 1, + .shape = 1, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837E12C = +{ + .affineMode = 3, + .objMode = 1, + .shape = 1, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837E134 = +{ + .affineMode = 3, + .objMode = 1, + .shape = 1, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837E13C = +{ + .affineMode = 3, + .objMode = 1, + .shape = 1, + .size = 3, + .priority = 2, +}; + +const struct OamData gOamData_837E144 = +{ + .affineMode = 3, + .objMode = 1, + .shape = 2, + .size = 0, + .priority = 2, +}; + +const struct OamData gOamData_837E14C = +{ + .affineMode = 3, + .objMode = 1, + .shape = 2, + .size = 1, + .priority = 2, +}; + +const struct OamData gOamData_837E154 = +{ + .affineMode = 3, + .objMode = 1, + .shape = 2, + .size = 2, + .priority = 2, +}; + +const struct OamData gOamData_837E15C = +{ + .affineMode = 3, + .objMode = 1, + .shape = 2, + .size = 3, + .priority = 2, +}; + +const struct CompressedSpriteSheet gBattleAnimPicTable[] = +{ + { (u8 *) &gBattleAnimSpriteSheet_000, 0x200, 10000 }, + { (u8 *) &gBattleAnimSpriteSheet_001, 0x300, 10001 }, + { (u8 *) &gBattleAnimSpriteSheet_002, 0x200, 10002 }, + { (u8 *) &gBattleAnimSpriteSheet_003, 0x100, 10003 }, + { (u8 *) &gBattleAnimSpriteSheet_004, 0x200, 10004 }, + { (u8 *) &gBattleAnimSpriteSheet_005, 0x400, 10005 }, + { (u8 *) &gBattleAnimSpriteSheet_006, 0x180, 10006 }, + { (u8 *) &gBattleAnimSpriteSheet_007, 0x800, 10007 }, + { (u8 *) &gBattleAnimSpriteSheet_008, 0x20, 10008 }, + { (u8 *) &gBattleAnimSpriteSheet_009, 0x400, 10009 }, + { (u8 *) &gBattleAnimSpriteSheet_010, 0x1200, 10010 }, + { (u8 *) &gBattleAnimSpriteSheet_011, 0x180, 10011 }, + { (u8 *) &gBattleAnimSpriteSheet_012, 0x80, 10012 }, + { (u8 *) &gBattleAnimSpriteSheet_013, 0x80, 10013 }, + { (u8 *) &gBattleAnimSpriteSheet_014, 0x280, 10014 }, + { (u8 *) &gBattleAnimSpriteSheet_015, 0x80, 10015 }, + { (u8 *) &gBattleAnimSpriteSheet_016, 0x100, 10016 }, + { (u8 *) &gBattleAnimSpriteSheet_017, 0x20, 10017 }, + { (u8 *) &gBattleAnimSpriteSheet_018, 0x80, 10018 }, + { (u8 *) &gBattleAnimSpriteSheet_019, 0x400, 10019 }, + { (u8 *) &gBattleAnimSpriteSheet_020, 0x200, 10020 }, + { (u8 *) &gBattleAnimSpriteSheet_021, 0xA00, 10021 }, + { (u8 *) &gBattleAnimSpriteSheet_021, 0xA00, 10022 }, + { (u8 *) &gBattleAnimSpriteSheet_023, 0x380, 10023 }, + { (u8 *) &gBattleAnimSpriteSheet_024, 0x300, 10024 }, + { (u8 *) &gBattleAnimSpriteSheet_025, 0xA00, 10025 }, + { (u8 *) &gBattleAnimSpriteSheet_026, 0xA00, 10026 }, + { (u8 *) &gBattleAnimSpriteSheet_027, 0xA00, 10027 }, + { (u8 *) &gBattleAnimSpriteSheet_028, 0xA00, 10028 }, + { (u8 *) &gBattleAnimSpriteSheet_029, 0xA00, 10029 }, + { (u8 *) &gBattleAnimSpriteSheet_030, 0xA00, 10030 }, + { (u8 *) &gBattleAnimSpriteSheet_031, 0xE00, 10031 }, + { (u8 *) &gBattleAnimSpriteSheet_032, 0x380, 10032 }, + { (u8 *) &gBattleAnimSpriteSheet_033, 0x1000, 10033 }, + { (u8 *) &gBattleAnimSpriteSheet_034, 0x800, 10034 }, + { (u8 *) &gBattleAnimSpriteSheet_035, 0xA00, 10035 }, + { (u8 *) &gBattleAnimSpriteSheet_036, 0x800, 10036 }, + { (u8 *) &gBattleAnimSpriteSheet_037, 0xA00, 10037 }, + { (u8 *) &gBattleAnimSpriteSheet_038, 0xA00, 10038 }, + { (u8 *) &gBattleAnimSpriteSheet_039, 0xA00, 10039 }, + { (u8 *) &gBattleAnimSpriteSheet_040, 0xA00, 10040 }, + { (u8 *) &gBattleAnimSpriteSheet_041, 0xA00, 10041 }, + { (u8 *) &gBattleAnimSpriteSheet_042, 0xA00, 10042 }, + { (u8 *) &gBattleAnimSpriteSheet_043, 0xA00, 10043 }, + { (u8 *) &gBattleAnimSpriteSheet_044, 0xA00, 10044 }, + { (u8 *) &gBattleAnimSpriteSheet_045, 0xA00, 10045 }, + { (u8 *) &gBattleAnimSpriteSheet_046, 0x1000, 10046 }, + { (u8 *) &gBattleAnimSpriteSheet_046, 0x1000, 10047 }, + { (u8 *) &gBattleAnimSpriteSheet_048, 0x1000, 10048 }, + { (u8 *) &gBattleAnimSpriteSheet_048, 0x1000, 10049 }, + { (u8 *) &gBattleAnimSpriteSheet_050, 0x200, 10050 }, + { (u8 *) &gBattleAnimSpriteSheet_051, 0x200, 10051 }, + { (u8 *) &gBattleAnimSpriteSheet_052, 0x200, 10052 }, + { (u8 *) &gBattleAnimSpriteSheet_053, 0x800, 10053 }, + { (u8 *) &gBattleAnimSpriteSheet_054, 0x80, 10054 }, + { (u8 *) &gBattleAnimSpriteSheet_055, 0x200, 10055 }, + { (u8 *) &gBattleAnimSpriteSheet_056, 0x1000, 10056 }, + { (u8 *) &gBattleAnimSpriteSheet_057, 0x180, 10057 }, + { (u8 *) &gBattleAnimSpriteSheet_058, 0xC00, 10058 }, + { (u8 *) &gBattleAnimSpriteSheet_059, 0x100, 10059 }, + { (u8 *) &gBattleAnimSpriteSheet_060, 0x40, 10060 }, + { (u8 *) &gBattleAnimSpriteSheet_061, 0x180, 10061 }, + { (u8 *) &gBattleAnimSpriteSheet_062, 0x800, 10062 }, + { (u8 *) &gBattleAnimSpriteSheet_063, 0x480, 10063 }, + { (u8 *) &gBattleAnimSpriteSheet_064, 0x200, 10064 }, + { (u8 *) &gBattleAnimSpriteSheet_065, 0x200, 10065 }, + { (u8 *) &gBattleAnimSpriteSheet_066, 0x100, 10066 }, + { (u8 *) &gBattleAnimSpriteSheet_065, 0x200, 10067 }, + { (u8 *) &gBattleAnimSpriteSheet_065, 0x200, 10068 }, + { (u8 *) &gBattleAnimSpriteSheet_065, 0x200, 10069 }, + { (u8 *) &gBattleAnimSpriteSheet_070, 0x200, 10070 }, + { (u8 *) &gBattleAnimSpriteSheet_071, 0xA00, 10071 }, + { (u8 *) &gBattleAnimSpriteSheet_072, 0x300, 10072 }, + { (u8 *) &gBattleAnimSpriteSheet_073, 0x180, 10073 }, + { (u8 *) &gBattleAnimSpriteSheet_074, 0xA0, 10074 }, + { (u8 *) &gBattleAnimSpriteSheet_075, 0x700, 10075 }, + { (u8 *) &gBattleAnimSpriteSheet_076, 0x400, 10076 }, + { (u8 *) &gBattleAnimSpriteSheet_077, 0x200, 10077 }, + { (u8 *) &gBattleAnimSpriteSheet_078, 0x300, 10078 }, + { (u8 *) &gBattleAnimSpriteSheet_079, 0xC00, 10079 }, + { (u8 *) &gBattleAnimSpriteSheet_080, 0xA00, 10080 }, + { (u8 *) &gBattleAnimSpriteSheet_081, 0x80, 10081 }, + { (u8 *) &gBattleAnimSpriteSheet_082, 0x40, 10082 }, + { (u8 *) &gBattleAnimSpriteSheet_083, 0xE00, 10083 }, + { (u8 *) &gBattleAnimSpriteSheet_084, 0xE00, 10084 }, + { (u8 *) &gBattleAnimSpriteSheet_085, 0x280, 10085 }, + { (u8 *) &gBattleAnimSpriteSheet_086, 0x200, 10086 }, + { (u8 *) &gBattleAnimSpriteSheet_087, 0x80, 10087 }, + { (u8 *) &gBattleAnimSpriteSheet_088, 0xC0, 10088 }, + { (u8 *) &gBattleAnimSpriteSheet_089, 0xA00, 10089 }, + { (u8 *) &gBattleAnimSpriteSheet_090, 0x200, 10090 }, + { (u8 *) &gBattleAnimSpriteSheet_091, 0x180, 10091 }, + { (u8 *) &gBattleAnimSpriteSheet_092, 0x80, 10092 }, + { (u8 *) &gBattleAnimSpriteSheet_093, 0x1000, 10093 }, + { (u8 *) &gBattleAnimSpriteSheet_094, 0xA00, 10094 }, + { (u8 *) &gBattleAnimSpriteSheet_095, 0x180, 10095 }, + { (u8 *) &gBattleAnimSpriteSheet_096, 0x380, 10096 }, + { (u8 *) &gBattleAnimSpriteSheet_097, 0xC00, 10097 }, + { (u8 *) &gBattleAnimSpriteSheet_098, 0x200, 10098 }, + { (u8 *) &gBattleAnimSpriteSheet_099, 0x200, 10099 }, + { (u8 *) &gBattleAnimSpriteSheet_100, 0x200, 10100 }, + { (u8 *) &gBattleAnimSpriteSheet_101, 0x200, 10101 }, + { (u8 *) &gBattleAnimSpriteSheet_102, 0x400, 10102 }, + { (u8 *) &gBattleAnimSpriteSheet_103, 0x80, 10103 }, + { (u8 *) &gBattleAnimSpriteSheet_104, 0x400, 10104 }, + { (u8 *) &gBattleAnimSpriteSheet_105, 0xC00, 10105 }, + { (u8 *) &gBattleAnimSpriteSheet_106, 0x200, 10106 }, + { (u8 *) &gBattleAnimSpriteSheet_107, 0x1000, 10107 }, + { (u8 *) &gBattleAnimSpriteSheet_108, 0xA00, 10108 }, + { (u8 *) &gBattleAnimSpriteSheet_109, 0x20, 10109 }, + { (u8 *) &gBattleAnimSpriteSheet_110, 0xE00, 10110 }, + { (u8 *) &gBattleAnimSpriteSheet_111, 0x80, 10111 }, + { (u8 *) &gBattleAnimSpriteSheet_112, 0xA00, 10112 }, + { (u8 *) &gBattleAnimSpriteSheet_113, 0x400, 10113 }, + { (u8 *) &gBattleAnimSpriteSheet_114, 0x200, 10114 }, + { (u8 *) &gBattleAnimSpriteSheet_115, 0x700, 10115 }, + { (u8 *) &gBattleAnimSpriteSheet_116, 0x800, 10116 }, + { (u8 *) &gBattleAnimSpriteSheet_117, 0xA00, 10117 }, + { (u8 *) &gBattleAnimSpriteSheet_118, 0x600, 10118 }, + { (u8 *) &gBattleAnimSpriteSheet_119, 0x800, 10119 }, + { (u8 *) &gBattleAnimSpriteSheet_120, 0x200, 10120 }, + { (u8 *) &gBattleAnimSpriteSheet_121, 0x40, 10121 }, + { (u8 *) &gBattleAnimSpriteSheet_122, 0x180, 10122 }, + { (u8 *) &gBattleAnimSpriteSheet_123, 0x600, 10123 }, + { (u8 *) &gBattleAnimSpriteSheet_124, 0x600, 10124 }, + { (u8 *) &gBattleAnimSpriteSheet_125, 0x200, 10125 }, + { (u8 *) &gBattleAnimSpriteSheet_126, 0x80, 10126 }, + { (u8 *) &gBattleAnimSpriteSheet_127, 0x200, 10127 }, + { (u8 *) &gBattleAnimSpriteSheet_128, 0x800, 10128 }, + { (u8 *) &gBattleAnimSpriteSheet_129, 0x80, 10129 }, + { (u8 *) &gBattleAnimSpriteSheet_130, 0xA00, 10130 }, + { (u8 *) &gBattleAnimSpriteSheet_131, 0x280, 10131 }, + { (u8 *) &gBattleAnimSpriteSheet_132, 0x280, 10132 }, + { (u8 *) &gBattleAnimSpriteSheet_133, 0x100, 10133 }, + { (u8 *) &gBattleAnimSpriteSheet_134, 0x200, 10134 }, + { (u8 *) &gBattleAnimSpriteSheet_135, 0x200, 10135 }, + { (u8 *) &gBattleAnimSpriteSheet_136, 0x20, 10136 }, + { (u8 *) &gBattleAnimSpriteSheet_137, 0xA00, 10137 }, + { (u8 *) &gBattleAnimSpriteSheet_138, 0x800, 10138 }, + { (u8 *) &gBattleAnimSpriteSheet_139, 0x800, 10139 }, + { (u8 *) &gBattleAnimSpriteSheet_140, 0xC0, 10140 }, + { (u8 *) &gBattleAnimSpriteSheet_141, 0x1C0, 10141 }, + { (u8 *) &gBattleAnimSpriteSheet_142, 0x100, 10142 }, + { (u8 *) &gBattleAnimSpriteSheet_143, 0x800, 10143 }, + { (u8 *) &gBattleAnimSpriteSheet_144, 0x200, 10144 }, + { (u8 *) &gBattleAnimSpriteSheet_145, 0x800, 10145 }, + { (u8 *) &gBattleAnimSpriteSheet_146, 0x180, 10146 }, + { (u8 *) &gBattleAnimSpriteSheet_147, 0x180, 10147 }, + { (u8 *) &gBattleAnimSpriteSheet_148, 0x200, 10148 }, + { (u8 *) &gBattleAnimSpriteSheet_149, 0x200, 10149 }, + { (u8 *) &gBattleAnimSpriteSheet_150, 0x180, 10150 }, + { (u8 *) &gBattleAnimSpriteSheet_151, 0x400, 10151 }, + { (u8 *) &gBattleAnimSpriteSheet_152, 0x80, 10152 }, + { (u8 *) &gBattleAnimSpriteSheet_153, 0x100, 10153 }, + { (u8 *) &gBattleAnimSpriteSheet_154, 0x100, 10154 }, + { (u8 *) &gBattleAnimSpriteSheet_155, 0x140, 10155 }, + { (u8 *) &gBattleAnimSpriteSheet_156, 0x800, 10156 }, + { (u8 *) &gBattleAnimSpriteSheet_157, 0x200, 10157 }, + { (u8 *) &gBattleAnimSpriteSheet_158, 0x100, 10158 }, + { (u8 *) &gBattleAnimSpriteSheet_159, 0xA0, 10159 }, + { (u8 *) &gBattleAnimSpriteSheet_160, 0x100, 10160 }, + { (u8 *) &gBattleAnimSpriteSheet_161, 0x80, 10161 }, + { (u8 *) &gBattleAnimSpriteSheet_162, 0x300, 10162 }, + { (u8 *) &gBattleAnimSpriteSheet_163, 0x100, 10163 }, + { (u8 *) &gBattleAnimSpriteSheet_163, 0x100, 10164 }, + { (u8 *) &gBattleAnimSpriteSheet_163, 0x100, 10165 }, + { (u8 *) &gBattleAnimSpriteSheet_166, 0x800, 10166 }, + { (u8 *) &gBattleAnimSpriteSheet_166, 0x800, 10167 }, + { (u8 *) &gBattleAnimSpriteSheet_166, 0x800, 10168 }, + { (u8 *) &gBattleAnimSpriteSheet_166, 0x800, 10169 }, + { (u8 *) &gBattleAnimSpriteSheet_166, 0x800, 10170 }, + { (u8 *) &gBattleAnimSpriteSheet_171, 0x80, 10171 }, + { (u8 *) &gBattleAnimSpriteSheet_144, 0x200, 10172 }, + { (u8 *) &gBattleAnimSpriteSheet_173, 0x200, 10173 }, + { (u8 *) &gBattleAnimSpriteSheet_174, 0x200, 10174 }, + { (u8 *) &gBattleAnimSpriteSheet_175, 0x80, 10175 }, + { (u8 *) &gBattleAnimSpriteSheet_176, 0x200, 10176 }, + { (u8 *) &gBattleAnimSpriteSheet_177, 0x500, 10177 }, + { (u8 *) &gBattleAnimSpriteSheet_178, 0x800, 10178 }, + { (u8 *) &gBattleAnimSpriteSheet_179, 0x400, 10179 }, + { (u8 *) &gBattleAnimSpriteSheet_180, 0x20, 10180 }, + { (u8 *) &gBattleAnimSpriteSheet_181, 0x800, 10181 }, + { (u8 *) &gBattleAnimSpriteSheet_182, 0x100, 10182 }, + { (u8 *) &gBattleAnimSpriteSheet_183, 0x800, 10183 }, + { (u8 *) &gBattleAnimSpriteSheet_184, 0x400, 10184 }, + { (u8 *) &gBattleAnimSpriteSheet_185, 0xA00, 10185 }, + { (u8 *) &gBattleAnimSpriteSheet_186, 0x1000, 10186 }, + { (u8 *) &gBattleAnimSpriteSheet_187, 0x800, 10187 }, + { (u8 *) &gBattleAnimSpriteSheet_188, 0x400, 10188 }, + { (u8 *) &gBattleAnimSpriteSheet_189, 0x200, 10189 }, + { (u8 *) &gBattleAnimSpriteSheet_190, 0x800, 10190 }, + { (u8 *) &gBattleAnimSpriteSheet_191, 0x800, 10191 }, + { (u8 *) &gBattleAnimSpriteSheet_192, 0x800, 10192 }, + { (u8 *) &gBattleAnimSpriteSheet_193, 0x200, 10193 }, + { (u8 *) &gBattleAnimSpriteSheet_194, 0x800, 10194 }, + { (u8 *) &gBattleAnimSpriteSheet_195, 0x200, 10195 }, + { (u8 *) &gBattleAnimSpriteSheet_196, 0x800, 10196 }, + { (u8 *) &gBattleAnimSpriteSheet_197, 0x200, 10197 }, + { (u8 *) &gBattleAnimSpriteSheet_198, 0x800, 10198 }, + { (u8 *) &gBattleAnimSpriteSheet_199, 0x400, 10199 }, + { (u8 *) &gBattleAnimSpriteSheet_200, 0x200, 10200 }, + { (u8 *) &gBattleAnimSpriteSheet_201, 0xA80, 10201 }, + { (u8 *) &gBattleAnimSpriteSheet_202, 0x600, 10202 }, + { (u8 *) &gBattleAnimSpriteSheet_203, 0x800, 10203 }, + { (u8 *) &gBattleAnimSpriteSheet_204, 0x200, 10204 }, + { (u8 *) &gBattleAnimSpriteSheet_205, 0x600, 10205 }, + { (u8 *) &gBattleAnimSpriteSheet_206, 0x800, 10206 }, + { (u8 *) &gBattleAnimSpriteSheet_207, 0x180, 10207 }, + { (u8 *) &gBattleAnimSpriteSheet_208, 0x800, 10208 }, + { (u8 *) &gBattleAnimSpriteSheet_209, 0x800, 10209 }, + { (u8 *) &gBattleAnimSpriteSheet_210, 0x80, 10210 }, + { (u8 *) &gBattleAnimSpriteSheet_211, 0x80, 10211 }, + { (u8 *) &gBattleAnimSpriteSheet_212, 0x800, 10212 }, + { (u8 *) &gBattleAnimSpriteSheet_213, 0x800, 10213 }, + { (u8 *) &gBattleAnimSpriteSheet_214, 0x600, 10214 }, + { (u8 *) &gBattleAnimSpriteSheet_215, 0x600, 10215 }, + { (u8 *) &gBattleAnimSpriteSheet_210, 0x80, 10216 }, + { (u8 *) &gBattleAnimSpriteSheet_217, 0x80, 10217 }, + { (u8 *) &gBattleAnimSpriteSheet_218, 0x180, 10218 }, + { (u8 *) &gBattleAnimSpriteSheet_210, 0x80, 10219 }, + { (u8 *) &gBattleAnimSpriteSheet_220, 0x200, 10220 }, + { (u8 *) &gBattleAnimSpriteSheet_221, 0x400, 10221 }, + { (u8 *) &gBattleAnimSpriteSheet_222, 0xA00, 10222 }, + { (u8 *) &gBattleAnimSpriteSheet_223, 0x800, 10223 }, + { (u8 *) &gBattleAnimSpriteSheet_224, 0x200, 10224 }, + { (u8 *) &gBattleAnimSpriteSheet_225, 0x400, 10225 }, + { (u8 *) &gBattleAnimSpriteSheet_226, 0x80, 10226 }, + { (u8 *) &gBattleAnimSpriteSheet_227, 0x800, 10227 }, + { (u8 *) &gBattleAnimSpriteSheet_228, 0x200, 10228 }, + { (u8 *) &gBattleAnimSpriteSheet_229, 0x300, 10229 }, + { (u8 *) &gBattleAnimSpriteSheet_230, 0x800, 10230 }, + { (u8 *) &gBattleAnimSpriteSheet_231, 0x380, 10231 }, + { (u8 *) &gBattleAnimSpriteSheet_232, 0x800, 10232 }, + { (u8 *) &gBattleAnimSpriteSheet_233, 0xC0, 10233 }, + { (u8 *) &gBattleAnimSpriteSheet_234, 0x800, 10234 }, + { (u8 *) &gBattleAnimSpriteSheet_235, 0x60, 10235 }, + { (u8 *) &gBattleAnimSpriteSheet_235, 0x60, 10236 }, + { (u8 *) &gBattleAnimSpriteSheet_235, 0x60, 10237 }, + { (u8 *) &gBattleAnimSpriteSheet_238, 0x80, 10238 }, + { (u8 *) &gBattleAnimSpriteSheet_239, 0x180, 10239 }, + { (u8 *) &gBattleAnimSpriteSheet_240, 0x180, 10240 }, + { (u8 *) &gBattleAnimSpriteSheet_241, 0x200, 10241 }, + { (u8 *) &gBattleAnimSpriteSheet_242, 0x200, 10242 }, + { (u8 *) &gBattleAnimSpriteSheet_243, 0x20, 10243 }, + { (u8 *) &gBattleAnimSpriteSheet_244, 0x400, 10244 }, + { (u8 *) &gBattleAnimSpriteSheet_245, 0x600, 10245 }, + { (u8 *) &gBattleAnimSpriteSheet_246, 0x1000, 10246 }, + { (u8 *) &gBattleAnimSpriteSheet_247, 0x400, 10247 }, + { (u8 *) &gBattleAnimSpriteSheet_248, 0x20, 10248 }, + { (u8 *) &gBattleAnimSpriteSheet_249, 0x80, 10249 }, + { (u8 *) &gBattleAnimSpriteSheet_250, 0x800, 10250 }, + { (u8 *) &gBattleAnimSpriteSheet_251, 0x80, 10251 }, + { (u8 *) &gBattleAnimSpriteSheet_252, 0x200, 10252 }, + { (u8 *) &gBattleAnimSpriteSheet_253, 0x400, 10253 }, + { (u8 *) &gBattleAnimSpriteSheet_254, 0x200, 10254 }, + { (u8 *) &gBattleAnimSpriteSheet_255, 0x200, 10255 }, + { (u8 *) &gBattleAnimSpriteSheet_256, 0x800, 10256 }, + { (u8 *) &gBattleAnimSpriteSheet_257, 0x280, 10257 }, + { (u8 *) &gBattleAnimSpriteSheet_258, 0x200, 10258 }, + { (u8 *) &gBattleAnimSpriteSheet_149, 0x200, 10259 }, + { (u8 *) &gBattleAnimSpriteSheet_260, 0x400, 10260 }, + { (u8 *) &gBattleAnimSpriteSheet_261, 0x200, 10261 }, + { (u8 *) &gBattleAnimSpriteSheet_262, 0x200, 10262 }, + { (u8 *) &gBattleAnimSpriteSheet_263, 0x80, 10263 }, + { (u8 *) &gBattleAnimSpriteSheet_264, 0x20, 10264 }, + { (u8 *) &gBattleAnimSpriteSheet_264, 0x20, 10265 }, + { (u8 *) &gBattleAnimSpriteSheet_266, 0x80, 10266 }, + { (u8 *) &gBattleAnimSpriteSheet_212, 0x800, 10267 }, + { (u8 *) &gBattleAnimSpriteSheet_264, 0x20, 10268 }, + { (u8 *) &gBattleAnimSpriteSheet_269, 0x80, 10269 }, + { (u8 *) &gBattleAnimSpriteSheet_270, 0x400, 10270 }, + { (u8 *) &gBattleAnimSpriteSheet_271, 0x80, 10271 }, + { (u8 *) &gBattleAnimSpriteSheet_272, 0x800, 10272 }, + { (u8 *) &gBattleAnimSpriteSheet_273, 0x20, 10273 }, + { (u8 *) &gBattleAnimSpriteSheet_274, 0x800, 10274 }, + { (u8 *) &gBattleAnimSpriteSheet_275, 0x800, 10275 }, + { (u8 *) &gBattleAnimSpriteSheet_276, 0x800, 10276 }, + { (u8 *) &gBattleAnimSpriteSheet_277, 0x1000, 10277 }, + { (u8 *) &gBattleAnimSpriteSheet_278, 0x800, 10278 }, + { (u8 *) &gBattleAnimSpriteSheet_279, 0xA0, 10279 }, + { (u8 *) &gBattleAnimSpriteSheet_280, 0x800, 10280 }, + { (u8 *) &gBattleAnimSpriteSheet_281, 0x200, 10281 }, + { (u8 *) &gBattleAnimSpriteSheet_282, 0x600, 10282 }, + { (u8 *) &gBattleAnimSpriteSheet_283, 0x200, 10283 }, + { (u8 *) &gBattleAnimSpriteSheet_284, 0x800, 10284 }, + { (u8 *) &gBattleAnimSpriteSheet_285, 0x200, 10285 }, + { (u8 *) &gBattleAnimSpriteSheet_183, 0x800, 10286 }, + { (u8 *) &gBattleAnimSpriteSheet_056, 0x1000, 10287 }, + { (u8 *) &gBattleAnimSpriteSheet_163, 0x100, 10288 }, +}; + +const struct CompressedSpritePalette gBattleAnimPaletteTable[] = +{ + { (u8 *) &gBattleAnimSpritePalette_000, 10000 }, + { (u8 *) &gBattleAnimSpritePalette_001, 10001 }, + { (u8 *) &gBattleAnimSpritePalette_002, 10002 }, + { (u8 *) &gBattleAnimSpritePalette_003, 10003 }, + { (u8 *) &gBattleAnimSpritePalette_004, 10004 }, + { (u8 *) &gBattleAnimSpritePalette_005, 10005 }, + { (u8 *) &gBattleAnimSpritePalette_006, 10006 }, + { (u8 *) &gBattleAnimSpritePalette_007, 10007 }, + { (u8 *) &gBattleAnimSpritePalette_008, 10008 }, + { (u8 *) &gBattleAnimSpritePalette_009, 10009 }, + { (u8 *) &gBattleAnimSpritePalette_010, 10010 }, + { (u8 *) &gBattleAnimSpritePalette_011, 10011 }, + { (u8 *) &gBattleAnimSpritePalette_012, 10012 }, + { (u8 *) &gBattleAnimSpritePalette_013, 10013 }, + { (u8 *) &gBattleAnimSpritePalette_014, 10014 }, + { (u8 *) &gBattleAnimSpritePalette_015, 10015 }, + { (u8 *) &gBattleAnimSpritePalette_016, 10016 }, + { (u8 *) &gBattleAnimSpritePalette_016, 10017 }, + { (u8 *) &gBattleAnimSpritePalette_018, 10018 }, + { (u8 *) &gBattleAnimSpritePalette_019, 10019 }, + { (u8 *) &gBattleAnimSpritePalette_020, 10020 }, + { (u8 *) &gBattleAnimSpritePalette_021, 10021 }, + { (u8 *) &gBattleAnimSpritePalette_022, 10022 }, + { (u8 *) &gBattleAnimSpritePalette_023, 10023 }, + { (u8 *) &gBattleAnimSpritePalette_024, 10024 }, + { (u8 *) &gBattleAnimSpritePalette_025, 10025 }, + { (u8 *) &gBattleAnimSpritePalette_026, 10026 }, + { (u8 *) &gBattleAnimSpritePalette_027, 10027 }, + { (u8 *) &gBattleAnimSpritePalette_028, 10028 }, + { (u8 *) &gBattleAnimSpritePalette_029, 10029 }, + { (u8 *) &gBattleAnimSpritePalette_030, 10030 }, + { (u8 *) &gBattleAnimSpritePalette_031, 10031 }, + { (u8 *) &gBattleAnimSpritePalette_032, 10032 }, + { (u8 *) &gBattleAnimSpritePalette_033, 10033 }, + { (u8 *) &gBattleAnimSpritePalette_033, 10034 }, + { (u8 *) &gBattleAnimSpritePalette_033, 10035 }, + { (u8 *) &gBattleAnimSpritePalette_036, 10036 }, + { (u8 *) &gBattleAnimSpritePalette_036, 10037 }, + { (u8 *) &gBattleAnimSpritePalette_038, 10038 }, + { (u8 *) &gBattleAnimSpritePalette_039, 10039 }, + { (u8 *) &gBattleAnimSpritePalette_038, 10040 }, + { (u8 *) &gBattleAnimSpritePalette_038, 10041 }, + { (u8 *) &gBattleAnimSpritePalette_042, 10042 }, + { (u8 *) &gBattleAnimSpritePalette_043, 10043 }, + { (u8 *) &gBattleAnimSpritePalette_044, 10044 }, + { (u8 *) &gBattleAnimSpritePalette_045, 10045 }, + { (u8 *) &gBattleAnimSpritePalette_046, 10046 }, + { (u8 *) &gBattleAnimSpritePalette_047, 10046 }, + { (u8 *) &gBattleAnimSpritePalette_048, 10048 }, + { (u8 *) &gBattleAnimSpritePalette_049, 10049 }, + { (u8 *) &gBattleAnimSpritePalette_050, 10050 }, + { (u8 *) &gBattleAnimSpritePalette_050, 10051 }, + { (u8 *) &gBattleAnimSpritePalette_050, 10052 }, + { (u8 *) &gBattleAnimSpritePalette_026, 10053 }, + { (u8 *) &gBattleAnimSpritePalette_054, 10054 }, + { (u8 *) &gBattleAnimSpritePalette_050, 10055 }, + { (u8 *) &gBattleAnimSpritePalette_056, 10056 }, + { (u8 *) &gBattleAnimSpritePalette_057, 10057 }, + { (u8 *) &gBattleAnimSpritePalette_058, 10058 }, + { (u8 *) &gBattleAnimSpritePalette_059, 10059 }, + { (u8 *) &gBattleAnimSpritePalette_060, 10060 }, + { (u8 *) &gBattleAnimSpritePalette_061, 10061 }, + { (u8 *) &gBattleAnimSpritePalette_062, 10062 }, + { (u8 *) &gBattleAnimSpritePalette_063, 10063 }, + { (u8 *) &gBattleAnimSpritePalette_064, 10064 }, + { (u8 *) &gBattleAnimSpritePalette_065, 10065 }, + { (u8 *) &gBattleAnimSpritePalette_066, 10066 }, + { (u8 *) &gBattleAnimSpritePalette_067, 10067 }, + { (u8 *) &gBattleAnimSpritePalette_068, 10068 }, + { (u8 *) &gBattleAnimSpritePalette_065, 10069 }, + { (u8 *) &gBattleAnimSpritePalette_070, 10070 }, + { (u8 *) &gBattleAnimSpritePalette_070, 10071 }, + { (u8 *) &gBattleAnimSpritePalette_072, 10072 }, + { (u8 *) &gBattleAnimSpritePalette_073, 10073 }, + { (u8 *) &gBattleAnimSpritePalette_074, 10074 }, + { (u8 *) &gBattleAnimSpritePalette_075, 10075 }, + { (u8 *) &gBattleAnimSpritePalette_076, 10076 }, + { (u8 *) &gBattleAnimSpritePalette_076, 10077 }, + { (u8 *) &gBattleAnimSpritePalette_078, 10078 }, + { (u8 *) &gBattleAnimSpritePalette_078, 10079 }, + { (u8 *) &gBattleAnimSpritePalette_080, 10080 }, + { (u8 *) &gBattleAnimSpritePalette_081, 10081 }, + { (u8 *) &gBattleAnimSpritePalette_082, 10082 }, + { (u8 *) &gBattleAnimSpritePalette_083, 10083 }, + { (u8 *) &gBattleAnimSpritePalette_084, 10084 }, + { (u8 *) &gBattleAnimSpritePalette_085, 10085 }, + { (u8 *) &gBattleAnimSpritePalette_086, 10086 }, + { (u8 *) &gBattleAnimSpritePalette_087, 10087 }, + { (u8 *) &gBattleAnimSpritePalette_088, 10088 }, + { (u8 *) &gBattleAnimSpritePalette_089, 10089 }, + { (u8 *) &gBattleAnimSpritePalette_090, 10090 }, + { (u8 *) &gBattleAnimSpritePalette_091, 10091 }, + { (u8 *) &gBattleAnimSpritePalette_092, 10092 }, + { (u8 *) &gBattleAnimSpritePalette_093, 10093 }, + { (u8 *) &gBattleAnimSpritePalette_094, 10094 }, + { (u8 *) &gBattleAnimSpritePalette_095, 10095 }, + { (u8 *) &gBattleAnimSpritePalette_096, 10096 }, + { (u8 *) &gBattleAnimSpritePalette_097, 10097 }, + { (u8 *) &gBattleAnimSpritePalette_094, 10098 }, + { (u8 *) &gBattleAnimSpritePalette_099, 10099 }, + { (u8 *) &gBattleAnimSpritePalette_100, 10100 }, + { (u8 *) &gBattleAnimSpritePalette_101, 10101 }, + { (u8 *) &gBattleAnimSpritePalette_101, 10102 }, + { (u8 *) &gBattleAnimSpritePalette_103, 10103 }, + { (u8 *) &gBattleAnimSpritePalette_104, 10104 }, + { (u8 *) &gBattleAnimSpritePalette_105, 10105 }, + { (u8 *) &gBattleAnimSpritePalette_105, 10106 }, + { (u8 *) &gBattleAnimSpritePalette_107, 10107 }, + { (u8 *) &gBattleAnimSpritePalette_107, 10108 }, + { (u8 *) &gBattleAnimSpritePalette_109, 10109 }, + { (u8 *) &gBattleAnimSpritePalette_109, 10110 }, + { (u8 *) &gBattleAnimSpritePalette_111, 10111 }, + { (u8 *) &gBattleAnimSpritePalette_112, 10112 }, + { (u8 *) &gBattleAnimSpritePalette_113, 10113 }, + { (u8 *) &gBattleAnimSpritePalette_114, 10114 }, + { (u8 *) &gBattleAnimSpritePalette_115, 10115 }, + { (u8 *) &gBattleAnimSpritePalette_116, 10116 }, + { (u8 *) &gBattleAnimSpritePalette_117, 10117 }, + { (u8 *) &gBattleAnimSpritePalette_118, 10118 }, + { (u8 *) &gBattleAnimSpritePalette_119, 10119 }, + { (u8 *) &gBattleAnimSpritePalette_120, 10120 }, + { (u8 *) &gBattleAnimSpritePalette_121, 10121 }, + { (u8 *) &gBattleAnimSpritePalette_122, 10122 }, + { (u8 *) &gBattleAnimSpritePalette_122, 10123 }, + { (u8 *) &gBattleAnimSpritePalette_124, 10124 }, + { (u8 *) &gBattleAnimSpritePalette_125, 10125 }, + { (u8 *) &gBattleAnimSpritePalette_126, 10126 }, + { (u8 *) &gBattleAnimSpritePalette_127, 10127 }, + { (u8 *) &gBattleAnimSpritePalette_128, 10128 }, + { (u8 *) &gBattleAnimSpritePalette_128, 10129 }, + { (u8 *) &gBattleAnimSpritePalette_130, 10130 }, + { (u8 *) &gBattleAnimSpritePalette_130, 10131 }, + { (u8 *) &gBattleAnimSpritePalette_132, 10132 }, + { (u8 *) &gBattleAnimSpritePalette_133, 10133 }, + { (u8 *) &gBattleAnimSpritePalette_133, 10134 }, + { (u8 *) &gBattleAnimSpritePalette_135, 10135 }, + { (u8 *) &gBattleAnimSpritePalette_136, 10136 }, + { (u8 *) &gBattleAnimSpritePalette_135, 10137 }, + { (u8 *) &gBattleAnimSpritePalette_135, 10138 }, + { (u8 *) &gBattleAnimSpritePalette_139, 10139 }, + { (u8 *) &gBattleAnimSpritePalette_140, 10140 }, + { (u8 *) &gBattleAnimSpritePalette_141, 10141 }, + { (u8 *) &gBattleAnimSpritePalette_141, 10142 }, + { (u8 *) &gBattleAnimSpritePalette_143, 10143 }, + { (u8 *) &gBattleAnimSpritePalette_144, 10144 }, + { (u8 *) &gBattleAnimSpritePalette_139, 10145 }, + { (u8 *) &gBattleAnimSpritePalette_115, 10146 }, + { (u8 *) &gBattleAnimSpritePalette_147, 10147 }, + { (u8 *) &gBattleAnimSpritePalette_148, 10148 }, + { (u8 *) &gBattleAnimSpritePalette_148, 10149 }, + { (u8 *) &gBattleAnimSpritePalette_150, 10150 }, + { (u8 *) &gBattleAnimSpritePalette_150, 10151 }, + { (u8 *) &gBattleAnimSpritePalette_152, 10152 }, + { (u8 *) &gBattleAnimSpritePalette_153, 10153 }, + { (u8 *) &gBattleAnimSpritePalette_154, 10154 }, + { (u8 *) &gBattleAnimSpritePalette_155, 10155 }, + { (u8 *) &gBattleAnimSpritePalette_156, 10156 }, + { (u8 *) &gBattleAnimSpritePalette_157, 10157 }, + { (u8 *) &gBattleAnimSpritePalette_158, 10158 }, + { (u8 *) &gBattleAnimSpritePalette_159, 10159 }, + { (u8 *) &gBattleAnimSpritePalette_160, 10160 }, + { (u8 *) &gBattleAnimSpritePalette_161, 10161 }, + { (u8 *) &gBattleAnimSpritePalette_162, 10162 }, + { (u8 *) &gBattleAnimSpritePalette_163, 10163 }, + { (u8 *) &gBattleAnimSpritePalette_164, 10164 }, + { (u8 *) &gBattleAnimSpritePalette_165, 10165 }, + { (u8 *) &gBattleAnimSpritePalette_166, 10166 }, + { (u8 *) &gBattleAnimSpritePalette_167, 10167 }, + { (u8 *) &gBattleAnimSpritePalette_168, 10168 }, + { (u8 *) &gBattleAnimSpritePalette_169, 10169 }, + { (u8 *) &gBattleAnimSpritePalette_170, 10170 }, + { (u8 *) &gBattleAnimSpritePalette_171, 10171 }, + { (u8 *) &gBattleAnimSpritePalette_172, 10172 }, + { (u8 *) &gBattleAnimSpritePalette_001, 10173 }, + { (u8 *) &gBattleAnimSpritePalette_174, 10174 }, + { (u8 *) &gBattleAnimSpritePalette_175, 10175 }, + { (u8 *) &gBattleAnimSpritePalette_176, 10176 }, + { (u8 *) &gBattleAnimSpritePalette_177, 10177 }, + { (u8 *) &gBattleAnimSpritePalette_178, 10178 }, + { (u8 *) &gBattleAnimSpritePalette_179, 10179 }, + { (u8 *) &gBattleAnimSpritePalette_179, 10180 }, + { (u8 *) &gBattleAnimSpritePalette_179, 10181 }, + { (u8 *) &gBattleAnimSpritePalette_182, 10182 }, + { (u8 *) &gBattleAnimSpritePalette_183, 10183 }, + { (u8 *) &gBattleAnimSpritePalette_184, 10184 }, + { (u8 *) &gBattleAnimSpritePalette_185, 10185 }, + { (u8 *) &gBattleAnimSpritePalette_186, 10186 }, + { (u8 *) &gBattleAnimSpritePalette_187, 10187 }, + { (u8 *) &gBattleAnimSpritePalette_188, 10188 }, + { (u8 *) &gBattleAnimSpritePalette_189, 10189 }, + { (u8 *) &gBattleAnimSpritePalette_190, 10190 }, + { (u8 *) &gBattleAnimSpritePalette_191, 10191 }, + { (u8 *) &gBattleAnimSpritePalette_192, 10192 }, + { (u8 *) &gBattleAnimSpritePalette_193, 10193 }, + { (u8 *) &gBattleAnimSpritePalette_194, 10194 }, + { (u8 *) &gBattleAnimSpritePalette_195, 10195 }, + { (u8 *) &gBattleAnimSpritePalette_196, 10196 }, + { (u8 *) &gBattleAnimSpritePalette_197, 10197 }, + { (u8 *) &gBattleAnimSpritePalette_198, 10198 }, + { (u8 *) &gBattleAnimSpritePalette_199, 10199 }, + { (u8 *) &gBattleAnimSpritePalette_200, 10200 }, + { (u8 *) &gBattleAnimSpritePalette_201, 10201 }, + { (u8 *) &gBattleAnimSpritePalette_202, 10202 }, + { (u8 *) &gBattleAnimSpritePalette_203, 10203 }, + { (u8 *) &gBattleAnimSpritePalette_204, 10204 }, + { (u8 *) &gBattleAnimSpritePalette_205, 10205 }, + { (u8 *) &gBattleAnimSpritePalette_206, 10206 }, + { (u8 *) &gBattleAnimSpritePalette_207, 10207 }, + { (u8 *) &gBattleAnimSpritePalette_167, 10208 }, + { (u8 *) &gBattleAnimSpritePalette_209, 10209 }, + { (u8 *) &gBattleAnimSpritePalette_210, 10210 }, + { (u8 *) &gBattleAnimSpritePalette_211, 10211 }, + { (u8 *) &gBattleAnimSpritePalette_211, 10212 }, + { (u8 *) &gBattleAnimSpritePalette_211, 10213 }, + { (u8 *) &gBattleAnimSpritePalette_064, 10214 }, + { (u8 *) &gBattleAnimSpritePalette_215, 10215 }, + { (u8 *) &gBattleAnimSpritePalette_216, 10216 }, + { (u8 *) &gBattleAnimSpritePalette_217, 10217 }, + { (u8 *) &gBattleAnimSpritePalette_218, 10218 }, + { (u8 *) &gBattleAnimSpritePalette_219, 10219 }, + { (u8 *) &gBattleAnimSpritePalette_220, 10220 }, + { (u8 *) &gBattleAnimSpritePalette_221, 10221 }, + { (u8 *) &gBattleAnimSpritePalette_222, 10222 }, + { (u8 *) &gBattleAnimSpritePalette_223, 10223 }, + { (u8 *) &gBattleAnimSpritePalette_224, 10224 }, + { (u8 *) &gBattleAnimSpritePalette_225, 10225 }, + { (u8 *) &gBattleAnimSpritePalette_226, 10226 }, + { (u8 *) &gBattleAnimSpritePalette_226, 10227 }, + { (u8 *) &gBattleAnimSpritePalette_228, 10228 }, + { (u8 *) &gBattleAnimSpritePalette_229, 10229 }, + { (u8 *) &gBattleAnimSpritePalette_230, 10230 }, + { (u8 *) &gBattleAnimSpritePalette_231, 10231 }, + { (u8 *) &gBattleAnimSpritePalette_231, 10232 }, + { (u8 *) &gBattleAnimSpritePalette_233, 10233 }, + { (u8 *) &gBattleAnimSpritePalette_234, 10234 }, + { (u8 *) &gBattleAnimSpritePalette_235, 10235 }, + { (u8 *) &gBattleAnimSpritePalette_236, 10236 }, + { (u8 *) &gBattleAnimSpritePalette_237, 10237 }, + { (u8 *) &gBattleAnimSpritePalette_238, 10238 }, + { (u8 *) &gBattleAnimSpritePalette_239, 10239 }, + { (u8 *) &gBattleAnimSpritePalette_240, 10240 }, + { (u8 *) &gBattleAnimSpritePalette_241, 10241 }, + { (u8 *) &gBattleAnimSpritePalette_242, 10242 }, + { (u8 *) &gBattleAnimSpritePalette_243, 10243 }, + { (u8 *) &gBattleAnimSpritePalette_244, 10244 }, + { (u8 *) &gBattleAnimSpritePalette_245, 10245 }, + { (u8 *) &gBattleAnimSpritePalette_245, 10246 }, + { (u8 *) &gBattleAnimSpritePalette_064, 10247 }, + { (u8 *) &gBattleAnimSpritePalette_248, 10248 }, + { (u8 *) &gBattleAnimSpritePalette_249, 10249 }, + { (u8 *) &gBattleAnimSpritePalette_249, 10250 }, + { (u8 *) &gBattleAnimSpritePalette_251, 10251 }, + { (u8 *) &gBattleAnimSpritePalette_252, 10252 }, + { (u8 *) &gBattleAnimSpritePalette_253, 10253 }, + { (u8 *) &gBattleAnimSpritePalette_254, 10254 }, + { (u8 *) &gBattleAnimSpritePalette_255, 10255 }, + { (u8 *) &gBattleAnimSpritePalette_256, 10256 }, + { (u8 *) &gBattleAnimSpritePalette_257, 10257 }, + { (u8 *) &gBattleAnimSpritePalette_258, 10258 }, + { (u8 *) &gBattleAnimSpritePalette_259, 10259 }, + { (u8 *) &gBattleAnimSpritePalette_260, 10260 }, + { (u8 *) &gBattleAnimSpritePalette_261, 10261 }, + { (u8 *) &gBattleAnimSpritePalette_262, 10262 }, + { (u8 *) &gBattleAnimSpritePalette_263, 10263 }, + { (u8 *) &gBattleAnimSpritePalette_264, 10264 }, + { (u8 *) &gBattleAnimSpritePalette_265, 10265 }, + { (u8 *) &gBattleAnimSpritePalette_266, 10266 }, + { (u8 *) &gBattleAnimSpritePalette_267, 10267 }, + { (u8 *) &gBattleAnimSpritePalette_268, 10268 }, + { (u8 *) &gBattleAnimSpritePalette_269, 10269 }, + { (u8 *) &gBattleAnimSpritePalette_270, 10270 }, + { (u8 *) &gBattleAnimSpritePalette_271, 10271 }, + { (u8 *) &gBattleAnimSpritePalette_272, 10272 }, + { (u8 *) &gBattleAnimSpritePalette_272, 10273 }, + { (u8 *) &gBattleAnimSpritePalette_274, 10274 }, + { (u8 *) &gBattleAnimSpritePalette_274, 10275 }, + { (u8 *) &gBattleAnimSpritePalette_274, 10276 }, + { (u8 *) &gBattleAnimSpritePalette_277, 10277 }, + { (u8 *) &gBattleAnimSpritePalette_278, 10278 }, + { (u8 *) &gBattleAnimSpritePalette_279, 10279 }, + { (u8 *) &gBattleAnimSpritePalette_280, 10280 }, + { (u8 *) &gBattleAnimSpritePalette_281, 10281 }, + { (u8 *) &gBattleAnimSpritePalette_282, 10282 }, + { (u8 *) &gBattleAnimSpritePalette_283, 10283 }, + { (u8 *) &gBattleAnimSpritePalette_284, 10284 }, + { (u8 *) &gBattleAnimSpritePalette_285, 10285 }, + { (u8 *) &gBattleAnimSpritePalette_286, 10286 }, + { (u8 *) &gBattleAnimSpritePalette_287, 10287 }, + { (u8 *) &gBattleAnimSpritePalette_288, 10288 }, +}; + +const struct BattleAnimBackground gBattleAnimBackgroundTable[] = +{ + &gBattleAnimBackgroundImage_00, &gBattleAnimBackgroundPalette_00, &gBattleAnimBackgroundTilemap_00, + &gBattleAnimBackgroundImage_00, &gBattleAnimBackgroundPalette_00, &gBattleAnimBackgroundTilemap_00, + &gBattleAnimBackgroundImage_02, &gBattleAnimBackgroundPalette_02, &gBattleAnimBackgroundTilemap_02, + &gBattleAnimBackgroundImage_03, &gBattleAnimBackgroundPalette_03, &gBattleAnimBackgroundTilemap_03, + &gBattleAnimBackgroundImage_04, &gBattleAnimBackgroundPalette_04, &gBattleAnimBackgroundTilemap_04, + &gBattleAnimBackgroundImage_04, &gBattleAnimBackgroundPalette_04, &gBattleAnimBackgroundTilemap_05, + &gBattleAnimBackgroundImage_04, &gBattleAnimBackgroundPalette_04, &gBattleAnimBackgroundTilemap_06, + &gBattleAnimBackgroundImage_07, &gBattleAnimBackgroundPalette_07, &gBattleAnimBackgroundTilemap_07, + &gBattleAnimBackgroundImage_07, &gBattleAnimBackgroundPalette_07, &gBattleAnimBackgroundTilemap_08, + &gBattleAnimBackgroundImage_09, &gBattleAnimBackgroundPalette_09, &gBattleAnimBackgroundTilemap_09, + &gBattleAnimBackgroundImage_09, &gBattleAnimBackgroundPalette_09, &gBattleAnimBackgroundTilemap_10, + &gBattleAnimBackgroundImage_11, &gBattleAnimBackgroundPalette_11, &gBattleAnimBackgroundTilemap_11, + &gBattleAnimBackgroundImage_12, &gBattleAnimBackgroundPalette_12, &gBattleAnimBackgroundTilemap_12, + &gBattleAnimBackgroundImage_12, &gBattleAnimBackgroundPalette_12, &gBattleAnimBackgroundTilemap_13, + &gBattleAnimBackgroundImage_12, &gBattleAnimBackgroundPalette_12, &gBattleAnimBackgroundTilemap_14, + &gBattleAnimBackgroundImage_15, &gBattleAnimBackgroundPalette_15, &gBattleAnimBackgroundTilemap_15, + &gBattleAnimBackgroundImage_16, &gBattleAnimBackgroundPalette_16, &gBattleAnimBackgroundTilemap_16, + &gBattleAnimBackgroundImage_17, &gBattleAnimBackgroundPalette_17, &gBattleAnimBackgroundTilemap_17, + &gBattleAnimBackgroundImage_07, &gBattleAnimBackgroundPalette_18, &gBattleAnimBackgroundTilemap_07, + &gBattleAnimBackgroundImage_07, &gBattleAnimBackgroundPalette_18, &gBattleAnimBackgroundTilemap_08, + &gBattleAnimBackgroundImage_20, &gBattleAnimBackgroundPalette_20, &gBattleAnimBackgroundTilemap_20, + &gBattleAnimBackgroundImage_21, &gBattleAnimBackgroundPalette_21, &gBattleAnimBackgroundTilemap_21, + &gBattleAnimBackgroundImage_09, &gBattleAnimBackgroundPalette_22, &gBattleAnimBackgroundTilemap_09, + &gBattleAnimBackgroundImage_09, &gBattleAnimBackgroundPalette_22, &gBattleAnimBackgroundTilemap_10, + &gBattleAnimBackgroundImage_04, &gBattleAnimBackgroundPalette_24, &gBattleAnimBackgroundTilemap_04, + &gBattleAnimBackgroundImage_04, &gBattleAnimBackgroundPalette_24, &gBattleAnimBackgroundTilemap_05, + &gBattleAnimBackgroundImage_04, &gBattleAnimBackgroundPalette_24, &gBattleAnimBackgroundTilemap_06, +}; + extern u16 gBattlePartyID[4]; extern u8 gObjectBankIDs[]; extern u8 gBankAttacker; @@ -63,9 +1329,6 @@ extern struct MusicPlayerInfo gMPlay_SE2; extern const u16 gUnknown_081C7160[]; extern const u8 *const gBattleAnims_Moves[]; -extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; -extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; -extern const struct BattleAnimBackground gBattleAnimBackgroundTable[]; static void RunAnimScriptCommand(void); static void ScriptCmd_loadspritegfx(void); diff --git a/src/battle/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c index c35434df0..f109333e3 100644 --- a/src/battle/battle_anim_80A7E7C.c +++ b/src/battle/battle_anim_80A7E7C.c @@ -20,17 +20,77 @@ static void sub_80A808C(u8 taskId); static void sub_80A81D8(u8 taskId); static void sub_80A8374(u8 taskId); static void sub_80A8488(u8 taskId); +static void sub_80A8530(struct Sprite *sprite); static void sub_80A85A4(struct Sprite *sprite); -void sub_80A8614(struct Sprite* sprite); +static void sub_80A85C8(struct Sprite *sprite); +static void sub_80A8614(struct Sprite* sprite); +static void sub_80A8638(struct Sprite *sprite); static void sub_80A86F4(struct Sprite *sprite); +static void sub_80A8764(struct Sprite *sprite); +static void sub_80A8818(struct Sprite *sprite); static void sub_80A88F0(struct Sprite *sprite); static void sub_80A89B4(u8 taskId); static void sub_80A8A18(u8 taskId); static void sub_80A8C0C(u8 taskId); static void sub_80A8D8C(u8 taskId); -void sub_80A8FD8(u8 taskId); +static void sub_80A8FD8(u8 taskId); static void sub_80A913C(u8 taskId); +const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FB0 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8530, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FC8 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A85C8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FE0 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8638, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FF8 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8764, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83C2010 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8818, +}; + void sub_80A7E7C(u8 taskId) { u8 sprite; @@ -335,7 +395,7 @@ void sub_80A8500(u8 taskId) sub_80A8408(taskId); } -void sub_80A8530(struct Sprite *sprite) +static void sub_80A8530(struct Sprite *sprite) { sprite->invisible = TRUE; if (GetBankSide(gAnimBankAttacker)) @@ -362,7 +422,7 @@ static void sub_80A85A4(struct Sprite *sprite) StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } -void sub_80A85C8(struct Sprite *sprite) +static void sub_80A85C8(struct Sprite *sprite) { u8 spriteId; sprite->invisible = TRUE; @@ -376,7 +436,7 @@ void sub_80A85C8(struct Sprite *sprite) sprite->callback = sub_8078458; } -void sub_80A8614(struct Sprite *sprite) +static void sub_80A8614(struct Sprite *sprite) { sprite->data[0] = sprite->data[4]; sprite->data[2] = -sprite->data[2]; @@ -384,7 +444,7 @@ void sub_80A8614(struct Sprite *sprite) StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } -void sub_80A8638(struct Sprite *sprite) +static void sub_80A8638(struct Sprite *sprite) { int something; int spriteId; @@ -451,7 +511,7 @@ static void sub_80A86F4(struct Sprite *sprite) } } -void sub_80A8764(struct Sprite *sprite) +static void sub_80A8764(struct Sprite *sprite) { u8 v1; u8 spriteId; @@ -486,7 +546,7 @@ void sub_80A8764(struct Sprite *sprite) sprite->callback = sub_80784A8; } -void sub_80A8818(struct Sprite *sprite) +static void sub_80A8818(struct Sprite *sprite) { u8 spriteId; u8 v1; @@ -833,7 +893,7 @@ void sub_80A8EFC(u8 taskId) TASK.func = sub_80A8FD8; } -void sub_80A8FD8(u8 taskId) +static void sub_80A8FD8(u8 taskId) { TASK.data[3] += TASK.data[4]; obj_id_set_rotscale(TASK.data[5], 0x100, 0x100, TASK.data[3]); diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index 69306b725..40f50d7ff 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -93,7 +93,7 @@ extern void move_anim_start_t2_for_situation(); extern void dp01t_0F_4_move_anim(void); extern void sub_8047858(); extern u8 GetBankSide(u8); -extern void sub_80E43C0(); +extern void StartBattleIntroAnim(); extern void sub_803A3A8(struct Sprite *); extern void sub_8044CA0(u8); extern void nullsub_47(void); @@ -1620,7 +1620,7 @@ void LinkOpponentHandleFaintingCry(void) void LinkOpponentHandleIntroSlide(void) { - sub_80E43C0(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); gUnknown_02024DE8 |= 1; LinkOpponentBufferExecCompleted(); } diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index c86c337d9..e39d98997 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -62,7 +62,7 @@ extern u8 move_anim_start_t3(); extern u8 IsBankSpritePresent(); extern void sub_8044CA0(u8); extern void sub_8030E38(struct Sprite *); -extern void sub_80E43C0(); +extern void StartBattleIntroAnim(); extern void sub_8047858(); extern void move_anim_start_t2_for_situation(); extern void load_gfxc_health_bar(); @@ -1565,7 +1565,7 @@ void LinkPartnerHandleFaintingCry(void) void LinkPartnerHandleIntroSlide(void) { - sub_80E43C0(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); gUnknown_02024DE8 |= 1; LinkPartnerBufferExecCompleted(); } diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 622e3e9f9..5947053b6 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -108,7 +108,7 @@ extern void move_anim_start_t2_for_situation(); extern void bx_blink_t7(void); extern void sub_8047858(); extern u8 GetBankSide(u8); -extern void sub_80E43C0(); +extern void StartBattleIntroAnim(); extern void sub_8044CA0(u8); extern void nullsub_45(void); extern void sub_8031B74(); @@ -1892,7 +1892,7 @@ void OpponentHandleFaintingCry(void) void OpponentHandleIntroSlide(void) { - sub_80E43C0(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); gUnknown_02024DE8 |= 1; OpponentBufferExecCompleted(); } diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index a5f833b6c..2bdf448db 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -98,7 +98,7 @@ extern void move_anim_start_t2_for_situation(); extern void bx_blink_t1(void); extern void sub_8047858(); extern u8 GetBankSide(u8); -extern void sub_80E43C0(); +extern void StartBattleIntroAnim(); extern void oamt_add_pos2_onto_pos1(); extern void sub_8078B34(struct Sprite *); extern void StoreSpriteCallbackInData(); @@ -2875,7 +2875,7 @@ void PlayerHandleFaintingCry(void) void PlayerHandleIntroSlide(void) { - sub_80E43C0(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); gUnknown_02024DE8 |= 1; PlayerBufferExecCompleted(); } diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c index a4b610752..0d193d68f 100644 --- a/src/battle/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -47,7 +47,7 @@ extern u8 sub_8079E90(); extern void sub_80313A0(struct Sprite *); extern void sub_810BADC(void); extern void sub_8045A5C(); -extern void sub_80E43C0(); +extern void StartBattleIntroAnim(); extern void sub_804777C(); extern void sub_8043DFC(); extern bool8 move_anim_start_t3(); @@ -641,7 +641,7 @@ void SafariHandleFaintingCry(void) void SafariHandleIntroSlide(void) { - sub_80E43C0(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); gUnknown_02024DE8 |= 1; SafariBufferExecCompleted(); } diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index 6266d955c..4c0adab5e 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -85,7 +85,7 @@ extern void BufferStringBattle(); extern u8 GetBankSide(u8); extern void sub_80304A8(void); extern void sub_8047858(); -extern void sub_80E43C0(); +extern void StartBattleIntroAnim(); extern void oamt_add_pos2_onto_pos1(); extern void sub_8078B34(struct Sprite *); extern void sub_8030E38(struct Sprite *); @@ -1470,7 +1470,7 @@ void WallyHandleFaintingCry(void) void WallyHandleIntroSlide(void) { - sub_80E43C0(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); gUnknown_02024DE8 |= 1; WallyBufferExecCompleted(); } diff --git a/src/battle/calculate_base_damage.c b/src/battle/calculate_base_damage.c index 5c91b3657..217ab28a3 100644 --- a/src/battle/calculate_base_damage.c +++ b/src/battle/calculate_base_damage.c @@ -1,16 +1,16 @@ #include "global.h" #include "constants/abilities.h" +#include "constants/battle_move_effects.h" +#include "constants/hold_effects.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" #include "battle.h" #include "berry.h" #include "data2.h" #include "event_data.h" -#include "constants/hold_effects.h" #include "item.h" -#include "constants/items.h" #include "pokemon.h" -#include "constants/species.h" -#include "constants/moves.h" -#include "constants/battle_move_effects.h" #include "ewram.h" extern u16 gBattleTypeFlags; @@ -22,8 +22,54 @@ extern struct BattleEnigmaBerry gEnigmaBerries[]; extern u16 gBattleMovePower; extern u16 gTrainerBattleOpponent; -extern const u8 gHoldEffectToType[][2]; -extern const u8 gStatStageRatios[][2]; +// Masks for getting PP Up count, also PP Max values +const u8 gUnknown_08208238[] = {0x03, 0x0c, 0x30, 0xc0}; + +// Masks for setting PP Up count +const u8 gUnknown_0820823C[] = {0xFC, 0xF3, 0xCF, 0x3F}; + +// Values added to PP Up count +const u8 gUnknown_08208240[] = {0x01, 0x04, 0x10, 0x40}; + +const u8 gStatStageRatios[][2] = +{ + {10, 40}, // -6 + {10, 35}, // -5 + {10, 30}, // -4 + {10, 25}, // -3 + {10, 20}, // -2 + {10, 15}, // -1 + {10, 10}, // 0 + {15, 10}, // 1 + {20, 10}, // 2 + {25, 10}, // 3 + {30, 10}, // 4 + {35, 10}, // 5 + {40, 10} // 6 +}; + +const u8 unknownGameFreakAbbrev_820825E[] = _("ゲーフリ"); + +const u8 gHoldEffectToType[][2] = +{ + {HOLD_EFFECT_BUG_POWER, TYPE_BUG}, + {HOLD_EFFECT_STEEL_POWER, TYPE_STEEL}, + {HOLD_EFFECT_GROUND_POWER, TYPE_GROUND}, + {HOLD_EFFECT_ROCK_POWER, TYPE_ROCK}, + {HOLD_EFFECT_GRASS_POWER, TYPE_GRASS}, + {HOLD_EFFECT_DARK_POWER, TYPE_DARK}, + {HOLD_EFFECT_FIGHTING_POWER, TYPE_FIGHTING}, + {HOLD_EFFECT_ELECTRIC_POWER, TYPE_ELECTRIC}, + {HOLD_EFFECT_WATER_POWER, TYPE_WATER}, + {HOLD_EFFECT_FLYING_POWER, TYPE_FLYING}, + {HOLD_EFFECT_POISON_POWER, TYPE_POISON}, + {HOLD_EFFECT_ICE_POWER, TYPE_ICE}, + {HOLD_EFFECT_GHOST_POWER, TYPE_GHOST}, + {HOLD_EFFECT_PSYCHIC_POWER, TYPE_PSYCHIC}, + {HOLD_EFFECT_FIRE_POWER, TYPE_FIRE}, + {HOLD_EFFECT_DRAGON_POWER, TYPE_DRAGON}, + {HOLD_EFFECT_NORMAL_POWER, TYPE_NORMAL} +}; u8 GetBankSide(u8 bank); diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 37f59e1c6..bc6572b46 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -1,7823 +1,13576 @@ -// - -// - -#ifndef POKERUBY_BASE_STATS_H -#define POKERUBY_BASE_STATS_H - -const struct BaseStats gBaseStats[] = { - { // ?????????? - }, { - // Bulbasaur - 45, 49, 49, 45, 65, 65, - TYPE_GRASS, - TYPE_POISON, - 45, // catch rate - 64, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_GRASS, - ABILITY_OVERGROW, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Ivysaur - 60, 62, 63, 60, 80, 80, - TYPE_GRASS, - TYPE_POISON, - 45, // catch rate - 141, // base exp. yield - 0, 0, 0, 0, 1, 1, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_GRASS, - ABILITY_OVERGROW, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Venusaur - 80, 82, 83, 80, 100, 100, - TYPE_GRASS, - TYPE_POISON, - 45, // catch rate - 208, // base exp. yield - 0, 0, 0, 0, 2, 1, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_GRASS, - ABILITY_OVERGROW, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Charmander - 39, 52, 43, 65, 60, 50, - TYPE_FIRE, - TYPE_FIRE, - 45, // catch rate - 65, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_DRAGON, - ABILITY_BLAZE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Charmeleon - 58, 64, 58, 80, 80, 65, - TYPE_FIRE, - TYPE_FIRE, - 45, // catch rate - 142, // base exp. yield - 0, 0, 0, 1, 1, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_DRAGON, - ABILITY_BLAZE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Charizard - 78, 84, 78, 100, 109, 85, - TYPE_FIRE, - TYPE_FLYING, - 45, // catch rate - 209, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_DRAGON, - ABILITY_BLAZE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Squirtle - 44, 48, 65, 43, 50, 64, - TYPE_WATER, - TYPE_WATER, - 45, // catch rate - 66, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_TORRENT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Wartortle - 59, 63, 80, 58, 65, 80, - TYPE_WATER, - TYPE_WATER, - 45, // catch rate - 143, // base exp. yield - 0, 0, 1, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_TORRENT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Blastoise - 79, 83, 100, 78, 85, 105, - TYPE_WATER, - TYPE_WATER, - 45, // catch rate - 210, // base exp. yield - 0, 0, 0, 0, 0, 3, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_TORRENT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Caterpie - 45, 30, 35, 45, 20, 20, - TYPE_BUG, - TYPE_BUG, - 255, // catch rate - 53, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SHIELD_DUST, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Metapod - 50, 20, 55, 30, 25, 25, - TYPE_BUG, - TYPE_BUG, - 120, // catch rate - 72, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SHED_SKIN, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Butterfree - 60, 45, 50, 70, 80, 80, - TYPE_BUG, - TYPE_FLYING, - 45, // catch rate - 160, // base exp. yield - 0, 0, 0, 0, 2, 1, - ITEM_NONE, - ITEM_SILVER_POWDER, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_COMPOUND_EYES, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Weedle - 40, 35, 30, 50, 20, 20, - TYPE_BUG, - TYPE_POISON, - 255, // catch rate - 52, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SHIELD_DUST, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Kakuna - 45, 25, 50, 35, 25, 25, - TYPE_BUG, - TYPE_POISON, - 120, // catch rate - 71, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SHED_SKIN, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Beedrill - 65, 80, 40, 75, 45, 80, - TYPE_BUG, - TYPE_POISON, - 45, // catch rate - 159, // base exp. yield - 0, 2, 0, 0, 0, 1, - ITEM_NONE, - ITEM_POISON_BARB, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SWARM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Pidgey - 40, 45, 40, 56, 35, 35, - TYPE_NORMAL, - TYPE_FLYING, - 255, // catch rate - 55, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_KEEN_EYE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Pidgeotto - 63, 60, 55, 71, 50, 50, - TYPE_NORMAL, - TYPE_FLYING, - 120, // catch rate - 113, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_KEEN_EYE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Pidgeot - 83, 80, 75, 91, 70, 70, - TYPE_NORMAL, - TYPE_FLYING, - 45, // catch rate - 172, // base exp. yield - 0, 0, 0, 3, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_KEEN_EYE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Rattata - 30, 56, 35, 72, 25, 35, - TYPE_NORMAL, - TYPE_NORMAL, - 255, // catch rate - 57, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_RUN_AWAY, - ABILITY_GUTS, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Raticate - 55, 81, 60, 97, 50, 70, - TYPE_NORMAL, - TYPE_NORMAL, - 127, // catch rate - 116, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_RUN_AWAY, - ABILITY_GUTS, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Spearow - 40, 60, 30, 70, 31, 31, - TYPE_NORMAL, - TYPE_FLYING, - 255, // catch rate - 58, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_KEEN_EYE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Fearow - 65, 90, 65, 100, 61, 61, - TYPE_NORMAL, - TYPE_FLYING, - 90, // catch rate - 162, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_SHARP_BEAK, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_KEEN_EYE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Ekans - 35, 60, 44, 55, 40, 54, - TYPE_POISON, - TYPE_POISON, - 255, // catch rate - 62, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_DRAGON, - ABILITY_INTIMIDATE, - ABILITY_SHED_SKIN, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Arbok - 60, 85, 69, 80, 65, 79, - TYPE_POISON, - TYPE_POISON, - 90, // catch rate - 147, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_DRAGON, - ABILITY_INTIMIDATE, - ABILITY_SHED_SKIN, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Pikachu - 35, 55, 30, 90, 50, 40, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 190, // catch rate - 82, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_ORAN_BERRY, - ITEM_LIGHT_BALL, - 127, // gender - 10, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FAIRY, - ABILITY_STATIC, - ABILITY_NONE, - 6, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Raichu - 60, 90, 55, 100, 90, 80, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 75, // catch rate - 122, // base exp. yield - 0, 0, 0, 3, 0, 0, - ITEM_NONE, - ITEM_ORAN_BERRY, - 127, // gender - 10, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FAIRY, - ABILITY_STATIC, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Sandshrew - 50, 75, 85, 40, 20, 30, - TYPE_GROUND, - TYPE_GROUND, - 255, // catch rate - 93, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_QUICK_CLAW, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_SAND_VEIL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Sandslash - 75, 100, 110, 65, 45, 55, - TYPE_GROUND, - TYPE_GROUND, - 90, // catch rate - 163, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_QUICK_CLAW, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_SAND_VEIL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Nidoran♀ - 55, 47, 52, 41, 40, 40, - TYPE_POISON, - TYPE_POISON, - 235, // catch rate - 59, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 254, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_FIELD, - ABILITY_POISON_POINT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Nidorina - 70, 62, 67, 56, 55, 55, - TYPE_POISON, - TYPE_POISON, - 120, // catch rate - 117, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 254, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_POISON_POINT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Nidoqueen - 90, 82, 87, 76, 75, 85, - TYPE_POISON, - TYPE_GROUND, - 45, // catch rate - 194, // base exp. yield - 3, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 254, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_POISON_POINT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Nidoran♂ - 46, 57, 40, 50, 40, 40, - TYPE_POISON, - TYPE_POISON, - 235, // catch rate - 60, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 0, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_FIELD, - ABILITY_POISON_POINT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Nidorino - 61, 72, 57, 65, 55, 55, - TYPE_POISON, - TYPE_POISON, - 120, // catch rate - 118, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 0, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_FIELD, - ABILITY_POISON_POINT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Nidoking - 81, 92, 77, 85, 85, 75, - TYPE_POISON, - TYPE_GROUND, - 45, // catch rate - 195, // base exp. yield - 0, 3, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 0, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_FIELD, - ABILITY_POISON_POINT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Clefairy - 70, 45, 48, 35, 60, 65, - TYPE_NORMAL, - TYPE_NORMAL, - 150, // catch rate - 68, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_LEPPA_BERRY, - ITEM_MOON_STONE, - 191, // gender - 10, // egg cycles - 140, // base friendship - GROWTH_FAST, - EGG_GROUP_FAIRY, - EGG_GROUP_FAIRY, - ABILITY_CUTE_CHARM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Clefable - 95, 70, 73, 60, 85, 90, - TYPE_NORMAL, - TYPE_NORMAL, - 25, // catch rate - 129, // base exp. yield - 3, 0, 0, 0, 0, 0, - ITEM_LEPPA_BERRY, - ITEM_MOON_STONE, - 191, // gender - 10, // egg cycles - 140, // base friendship - GROWTH_FAST, - EGG_GROUP_FAIRY, - EGG_GROUP_FAIRY, - ABILITY_CUTE_CHARM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Vulpix - 38, 41, 40, 65, 50, 65, - TYPE_FIRE, - TYPE_FIRE, - 190, // catch rate - 63, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_RAWST_BERRY, - ITEM_RAWST_BERRY, - 191, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_FLASH_FIRE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Ninetales - 73, 76, 75, 100, 81, 100, - TYPE_FIRE, - TYPE_FIRE, - 75, // catch rate - 178, // base exp. yield - 0, 0, 0, 1, 0, 1, - ITEM_RAWST_BERRY, - ITEM_RAWST_BERRY, - 191, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_FLASH_FIRE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Jigglypuff - 115, 45, 20, 20, 45, 25, - TYPE_NORMAL, - TYPE_NORMAL, - 170, // catch rate - 76, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 191, // gender - 10, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FAIRY, - EGG_GROUP_FAIRY, - ABILITY_CUTE_CHARM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Wigglytuff - 140, 70, 45, 45, 75, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 50, // catch rate - 109, // base exp. yield - 3, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 191, // gender - 10, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FAIRY, - EGG_GROUP_FAIRY, - ABILITY_CUTE_CHARM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Zubat - 40, 45, 35, 55, 30, 40, - TYPE_POISON, - TYPE_FLYING, - 255, // catch rate - 54, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_INNER_FOCUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Golbat - 75, 80, 70, 90, 65, 75, - TYPE_POISON, - TYPE_FLYING, - 90, // catch rate - 171, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_INNER_FOCUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Oddish - 45, 50, 55, 30, 75, 65, - TYPE_GRASS, - TYPE_POISON, - 255, // catch rate - 78, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 4, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Gloom - 60, 65, 70, 40, 85, 75, - TYPE_GRASS, - TYPE_POISON, - 120, // catch rate - 132, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 6, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Vileplume - 75, 80, 85, 50, 100, 90, - TYPE_GRASS, - TYPE_POISON, - 45, // catch rate - 184, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Paras - 35, 70, 55, 25, 45, 55, - TYPE_BUG, - TYPE_GRASS, - 190, // catch rate - 70, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_TINY_MUSHROOM, - ITEM_BIG_MUSHROOM, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_GRASS, - ABILITY_EFFECT_SPORE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Parasect - 60, 95, 80, 30, 60, 80, - TYPE_BUG, - TYPE_GRASS, - 75, // catch rate - 128, // base exp. yield - 0, 2, 1, 0, 0, 0, - ITEM_TINY_MUSHROOM, - ITEM_BIG_MUSHROOM, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_GRASS, - ABILITY_EFFECT_SPORE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Venonat - 60, 55, 50, 45, 40, 55, - TYPE_BUG, - TYPE_POISON, - 190, // catch rate - 75, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_COMPOUND_EYES, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Venomoth - 70, 65, 60, 90, 90, 75, - TYPE_BUG, - TYPE_POISON, - 75, // catch rate - 138, // base exp. yield - 0, 0, 0, 1, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SHIELD_DUST, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Diglett - 10, 55, 25, 95, 35, 45, - TYPE_GROUND, - TYPE_GROUND, - 255, // catch rate - 81, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_SAND_VEIL, - ABILITY_ARENA_TRAP, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Dugtrio - 35, 80, 50, 120, 50, 70, - TYPE_GROUND, - TYPE_GROUND, - 50, // catch rate - 153, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_SAND_VEIL, - ABILITY_ARENA_TRAP, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Meowth - 40, 45, 35, 90, 40, 40, - TYPE_NORMAL, - TYPE_NORMAL, - 255, // catch rate - 69, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_PICKUP, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Persian - 65, 70, 60, 115, 65, 65, - TYPE_NORMAL, - TYPE_NORMAL, - 90, // catch rate - 148, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_LIMBER, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Psyduck - 50, 52, 48, 55, 65, 50, - TYPE_WATER, - TYPE_WATER, - 190, // catch rate - 80, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_FIELD, - ABILITY_DAMP, - ABILITY_CLOUD_NINE, - 6, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Golduck - 80, 82, 78, 85, 95, 80, - TYPE_WATER, - TYPE_WATER, - 75, // catch rate - 174, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_FIELD, - ABILITY_DAMP, - ABILITY_CLOUD_NINE, - 8, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Mankey - 40, 80, 35, 70, 35, 45, - TYPE_FIGHTING, - TYPE_FIGHTING, - 190, // catch rate - 74, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_VITAL_SPIRIT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Primeape - 65, 105, 60, 95, 60, 70, - TYPE_FIGHTING, - TYPE_FIGHTING, - 75, // catch rate - 149, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_VITAL_SPIRIT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Growlithe - 55, 70, 45, 60, 70, 50, - TYPE_FIRE, - TYPE_FIRE, - 190, // catch rate - 91, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_RAWST_BERRY, - ITEM_RAWST_BERRY, - 63, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_INTIMIDATE, - ABILITY_FLASH_FIRE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Arcanine - 90, 110, 80, 95, 100, 80, - TYPE_FIRE, - TYPE_FIRE, - 75, // catch rate - 213, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_RAWST_BERRY, - ITEM_RAWST_BERRY, - 63, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_INTIMIDATE, - ABILITY_FLASH_FIRE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Poliwag - 40, 50, 40, 90, 40, 40, - TYPE_WATER, - TYPE_WATER, - 255, // catch rate - 77, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_1, - ABILITY_WATER_ABSORB, - ABILITY_DAMP, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE, TRUE - }, { // Poliwhirl - 65, 65, 65, 90, 50, 50, - TYPE_WATER, - TYPE_WATER, - 120, // catch rate - 131, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_KINGS_ROCK, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_1, - ABILITY_WATER_ABSORB, - ABILITY_DAMP, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE, TRUE - }, { // Poliwrath - 90, 85, 95, 70, 70, 90, - TYPE_WATER, - TYPE_FIGHTING, - 45, // catch rate - 185, // base exp. yield - 0, 0, 3, 0, 0, 0, - ITEM_NONE, - ITEM_KINGS_ROCK, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_1, - ABILITY_WATER_ABSORB, - ABILITY_DAMP, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE, TRUE - }, { // Abra - 25, 20, 15, 90, 105, 55, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 200, // catch rate - 73, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_TWISTED_SPOON, - 63, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_SYNCHRONIZE, - ABILITY_INNER_FOCUS, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Kadabra - 40, 35, 30, 105, 120, 70, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 100, // catch rate - 145, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_TWISTED_SPOON, - 63, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_SYNCHRONIZE, - ABILITY_INNER_FOCUS, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Alakazam - 55, 50, 45, 120, 135, 85, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 50, // catch rate - 186, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_TWISTED_SPOON, - 63, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_SYNCHRONIZE, - ABILITY_INNER_FOCUS, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Machop - 70, 80, 50, 35, 35, 35, - TYPE_FIGHTING, - TYPE_FIGHTING, - 180, // catch rate - 88, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 63, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_GUTS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Machoke - 80, 100, 70, 45, 50, 60, - TYPE_FIGHTING, - TYPE_FIGHTING, - 90, // catch rate - 146, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 63, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_GUTS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Machamp - 90, 130, 80, 55, 65, 85, - TYPE_FIGHTING, - TYPE_FIGHTING, - 45, // catch rate - 193, // base exp. yield - 0, 3, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 63, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_GUTS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Bellsprout - 50, 75, 35, 40, 70, 30, - TYPE_GRASS, - TYPE_POISON, - 255, // catch rate - 84, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Weepinbell - 65, 90, 50, 55, 85, 45, - TYPE_GRASS, - TYPE_POISON, - 120, // catch rate - 151, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Victreebel - 80, 105, 65, 70, 100, 60, - TYPE_GRASS, - TYPE_POISON, - 45, // catch rate - 191, // base exp. yield - 0, 3, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Tentacool - 40, 40, 35, 70, 50, 100, - TYPE_WATER, - TYPE_POISON, - 190, // catch rate - 105, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_3, - EGG_GROUP_WATER_3, - ABILITY_CLEAR_BODY, - ABILITY_LIQUID_OOZE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Tentacruel - 80, 70, 65, 100, 80, 120, - TYPE_WATER, - TYPE_POISON, - 60, // catch rate - 205, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_3, - EGG_GROUP_WATER_3, - ABILITY_CLEAR_BODY, - ABILITY_LIQUID_OOZE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Geodude - 40, 80, 100, 20, 30, 30, - TYPE_ROCK, - TYPE_GROUND, - 255, // catch rate - 86, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_EVERSTONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_ROCK_HEAD, - ABILITY_STURDY, - 4, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Graveler - 55, 95, 115, 35, 45, 45, - TYPE_ROCK, - TYPE_GROUND, - 120, // catch rate - 134, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_EVERSTONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_ROCK_HEAD, - ABILITY_STURDY, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Golem - 80, 110, 130, 45, 55, 65, - TYPE_ROCK, - TYPE_GROUND, - 45, // catch rate - 177, // base exp. yield - 0, 0, 3, 0, 0, 0, - ITEM_NONE, - ITEM_EVERSTONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_ROCK_HEAD, - ABILITY_STURDY, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Ponyta - 50, 85, 55, 90, 65, 65, - TYPE_FIRE, - TYPE_FIRE, - 190, // catch rate - 152, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_RUN_AWAY, - ABILITY_FLASH_FIRE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Rapidash - 65, 100, 70, 105, 80, 80, - TYPE_FIRE, - TYPE_FIRE, - 60, // catch rate - 192, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_RUN_AWAY, - ABILITY_FLASH_FIRE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Slowpoke - 90, 65, 65, 15, 40, 40, - TYPE_WATER, - TYPE_PSYCHIC, - 190, // catch rate - 99, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_KINGS_ROCK, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_OBLIVIOUS, - ABILITY_OWN_TEMPO, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Slowbro - 95, 75, 110, 30, 100, 80, - TYPE_WATER, - TYPE_PSYCHIC, - 75, // catch rate - 164, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_KINGS_ROCK, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_OBLIVIOUS, - ABILITY_OWN_TEMPO, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Magnemite - 25, 35, 70, 45, 95, 55, - TYPE_ELECTRIC, - TYPE_STEEL, - 190, // catch rate - 89, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_METAL_COAT, - 255, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_MAGNET_PULL, - ABILITY_STURDY, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Magneton - 50, 60, 95, 70, 120, 70, - TYPE_ELECTRIC, - TYPE_STEEL, - 60, // catch rate - 161, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_METAL_COAT, - 255, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_MAGNET_PULL, - ABILITY_STURDY, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Farfetch'd - 52, 65, 55, 60, 58, 62, - TYPE_NORMAL, - TYPE_FLYING, - 45, // catch rate - 94, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_STICK, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FIELD, - ABILITY_KEEN_EYE, - ABILITY_INNER_FOCUS, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Doduo - 35, 85, 45, 75, 35, 35, - TYPE_NORMAL, - TYPE_FLYING, - 190, // catch rate - 96, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_SHARP_BEAK, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_RUN_AWAY, - ABILITY_EARLY_BIRD, - 8, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Dodrio - 60, 110, 70, 100, 60, 60, - TYPE_NORMAL, - TYPE_FLYING, - 45, // catch rate - 158, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_SHARP_BEAK, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_RUN_AWAY, - ABILITY_EARLY_BIRD, - 10, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Seel - 65, 45, 55, 45, 45, 70, - TYPE_WATER, - TYPE_WATER, - 190, // catch rate - 100, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_FIELD, - ABILITY_THICK_FAT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Dewgong - 90, 70, 80, 70, 70, 95, - TYPE_WATER, - TYPE_ICE, - 75, // catch rate - 176, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_FIELD, - ABILITY_THICK_FAT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Grimer - 80, 80, 50, 25, 40, 50, - TYPE_POISON, - TYPE_POISON, - 190, // catch rate - 90, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NUGGET, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_STENCH, - ABILITY_STICKY_HOLD, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Muk - 105, 105, 75, 50, 65, 100, - TYPE_POISON, - TYPE_POISON, - 75, // catch rate - 157, // base exp. yield - 1, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NUGGET, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_STENCH, - ABILITY_STICKY_HOLD, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Shellder - 30, 65, 100, 40, 45, 25, - TYPE_WATER, - TYPE_WATER, - 190, // catch rate - 97, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_PEARL, - ITEM_BIG_PEARL, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_3, - EGG_GROUP_WATER_3, - ABILITY_SHELL_ARMOR, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Cloyster - 50, 95, 180, 70, 85, 45, - TYPE_WATER, - TYPE_ICE, - 60, // catch rate - 203, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_PEARL, - ITEM_BIG_PEARL, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_3, - EGG_GROUP_WATER_3, - ABILITY_SHELL_ARMOR, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Gastly - 30, 35, 30, 80, 100, 35, - TYPE_GHOST, - TYPE_POISON, - 190, // catch rate - 95, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Haunter - 45, 50, 45, 95, 115, 55, - TYPE_GHOST, - TYPE_POISON, - 90, // catch rate - 126, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Gengar - 60, 65, 60, 110, 130, 75, - TYPE_GHOST, - TYPE_POISON, - 45, // catch rate - 190, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Onix - 35, 45, 160, 70, 30, 45, - TYPE_ROCK, - TYPE_GROUND, - 45, // catch rate - 108, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_ROCK_HEAD, - ABILITY_STURDY, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Drowzee - 60, 48, 45, 42, 43, 90, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 190, // catch rate - 102, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_INSOMNIA, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Hypno - 85, 73, 70, 67, 73, 115, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 75, // catch rate - 165, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_INSOMNIA, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Krabby - 30, 105, 90, 50, 25, 25, - TYPE_WATER, - TYPE_WATER, - 225, // catch rate - 115, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_3, - EGG_GROUP_WATER_3, - ABILITY_HYPER_CUTTER, - ABILITY_SHELL_ARMOR, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Kingler - 55, 130, 115, 75, 50, 50, - TYPE_WATER, - TYPE_WATER, - 60, // catch rate - 206, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_3, - EGG_GROUP_WATER_3, - ABILITY_HYPER_CUTTER, - ABILITY_SHELL_ARMOR, - 0, // Safari Zone flee rate - BODY_COLOR_RED, TRUE - }, { // Voltorb - 40, 30, 50, 100, 55, 55, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 190, // catch rate - 103, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_SOUNDPROOF, - ABILITY_STATIC, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Electrode - 60, 50, 70, 140, 80, 80, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 60, // catch rate - 150, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_SOUNDPROOF, - ABILITY_STATIC, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Exeggcute - 60, 40, 80, 40, 60, 45, - TYPE_GRASS, - TYPE_PSYCHIC, - 90, // catch rate - 98, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Exeggutor - 95, 95, 85, 55, 125, 65, - TYPE_GRASS, - TYPE_PSYCHIC, - 45, // catch rate - 212, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Cubone - 50, 50, 95, 35, 40, 50, - TYPE_GROUND, - TYPE_GROUND, - 190, // catch rate - 87, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_THICK_CLUB, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MONSTER, - EGG_GROUP_MONSTER, - ABILITY_ROCK_HEAD, - ABILITY_LIGHTNING_ROD, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Marowak - 60, 80, 110, 45, 50, 80, - TYPE_GROUND, - TYPE_GROUND, - 75, // catch rate - 124, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_THICK_CLUB, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MONSTER, - EGG_GROUP_MONSTER, - ABILITY_ROCK_HEAD, - ABILITY_LIGHTNING_ROD, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Hitmonlee - 50, 120, 53, 87, 35, 110, - TYPE_FIGHTING, - TYPE_FIGHTING, - 45, // catch rate - 139, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 0, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_LIMBER, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Hitmonchan - 50, 105, 79, 76, 35, 110, - TYPE_FIGHTING, - TYPE_FIGHTING, - 45, // catch rate - 140, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 0, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_KEEN_EYE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Lickitung - 90, 55, 75, 30, 60, 75, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 127, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MONSTER, - EGG_GROUP_MONSTER, - ABILITY_OWN_TEMPO, - ABILITY_OBLIVIOUS, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Koffing - 40, 65, 95, 35, 60, 45, - TYPE_POISON, - TYPE_POISON, - 190, // catch rate - 114, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_SMOKE_BALL, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Weezing - 65, 90, 120, 60, 85, 70, - TYPE_POISON, - TYPE_POISON, - 60, // catch rate - 173, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_SMOKE_BALL, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Rhyhorn - 80, 85, 95, 25, 30, 30, - TYPE_GROUND, - TYPE_ROCK, - 120, // catch rate - 135, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_FIELD, - ABILITY_LIGHTNING_ROD, - ABILITY_ROCK_HEAD, - 4, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Rhydon - 105, 130, 120, 40, 45, 45, - TYPE_GROUND, - TYPE_ROCK, - 60, // catch rate - 204, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_FIELD, - ABILITY_LIGHTNING_ROD, - ABILITY_ROCK_HEAD, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Chansey - 250, 5, 5, 50, 35, 105, - TYPE_NORMAL, - TYPE_NORMAL, - 30, // catch rate - 255, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_LUCKY_EGG, - 254, // gender - 40, // egg cycles - 140, // base friendship - GROWTH_FAST, - EGG_GROUP_FAIRY, - EGG_GROUP_FAIRY, - ABILITY_NATURAL_CURE, - ABILITY_SERENE_GRACE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Tangela - 65, 55, 115, 60, 100, 40, - TYPE_GRASS, - TYPE_GRASS, - 45, // catch rate - 166, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_GRASS, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Kangaskhan - 105, 95, 80, 90, 40, 80, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 175, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 254, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MONSTER, - EGG_GROUP_MONSTER, - ABILITY_EARLY_BIRD, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Horsea - 30, 40, 70, 60, 70, 25, - TYPE_WATER, - TYPE_WATER, - 225, // catch rate - 83, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_DRAGON_SCALE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_DRAGON, - ABILITY_SWIFT_SWIM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Seadra - 55, 65, 95, 85, 95, 45, - TYPE_WATER, - TYPE_WATER, - 75, // catch rate - 155, // base exp. yield - 0, 0, 1, 0, 1, 0, - ITEM_NONE, - ITEM_DRAGON_SCALE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_DRAGON, - ABILITY_POISON_POINT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Goldeen - 45, 67, 60, 63, 35, 50, - TYPE_WATER, - TYPE_WATER, - 225, // catch rate - 111, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_2, - EGG_GROUP_WATER_2, - ABILITY_SWIFT_SWIM, - ABILITY_WATER_VEIL, - 4, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Seaking - 80, 92, 65, 68, 65, 80, - TYPE_WATER, - TYPE_WATER, - 60, // catch rate - 170, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_2, - EGG_GROUP_WATER_2, - ABILITY_SWIFT_SWIM, - ABILITY_WATER_VEIL, - 6, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Staryu - 30, 45, 55, 85, 70, 55, - TYPE_WATER, - TYPE_WATER, - 225, // catch rate - 106, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_STARDUST, - ITEM_STAR_PIECE, - 255, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_3, - EGG_GROUP_WATER_3, - ABILITY_ILLUMINATE, - ABILITY_NATURAL_CURE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Starmie - 60, 75, 85, 115, 100, 85, - TYPE_WATER, - TYPE_PSYCHIC, - 60, // catch rate - 207, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_STARDUST, - ITEM_STAR_PIECE, - 255, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_3, - EGG_GROUP_WATER_3, - ABILITY_ILLUMINATE, - ABILITY_NATURAL_CURE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Mr. mime - 40, 45, 65, 90, 100, 120, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 45, // catch rate - 136, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_LEPPA_BERRY, - 127, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_SOUNDPROOF, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Scyther - 70, 110, 80, 105, 55, 80, - TYPE_BUG, - TYPE_FLYING, - 45, // catch rate - 187, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SWARM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Jynx - 65, 50, 35, 95, 115, 95, - TYPE_ICE, - TYPE_PSYCHIC, - 45, // catch rate - 137, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_ASPEAR_BERRY, - ITEM_ASPEAR_BERRY, - 254, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_OBLIVIOUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Electabuzz - 65, 83, 57, 105, 95, 85, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 45, // catch rate - 156, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 63, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_STATIC, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW, TRUE - }, { // Magmar - 65, 95, 57, 93, 100, 85, - TYPE_FIRE, - TYPE_FIRE, - 45, // catch rate - 167, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_RAWST_BERRY, - ITEM_RAWST_BERRY, - 63, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_FLAME_BODY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Pinsir - 65, 125, 100, 85, 55, 70, - TYPE_BUG, - TYPE_BUG, - 45, // catch rate - 200, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_HYPER_CUTTER, - ABILITY_NONE, - 8, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Tauros - 75, 100, 95, 110, 40, 70, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 211, // base exp. yield - 0, 1, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 0, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_INTIMIDATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Magikarp - 20, 10, 55, 80, 15, 20, - TYPE_WATER, - TYPE_WATER, - 255, // catch rate - 20, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 5, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_2, - EGG_GROUP_DRAGON, - ABILITY_SWIFT_SWIM, - ABILITY_NONE, - 4, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Gyarados - 95, 125, 79, 81, 60, 100, - TYPE_WATER, - TYPE_FLYING, - 45, // catch rate - 214, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 5, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_2, - EGG_GROUP_DRAGON, - ABILITY_INTIMIDATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Lapras - 130, 85, 80, 60, 85, 95, - TYPE_WATER, - TYPE_ICE, - 45, // catch rate - 219, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 40, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_WATER_ABSORB, - ABILITY_SHELL_ARMOR, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Ditto - 48, 48, 48, 48, 48, 48, - TYPE_NORMAL, - TYPE_NORMAL, - 35, // catch rate - 61, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_METAL_POWDER, - 255, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_DITTO, - EGG_GROUP_DITTO, - ABILITY_LIMBER, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Eevee - 55, 55, 50, 55, 45, 65, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 92, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 35, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_RUN_AWAY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Vaporeon - 130, 65, 60, 65, 110, 95, - TYPE_WATER, - TYPE_WATER, - 45, // catch rate - 196, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 35, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_WATER_ABSORB, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Jolteon - 65, 65, 60, 130, 110, 95, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 45, // catch rate - 197, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 35, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_VOLT_ABSORB, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Flareon - 65, 130, 60, 65, 95, 110, - TYPE_FIRE, - TYPE_FIRE, - 45, // catch rate - 198, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 35, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_FLASH_FIRE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Porygon - 65, 60, 70, 40, 85, 75, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 130, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_TRACE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Omanyte - 35, 40, 100, 35, 90, 55, - TYPE_ROCK, - TYPE_WATER, - 45, // catch rate - 120, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 30, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_3, - ABILITY_SWIFT_SWIM, - ABILITY_SHELL_ARMOR, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Omastar - 70, 60, 125, 55, 115, 70, - TYPE_ROCK, - TYPE_WATER, - 45, // catch rate - 199, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 30, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_3, - ABILITY_SWIFT_SWIM, - ABILITY_SHELL_ARMOR, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Kabuto - 30, 80, 90, 55, 55, 45, - TYPE_ROCK, - TYPE_WATER, - 45, // catch rate - 119, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 30, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_3, - ABILITY_SWIFT_SWIM, - ABILITY_BATTLE_ARMOR, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Kabutops - 60, 115, 105, 80, 65, 70, - TYPE_ROCK, - TYPE_WATER, - 45, // catch rate - 201, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 30, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_3, - ABILITY_SWIFT_SWIM, - ABILITY_BATTLE_ARMOR, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Aerodactyl - 80, 105, 65, 130, 60, 75, - TYPE_ROCK, - TYPE_FLYING, - 45, // catch rate - 202, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 35, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_ROCK_HEAD, - ABILITY_PRESSURE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Snorlax - 160, 110, 65, 30, 65, 110, - TYPE_NORMAL, - TYPE_NORMAL, - 25, // catch rate - 154, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_LEFTOVERS, - ITEM_LEFTOVERS, - 31, // gender - 40, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_MONSTER, - ABILITY_IMMUNITY, - ABILITY_THICK_FAT, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Articuno - 90, 85, 100, 85, 95, 125, - TYPE_ICE, - TYPE_FLYING, - 3, // catch rate - 215, // base exp. yield - 0, 0, 0, 0, 0, 3, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 80, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_PRESSURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Zapdos - 90, 90, 85, 100, 125, 90, - TYPE_ELECTRIC, - TYPE_FLYING, - 3, // catch rate - 216, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 80, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_PRESSURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Moltres - 90, 100, 90, 90, 125, 85, - TYPE_FIRE, - TYPE_FLYING, - 3, // catch rate - 217, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 80, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_PRESSURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Dratini - 41, 64, 45, 50, 50, 50, - TYPE_DRAGON, - TYPE_DRAGON, - 45, // catch rate - 67, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_DRAGON_SCALE, - 127, // gender - 40, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_DRAGON, - ABILITY_SHED_SKIN, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Dragonair - 61, 84, 65, 70, 70, 70, - TYPE_DRAGON, - TYPE_DRAGON, - 45, // catch rate - 144, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_DRAGON_SCALE, - 127, // gender - 40, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_DRAGON, - ABILITY_SHED_SKIN, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Dragonite - 91, 134, 95, 80, 100, 100, - TYPE_DRAGON, - TYPE_FLYING, - 45, // catch rate - 218, // base exp. yield - 0, 3, 0, 0, 0, 0, - ITEM_NONE, - ITEM_DRAGON_SCALE, - 127, // gender - 40, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_DRAGON, - ABILITY_INNER_FOCUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Mewtwo - 106, 110, 90, 130, 154, 90, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 3, // catch rate - 220, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_PRESSURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Mew - 100, 100, 100, 100, 100, 100, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 45, // catch rate - 64, // base exp. yield - 3, 0, 0, 0, 0, 0, - ITEM_LUM_BERRY, - ITEM_LUM_BERRY, - 255, // gender - 120, // egg cycles - 100, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_SYNCHRONIZE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Chikorita - 45, 49, 65, 45, 49, 65, - TYPE_GRASS, - TYPE_GRASS, - 45, // catch rate - 64, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_GRASS, - ABILITY_OVERGROW, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Bayleef - 60, 62, 80, 60, 63, 80, - TYPE_GRASS, - TYPE_GRASS, - 45, // catch rate - 141, // base exp. yield - 0, 0, 1, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_GRASS, - ABILITY_OVERGROW, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Meganium - 80, 82, 100, 80, 83, 100, - TYPE_GRASS, - TYPE_GRASS, - 45, // catch rate - 208, // base exp. yield - 0, 0, 1, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_GRASS, - ABILITY_OVERGROW, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Cyndaquil - 39, 52, 43, 65, 60, 50, - TYPE_FIRE, - TYPE_FIRE, - 45, // catch rate - 65, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_BLAZE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Quilava - 58, 64, 58, 80, 80, 65, - TYPE_FIRE, - TYPE_FIRE, - 45, // catch rate - 142, // base exp. yield - 0, 0, 0, 1, 1, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_BLAZE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Typhlosion - 78, 84, 78, 100, 109, 85, - TYPE_FIRE, - TYPE_FIRE, - 45, // catch rate - 209, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_BLAZE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Totodile - 50, 65, 64, 43, 44, 48, - TYPE_WATER, - TYPE_WATER, - 45, // catch rate - 66, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_TORRENT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Croconaw - 65, 80, 80, 58, 59, 63, - TYPE_WATER, - TYPE_WATER, - 45, // catch rate - 143, // base exp. yield - 0, 1, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_TORRENT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE, TRUE - }, { // Feraligatr - 85, 105, 100, 78, 79, 83, - TYPE_WATER, - TYPE_WATER, - 45, // catch rate - 210, // base exp. yield - 0, 2, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_TORRENT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Sentret - 35, 46, 34, 20, 35, 45, - TYPE_NORMAL, - TYPE_NORMAL, - 255, // catch rate - 57, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_ORAN_BERRY, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_RUN_AWAY, - ABILITY_KEEN_EYE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Furret - 85, 76, 64, 90, 45, 55, - TYPE_NORMAL, - TYPE_NORMAL, - 90, // catch rate - 116, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_ORAN_BERRY, - ITEM_SITRUS_BERRY, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_RUN_AWAY, - ABILITY_KEEN_EYE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Hoothoot - 60, 30, 30, 50, 36, 56, - TYPE_NORMAL, - TYPE_FLYING, - 255, // catch rate - 58, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_INSOMNIA, - ABILITY_KEEN_EYE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Noctowl - 100, 50, 50, 70, 76, 96, - TYPE_NORMAL, - TYPE_FLYING, - 90, // catch rate - 162, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_INSOMNIA, - ABILITY_KEEN_EYE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Ledyba - 40, 20, 30, 55, 40, 80, - TYPE_BUG, - TYPE_FLYING, - 255, // catch rate - 54, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SWARM, - ABILITY_EARLY_BIRD, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Ledian - 55, 35, 50, 85, 55, 110, - TYPE_BUG, - TYPE_FLYING, - 90, // catch rate - 134, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SWARM, - ABILITY_EARLY_BIRD, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Spinarak - 40, 60, 40, 30, 40, 40, - TYPE_BUG, - TYPE_POISON, - 255, // catch rate - 54, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SWARM, - ABILITY_INSOMNIA, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Ariados - 70, 90, 70, 40, 60, 60, - TYPE_BUG, - TYPE_POISON, - 90, // catch rate - 134, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SWARM, - ABILITY_INSOMNIA, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Crobat - 85, 90, 80, 130, 70, 80, - TYPE_POISON, - TYPE_FLYING, - 90, // catch rate - 204, // base exp. yield - 0, 0, 0, 3, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_INNER_FOCUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Chinchou - 75, 38, 38, 67, 56, 56, - TYPE_WATER, - TYPE_ELECTRIC, - 190, // catch rate - 90, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_YELLOW_SHARD, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_2, - EGG_GROUP_WATER_2, - ABILITY_VOLT_ABSORB, - ABILITY_ILLUMINATE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Lanturn - 125, 58, 58, 67, 76, 76, - TYPE_WATER, - TYPE_ELECTRIC, - 75, // catch rate - 156, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_YELLOW_SHARD, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_2, - EGG_GROUP_WATER_2, - ABILITY_VOLT_ABSORB, - ABILITY_ILLUMINATE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Pichu - 20, 40, 15, 60, 35, 35, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 190, // catch rate - 42, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_ORAN_BERRY, - 127, // gender - 10, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_STATIC, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Cleffa - 50, 25, 28, 15, 45, 55, - TYPE_NORMAL, - TYPE_NORMAL, - 150, // catch rate - 37, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_LEPPA_BERRY, - ITEM_MOON_STONE, - 191, // gender - 10, // egg cycles - 140, // base friendship - GROWTH_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_CUTE_CHARM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Igglybuff - 90, 30, 15, 15, 40, 20, - TYPE_NORMAL, - TYPE_NORMAL, - 170, // catch rate - 39, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 191, // gender - 10, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_CUTE_CHARM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK, TRUE - }, { // Togepi - 35, 20, 65, 20, 40, 65, - TYPE_NORMAL, - TYPE_NORMAL, - 190, // catch rate - 74, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 10, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_HUSTLE, - ABILITY_SERENE_GRACE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Togetic - 55, 40, 85, 40, 80, 105, - TYPE_NORMAL, - TYPE_FLYING, - 75, // catch rate - 114, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 10, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FAIRY, - ABILITY_HUSTLE, - ABILITY_SERENE_GRACE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Natu - 40, 50, 45, 70, 70, 45, - TYPE_PSYCHIC, - TYPE_FLYING, - 190, // catch rate - 73, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_SYNCHRONIZE, - ABILITY_EARLY_BIRD, - 6, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Xatu - 65, 75, 70, 95, 95, 70, - TYPE_PSYCHIC, - TYPE_FLYING, - 75, // catch rate - 171, // base exp. yield - 0, 0, 0, 1, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_SYNCHRONIZE, - ABILITY_EARLY_BIRD, - 8, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Mareep - 55, 40, 40, 35, 65, 45, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 235, // catch rate - 59, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_FIELD, - ABILITY_STATIC, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Flaaffy - 70, 55, 55, 45, 80, 60, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 120, // catch rate - 117, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_FIELD, - ABILITY_STATIC, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Ampharos - 90, 75, 75, 55, 115, 90, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 45, // catch rate - 194, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_FIELD, - ABILITY_STATIC, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Bellossom - 75, 80, 85, 50, 90, 100, - TYPE_GRASS, - TYPE_GRASS, - 45, // catch rate - 184, // base exp. yield - 0, 0, 0, 0, 0, 3, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Marill - 70, 20, 50, 40, 20, 50, - TYPE_WATER, - TYPE_WATER, - 190, // catch rate - 58, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 10, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_FAIRY, - ABILITY_THICK_FAT, - ABILITY_HUGE_POWER, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Azumarill - 100, 50, 80, 50, 50, 80, - TYPE_WATER, - TYPE_WATER, - 75, // catch rate - 153, // base exp. yield - 3, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 10, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_FAIRY, - ABILITY_THICK_FAT, - ABILITY_HUGE_POWER, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Sudowoodo - 70, 100, 115, 30, 30, 65, - TYPE_ROCK, - TYPE_ROCK, - 65, // catch rate - 135, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_STURDY, - ABILITY_ROCK_HEAD, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Politoed - 90, 75, 75, 70, 90, 100, - TYPE_WATER, - TYPE_WATER, - 45, // catch rate - 185, // base exp. yield - 0, 0, 0, 0, 0, 3, - ITEM_NONE, - ITEM_KINGS_ROCK, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_1, - ABILITY_WATER_ABSORB, - ABILITY_DAMP, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN, TRUE - }, { // Hoppip - 35, 35, 40, 50, 35, 55, - TYPE_GRASS, - TYPE_FLYING, - 255, // catch rate - 74, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FAIRY, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Skiploom - 55, 45, 50, 80, 45, 65, - TYPE_GRASS, - TYPE_FLYING, - 120, // catch rate - 136, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FAIRY, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Jumpluff - 75, 55, 70, 110, 55, 85, - TYPE_GRASS, - TYPE_FLYING, - 45, // catch rate - 176, // base exp. yield - 0, 0, 0, 3, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FAIRY, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Aipom - 55, 70, 55, 85, 40, 55, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 94, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_RUN_AWAY, - ABILITY_PICKUP, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Sunkern - 30, 30, 30, 30, 30, 30, - TYPE_GRASS, - TYPE_GRASS, - 235, // catch rate - 52, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Sunflora - 75, 75, 55, 30, 105, 85, - TYPE_GRASS, - TYPE_GRASS, - 120, // catch rate - 146, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Yanma - 65, 65, 45, 95, 75, 45, - TYPE_BUG, - TYPE_FLYING, - 75, // catch rate - 147, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SPEED_BOOST, - ABILITY_COMPOUND_EYES, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Wooper - 55, 45, 45, 15, 25, 25, - TYPE_WATER, - TYPE_GROUND, - 255, // catch rate - 52, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_FIELD, - ABILITY_DAMP, - ABILITY_WATER_ABSORB, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Quagsire - 95, 85, 85, 35, 65, 65, - TYPE_WATER, - TYPE_GROUND, - 90, // catch rate - 137, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_FIELD, - ABILITY_DAMP, - ABILITY_WATER_ABSORB, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Espeon - 65, 65, 60, 110, 130, 95, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 45, // catch rate - 197, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 35, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_SYNCHRONIZE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Umbreon - 95, 65, 110, 65, 60, 130, - TYPE_DARK, - TYPE_DARK, - 45, // catch rate - 197, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 35, // egg cycles - 35, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_SYNCHRONIZE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Murkrow - 60, 85, 42, 91, 85, 42, - TYPE_DARK, - TYPE_FLYING, - 30, // catch rate - 107, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 35, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_INSOMNIA, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Slowking - 95, 75, 80, 30, 100, 110, - TYPE_WATER, - TYPE_PSYCHIC, - 70, // catch rate - 164, // base exp. yield - 0, 0, 0, 0, 0, 3, - ITEM_NONE, - ITEM_KINGS_ROCK, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_OBLIVIOUS, - ABILITY_OWN_TEMPO, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Misdreavus - 60, 60, 60, 85, 85, 85, - TYPE_GHOST, - TYPE_GHOST, - 45, // catch rate - 147, // base exp. yield - 0, 0, 0, 0, 1, 1, - ITEM_NONE, - ITEM_SPELL_TAG, - 127, // gender - 25, // egg cycles - 35, // base friendship - GROWTH_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Unown - 48, 72, 48, 48, 72, 48, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 225, // catch rate - 61, // base exp. yield - 0, 1, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 40, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK, TRUE - }, { // Wobbuffet - 190, 33, 58, 33, 33, 58, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 45, // catch rate - 177, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_SHADOW_TAG, - ABILITY_NONE, - 4, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Girafarig - 70, 80, 65, 85, 90, 65, - TYPE_NORMAL, - TYPE_PSYCHIC, - 60, // catch rate - 149, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_PERSIM_BERRY, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_INNER_FOCUS, - ABILITY_EARLY_BIRD, - 4, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Pineco - 50, 65, 90, 15, 35, 35, - TYPE_BUG, - TYPE_BUG, - 190, // catch rate - 60, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_STURDY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Forretress - 75, 90, 140, 40, 60, 60, - TYPE_BUG, - TYPE_STEEL, - 75, // catch rate - 118, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_STURDY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Dunsparce - 100, 70, 70, 45, 65, 65, - TYPE_NORMAL, - TYPE_NORMAL, - 190, // catch rate - 75, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_SERENE_GRACE, - ABILITY_RUN_AWAY, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Gligar - 65, 75, 105, 85, 35, 65, - TYPE_GROUND, - TYPE_FLYING, - 60, // catch rate - 108, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_HYPER_CUTTER, - ABILITY_SAND_VEIL, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Steelix - 75, 85, 200, 30, 55, 65, - TYPE_STEEL, - TYPE_GROUND, - 25, // catch rate - 196, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_METAL_COAT, - 127, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_ROCK_HEAD, - ABILITY_STURDY, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Snubbull - 60, 80, 50, 30, 40, 40, - TYPE_NORMAL, - TYPE_NORMAL, - 190, // catch rate - 63, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 191, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FAIRY, - ABILITY_INTIMIDATE, - ABILITY_RUN_AWAY, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Granbull - 90, 120, 75, 45, 60, 60, - TYPE_NORMAL, - TYPE_NORMAL, - 75, // catch rate - 178, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 191, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FAIRY, - ABILITY_INTIMIDATE, - ABILITY_INTIMIDATE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Qwilfish - 65, 95, 75, 85, 55, 55, - TYPE_WATER, - TYPE_POISON, - 45, // catch rate - 100, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_2, - EGG_GROUP_WATER_2, - ABILITY_POISON_POINT, - ABILITY_SWIFT_SWIM, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Scizor - 70, 130, 100, 65, 55, 80, - TYPE_BUG, - TYPE_STEEL, - 25, // catch rate - 200, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SWARM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Shuckle - 20, 10, 230, 5, 10, 230, - TYPE_BUG, - TYPE_ROCK, - 190, // catch rate - 80, // base exp. yield - 0, 0, 1, 0, 0, 1, - ITEM_ORAN_BERRY, - ITEM_ORAN_BERRY, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_STURDY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Heracross - 80, 125, 75, 85, 40, 95, - TYPE_BUG, - TYPE_FIGHTING, - 45, // catch rate - 200, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SWARM, - ABILITY_GUTS, - 8, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Sneasel - 55, 95, 55, 115, 35, 75, - TYPE_DARK, - TYPE_ICE, - 60, // catch rate - 132, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_QUICK_CLAW, - 127, // gender - 20, // egg cycles - 35, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_INNER_FOCUS, - ABILITY_KEEN_EYE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK, TRUE - }, { // Teddiursa - 60, 80, 50, 40, 50, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 120, // catch rate - 124, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_PICKUP, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN, TRUE - }, { // Ursaring - 90, 130, 75, 55, 75, 75, - TYPE_NORMAL, - TYPE_NORMAL, - 60, // catch rate - 189, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_GUTS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Slugma - 40, 40, 40, 20, 70, 40, - TYPE_FIRE, - TYPE_FIRE, - 190, // catch rate - 78, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_MAGMA_ARMOR, - ABILITY_FLAME_BODY, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Magcargo - 50, 50, 120, 30, 80, 80, - TYPE_FIRE, - TYPE_ROCK, - 75, // catch rate - 154, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_MAGMA_ARMOR, - ABILITY_FLAME_BODY, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Swinub - 50, 50, 40, 50, 30, 30, - TYPE_ICE, - TYPE_GROUND, - 225, // catch rate - 78, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_OBLIVIOUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Piloswine - 100, 100, 80, 50, 60, 60, - TYPE_ICE, - TYPE_GROUND, - 75, // catch rate - 160, // base exp. yield - 1, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_OBLIVIOUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Corsola - 55, 55, 85, 35, 65, 85, - TYPE_WATER, - TYPE_ROCK, - 60, // catch rate - 113, // base exp. yield - 0, 0, 1, 0, 0, 1, - ITEM_NONE, - ITEM_RED_SHARD, - 191, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_3, - ABILITY_HUSTLE, - ABILITY_NATURAL_CURE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Remoraid - 35, 65, 35, 65, 65, 35, - TYPE_WATER, - TYPE_WATER, - 190, // catch rate - 78, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_2, - ABILITY_HUSTLE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Octillery - 75, 105, 75, 45, 105, 75, - TYPE_WATER, - TYPE_WATER, - 75, // catch rate - 164, // base exp. yield - 0, 1, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_2, - ABILITY_SUCTION_CUPS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Delibird - 45, 55, 45, 75, 65, 45, - TYPE_ICE, - TYPE_FLYING, - 45, // catch rate - 183, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_FIELD, - ABILITY_VITAL_SPIRIT, - ABILITY_HUSTLE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Mantine - 65, 40, 70, 70, 80, 140, - TYPE_WATER, - TYPE_FLYING, - 25, // catch rate - 168, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_1, - ABILITY_SWIFT_SWIM, - ABILITY_WATER_ABSORB, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Skarmory - 65, 80, 140, 70, 40, 70, - TYPE_STEEL, - TYPE_FLYING, - 25, // catch rate - 168, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_KEEN_EYE, - ABILITY_STURDY, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Houndour - 45, 60, 30, 65, 80, 50, - TYPE_DARK, - TYPE_FIRE, - 120, // catch rate - 114, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_EARLY_BIRD, - ABILITY_FLASH_FIRE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Houndoom - 75, 90, 50, 95, 110, 80, - TYPE_DARK, - TYPE_FIRE, - 45, // catch rate - 204, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_EARLY_BIRD, - ABILITY_FLASH_FIRE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Kingdra - 75, 95, 95, 85, 95, 95, - TYPE_WATER, - TYPE_DRAGON, - 45, // catch rate - 207, // base exp. yield - 0, 1, 0, 0, 1, 1, - ITEM_NONE, - ITEM_DRAGON_SCALE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_DRAGON, - ABILITY_SWIFT_SWIM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Phanpy - 90, 60, 60, 40, 40, 40, - TYPE_GROUND, - TYPE_GROUND, - 120, // catch rate - 124, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_PICKUP, - ABILITY_NONE, - 10, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Donphan - 90, 120, 120, 50, 60, 60, - TYPE_GROUND, - TYPE_GROUND, - 60, // catch rate - 189, // base exp. yield - 0, 1, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_STURDY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Porygon2 - 85, 80, 90, 60, 105, 95, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 180, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_TRACE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Stantler - 73, 95, 62, 85, 85, 65, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 165, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_INTIMIDATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Smeargle - 55, 20, 35, 75, 20, 45, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 106, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_OWN_TEMPO, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Tyrogue - 35, 35, 35, 35, 35, 35, - TYPE_FIGHTING, - TYPE_FIGHTING, - 75, // catch rate - 91, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 0, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_GUTS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Hitmontop - 50, 95, 95, 70, 35, 110, - TYPE_FIGHTING, - TYPE_FIGHTING, - 45, // catch rate - 138, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 0, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_INTIMIDATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Smoochum - 45, 30, 15, 65, 85, 65, - TYPE_ICE, - TYPE_PSYCHIC, - 45, // catch rate - 87, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_ASPEAR_BERRY, - ITEM_ASPEAR_BERRY, - 254, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_OBLIVIOUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Elekid - 45, 63, 37, 95, 65, 55, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 45, // catch rate - 106, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 63, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_STATIC, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW, TRUE - }, { // Magby - 45, 75, 37, 83, 70, 55, - TYPE_FIRE, - TYPE_FIRE, - 45, // catch rate - 117, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_RAWST_BERRY, - ITEM_RAWST_BERRY, - 63, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_FLAME_BODY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Miltank - 95, 80, 105, 100, 40, 70, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 200, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_MOOMOO_MILK, - ITEM_MOOMOO_MILK, - 254, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_THICK_FAT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Blissey - 255, 10, 10, 55, 75, 135, - TYPE_NORMAL, - TYPE_NORMAL, - 30, // catch rate - 255, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_LUCKY_EGG, - 254, // gender - 40, // egg cycles - 140, // base friendship - GROWTH_FAST, - EGG_GROUP_FAIRY, - EGG_GROUP_FAIRY, - ABILITY_NATURAL_CURE, - ABILITY_SERENE_GRACE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Raikou - 90, 85, 75, 115, 115, 100, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 3, // catch rate - 216, // base exp. yield - 0, 0, 0, 2, 1, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 80, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_PRESSURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Entei - 115, 115, 85, 100, 90, 75, - TYPE_FIRE, - TYPE_FIRE, - 3, // catch rate - 217, // base exp. yield - 1, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 80, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_PRESSURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Suicune - 100, 75, 115, 85, 90, 115, - TYPE_WATER, - TYPE_WATER, - 3, // catch rate - 215, // base exp. yield - 0, 0, 1, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 80, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_PRESSURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Larvitar - 50, 64, 50, 41, 45, 50, - TYPE_ROCK, - TYPE_GROUND, - 45, // catch rate - 67, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 40, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_MONSTER, - ABILITY_GUTS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Pupitar - 70, 84, 70, 51, 65, 70, - TYPE_ROCK, - TYPE_GROUND, - 45, // catch rate - 144, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 40, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_MONSTER, - ABILITY_SHED_SKIN, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Tyranitar - 100, 134, 110, 61, 95, 100, - TYPE_ROCK, - TYPE_DARK, - 45, // catch rate - 218, // base exp. yield - 0, 3, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 40, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_MONSTER, - ABILITY_SAND_STREAM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Lugia - 106, 90, 130, 110, 90, 154, - TYPE_PSYCHIC, - TYPE_FLYING, - 3, // catch rate - 220, // base exp. yield - 0, 0, 0, 0, 0, 3, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_PRESSURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Ho-Oh - 106, 130, 90, 90, 110, 154, - TYPE_FIRE, - TYPE_FLYING, - 3, // catch rate - 220, // base exp. yield - 0, 0, 0, 0, 0, 3, - ITEM_SACRED_ASH, - ITEM_SACRED_ASH, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_PRESSURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Celebi - 100, 100, 100, 100, 100, 100, - TYPE_PSYCHIC, - TYPE_GRASS, - 45, // catch rate - 64, // base exp. yield - 3, 0, 0, 0, 0, 0, - ITEM_LUM_BERRY, - ITEM_LUM_BERRY, - 255, // gender - 120, // egg cycles - 100, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NATURAL_CURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // ? - 50, 150, 50, 150, 150, 50, - TYPE_NORMAL, - TYPE_NORMAL, - 3, // catch rate - 1, // base exp. yield - 2, 2, 2, 2, 2, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_NONE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Treecko - 40, 45, 35, 70, 65, 55, - TYPE_GRASS, - TYPE_GRASS, - 45, // catch rate - 65, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_DRAGON, - ABILITY_OVERGROW, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Grovyle - 50, 65, 45, 95, 85, 65, - TYPE_GRASS, - TYPE_GRASS, - 45, // catch rate - 141, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_DRAGON, - ABILITY_OVERGROW, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Sceptile - 70, 85, 65, 120, 105, 85, - TYPE_GRASS, - TYPE_GRASS, - 45, // catch rate - 208, // base exp. yield - 0, 0, 0, 3, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_DRAGON, - ABILITY_OVERGROW, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Torchic - 45, 60, 40, 45, 70, 50, - TYPE_FIRE, - TYPE_FIRE, - 45, // catch rate - 65, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_BLAZE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Combusken - 60, 85, 60, 55, 85, 60, - TYPE_FIRE, - TYPE_FIGHTING, - 45, // catch rate - 142, // base exp. yield - 0, 1, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_BLAZE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Blaziken - 80, 120, 70, 80, 110, 70, - TYPE_FIRE, - TYPE_FIGHTING, - 45, // catch rate - 209, // base exp. yield - 0, 3, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_BLAZE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Mudkip - 50, 70, 50, 40, 50, 50, - TYPE_WATER, - TYPE_WATER, - 45, // catch rate - 65, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_TORRENT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Marshtomp - 70, 85, 70, 50, 60, 70, - TYPE_WATER, - TYPE_GROUND, - 45, // catch rate - 143, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_TORRENT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Swampert - 100, 110, 90, 60, 85, 90, - TYPE_WATER, - TYPE_GROUND, - 45, // catch rate - 210, // base exp. yield - 0, 3, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - ABILITY_TORRENT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Poochyena - 35, 55, 35, 35, 30, 30, - TYPE_DARK, - TYPE_DARK, - 255, // catch rate - 55, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_PECHA_BERRY, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_RUN_AWAY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Mightyena - 70, 90, 70, 70, 60, 60, - TYPE_DARK, - TYPE_DARK, - 127, // catch rate - 128, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_PECHA_BERRY, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_INTIMIDATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Zigzagoon - 38, 30, 41, 60, 30, 41, - TYPE_NORMAL, - TYPE_NORMAL, - 255, // catch rate - 60, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_ORAN_BERRY, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_PICKUP, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Linoone - 78, 70, 61, 100, 50, 61, - TYPE_NORMAL, - TYPE_NORMAL, - 90, // catch rate - 128, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_ORAN_BERRY, - ITEM_SITRUS_BERRY, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_PICKUP, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Wurmple - 45, 45, 35, 20, 20, 30, - TYPE_BUG, - TYPE_BUG, - 255, // catch rate - 54, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SHIELD_DUST, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Silcoon - 50, 35, 55, 15, 25, 25, - TYPE_BUG, - TYPE_BUG, - 120, // catch rate - 71, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SHED_SKIN, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Beautifly - 60, 70, 50, 65, 90, 50, - TYPE_BUG, - TYPE_FLYING, - 45, // catch rate - 161, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_SILVER_POWDER, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SWARM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Cascoon - 50, 35, 55, 15, 25, 25, - TYPE_BUG, - TYPE_BUG, - 120, // catch rate - 72, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SHED_SKIN, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Dustox - 60, 50, 70, 65, 50, 90, - TYPE_BUG, - TYPE_POISON, - 45, // catch rate - 160, // base exp. yield - 0, 0, 0, 0, 0, 3, - ITEM_NONE, - ITEM_SILVER_POWDER, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SHIELD_DUST, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Lotad - 40, 30, 30, 30, 40, 50, - TYPE_WATER, - TYPE_GRASS, - 255, // catch rate - 74, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_GRASS, - ABILITY_SWIFT_SWIM, - ABILITY_RAIN_DISH, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Lombre - 60, 50, 50, 50, 60, 70, - TYPE_WATER, - TYPE_GRASS, - 120, // catch rate - 141, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_GRASS, - ABILITY_SWIFT_SWIM, - ABILITY_RAIN_DISH, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Ludicolo - 80, 70, 70, 70, 90, 100, - TYPE_WATER, - TYPE_GRASS, - 45, // catch rate - 181, // base exp. yield - 0, 0, 0, 0, 0, 3, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_GRASS, - ABILITY_SWIFT_SWIM, - ABILITY_RAIN_DISH, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Seedot - 40, 40, 50, 30, 30, 30, - TYPE_GRASS, - TYPE_GRASS, - 255, // catch rate - 74, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_EARLY_BIRD, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Nuzleaf - 70, 70, 40, 60, 60, 40, - TYPE_GRASS, - TYPE_DARK, - 120, // catch rate - 141, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_EARLY_BIRD, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Shiftry - 90, 100, 60, 80, 90, 60, - TYPE_GRASS, - TYPE_DARK, - 45, // catch rate - 181, // base exp. yield - 0, 3, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_EARLY_BIRD, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Nincada - 31, 45, 90, 40, 30, 30, - TYPE_BUG, - TYPE_GROUND, - 255, // catch rate - 65, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_COMPOUND_EYES, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Ninjask - 61, 90, 45, 160, 50, 50, - TYPE_BUG, - TYPE_FLYING, - 120, // catch rate - 155, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_SPEED_BOOST, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Shedinja - 1, 90, 45, 40, 30, 30, - TYPE_BUG, - TYPE_GHOST, - 45, // catch rate - 95, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_WONDER_GUARD, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Taillow - 40, 55, 30, 85, 30, 30, - TYPE_NORMAL, - TYPE_FLYING, - 200, // catch rate - 59, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_GUTS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Swellow - 60, 85, 60, 125, 50, 50, - TYPE_NORMAL, - TYPE_FLYING, - 45, // catch rate - 162, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FLYING, - EGG_GROUP_FLYING, - ABILITY_GUTS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Shroomish - 60, 40, 60, 35, 40, 60, - TYPE_GRASS, - TYPE_GRASS, - 255, // catch rate - 65, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_FLUCTUATING, - EGG_GROUP_FAIRY, - EGG_GROUP_GRASS, - ABILITY_EFFECT_SPORE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Breloom - 60, 130, 80, 70, 60, 60, - TYPE_GRASS, - TYPE_FIGHTING, - 90, // catch rate - 165, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_FLUCTUATING, - EGG_GROUP_FAIRY, - EGG_GROUP_GRASS, - ABILITY_EFFECT_SPORE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Spinda - 60, 60, 60, 60, 60, 60, - TYPE_NORMAL, - TYPE_NORMAL, - 255, // catch rate - 85, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_CHESTO_BERRY, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_HUMAN_LIKE, - ABILITY_OWN_TEMPO, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN, TRUE - }, { // Wingull - 40, 30, 30, 85, 55, 30, - TYPE_WATER, - TYPE_FLYING, - 190, // catch rate - 64, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_FLYING, - ABILITY_KEEN_EYE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Pelipper - 60, 50, 100, 65, 85, 70, - TYPE_WATER, - TYPE_FLYING, - 45, // catch rate - 164, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_FLYING, - ABILITY_KEEN_EYE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Surskit - 40, 30, 32, 65, 50, 52, - TYPE_BUG, - TYPE_WATER, - 200, // catch rate - 63, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_BUG, - ABILITY_SWIFT_SWIM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Masquerain - 70, 60, 62, 60, 80, 82, - TYPE_BUG, - TYPE_FLYING, - 75, // catch rate - 128, // base exp. yield - 0, 0, 0, 0, 1, 1, - ITEM_NONE, - ITEM_SILVER_POWDER, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_1, - EGG_GROUP_BUG, - ABILITY_INTIMIDATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Wailmer - 130, 70, 35, 60, 70, 35, - TYPE_WATER, - TYPE_WATER, - 125, // catch rate - 137, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 40, // egg cycles - 70, // base friendship - GROWTH_FLUCTUATING, - EGG_GROUP_FIELD, - EGG_GROUP_WATER_2, - ABILITY_WATER_VEIL, - ABILITY_OBLIVIOUS, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Wailord - 170, 90, 45, 60, 90, 45, - TYPE_WATER, - TYPE_WATER, - 60, // catch rate - 206, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 40, // egg cycles - 70, // base friendship - GROWTH_FLUCTUATING, - EGG_GROUP_FIELD, - EGG_GROUP_WATER_2, - ABILITY_WATER_VEIL, - ABILITY_OBLIVIOUS, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Skitty - 50, 45, 45, 50, 35, 35, - TYPE_NORMAL, - TYPE_NORMAL, - 255, // catch rate - 65, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_LEPPA_BERRY, - 191, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FAIRY, - ABILITY_CUTE_CHARM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Delcatty - 70, 65, 65, 70, 55, 55, - TYPE_NORMAL, - TYPE_NORMAL, - 60, // catch rate - 138, // base exp. yield - 1, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_LEPPA_BERRY, - 191, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FAIRY, - ABILITY_CUTE_CHARM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Kecleon - 60, 90, 70, 40, 60, 120, - TYPE_NORMAL, - TYPE_NORMAL, - 200, // catch rate - 132, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_PERSIM_BERRY, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_COLOR_CHANGE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Baltoy - 40, 40, 55, 55, 40, 70, - TYPE_GROUND, - TYPE_PSYCHIC, - 255, // catch rate - 58, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Claydol - 60, 70, 105, 75, 70, 120, - TYPE_GROUND, - TYPE_PSYCHIC, - 90, // catch rate - 189, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Nosepass - 30, 45, 135, 30, 45, 90, - TYPE_ROCK, - TYPE_ROCK, - 255, // catch rate - 108, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_STURDY, - ABILITY_MAGNET_PULL, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Torkoal - 70, 85, 140, 20, 85, 70, - TYPE_FIRE, - TYPE_FIRE, - 90, // catch rate - 161, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_WHITE_SMOKE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Sableye - 50, 75, 75, 50, 65, 65, - TYPE_DARK, - TYPE_GHOST, - 45, // catch rate - 98, // base exp. yield - 0, 1, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 25, // egg cycles - 35, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_KEEN_EYE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Barboach - 50, 48, 43, 60, 46, 41, - TYPE_WATER, - TYPE_GROUND, - 190, // catch rate - 92, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_2, - EGG_GROUP_WATER_2, - ABILITY_OBLIVIOUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Whiscash - 110, 78, 73, 60, 76, 71, - TYPE_WATER, - TYPE_GROUND, - 75, // catch rate - 158, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_WATER_2, - EGG_GROUP_WATER_2, - ABILITY_OBLIVIOUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Luvdisc - 43, 30, 55, 97, 40, 65, - TYPE_WATER, - TYPE_WATER, - 225, // catch rate - 110, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_HEART_SCALE, - ITEM_NONE, - 191, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_WATER_2, - EGG_GROUP_WATER_2, - ABILITY_SWIFT_SWIM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Corphish - 43, 80, 65, 35, 50, 35, - TYPE_WATER, - TYPE_WATER, - 205, // catch rate - 111, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_FLUCTUATING, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_3, - ABILITY_HYPER_CUTTER, - ABILITY_SHELL_ARMOR, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Crawdaunt - 63, 120, 85, 55, 90, 55, - TYPE_WATER, - TYPE_DARK, - 155, // catch rate - 161, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_FLUCTUATING, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_3, - ABILITY_HYPER_CUTTER, - ABILITY_SHELL_ARMOR, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Feebas - 20, 15, 20, 80, 10, 55, - TYPE_WATER, - TYPE_WATER, - 255, // catch rate - 61, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_WATER_1, - EGG_GROUP_DRAGON, - ABILITY_SWIFT_SWIM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Milotic - 95, 60, 79, 81, 100, 125, - TYPE_WATER, - TYPE_WATER, - 60, // catch rate - 213, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_WATER_1, - EGG_GROUP_DRAGON, - ABILITY_MARVEL_SCALE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Carvanha - 45, 90, 20, 65, 65, 20, - TYPE_WATER, - TYPE_DARK, - 225, // catch rate - 88, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_2, - EGG_GROUP_WATER_2, - ABILITY_ROUGH_SKIN, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Sharpedo - 70, 120, 40, 95, 95, 40, - TYPE_WATER, - TYPE_DARK, - 60, // catch rate - 175, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_2, - EGG_GROUP_WATER_2, - ABILITY_ROUGH_SKIN, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Trapinch - 45, 100, 45, 10, 45, 45, - TYPE_GROUND, - TYPE_GROUND, - 255, // catch rate - 73, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_SOFT_SAND, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_HYPER_CUTTER, - ABILITY_ARENA_TRAP, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Vibrava - 50, 70, 50, 70, 50, 50, - TYPE_GROUND, - TYPE_DRAGON, - 120, // catch rate - 126, // base exp. yield - 0, 1, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_LEVITATE, - ABILITY_LEVITATE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Flygon - 80, 100, 80, 100, 80, 80, - TYPE_GROUND, - TYPE_DRAGON, - 45, // catch rate - 197, // base exp. yield - 0, 1, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_BUG, - EGG_GROUP_BUG, - ABILITY_LEVITATE, - ABILITY_LEVITATE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Makuhita - 72, 60, 30, 25, 20, 30, - TYPE_FIGHTING, - TYPE_FIGHTING, - 180, // catch rate - 87, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 63, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FLUCTUATING, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_THICK_FAT, - ABILITY_GUTS, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Hariyama - 144, 120, 60, 50, 40, 60, - TYPE_FIGHTING, - TYPE_FIGHTING, - 200, // catch rate - 184, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_KINGS_ROCK, - 63, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FLUCTUATING, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_THICK_FAT, - ABILITY_GUTS, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Electrike - 40, 45, 40, 65, 65, 40, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 120, // catch rate - 104, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_STATIC, - ABILITY_LIGHTNING_ROD, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Manectric - 70, 75, 60, 105, 105, 60, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 45, // catch rate - 168, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_STATIC, - ABILITY_LIGHTNING_ROD, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Numel - 60, 60, 40, 35, 65, 45, - TYPE_FIRE, - TYPE_GROUND, - 255, // catch rate - 88, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_RAWST_BERRY, - ITEM_RAWST_BERRY, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_OBLIVIOUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Camerupt - 70, 100, 70, 40, 105, 75, - TYPE_FIRE, - TYPE_GROUND, - 150, // catch rate - 175, // base exp. yield - 0, 1, 0, 0, 1, 0, - ITEM_RAWST_BERRY, - ITEM_RAWST_BERRY, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_MAGMA_ARMOR, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Spheal - 70, 40, 50, 25, 55, 50, - TYPE_ICE, - TYPE_WATER, - 255, // catch rate - 75, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_FIELD, - ABILITY_THICK_FAT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Sealeo - 90, 60, 70, 45, 75, 70, - TYPE_ICE, - TYPE_WATER, - 120, // catch rate - 128, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_FIELD, - ABILITY_THICK_FAT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Walrein - 110, 80, 90, 65, 95, 90, - TYPE_ICE, - TYPE_WATER, - 45, // catch rate - 192, // base exp. yield - 3, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_FIELD, - ABILITY_THICK_FAT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Cacnea - 50, 85, 40, 35, 85, 40, - TYPE_GRASS, - TYPE_GRASS, - 190, // catch rate - 97, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_POISON_BARB, - 127, // gender - 20, // egg cycles - 35, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_HUMAN_LIKE, - ABILITY_SAND_VEIL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Cacturne - 70, 115, 60, 55, 115, 60, - TYPE_GRASS, - TYPE_DARK, - 60, // catch rate - 177, // base exp. yield - 0, 1, 0, 0, 1, 0, - ITEM_NONE, - ITEM_POISON_BARB, - 127, // gender - 20, // egg cycles - 35, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_GRASS, - EGG_GROUP_HUMAN_LIKE, - ABILITY_SAND_VEIL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Snorunt - 50, 50, 50, 50, 50, 50, - TYPE_ICE, - TYPE_ICE, - 190, // catch rate - 74, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FAIRY, - EGG_GROUP_MINERAL, - ABILITY_INNER_FOCUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Glalie - 80, 80, 80, 80, 80, 80, - TYPE_ICE, - TYPE_ICE, - 75, // catch rate - 187, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NEVER_MELT_ICE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FAIRY, - EGG_GROUP_MINERAL, - ABILITY_INNER_FOCUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Lunatone - 70, 55, 65, 70, 95, 85, - TYPE_ROCK, - TYPE_PSYCHIC, - 45, // catch rate - 150, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_MOON_STONE, - 255, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Solrock - 70, 95, 85, 70, 55, 65, - TYPE_ROCK, - TYPE_PSYCHIC, - 45, // catch rate - 150, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_SUN_STONE, - 255, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Azurill - 50, 20, 40, 20, 20, 40, - TYPE_NORMAL, - TYPE_NORMAL, - 150, // catch rate - 33, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 191, // gender - 10, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_THICK_FAT, - ABILITY_HUGE_POWER, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Spoink - 60, 25, 35, 60, 70, 80, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 255, // catch rate - 89, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_THICK_FAT, - ABILITY_OWN_TEMPO, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Grumpig - 80, 45, 65, 80, 90, 110, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 60, // catch rate - 164, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_THICK_FAT, - ABILITY_OWN_TEMPO, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Plusle - 60, 50, 40, 95, 85, 75, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 200, // catch rate - 120, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FAIRY, - EGG_GROUP_FAIRY, - ABILITY_PLUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Minun - 60, 40, 50, 95, 75, 85, - TYPE_ELECTRIC, - TYPE_ELECTRIC, - 200, // catch rate - 120, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FAIRY, - EGG_GROUP_FAIRY, - ABILITY_MINUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Mawile - 50, 85, 85, 50, 55, 55, - TYPE_STEEL, - TYPE_STEEL, - 45, // catch rate - 98, // base exp. yield - 0, 1, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_FIELD, - EGG_GROUP_FAIRY, - ABILITY_HYPER_CUTTER, - ABILITY_INTIMIDATE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Meditite - 30, 40, 55, 60, 40, 55, - TYPE_FIGHTING, - TYPE_PSYCHIC, - 180, // catch rate - 91, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_PURE_POWER, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Medicham - 60, 60, 75, 80, 60, 75, - TYPE_FIGHTING, - TYPE_PSYCHIC, - 90, // catch rate - 153, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_HUMAN_LIKE, - ABILITY_PURE_POWER, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Swablu - 45, 40, 60, 50, 40, 75, - TYPE_NORMAL, - TYPE_FLYING, - 255, // catch rate - 74, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_FLYING, - EGG_GROUP_DRAGON, - ABILITY_NATURAL_CURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Altaria - 75, 70, 90, 80, 70, 105, - TYPE_DRAGON, - TYPE_FLYING, - 45, // catch rate - 188, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_FLYING, - EGG_GROUP_DRAGON, - ABILITY_NATURAL_CURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Wynaut - 95, 23, 48, 23, 23, 48, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 125, // catch rate - 44, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_SHADOW_TAG, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Duskull - 20, 40, 90, 25, 30, 90, - TYPE_GHOST, - TYPE_GHOST, - 190, // catch rate - 97, // base exp. yield - 0, 0, 1, 0, 0, 1, - ITEM_NONE, - ITEM_SPELL_TAG, - 127, // gender - 25, // egg cycles - 35, // base friendship - GROWTH_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Dusclops - 40, 70, 130, 25, 60, 130, - TYPE_GHOST, - TYPE_GHOST, - 90, // catch rate - 179, // base exp. yield - 0, 0, 1, 0, 0, 2, - ITEM_NONE, - ITEM_SPELL_TAG, - 127, // gender - 25, // egg cycles - 35, // base friendship - GROWTH_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_PRESSURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Roselia - 50, 60, 45, 65, 100, 80, - TYPE_GRASS, - TYPE_POISON, - 150, // catch rate - 152, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_POISON_BARB, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FAIRY, - EGG_GROUP_GRASS, - ABILITY_NATURAL_CURE, - ABILITY_POISON_POINT, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN, TRUE - }, { // Slakoth - 60, 60, 60, 30, 35, 35, - TYPE_NORMAL, - TYPE_NORMAL, - 255, // catch rate - 83, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_TRUANT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Vigoroth - 80, 80, 80, 90, 55, 55, - TYPE_NORMAL, - TYPE_NORMAL, - 120, // catch rate - 126, // base exp. yield - 0, 0, 0, 2, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_VITAL_SPIRIT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Slaking - 150, 160, 100, 100, 95, 65, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 210, // base exp. yield - 3, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_TRUANT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Gulpin - 70, 43, 53, 40, 43, 53, - TYPE_POISON, - TYPE_POISON, - 225, // catch rate - 75, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_BIG_PEARL, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FLUCTUATING, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_LIQUID_OOZE, - ABILITY_STICKY_HOLD, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Swalot - 100, 73, 83, 55, 73, 83, - TYPE_POISON, - TYPE_POISON, - 75, // catch rate - 168, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_BIG_PEARL, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FLUCTUATING, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_LIQUID_OOZE, - ABILITY_STICKY_HOLD, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Tropius - 99, 68, 83, 51, 72, 87, - TYPE_GRASS, - TYPE_FLYING, - 200, // catch rate - 169, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_GRASS, - ABILITY_CHLOROPHYLL, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Whismur - 64, 51, 23, 28, 51, 23, - TYPE_NORMAL, - TYPE_NORMAL, - 190, // catch rate - 68, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_CHESTO_BERRY, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_FIELD, - ABILITY_SOUNDPROOF, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Loudred - 84, 71, 43, 48, 71, 43, - TYPE_NORMAL, - TYPE_NORMAL, - 120, // catch rate - 126, // base exp. yield - 2, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_CHESTO_BERRY, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_FIELD, - ABILITY_SOUNDPROOF, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Exploud - 104, 91, 63, 68, 91, 63, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 184, // base exp. yield - 3, 0, 0, 0, 0, 0, - ITEM_NONE, - ITEM_CHESTO_BERRY, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_FIELD, - ABILITY_SOUNDPROOF, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Clamperl - 35, 64, 85, 32, 74, 55, - TYPE_WATER, - TYPE_WATER, - 255, // catch rate - 142, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_BLUE_SHARD, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_1, - ABILITY_SHELL_ARMOR, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Huntail - 55, 104, 105, 52, 94, 75, - TYPE_WATER, - TYPE_WATER, - 60, // catch rate - 178, // base exp. yield - 0, 1, 1, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_1, - ABILITY_SWIFT_SWIM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Gorebyss - 55, 84, 105, 52, 114, 75, - TYPE_WATER, - TYPE_WATER, - 60, // catch rate - 178, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_1, - ABILITY_SWIFT_SWIM, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PINK - }, { // Absol - 65, 130, 60, 75, 75, 60, - TYPE_DARK, - TYPE_DARK, - 30, // catch rate - 174, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 25, // egg cycles - 35, // base friendship - GROWTH_MEDIUM_SLOW, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_PRESSURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE, TRUE - }, { // Shuppet - 44, 75, 35, 45, 63, 33, - TYPE_GHOST, - TYPE_GHOST, - 225, // catch rate - 97, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_SPELL_TAG, - 127, // gender - 25, // egg cycles - 35, // base friendship - GROWTH_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_INSOMNIA, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Banette - 64, 115, 65, 65, 83, 63, - TYPE_GHOST, - TYPE_GHOST, - 45, // catch rate - 179, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_SPELL_TAG, - 127, // gender - 25, // egg cycles - 35, // base friendship - GROWTH_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_INSOMNIA, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK - }, { // Seviper - 73, 100, 60, 65, 100, 60, - TYPE_POISON, - TYPE_POISON, - 90, // catch rate - 165, // base exp. yield - 0, 1, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_FLUCTUATING, - EGG_GROUP_FIELD, - EGG_GROUP_DRAGON, - ABILITY_SHED_SKIN, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLACK, TRUE - }, { // Zangoose - 73, 115, 60, 90, 60, 60, - TYPE_NORMAL, - TYPE_NORMAL, - 90, // catch rate - 165, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_FIELD, - EGG_GROUP_FIELD, - ABILITY_IMMUNITY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE, TRUE - }, { // Relicanth - 100, 90, 130, 55, 45, 65, - TYPE_WATER, - TYPE_ROCK, - 25, // catch rate - 198, // base exp. yield - 1, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_GREEN_SHARD, - 31, // gender - 40, // egg cycles - 70, // base friendship - GROWTH_SLOW, - EGG_GROUP_WATER_1, - EGG_GROUP_WATER_2, - ABILITY_SWIFT_SWIM, - ABILITY_ROCK_HEAD, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Aron - 50, 70, 100, 30, 40, 40, - TYPE_STEEL, - TYPE_ROCK, - 180, // catch rate - 96, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_HARD_STONE, - 127, // gender - 35, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_MONSTER, - ABILITY_STURDY, - ABILITY_ROCK_HEAD, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Lairon - 60, 90, 140, 40, 50, 50, - TYPE_STEEL, - TYPE_ROCK, - 90, // catch rate - 152, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_HARD_STONE, - 127, // gender - 35, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_MONSTER, - ABILITY_STURDY, - ABILITY_ROCK_HEAD, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Aggron - 70, 110, 180, 50, 60, 60, - TYPE_STEEL, - TYPE_ROCK, - 45, // catch rate - 205, // base exp. yield - 0, 0, 3, 0, 0, 0, - ITEM_NONE, - ITEM_HARD_STONE, - 127, // gender - 35, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_MONSTER, - EGG_GROUP_MONSTER, - ABILITY_STURDY, - ABILITY_ROCK_HEAD, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Castform - 70, 70, 70, 70, 70, 70, - TYPE_NORMAL, - TYPE_NORMAL, - 45, // catch rate - 145, // base exp. yield - 1, 0, 0, 0, 0, 0, - ITEM_MYSTIC_WATER, - ITEM_MYSTIC_WATER, - 127, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_MEDIUM_FAST, - EGG_GROUP_FAIRY, - EGG_GROUP_AMORPHOUS, - ABILITY_FORECAST, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Volbeat - 65, 73, 55, 85, 47, 75, - TYPE_BUG, - TYPE_BUG, - 150, // catch rate - 146, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 0, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_BUG, - EGG_GROUP_HUMAN_LIKE, - ABILITY_ILLUMINATE, - ABILITY_SWARM, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Illumise - 65, 47, 55, 85, 73, 75, - TYPE_BUG, - TYPE_BUG, - 150, // catch rate - 146, // base exp. yield - 0, 0, 0, 1, 0, 0, - ITEM_NONE, - ITEM_NONE, - 254, // gender - 15, // egg cycles - 70, // base friendship - GROWTH_FLUCTUATING, - EGG_GROUP_BUG, - EGG_GROUP_HUMAN_LIKE, - ABILITY_OBLIVIOUS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Lileep - 66, 41, 77, 23, 61, 87, - TYPE_ROCK, - TYPE_GRASS, - 45, // catch rate - 121, // base exp. yield - 0, 0, 0, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 30, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_WATER_3, - EGG_GROUP_WATER_3, - ABILITY_SUCTION_CUPS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_PURPLE - }, { // Cradily - 86, 81, 97, 43, 81, 107, - TYPE_ROCK, - TYPE_GRASS, - 45, // catch rate - 201, // base exp. yield - 0, 0, 0, 0, 0, 2, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 30, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_WATER_3, - EGG_GROUP_WATER_3, - ABILITY_SUCTION_CUPS, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Anorith - 45, 95, 50, 75, 40, 50, - TYPE_ROCK, - TYPE_BUG, - 45, // catch rate - 119, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 30, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_WATER_3, - EGG_GROUP_WATER_3, - ABILITY_BATTLE_ARMOR, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Armaldo - 75, 125, 100, 45, 70, 80, - TYPE_ROCK, - TYPE_BUG, - 45, // catch rate - 200, // base exp. yield - 0, 2, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 31, // gender - 30, // egg cycles - 70, // base friendship - GROWTH_ERRATIC, - EGG_GROUP_WATER_3, - EGG_GROUP_WATER_3, - ABILITY_BATTLE_ARMOR, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Ralts - 28, 25, 25, 40, 45, 35, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 235, // catch rate - 70, // base exp. yield - 0, 0, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_SYNCHRONIZE, - ABILITY_TRACE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Kirlia - 38, 35, 35, 50, 65, 55, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 120, // catch rate - 140, // base exp. yield - 0, 0, 0, 0, 2, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_SYNCHRONIZE, - ABILITY_TRACE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Gardevoir - 68, 65, 65, 80, 125, 115, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 45, // catch rate - 208, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 20, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_SYNCHRONIZE, - ABILITY_TRACE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Bagon - 45, 75, 60, 50, 40, 30, - TYPE_DRAGON, - TYPE_DRAGON, - 45, // catch rate - 89, // base exp. yield - 0, 1, 0, 0, 0, 0, - ITEM_NONE, - ITEM_DRAGON_SCALE, - 127, // gender - 40, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_DRAGON, - EGG_GROUP_DRAGON, - ABILITY_ROCK_HEAD, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Shelgon - 65, 95, 100, 50, 60, 50, - TYPE_DRAGON, - TYPE_DRAGON, - 45, // catch rate - 144, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_DRAGON_SCALE, - 127, // gender - 40, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_DRAGON, - EGG_GROUP_DRAGON, - ABILITY_ROCK_HEAD, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_WHITE - }, { // Salamence - 95, 135, 80, 100, 110, 80, - TYPE_DRAGON, - TYPE_FLYING, - 45, // catch rate - 218, // base exp. yield - 0, 3, 0, 0, 0, 0, - ITEM_NONE, - ITEM_DRAGON_SCALE, - 127, // gender - 40, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_DRAGON, - EGG_GROUP_DRAGON, - ABILITY_INTIMIDATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Beldum - 40, 55, 80, 30, 35, 60, - TYPE_STEEL, - TYPE_PSYCHIC, - 3, // catch rate - 103, // base exp. yield - 0, 0, 1, 0, 0, 0, - ITEM_NONE, - ITEM_METAL_COAT, - 255, // gender - 40, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_CLEAR_BODY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Metang - 60, 75, 100, 50, 55, 80, - TYPE_STEEL, - TYPE_PSYCHIC, - 3, // catch rate - 153, // base exp. yield - 0, 0, 2, 0, 0, 0, - ITEM_NONE, - ITEM_METAL_COAT, - 255, // gender - 40, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_CLEAR_BODY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Metagross - 80, 135, 130, 70, 95, 90, - TYPE_STEEL, - TYPE_PSYCHIC, - 3, // catch rate - 210, // base exp. yield - 0, 0, 3, 0, 0, 0, - ITEM_NONE, - ITEM_METAL_COAT, - 255, // gender - 40, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_MINERAL, - EGG_GROUP_MINERAL, - ABILITY_CLEAR_BODY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Regirock - 80, 100, 200, 50, 50, 100, - TYPE_ROCK, - TYPE_ROCK, - 3, // catch rate - 217, // base exp. yield - 0, 0, 3, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 80, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_CLEAR_BODY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BROWN - }, { // Regice - 80, 50, 100, 50, 100, 200, - TYPE_ICE, - TYPE_ICE, - 3, // catch rate - 216, // base exp. yield - 0, 0, 0, 0, 0, 3, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 80, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_CLEAR_BODY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Registeel - 80, 75, 150, 50, 75, 150, - TYPE_STEEL, - TYPE_STEEL, - 3, // catch rate - 215, // base exp. yield - 0, 0, 2, 0, 0, 1, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 80, // egg cycles - 35, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_CLEAR_BODY, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GRAY - }, { // Kyogre - 100, 100, 90, 90, 150, 140, - TYPE_WATER, - TYPE_WATER, - 5, // catch rate - 218, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_DRIZZLE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Groudon - 100, 150, 140, 90, 100, 90, - TYPE_GROUND, - TYPE_GROUND, - 5, // catch rate - 218, // base exp. yield - 0, 3, 0, 0, 0, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_DROUGHT, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Rayquaza - 105, 150, 90, 95, 150, 90, - TYPE_DRAGON, - TYPE_FLYING, - 3, // catch rate - 220, // base exp. yield - 0, 2, 0, 0, 1, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_AIR_LOCK, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_GREEN - }, { // Latias - 80, 80, 90, 110, 110, 130, - TYPE_DRAGON, - TYPE_PSYCHIC, - 3, // catch rate - 211, // base exp. yield - 0, 0, 0, 0, 0, 3, - ITEM_NONE, - ITEM_NONE, - 254, // gender - 120, // egg cycles - 90, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED - }, { // Latios - 80, 90, 80, 110, 130, 110, - TYPE_DRAGON, - TYPE_PSYCHIC, - 3, // catch rate - 211, // base exp. yield - 0, 0, 0, 0, 3, 0, - ITEM_NONE, - ITEM_NONE, - 0, // gender - 120, // egg cycles - 90, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE - }, { // Jirachi - 100, 100, 100, 100, 100, 100, - TYPE_STEEL, - TYPE_PSYCHIC, - 3, // catch rate - 215, // base exp. yield - 3, 0, 0, 0, 0, 0, - ITEM_STAR_PIECE, - ITEM_STAR_PIECE, - 255, // gender - 120, // egg cycles - 100, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_SERENE_GRACE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_YELLOW - }, { // Deoxys - 50, 150, 50, 150, 150, 50, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 3, // catch rate - 215, // base exp. yield - 0, 1, 0, 1, 1, 0, - ITEM_NONE, - ITEM_NONE, - 255, // gender - 120, // egg cycles - 0, // base friendship - GROWTH_SLOW, - EGG_GROUP_UNDISCOVERED, - EGG_GROUP_UNDISCOVERED, - ABILITY_PRESSURE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_RED, TRUE - }, { // Chimecho - 65, 50, 70, 65, 95, 80, - TYPE_PSYCHIC, - TYPE_PSYCHIC, - 45, // catch rate - 147, // base exp. yield - 0, 0, 0, 0, 1, 1, - ITEM_NONE, - ITEM_NONE, - 127, // gender - 25, // egg cycles - 70, // base friendship - GROWTH_FAST, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_AMORPHOUS, - ABILITY_LEVITATE, - ABILITY_NONE, - 0, // Safari Zone flee rate - BODY_COLOR_BLUE +#ifndef GUARD_BASE_STATS_H +#define GUARD_BASE_STATS_H + +// Maximum value for a female pokemon is 254 (MON_FEMALE) which is 100% female. +// 255 (MON_GENDERLESS) is reserved for genderless pokemon. +#define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100)) + +const struct BaseStats gBaseStats[] = +{ + [SPECIES_NONE] = {0}, + + [SPECIES_BULBASAUR] = + { + .baseHP = 45, + .baseAttack = 49, + .baseDefense = 49, + .baseSpeed = 45, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 64, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_IVYSAUR] = + { + .baseHP = 60, + .baseAttack = 62, + .baseDefense = 63, + .baseSpeed = 60, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_VENUSAUR] = + { + .baseHP = 80, + .baseAttack = 82, + .baseDefense = 83, + .baseSpeed = 80, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 208, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_CHARMANDER] = + { + .baseHP = 39, + .baseAttack = 52, + .baseDefense = 43, + .baseSpeed = 65, + .baseSpAttack = 60, + .baseSpDefense = 50, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CHARMELEON] = + { + .baseHP = 58, + .baseAttack = 64, + .baseDefense = 58, + .baseSpeed = 80, + .baseSpAttack = 80, + .baseSpDefense = 65, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 142, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CHARIZARD] = + { + .baseHP = 78, + .baseAttack = 84, + .baseDefense = 78, + .baseSpeed = 100, + .baseSpAttack = 109, + .baseSpDefense = 85, + .type1 = TYPE_FIRE, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 209, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SQUIRTLE] = + { + .baseHP = 44, + .baseAttack = 48, + .baseDefense = 65, + .baseSpeed = 43, + .baseSpAttack = 50, + .baseSpDefense = 64, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 66, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WARTORTLE] = + { + .baseHP = 59, + .baseAttack = 63, + .baseDefense = 80, + .baseSpeed = 58, + .baseSpAttack = 65, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 143, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_BLASTOISE] = + { + .baseHP = 79, + .baseAttack = 83, + .baseDefense = 100, + .baseSpeed = 78, + .baseSpAttack = 85, + .baseSpDefense = 105, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 210, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_CATERPIE] = + { + .baseHP = 45, + .baseAttack = 30, + .baseDefense = 35, + .baseSpeed = 45, + .baseSpAttack = 20, + .baseSpDefense = 20, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 255, + .expYield = 53, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_METAPOD] = + { + .baseHP = 50, + .baseAttack = 20, + .baseDefense = 55, + .baseSpeed = 30, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 120, + .expYield = 72, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_BUTTERFREE] = + { + .baseHP = 60, + .baseAttack = 45, + .baseDefense = 50, + .baseSpeed = 70, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 160, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_SILVER_POWDER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_COMPOUND_EYES, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_WEEDLE] = + { + .baseHP = 40, + .baseAttack = 35, + .baseDefense = 30, + .baseSpeed = 50, + .baseSpAttack = 20, + .baseSpDefense = 20, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 52, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_KAKUNA] = + { + .baseHP = 45, + .baseAttack = 25, + .baseDefense = 50, + .baseSpeed = 35, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 71, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_BEEDRILL] = + { + .baseHP = 65, + .baseAttack = 80, + .baseDefense = 40, + .baseSpeed = 75, + .baseSpAttack = 45, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 159, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_POISON_BARB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_PIDGEY] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 40, + .baseSpeed = 56, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 55, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PIDGEOTTO] = + { + .baseHP = 63, + .baseAttack = 60, + .baseDefense = 55, + .baseSpeed = 71, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 120, + .expYield = 113, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PIDGEOT] = + { + .baseHP = 83, + .baseAttack = 80, + .baseDefense = 75, + .baseSpeed = 91, + .baseSpAttack = 70, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 172, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_RATTATA] = + { + .baseHP = 30, + .baseAttack = 56, + .baseDefense = 35, + .baseSpeed = 72, + .baseSpAttack = 25, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 57, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_RATICATE] = + { + .baseHP = 55, + .baseAttack = 81, + .baseDefense = 60, + .baseSpeed = 97, + .baseSpAttack = 50, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 127, + .expYield = 116, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SPEAROW] = + { + .baseHP = 40, + .baseAttack = 60, + .baseDefense = 30, + .baseSpeed = 70, + .baseSpAttack = 31, + .baseSpDefense = 31, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 58, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_FEAROW] = + { + .baseHP = 65, + .baseAttack = 90, + .baseDefense = 65, + .baseSpeed = 100, + .baseSpAttack = 61, + .baseSpDefense = 61, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 162, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SHARP_BEAK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_EKANS] = + { + .baseHP = 35, + .baseAttack = 60, + .baseDefense = 44, + .baseSpeed = 55, + .baseSpAttack = 40, + .baseSpDefense = 54, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 62, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_SHED_SKIN, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_ARBOK] = + { + .baseHP = 60, + .baseAttack = 85, + .baseDefense = 69, + .baseSpeed = 80, + .baseSpAttack = 65, + .baseSpDefense = 79, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 90, + .expYield = 147, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_SHED_SKIN, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_PIKACHU] = + { + .baseHP = 35, + .baseAttack = 55, + .baseDefense = 30, + .baseSpeed = 90, + .baseSpAttack = 50, + .baseSpDefense = 40, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 190, + .expYield = 82, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_ORAN_BERRY, + .item2 = ITEM_LIGHT_BALL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_RAICHU] = + { + .baseHP = 60, + .baseAttack = 90, + .baseDefense = 55, + .baseSpeed = 100, + .baseSpAttack = 90, + .baseSpDefense = 80, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 75, + .expYield = 122, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SANDSHREW] = + { + .baseHP = 50, + .baseAttack = 75, + .baseDefense = 85, + .baseSpeed = 40, + .baseSpAttack = 20, + .baseSpDefense = 30, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 93, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_QUICK_CLAW, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SANDSLASH] = + { + .baseHP = 75, + .baseAttack = 100, + .baseDefense = 110, + .baseSpeed = 65, + .baseSpAttack = 45, + .baseSpDefense = 55, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 90, + .expYield = 163, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_QUICK_CLAW, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_NIDORAN_F] = + { + .baseHP = 55, + .baseAttack = 47, + .baseDefense = 52, + .baseSpeed = 41, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 235, + .expYield = 59, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_NIDORINA] = + { + .baseHP = 70, + .baseAttack = 62, + .baseDefense = 67, + .baseSpeed = 56, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 117, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_NIDOQUEEN] = + { + .baseHP = 90, + .baseAttack = 82, + .baseDefense = 87, + .baseSpeed = 76, + .baseSpAttack = 75, + .baseSpDefense = 85, + .type1 = TYPE_POISON, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 194, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_NIDORAN_M] = + { + .baseHP = 46, + .baseAttack = 57, + .baseDefense = 40, + .baseSpeed = 50, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 235, + .expYield = 60, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_NIDORINO] = + { + .baseHP = 61, + .baseAttack = 72, + .baseDefense = 57, + .baseSpeed = 65, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 118, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_NIDOKING] = + { + .baseHP = 81, + .baseAttack = 92, + .baseDefense = 77, + .baseSpeed = 85, + .baseSpAttack = 85, + .baseSpDefense = 75, + .type1 = TYPE_POISON, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 195, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_CLEFAIRY] = + { + .baseHP = 70, + .baseAttack = 45, + .baseDefense = 48, + .baseSpeed = 35, + .baseSpAttack = 60, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 150, + .expYield = 68, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LEPPA_BERRY, + .item2 = ITEM_MOON_STONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_CLEFABLE] = + { + .baseHP = 95, + .baseAttack = 70, + .baseDefense = 73, + .baseSpeed = 60, + .baseSpAttack = 85, + .baseSpDefense = 90, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 25, + .expYield = 129, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LEPPA_BERRY, + .item2 = ITEM_MOON_STONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_VULPIX] = + { + .baseHP = 38, + .baseAttack = 41, + .baseDefense = 40, + .baseSpeed = 65, + .baseSpAttack = 50, + .baseSpDefense = 65, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 190, + .expYield = 63, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_FLASH_FIRE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_NINETALES] = + { + .baseHP = 73, + .baseAttack = 76, + .baseDefense = 75, + .baseSpeed = 100, + .baseSpAttack = 81, + .baseSpDefense = 100, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 75, + .expYield = 178, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_FLASH_FIRE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_JIGGLYPUFF] = + { + .baseHP = 115, + .baseAttack = 45, + .baseDefense = 20, + .baseSpeed = 20, + .baseSpAttack = 45, + .baseSpDefense = 25, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 170, + .expYield = 76, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_WIGGLYTUFF] = + { + .baseHP = 140, + .baseAttack = 70, + .baseDefense = 45, + .baseSpeed = 45, + .baseSpAttack = 75, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 50, + .expYield = 109, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_ZUBAT] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 35, + .baseSpeed = 55, + .baseSpAttack = 30, + .baseSpDefense = 40, + .type1 = TYPE_POISON, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 54, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_GOLBAT] = + { + .baseHP = 75, + .baseAttack = 80, + .baseDefense = 70, + .baseSpeed = 90, + .baseSpAttack = 65, + .baseSpDefense = 75, + .type1 = TYPE_POISON, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 171, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_ODDISH] = + { + .baseHP = 45, + .baseAttack = 50, + .baseDefense = 55, + .baseSpeed = 30, + .baseSpAttack = 75, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 78, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GLOOM] = + { + .baseHP = 60, + .baseAttack = 65, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 85, + .baseSpDefense = 75, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 132, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_VILEPLUME] = + { + .baseHP = 75, + .baseAttack = 80, + .baseDefense = 85, + .baseSpeed = 50, + .baseSpAttack = 100, + .baseSpDefense = 90, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 184, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_PARAS] = + { + .baseHP = 35, + .baseAttack = 70, + .baseDefense = 55, + .baseSpeed = 25, + .baseSpAttack = 45, + .baseSpDefense = 55, + .type1 = TYPE_BUG, + .type2 = TYPE_GRASS, + .catchRate = 190, + .expYield = 70, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_TINY_MUSHROOM, + .item2 = ITEM_BIG_MUSHROOM, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_EFFECT_SPORE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_PARASECT] = + { + .baseHP = 60, + .baseAttack = 95, + .baseDefense = 80, + .baseSpeed = 30, + .baseSpAttack = 60, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_GRASS, + .catchRate = 75, + .expYield = 128, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_TINY_MUSHROOM, + .item2 = ITEM_BIG_MUSHROOM, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_EFFECT_SPORE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_VENONAT] = + { + .baseHP = 60, + .baseAttack = 55, + .baseDefense = 50, + .baseSpeed = 45, + .baseSpAttack = 40, + .baseSpDefense = 55, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 75, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_COMPOUND_EYES, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_VENOMOTH] = + { + .baseHP = 70, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 90, + .baseSpAttack = 90, + .baseSpDefense = 75, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 75, + .expYield = 138, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_DIGLETT] = + { + .baseHP = 10, + .baseAttack = 55, + .baseDefense = 25, + .baseSpeed = 95, + .baseSpAttack = 35, + .baseSpDefense = 45, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 81, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_ARENA_TRAP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_DUGTRIO] = + { + .baseHP = 35, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 120, + .baseSpAttack = 50, + .baseSpDefense = 70, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 50, + .expYield = 153, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_ARENA_TRAP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MEOWTH] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 35, + .baseSpeed = 90, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 69, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_PERSIAN] = + { + .baseHP = 65, + .baseAttack = 70, + .baseDefense = 60, + .baseSpeed = 115, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 90, + .expYield = 148, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_LIMBER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_PSYDUCK] = + { + .baseHP = 50, + .baseAttack = 52, + .baseDefense = 48, + .baseSpeed = 55, + .baseSpAttack = 65, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 80, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_DAMP, + .ability2 = ABILITY_CLOUD_NINE, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_GOLDUCK] = + { + .baseHP = 80, + .baseAttack = 82, + .baseDefense = 78, + .baseSpeed = 85, + .baseSpAttack = 95, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 75, + .expYield = 174, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_DAMP, + .ability2 = ABILITY_CLOUD_NINE, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_MANKEY] = + { + .baseHP = 40, + .baseAttack = 80, + .baseDefense = 35, + .baseSpeed = 70, + .baseSpAttack = 35, + .baseSpDefense = 45, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 190, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VITAL_SPIRIT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PRIMEAPE] = + { + .baseHP = 65, + .baseAttack = 105, + .baseDefense = 60, + .baseSpeed = 95, + .baseSpAttack = 60, + .baseSpDefense = 70, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 75, + .expYield = 149, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VITAL_SPIRIT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_GROWLITHE] = + { + .baseHP = 55, + .baseAttack = 70, + .baseDefense = 45, + .baseSpeed = 60, + .baseSpAttack = 70, + .baseSpDefense = 50, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 190, + .expYield = 91, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_ARCANINE] = + { + .baseHP = 90, + .baseAttack = 110, + .baseDefense = 80, + .baseSpeed = 95, + .baseSpAttack = 100, + .baseSpDefense = 80, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 75, + .expYield = 213, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_POLIWAG] = + { + .baseHP = 40, + .baseAttack = 50, + .baseDefense = 40, + .baseSpeed = 90, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 77, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_DAMP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = TRUE, + }, + + [SPECIES_POLIWHIRL] = + { + .baseHP = 65, + .baseAttack = 65, + .baseDefense = 65, + .baseSpeed = 90, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 120, + .expYield = 131, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_DAMP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = TRUE, + }, + + [SPECIES_POLIWRATH] = + { + .baseHP = 90, + .baseAttack = 85, + .baseDefense = 95, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 90, + .type1 = TYPE_WATER, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 185, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_DAMP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = TRUE, + }, + + [SPECIES_ABRA] = + { + .baseHP = 25, + .baseAttack = 20, + .baseDefense = 15, + .baseSpeed = 90, + .baseSpAttack = 105, + .baseSpDefense = 55, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 200, + .expYield = 73, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_TWISTED_SPOON, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_INNER_FOCUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_KADABRA] = + { + .baseHP = 40, + .baseAttack = 35, + .baseDefense = 30, + .baseSpeed = 105, + .baseSpAttack = 120, + .baseSpDefense = 70, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 100, + .expYield = 145, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_TWISTED_SPOON, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_INNER_FOCUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_ALAKAZAM] = + { + .baseHP = 55, + .baseAttack = 50, + .baseDefense = 45, + .baseSpeed = 120, + .baseSpAttack = 135, + .baseSpDefense = 85, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 50, + .expYield = 186, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_TWISTED_SPOON, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_INNER_FOCUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MACHOP] = + { + .baseHP = 70, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 35, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 180, + .expYield = 88, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_MACHOKE] = + { + .baseHP = 80, + .baseAttack = 100, + .baseDefense = 70, + .baseSpeed = 45, + .baseSpAttack = 50, + .baseSpDefense = 60, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 90, + .expYield = 146, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_MACHAMP] = + { + .baseHP = 90, + .baseAttack = 130, + .baseDefense = 80, + .baseSpeed = 55, + .baseSpAttack = 65, + .baseSpDefense = 85, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 193, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_BELLSPROUT] = + { + .baseHP = 50, + .baseAttack = 75, + .baseDefense = 35, + .baseSpeed = 40, + .baseSpAttack = 70, + .baseSpDefense = 30, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 84, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_WEEPINBELL] = + { + .baseHP = 65, + .baseAttack = 90, + .baseDefense = 50, + .baseSpeed = 55, + .baseSpAttack = 85, + .baseSpDefense = 45, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 151, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_VICTREEBEL] = + { + .baseHP = 80, + .baseAttack = 105, + .baseDefense = 65, + .baseSpeed = 70, + .baseSpAttack = 100, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 191, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_TENTACOOL] = + { + .baseHP = 40, + .baseAttack = 40, + .baseDefense = 35, + .baseSpeed = 70, + .baseSpAttack = 50, + .baseSpDefense = 100, + .type1 = TYPE_WATER, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 105, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_LIQUID_OOZE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_TENTACRUEL] = + { + .baseHP = 80, + .baseAttack = 70, + .baseDefense = 65, + .baseSpeed = 100, + .baseSpAttack = 80, + .baseSpDefense = 120, + .type1 = TYPE_WATER, + .type2 = TYPE_POISON, + .catchRate = 60, + .expYield = 205, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_LIQUID_OOZE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GEODUDE] = + { + .baseHP = 40, + .baseAttack = 80, + .baseDefense = 100, + .baseSpeed = 20, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 86, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_EVERSTONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_GRAVELER] = + { + .baseHP = 55, + .baseAttack = 95, + .baseDefense = 115, + .baseSpeed = 35, + .baseSpAttack = 45, + .baseSpDefense = 45, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 120, + .expYield = 134, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_EVERSTONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_GOLEM] = + { + .baseHP = 80, + .baseAttack = 110, + .baseDefense = 130, + .baseSpeed = 45, + .baseSpAttack = 55, + .baseSpDefense = 65, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 177, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_EVERSTONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PONYTA] = + { + .baseHP = 50, + .baseAttack = 85, + .baseDefense = 55, + .baseSpeed = 90, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 190, + .expYield = 152, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_RAPIDASH] = + { + .baseHP = 65, + .baseAttack = 100, + .baseDefense = 70, + .baseSpeed = 105, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 60, + .expYield = 192, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SLOWPOKE] = + { + .baseHP = 90, + .baseAttack = 65, + .baseDefense = 65, + .baseSpeed = 15, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_WATER, + .type2 = TYPE_PSYCHIC, + .catchRate = 190, + .expYield = 99, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_SLOWBRO] = + { + .baseHP = 95, + .baseAttack = 75, + .baseDefense = 110, + .baseSpeed = 30, + .baseSpAttack = 100, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_PSYCHIC, + .catchRate = 75, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_MAGNEMITE] = + { + .baseHP = 25, + .baseAttack = 35, + .baseDefense = 70, + .baseSpeed = 45, + .baseSpAttack = 95, + .baseSpDefense = 55, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_STEEL, + .catchRate = 190, + .expYield = 89, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_MAGNET_PULL, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_MAGNETON] = + { + .baseHP = 50, + .baseAttack = 60, + .baseDefense = 95, + .baseSpeed = 70, + .baseSpAttack = 120, + .baseSpDefense = 70, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_STEEL, + .catchRate = 60, + .expYield = 161, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_MAGNET_PULL, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_FARFETCHD] = + { + .baseHP = 52, + .baseAttack = 65, + .baseDefense = 55, + .baseSpeed = 60, + .baseSpAttack = 58, + .baseSpDefense = 62, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 94, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_STICK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_INNER_FOCUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_DODUO] = + { + .baseHP = 35, + .baseAttack = 85, + .baseDefense = 45, + .baseSpeed = 75, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 190, + .expYield = 96, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SHARP_BEAK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_DODRIO] = + { + .baseHP = 60, + .baseAttack = 110, + .baseDefense = 70, + .baseSpeed = 100, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 158, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SHARP_BEAK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 10, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SEEL] = + { + .baseHP = 65, + .baseAttack = 45, + .baseDefense = 55, + .baseSpeed = 45, + .baseSpAttack = 45, + .baseSpDefense = 70, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 100, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_DEWGONG] = + { + .baseHP = 90, + .baseAttack = 70, + .baseDefense = 80, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 95, + .type1 = TYPE_WATER, + .type2 = TYPE_ICE, + .catchRate = 75, + .expYield = 176, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_GRIMER] = + { + .baseHP = 80, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 25, + .baseSpAttack = 40, + .baseSpDefense = 50, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 90, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NUGGET, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_STENCH, + .ability2 = ABILITY_STICKY_HOLD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_MUK] = + { + .baseHP = 105, + .baseAttack = 105, + .baseDefense = 75, + .baseSpeed = 50, + .baseSpAttack = 65, + .baseSpDefense = 100, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 75, + .expYield = 157, + .evYield_HP = 1, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NUGGET, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_STENCH, + .ability2 = ABILITY_STICKY_HOLD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_SHELLDER] = + { + .baseHP = 30, + .baseAttack = 65, + .baseDefense = 100, + .baseSpeed = 40, + .baseSpAttack = 45, + .baseSpDefense = 25, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 97, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_PEARL, + .item2 = ITEM_BIG_PEARL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SHELL_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_CLOYSTER] = + { + .baseHP = 50, + .baseAttack = 95, + .baseDefense = 180, + .baseSpeed = 70, + .baseSpAttack = 85, + .baseSpDefense = 45, + .type1 = TYPE_WATER, + .type2 = TYPE_ICE, + .catchRate = 60, + .expYield = 203, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_PEARL, + .item2 = ITEM_BIG_PEARL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SHELL_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_GASTLY] = + { + .baseHP = 30, + .baseAttack = 35, + .baseDefense = 30, + .baseSpeed = 80, + .baseSpAttack = 100, + .baseSpDefense = 35, + .type1 = TYPE_GHOST, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 95, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_HAUNTER] = + { + .baseHP = 45, + .baseAttack = 50, + .baseDefense = 45, + .baseSpeed = 95, + .baseSpAttack = 115, + .baseSpDefense = 55, + .type1 = TYPE_GHOST, + .type2 = TYPE_POISON, + .catchRate = 90, + .expYield = 126, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_GENGAR] = + { + .baseHP = 60, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 110, + .baseSpAttack = 130, + .baseSpDefense = 75, + .type1 = TYPE_GHOST, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 190, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_ONIX] = + { + .baseHP = 35, + .baseAttack = 45, + .baseDefense = 160, + .baseSpeed = 70, + .baseSpAttack = 30, + .baseSpDefense = 45, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 108, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_DROWZEE] = + { + .baseHP = 60, + .baseAttack = 48, + .baseDefense = 45, + .baseSpeed = 42, + .baseSpAttack = 43, + .baseSpDefense = 90, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 190, + .expYield = 102, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_HYPNO] = + { + .baseHP = 85, + .baseAttack = 73, + .baseDefense = 70, + .baseSpeed = 67, + .baseSpAttack = 73, + .baseSpDefense = 115, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 75, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_KRABBY] = + { + .baseHP = 30, + .baseAttack = 105, + .baseDefense = 90, + .baseSpeed = 50, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 115, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_KINGLER] = + { + .baseHP = 55, + .baseAttack = 130, + .baseDefense = 115, + .baseSpeed = 75, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 206, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = TRUE, + }, + + [SPECIES_VOLTORB] = + { + .baseHP = 40, + .baseAttack = 30, + .baseDefense = 50, + .baseSpeed = 100, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 190, + .expYield = 103, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_STATIC, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_ELECTRODE] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 70, + .baseSpeed = 140, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 60, + .expYield = 150, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_STATIC, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_EXEGGCUTE] = + { + .baseHP = 60, + .baseAttack = 40, + .baseDefense = 80, + .baseSpeed = 40, + .baseSpAttack = 60, + .baseSpDefense = 45, + .type1 = TYPE_GRASS, + .type2 = TYPE_PSYCHIC, + .catchRate = 90, + .expYield = 98, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_EXEGGUTOR] = + { + .baseHP = 95, + .baseAttack = 95, + .baseDefense = 85, + .baseSpeed = 55, + .baseSpAttack = 125, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 212, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_CUBONE] = + { + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 95, + .baseSpeed = 35, + .baseSpAttack = 40, + .baseSpDefense = 50, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 190, + .expYield = 87, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_THICK_CLUB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_LIGHTNING_ROD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MAROWAK] = + { + .baseHP = 60, + .baseAttack = 80, + .baseDefense = 110, + .baseSpeed = 45, + .baseSpAttack = 50, + .baseSpDefense = 80, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 75, + .expYield = 124, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_THICK_CLUB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_LIGHTNING_ROD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_HITMONLEE] = + { + .baseHP = 50, + .baseAttack = 120, + .baseDefense = 53, + .baseSpeed = 87, + .baseSpAttack = 35, + .baseSpDefense = 110, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 139, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_LIMBER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_HITMONCHAN] = + { + .baseHP = 50, + .baseAttack = 105, + .baseDefense = 79, + .baseSpeed = 76, + .baseSpAttack = 35, + .baseSpDefense = 110, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 140, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_LICKITUNG] = + { + .baseHP = 90, + .baseAttack = 55, + .baseDefense = 75, + .baseSpeed = 30, + .baseSpAttack = 60, + .baseSpDefense = 75, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 127, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_OWN_TEMPO, + .ability2 = ABILITY_OBLIVIOUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_KOFFING] = + { + .baseHP = 40, + .baseAttack = 65, + .baseDefense = 95, + .baseSpeed = 35, + .baseSpAttack = 60, + .baseSpDefense = 45, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 114, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SMOKE_BALL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_WEEZING] = + { + .baseHP = 65, + .baseAttack = 90, + .baseDefense = 120, + .baseSpeed = 60, + .baseSpAttack = 85, + .baseSpDefense = 70, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 60, + .expYield = 173, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SMOKE_BALL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_RHYHORN] = + { + .baseHP = 80, + .baseAttack = 85, + .baseDefense = 95, + .baseSpeed = 25, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_GROUND, + .type2 = TYPE_ROCK, + .catchRate = 120, + .expYield = 135, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_LIGHTNING_ROD, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_RHYDON] = + { + .baseHP = 105, + .baseAttack = 130, + .baseDefense = 120, + .baseSpeed = 40, + .baseSpAttack = 45, + .baseSpDefense = 45, + .type1 = TYPE_GROUND, + .type2 = TYPE_ROCK, + .catchRate = 60, + .expYield = 204, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_LIGHTNING_ROD, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_CHANSEY] = + { + .baseHP = 250, + .baseAttack = 5, + .baseDefense = 5, + .baseSpeed = 50, + .baseSpAttack = 35, + .baseSpDefense = 105, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 30, + .expYield = 255, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_LUCKY_EGG, + .genderRatio = MON_FEMALE, + .eggCycles = 40, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_SERENE_GRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_TANGELA] = + { + .baseHP = 65, + .baseAttack = 55, + .baseDefense = 115, + .baseSpeed = 60, + .baseSpAttack = 100, + .baseSpDefense = 40, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 166, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_KANGASKHAN] = + { + .baseHP = 105, + .baseAttack = 95, + .baseDefense = 80, + .baseSpeed = 90, + .baseSpAttack = 40, + .baseSpDefense = 80, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 175, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_EARLY_BIRD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_HORSEA] = + { + .baseHP = 30, + .baseAttack = 40, + .baseDefense = 70, + .baseSpeed = 60, + .baseSpAttack = 70, + .baseSpDefense = 25, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 83, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SEADRA] = + { + .baseHP = 55, + .baseAttack = 65, + .baseDefense = 95, + .baseSpeed = 85, + .baseSpAttack = 95, + .baseSpDefense = 45, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 75, + .expYield = 155, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GOLDEEN] = + { + .baseHP = 45, + .baseAttack = 67, + .baseDefense = 60, + .baseSpeed = 63, + .baseSpAttack = 35, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 111, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_WATER_VEIL, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SEAKING] = + { + .baseHP = 80, + .baseAttack = 92, + .baseDefense = 65, + .baseSpeed = 68, + .baseSpAttack = 65, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 170, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_WATER_VEIL, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_STARYU] = + { + .baseHP = 30, + .baseAttack = 45, + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 70, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 106, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_STARDUST, + .item2 = ITEM_STAR_PIECE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_ILLUMINATE, + .ability2 = ABILITY_NATURAL_CURE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_STARMIE] = + { + .baseHP = 60, + .baseAttack = 75, + .baseDefense = 85, + .baseSpeed = 115, + .baseSpAttack = 100, + .baseSpDefense = 85, + .type1 = TYPE_WATER, + .type2 = TYPE_PSYCHIC, + .catchRate = 60, + .expYield = 207, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_STARDUST, + .item2 = ITEM_STAR_PIECE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_ILLUMINATE, + .ability2 = ABILITY_NATURAL_CURE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_MR_MIME] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 65, + .baseSpeed = 90, + .baseSpAttack = 100, + .baseSpDefense = 120, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 136, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_LEPPA_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_SCYTHER] = + { + .baseHP = 70, + .baseAttack = 110, + .baseDefense = 80, + .baseSpeed = 105, + .baseSpAttack = 55, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 187, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_JYNX] = + { + .baseHP = 65, + .baseAttack = 50, + .baseDefense = 35, + .baseSpeed = 95, + .baseSpAttack = 115, + .baseSpDefense = 95, + .type1 = TYPE_ICE, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 137, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_ASPEAR_BERRY, + .item2 = ITEM_ASPEAR_BERRY, + .genderRatio = MON_FEMALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_ELECTABUZZ] = + { + .baseHP = 65, + .baseAttack = 83, + .baseDefense = 57, + .baseSpeed = 105, + .baseSpAttack = 95, + .baseSpDefense = 85, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 156, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = TRUE, + }, + + [SPECIES_MAGMAR] = + { + .baseHP = 65, + .baseAttack = 95, + .baseDefense = 57, + .baseSpeed = 93, + .baseSpAttack = 100, + .baseSpDefense = 85, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 167, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_FLAME_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_PINSIR] = + { + .baseHP = 65, + .baseAttack = 125, + .baseDefense = 100, + .baseSpeed = 85, + .baseSpAttack = 55, + .baseSpDefense = 70, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 45, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_TAUROS] = + { + .baseHP = 75, + .baseAttack = 100, + .baseDefense = 95, + .baseSpeed = 110, + .baseSpAttack = 40, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 211, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MAGIKARP] = + { + .baseHP = 20, + .baseAttack = 10, + .baseDefense = 55, + .baseSpeed = 80, + .baseSpAttack = 15, + .baseSpDefense = 20, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 20, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 5, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_GYARADOS] = + { + .baseHP = 95, + .baseAttack = 125, + .baseDefense = 79, + .baseSpeed = 81, + .baseSpAttack = 60, + .baseSpDefense = 100, + .type1 = TYPE_WATER, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 214, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 5, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_LAPRAS] = + { + .baseHP = 130, + .baseAttack = 85, + .baseDefense = 80, + .baseSpeed = 60, + .baseSpAttack = 85, + .baseSpDefense = 95, + .type1 = TYPE_WATER, + .type2 = TYPE_ICE, + .catchRate = 45, + .expYield = 219, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DITTO] = + { + .baseHP = 48, + .baseAttack = 48, + .baseDefense = 48, + .baseSpeed = 48, + .baseSpAttack = 48, + .baseSpDefense = 48, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 35, + .expYield = 61, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_POWDER, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_DITTO, + .eggGroup2 = EGG_GROUP_DITTO, + .ability1 = ABILITY_LIMBER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_EEVEE] = + { + .baseHP = 55, + .baseAttack = 55, + .baseDefense = 50, + .baseSpeed = 55, + .baseSpAttack = 45, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 92, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_VAPOREON] = + { + .baseHP = 130, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 65, + .baseSpAttack = 110, + .baseSpDefense = 95, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 196, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_JOLTEON] = + { + .baseHP = 65, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 130, + .baseSpAttack = 110, + .baseSpDefense = 95, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 197, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VOLT_ABSORB, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_FLAREON] = + { + .baseHP = 65, + .baseAttack = 130, + .baseDefense = 60, + .baseSpeed = 65, + .baseSpAttack = 95, + .baseSpDefense = 110, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 198, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_FLASH_FIRE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_PORYGON] = + { + .baseHP = 65, + .baseAttack = 60, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 85, + .baseSpDefense = 75, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 130, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_TRACE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_OMANYTE] = + { + .baseHP = 35, + .baseAttack = 40, + .baseDefense = 100, + .baseSpeed = 35, + .baseSpAttack = 90, + .baseSpDefense = 55, + .type1 = TYPE_ROCK, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 120, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_OMASTAR] = + { + .baseHP = 70, + .baseAttack = 60, + .baseDefense = 125, + .baseSpeed = 55, + .baseSpAttack = 115, + .baseSpDefense = 70, + .type1 = TYPE_ROCK, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 199, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_KABUTO] = + { + .baseHP = 30, + .baseAttack = 80, + .baseDefense = 90, + .baseSpeed = 55, + .baseSpAttack = 55, + .baseSpDefense = 45, + .type1 = TYPE_ROCK, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 119, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_BATTLE_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_KABUTOPS] = + { + .baseHP = 60, + .baseAttack = 115, + .baseDefense = 105, + .baseSpeed = 80, + .baseSpAttack = 65, + .baseSpDefense = 70, + .type1 = TYPE_ROCK, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 201, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_BATTLE_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_AERODACTYL] = + { + .baseHP = 80, + .baseAttack = 105, + .baseDefense = 65, + .baseSpeed = 130, + .baseSpAttack = 60, + .baseSpDefense = 75, + .type1 = TYPE_ROCK, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 202, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_PRESSURE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_SNORLAX] = + { + .baseHP = 160, + .baseAttack = 110, + .baseDefense = 65, + .baseSpeed = 30, + .baseSpAttack = 65, + .baseSpDefense = 110, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 25, + .expYield = 154, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LEFTOVERS, + .item2 = ITEM_LEFTOVERS, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_IMMUNITY, + .ability2 = ABILITY_THICK_FAT, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_ARTICUNO] = + { + .baseHP = 90, + .baseAttack = 85, + .baseDefense = 100, + .baseSpeed = 85, + .baseSpAttack = 95, + .baseSpDefense = 125, + .type1 = TYPE_ICE, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_ZAPDOS] = + { + .baseHP = 90, + .baseAttack = 90, + .baseDefense = 85, + .baseSpeed = 100, + .baseSpAttack = 125, + .baseSpDefense = 90, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 216, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_MOLTRES] = + { + .baseHP = 90, + .baseAttack = 100, + .baseDefense = 90, + .baseSpeed = 90, + .baseSpAttack = 125, + .baseSpDefense = 85, + .type1 = TYPE_FIRE, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 217, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_DRATINI] = + { + .baseHP = 41, + .baseAttack = 64, + .baseDefense = 45, + .baseSpeed = 50, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_DRAGON, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 67, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DRAGONAIR] = + { + .baseHP = 61, + .baseAttack = 84, + .baseDefense = 65, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 70, + .type1 = TYPE_DRAGON, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 144, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DRAGONITE] = + { + .baseHP = 91, + .baseAttack = 134, + .baseDefense = 95, + .baseSpeed = 80, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_DRAGON, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MEWTWO] = + { + .baseHP = 106, + .baseAttack = 110, + .baseDefense = 90, + .baseSpeed = 130, + .baseSpAttack = 154, + .baseSpDefense = 90, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 220, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_MEW] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 64, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LUM_BERRY, + .item2 = ITEM_LUM_BERRY, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 100, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_CHIKORITA] = + { + .baseHP = 45, + .baseAttack = 49, + .baseDefense = 65, + .baseSpeed = 45, + .baseSpAttack = 49, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 64, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_BAYLEEF] = + { + .baseHP = 60, + .baseAttack = 62, + .baseDefense = 80, + .baseSpeed = 60, + .baseSpAttack = 63, + .baseSpDefense = 80, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MEGANIUM] = + { + .baseHP = 80, + .baseAttack = 82, + .baseDefense = 100, + .baseSpeed = 80, + .baseSpAttack = 83, + .baseSpDefense = 100, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 208, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_CYNDAQUIL] = + { + .baseHP = 39, + .baseAttack = 52, + .baseDefense = 43, + .baseSpeed = 65, + .baseSpAttack = 60, + .baseSpDefense = 50, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_QUILAVA] = + { + .baseHP = 58, + .baseAttack = 64, + .baseDefense = 58, + .baseSpeed = 80, + .baseSpAttack = 80, + .baseSpDefense = 65, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 142, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_TYPHLOSION] = + { + .baseHP = 78, + .baseAttack = 84, + .baseDefense = 78, + .baseSpeed = 100, + .baseSpAttack = 109, + .baseSpDefense = 85, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 209, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_TOTODILE] = + { + .baseHP = 50, + .baseAttack = 65, + .baseDefense = 64, + .baseSpeed = 43, + .baseSpAttack = 44, + .baseSpDefense = 48, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 66, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_CROCONAW] = + { + .baseHP = 65, + .baseAttack = 80, + .baseDefense = 80, + .baseSpeed = 58, + .baseSpAttack = 59, + .baseSpDefense = 63, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 143, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = TRUE, + }, + + [SPECIES_FERALIGATR] = + { + .baseHP = 85, + .baseAttack = 105, + .baseDefense = 100, + .baseSpeed = 78, + .baseSpAttack = 79, + .baseSpDefense = 83, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 210, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SENTRET] = + { + .baseHP = 35, + .baseAttack = 46, + .baseDefense = 34, + .baseSpeed = 20, + .baseSpAttack = 35, + .baseSpDefense = 45, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 57, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_FURRET] = + { + .baseHP = 85, + .baseAttack = 76, + .baseDefense = 64, + .baseSpeed = 90, + .baseSpAttack = 45, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 90, + .expYield = 116, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_ORAN_BERRY, + .item2 = ITEM_SITRUS_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_HOOTHOOT] = + { + .baseHP = 60, + .baseAttack = 30, + .baseDefense = 30, + .baseSpeed = 50, + .baseSpAttack = 36, + .baseSpDefense = 56, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 58, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_NOCTOWL] = + { + .baseHP = 100, + .baseAttack = 50, + .baseDefense = 50, + .baseSpeed = 70, + .baseSpAttack = 76, + .baseSpDefense = 96, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 162, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_LEDYBA] = + { + .baseHP = 40, + .baseAttack = 20, + .baseDefense = 30, + .baseSpeed = 55, + .baseSpAttack = 40, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 54, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_LEDIAN] = + { + .baseHP = 55, + .baseAttack = 35, + .baseDefense = 50, + .baseSpeed = 85, + .baseSpAttack = 55, + .baseSpDefense = 110, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 134, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SPINARAK] = + { + .baseHP = 40, + .baseAttack = 60, + .baseDefense = 40, + .baseSpeed = 30, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 54, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_INSOMNIA, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_ARIADOS] = + { + .baseHP = 70, + .baseAttack = 90, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 90, + .expYield = 134, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_INSOMNIA, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CROBAT] = + { + .baseHP = 85, + .baseAttack = 90, + .baseDefense = 80, + .baseSpeed = 130, + .baseSpAttack = 70, + .baseSpDefense = 80, + .type1 = TYPE_POISON, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 204, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_CHINCHOU] = + { + .baseHP = 75, + .baseAttack = 38, + .baseDefense = 38, + .baseSpeed = 67, + .baseSpAttack = 56, + .baseSpDefense = 56, + .type1 = TYPE_WATER, + .type2 = TYPE_ELECTRIC, + .catchRate = 190, + .expYield = 90, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_YELLOW_SHARD, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_VOLT_ABSORB, + .ability2 = ABILITY_ILLUMINATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_LANTURN] = + { + .baseHP = 125, + .baseAttack = 58, + .baseDefense = 58, + .baseSpeed = 67, + .baseSpAttack = 76, + .baseSpDefense = 76, + .type1 = TYPE_WATER, + .type2 = TYPE_ELECTRIC, + .catchRate = 75, + .expYield = 156, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_YELLOW_SHARD, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_VOLT_ABSORB, + .ability2 = ABILITY_ILLUMINATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_PICHU] = + { + .baseHP = 20, + .baseAttack = 40, + .baseDefense = 15, + .baseSpeed = 60, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 190, + .expYield = 42, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_CLEFFA] = + { + .baseHP = 50, + .baseAttack = 25, + .baseDefense = 28, + .baseSpeed = 15, + .baseSpAttack = 45, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 150, + .expYield = 37, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_LEPPA_BERRY, + .item2 = ITEM_MOON_STONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_IGGLYBUFF] = + { + .baseHP = 90, + .baseAttack = 30, + .baseDefense = 15, + .baseSpeed = 15, + .baseSpAttack = 40, + .baseSpDefense = 20, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 170, + .expYield = 39, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = TRUE, + }, + + [SPECIES_TOGEPI] = + { + .baseHP = 35, + .baseAttack = 20, + .baseDefense = 65, + .baseSpeed = 20, + .baseSpAttack = 40, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 190, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_HUSTLE, + .ability2 = ABILITY_SERENE_GRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_TOGETIC] = + { + .baseHP = 55, + .baseAttack = 40, + .baseDefense = 85, + .baseSpeed = 40, + .baseSpAttack = 80, + .baseSpDefense = 105, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 75, + .expYield = 114, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_HUSTLE, + .ability2 = ABILITY_SERENE_GRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_NATU] = + { + .baseHP = 40, + .baseAttack = 50, + .baseDefense = 45, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 45, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_FLYING, + .catchRate = 190, + .expYield = 73, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_XATU] = + { + .baseHP = 65, + .baseAttack = 75, + .baseDefense = 70, + .baseSpeed = 95, + .baseSpAttack = 95, + .baseSpDefense = 70, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_FLYING, + .catchRate = 75, + .expYield = 171, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MAREEP] = + { + .baseHP = 55, + .baseAttack = 40, + .baseDefense = 40, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 45, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 235, + .expYield = 59, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_FLAAFFY] = + { + .baseHP = 70, + .baseAttack = 55, + .baseDefense = 55, + .baseSpeed = 45, + .baseSpAttack = 80, + .baseSpDefense = 60, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 120, + .expYield = 117, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_AMPHAROS] = + { + .baseHP = 90, + .baseAttack = 75, + .baseDefense = 75, + .baseSpeed = 55, + .baseSpAttack = 115, + .baseSpDefense = 90, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 194, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_BELLOSSOM] = + { + .baseHP = 75, + .baseAttack = 80, + .baseDefense = 85, + .baseSpeed = 50, + .baseSpAttack = 90, + .baseSpDefense = 100, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 184, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MARILL] = + { + .baseHP = 70, + .baseAttack = 20, + .baseDefense = 50, + .baseSpeed = 40, + .baseSpAttack = 20, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 58, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_HUGE_POWER, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_AZUMARILL] = + { + .baseHP = 100, + .baseAttack = 50, + .baseDefense = 80, + .baseSpeed = 50, + .baseSpAttack = 50, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 75, + .expYield = 153, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_HUGE_POWER, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SUDOWOODO] = + { + .baseHP = 70, + .baseAttack = 100, + .baseDefense = 115, + .baseSpeed = 30, + .baseSpAttack = 30, + .baseSpDefense = 65, + .type1 = TYPE_ROCK, + .type2 = TYPE_ROCK, + .catchRate = 65, + .expYield = 135, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_POLITOED] = + { + .baseHP = 90, + .baseAttack = 75, + .baseDefense = 75, + .baseSpeed = 70, + .baseSpAttack = 90, + .baseSpDefense = 100, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 185, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_DAMP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = TRUE, + }, + + [SPECIES_HOPPIP] = + { + .baseHP = 35, + .baseAttack = 35, + .baseDefense = 40, + .baseSpeed = 50, + .baseSpAttack = 35, + .baseSpDefense = 55, + .type1 = TYPE_GRASS, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_SKIPLOOM] = + { + .baseHP = 55, + .baseAttack = 45, + .baseDefense = 50, + .baseSpeed = 80, + .baseSpAttack = 45, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_FLYING, + .catchRate = 120, + .expYield = 136, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_JUMPLUFF] = + { + .baseHP = 75, + .baseAttack = 55, + .baseDefense = 70, + .baseSpeed = 110, + .baseSpAttack = 55, + .baseSpDefense = 85, + .type1 = TYPE_GRASS, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 176, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_AIPOM] = + { + .baseHP = 55, + .baseAttack = 70, + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 40, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 94, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_PICKUP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_SUNKERN] = + { + .baseHP = 30, + .baseAttack = 30, + .baseDefense = 30, + .baseSpeed = 30, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 235, + .expYield = 52, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SUNFLORA] = + { + .baseHP = 75, + .baseAttack = 75, + .baseDefense = 55, + .baseSpeed = 30, + .baseSpAttack = 105, + .baseSpDefense = 85, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 120, + .expYield = 146, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_YANMA] = + { + .baseHP = 65, + .baseAttack = 65, + .baseDefense = 45, + .baseSpeed = 95, + .baseSpAttack = 75, + .baseSpDefense = 45, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 75, + .expYield = 147, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SPEED_BOOST, + .ability2 = ABILITY_COMPOUND_EYES, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_WOOPER] = + { + .baseHP = 55, + .baseAttack = 45, + .baseDefense = 45, + .baseSpeed = 15, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 52, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_DAMP, + .ability2 = ABILITY_WATER_ABSORB, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_QUAGSIRE] = + { + .baseHP = 95, + .baseAttack = 85, + .baseDefense = 85, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 90, + .expYield = 137, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_DAMP, + .ability2 = ABILITY_WATER_ABSORB, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_ESPEON] = + { + .baseHP = 65, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 110, + .baseSpAttack = 130, + .baseSpDefense = 95, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 197, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_UMBREON] = + { + .baseHP = 95, + .baseAttack = 65, + .baseDefense = 110, + .baseSpeed = 65, + .baseSpAttack = 60, + .baseSpDefense = 130, + .type1 = TYPE_DARK, + .type2 = TYPE_DARK, + .catchRate = 45, + .expYield = 197, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_MURKROW] = + { + .baseHP = 60, + .baseAttack = 85, + .baseDefense = 42, + .baseSpeed = 91, + .baseSpAttack = 85, + .baseSpDefense = 42, + .type1 = TYPE_DARK, + .type2 = TYPE_FLYING, + .catchRate = 30, + .expYield = 107, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_SLOWKING] = + { + .baseHP = 95, + .baseAttack = 75, + .baseDefense = 80, + .baseSpeed = 30, + .baseSpAttack = 100, + .baseSpDefense = 110, + .type1 = TYPE_WATER, + .type2 = TYPE_PSYCHIC, + .catchRate = 70, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_MISDREAVUS] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 60, + .baseSpeed = 85, + .baseSpAttack = 85, + .baseSpDefense = 85, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 45, + .expYield = 147, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_UNOWN] = + { + .baseHP = 48, + .baseAttack = 72, + .baseDefense = 48, + .baseSpeed = 48, + .baseSpAttack = 72, + .baseSpDefense = 48, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 225, + .expYield = 61, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = TRUE, + }, + + [SPECIES_WOBBUFFET] = + { + .baseHP = 190, + .baseAttack = 33, + .baseDefense = 58, + .baseSpeed = 33, + .baseSpAttack = 33, + .baseSpDefense = 58, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 177, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_SHADOW_TAG, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GIRAFARIG] = + { + .baseHP = 70, + .baseAttack = 80, + .baseDefense = 65, + .baseSpeed = 85, + .baseSpAttack = 90, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_PSYCHIC, + .catchRate = 60, + .expYield = 149, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_PERSIM_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_PINECO] = + { + .baseHP = 50, + .baseAttack = 65, + .baseDefense = 90, + .baseSpeed = 15, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 190, + .expYield = 60, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_FORRETRESS] = + { + .baseHP = 75, + .baseAttack = 90, + .baseDefense = 140, + .baseSpeed = 40, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_BUG, + .type2 = TYPE_STEEL, + .catchRate = 75, + .expYield = 118, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_DUNSPARCE] = + { + .baseHP = 100, + .baseAttack = 70, + .baseDefense = 70, + .baseSpeed = 45, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 190, + .expYield = 75, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SERENE_GRACE, + .ability2 = ABILITY_RUN_AWAY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_GLIGAR] = + { + .baseHP = 65, + .baseAttack = 75, + .baseDefense = 105, + .baseSpeed = 85, + .baseSpAttack = 35, + .baseSpDefense = 65, + .type1 = TYPE_GROUND, + .type2 = TYPE_FLYING, + .catchRate = 60, + .expYield = 108, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SAND_VEIL, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_STEELIX] = + { + .baseHP = 75, + .baseAttack = 85, + .baseDefense = 200, + .baseSpeed = 30, + .baseSpAttack = 55, + .baseSpDefense = 65, + .type1 = TYPE_STEEL, + .type2 = TYPE_GROUND, + .catchRate = 25, + .expYield = 196, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_SNUBBULL] = + { + .baseHP = 60, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 30, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 190, + .expYield = 63, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_RUN_AWAY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_GRANBULL] = + { + .baseHP = 90, + .baseAttack = 120, + .baseDefense = 75, + .baseSpeed = 45, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 75, + .expYield = 178, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_INTIMIDATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_QWILFISH] = + { + .baseHP = 65, + .baseAttack = 95, + .baseDefense = 75, + .baseSpeed = 85, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 100, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_SWIFT_SWIM, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_SCIZOR] = + { + .baseHP = 70, + .baseAttack = 130, + .baseDefense = 100, + .baseSpeed = 65, + .baseSpAttack = 55, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_STEEL, + .catchRate = 25, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SHUCKLE] = + { + .baseHP = 20, + .baseAttack = 10, + .baseDefense = 230, + .baseSpeed = 5, + .baseSpAttack = 10, + .baseSpDefense = 230, + .type1 = TYPE_BUG, + .type2 = TYPE_ROCK, + .catchRate = 190, + .expYield = 80, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_ORAN_BERRY, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_HERACROSS] = + { + .baseHP = 80, + .baseAttack = 125, + .baseDefense = 75, + .baseSpeed = 85, + .baseSpAttack = 40, + .baseSpDefense = 95, + .type1 = TYPE_BUG, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SNEASEL] = + { + .baseHP = 55, + .baseAttack = 95, + .baseDefense = 55, + .baseSpeed = 115, + .baseSpAttack = 35, + .baseSpDefense = 75, + .type1 = TYPE_DARK, + .type2 = TYPE_ICE, + .catchRate = 60, + .expYield = 132, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_QUICK_CLAW, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = TRUE, + }, + + [SPECIES_TEDDIURSA] = + { + .baseHP = 60, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 40, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 120, + .expYield = 124, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = TRUE, + }, + + [SPECIES_URSARING] = + { + .baseHP = 90, + .baseAttack = 130, + .baseDefense = 75, + .baseSpeed = 55, + .baseSpAttack = 75, + .baseSpDefense = 75, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 60, + .expYield = 189, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SLUGMA] = + { + .baseHP = 40, + .baseAttack = 40, + .baseDefense = 40, + .baseSpeed = 20, + .baseSpAttack = 70, + .baseSpDefense = 40, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 190, + .expYield = 78, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_MAGMA_ARMOR, + .ability2 = ABILITY_FLAME_BODY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_MAGCARGO] = + { + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 120, + .baseSpeed = 30, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_FIRE, + .type2 = TYPE_ROCK, + .catchRate = 75, + .expYield = 154, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_MAGMA_ARMOR, + .ability2 = ABILITY_FLAME_BODY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SWINUB] = + { + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 40, + .baseSpeed = 50, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_ICE, + .type2 = TYPE_GROUND, + .catchRate = 225, + .expYield = 78, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PILOSWINE] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 80, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_ICE, + .type2 = TYPE_GROUND, + .catchRate = 75, + .expYield = 160, + .evYield_HP = 1, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_CORSOLA] = + { + .baseHP = 55, + .baseAttack = 55, + .baseDefense = 85, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 85, + .type1 = TYPE_WATER, + .type2 = TYPE_ROCK, + .catchRate = 60, + .expYield = 113, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_RED_SHARD, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HUSTLE, + .ability2 = ABILITY_NATURAL_CURE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_REMORAID] = + { + .baseHP = 35, + .baseAttack = 65, + .baseDefense = 35, + .baseSpeed = 65, + .baseSpAttack = 65, + .baseSpDefense = 35, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 78, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_HUSTLE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_OCTILLERY] = + { + .baseHP = 75, + .baseAttack = 105, + .baseDefense = 75, + .baseSpeed = 45, + .baseSpAttack = 105, + .baseSpDefense = 75, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 75, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SUCTION_CUPS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_DELIBIRD] = + { + .baseHP = 45, + .baseAttack = 55, + .baseDefense = 45, + .baseSpeed = 75, + .baseSpAttack = 65, + .baseSpDefense = 45, + .type1 = TYPE_ICE, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 183, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VITAL_SPIRIT, + .ability2 = ABILITY_HUSTLE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_MANTINE] = + { + .baseHP = 65, + .baseAttack = 40, + .baseDefense = 70, + .baseSpeed = 70, + .baseSpAttack = 80, + .baseSpDefense = 140, + .type1 = TYPE_WATER, + .type2 = TYPE_FLYING, + .catchRate = 25, + .expYield = 168, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_WATER_ABSORB, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_SKARMORY] = + { + .baseHP = 65, + .baseAttack = 80, + .baseDefense = 140, + .baseSpeed = 70, + .baseSpAttack = 40, + .baseSpDefense = 70, + .type1 = TYPE_STEEL, + .type2 = TYPE_FLYING, + .catchRate = 25, + .expYield = 168, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_HOUNDOUR] = + { + .baseHP = 45, + .baseAttack = 60, + .baseDefense = 30, + .baseSpeed = 65, + .baseSpAttack = 80, + .baseSpDefense = 50, + .type1 = TYPE_DARK, + .type2 = TYPE_FIRE, + .catchRate = 120, + .expYield = 114, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_EARLY_BIRD, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_HOUNDOOM] = + { + .baseHP = 75, + .baseAttack = 90, + .baseDefense = 50, + .baseSpeed = 95, + .baseSpAttack = 110, + .baseSpDefense = 80, + .type1 = TYPE_DARK, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 204, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_EARLY_BIRD, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_KINGDRA] = + { + .baseHP = 75, + .baseAttack = 95, + .baseDefense = 95, + .baseSpeed = 85, + .baseSpAttack = 95, + .baseSpDefense = 95, + .type1 = TYPE_WATER, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 207, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_PHANPY] = + { + .baseHP = 90, + .baseAttack = 60, + .baseDefense = 60, + .baseSpeed = 40, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 120, + .expYield = 124, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 10, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DONPHAN] = + { + .baseHP = 90, + .baseAttack = 120, + .baseDefense = 120, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 60, + .expYield = 189, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_PORYGON2] = + { + .baseHP = 85, + .baseAttack = 80, + .baseDefense = 90, + .baseSpeed = 60, + .baseSpAttack = 105, + .baseSpDefense = 95, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 180, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_TRACE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_STANTLER] = + { + .baseHP = 73, + .baseAttack = 95, + .baseDefense = 62, + .baseSpeed = 85, + .baseSpAttack = 85, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SMEARGLE] = + { + .baseHP = 55, + .baseAttack = 20, + .baseDefense = 35, + .baseSpeed = 75, + .baseSpAttack = 20, + .baseSpDefense = 45, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 106, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_OWN_TEMPO, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_TYROGUE] = + { + .baseHP = 35, + .baseAttack = 35, + .baseDefense = 35, + .baseSpeed = 35, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 75, + .expYield = 91, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_HITMONTOP] = + { + .baseHP = 50, + .baseAttack = 95, + .baseDefense = 95, + .baseSpeed = 70, + .baseSpAttack = 35, + .baseSpDefense = 110, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 138, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SMOOCHUM] = + { + .baseHP = 45, + .baseAttack = 30, + .baseDefense = 15, + .baseSpeed = 65, + .baseSpAttack = 85, + .baseSpDefense = 65, + .type1 = TYPE_ICE, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 87, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_ASPEAR_BERRY, + .item2 = ITEM_ASPEAR_BERRY, + .genderRatio = MON_FEMALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_ELEKID] = + { + .baseHP = 45, + .baseAttack = 63, + .baseDefense = 37, + .baseSpeed = 95, + .baseSpAttack = 65, + .baseSpDefense = 55, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 106, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = TRUE, + }, + + [SPECIES_MAGBY] = + { + .baseHP = 45, + .baseAttack = 75, + .baseDefense = 37, + .baseSpeed = 83, + .baseSpAttack = 70, + .baseSpDefense = 55, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 117, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_FLAME_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_MILTANK] = + { + .baseHP = 95, + .baseAttack = 80, + .baseDefense = 105, + .baseSpeed = 100, + .baseSpAttack = 40, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_MOOMOO_MILK, + .item2 = ITEM_MOOMOO_MILK, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_BLISSEY] = + { + .baseHP = 255, + .baseAttack = 10, + .baseDefense = 10, + .baseSpeed = 55, + .baseSpAttack = 75, + .baseSpDefense = 135, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 30, + .expYield = 255, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_LUCKY_EGG, + .genderRatio = MON_FEMALE, + .eggCycles = 40, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_SERENE_GRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_RAIKOU] = + { + .baseHP = 90, + .baseAttack = 85, + .baseDefense = 75, + .baseSpeed = 115, + .baseSpAttack = 115, + .baseSpDefense = 100, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 3, + .expYield = 216, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_ENTEI] = + { + .baseHP = 115, + .baseAttack = 115, + .baseDefense = 85, + .baseSpeed = 100, + .baseSpAttack = 90, + .baseSpDefense = 75, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 3, + .expYield = 217, + .evYield_HP = 1, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SUICUNE] = + { + .baseHP = 100, + .baseAttack = 75, + .baseDefense = 115, + .baseSpeed = 85, + .baseSpAttack = 90, + .baseSpDefense = 115, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_LARVITAR] = + { + .baseHP = 50, + .baseAttack = 64, + .baseDefense = 50, + .baseSpeed = 41, + .baseSpAttack = 45, + .baseSpDefense = 50, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 67, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_PUPITAR] = + { + .baseHP = 70, + .baseAttack = 84, + .baseDefense = 70, + .baseSpeed = 51, + .baseSpAttack = 65, + .baseSpDefense = 70, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 144, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_TYRANITAR] = + { + .baseHP = 100, + .baseAttack = 134, + .baseDefense = 110, + .baseSpeed = 61, + .baseSpAttack = 95, + .baseSpDefense = 100, + .type1 = TYPE_ROCK, + .type2 = TYPE_DARK, + .catchRate = 45, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_SAND_STREAM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LUGIA] = + { + .baseHP = 106, + .baseAttack = 90, + .baseDefense = 130, + .baseSpeed = 110, + .baseSpAttack = 90, + .baseSpDefense = 154, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 220, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_HO_OH] = + { + .baseHP = 106, + .baseAttack = 130, + .baseDefense = 90, + .baseSpeed = 90, + .baseSpAttack = 110, + .baseSpDefense = 154, + .type1 = TYPE_FIRE, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 220, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_SACRED_ASH, + .item2 = ITEM_SACRED_ASH, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CELEBI] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 64, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LUM_BERRY, + .item2 = ITEM_LUM_BERRY, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 100, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_B] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_C] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_D] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_E] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_F] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_G] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_H] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_I] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_J] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_K] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_L] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_M] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_N] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_O] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_P] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_Q] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_R] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_S] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_T] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_U] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_V] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_W] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_X] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_Y] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_Z] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_TREECKO] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 35, + .baseSpeed = 70, + .baseSpAttack = 65, + .baseSpDefense = 55, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_GROVYLE] = + { + .baseHP = 50, + .baseAttack = 65, + .baseDefense = 45, + .baseSpeed = 95, + .baseSpAttack = 85, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SCEPTILE] = + { + .baseHP = 70, + .baseAttack = 85, + .baseDefense = 65, + .baseSpeed = 120, + .baseSpAttack = 105, + .baseSpDefense = 85, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 208, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_TORCHIC] = + { + .baseHP = 45, + .baseAttack = 60, + .baseDefense = 40, + .baseSpeed = 45, + .baseSpAttack = 70, + .baseSpDefense = 50, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_COMBUSKEN] = + { + .baseHP = 60, + .baseAttack = 85, + .baseDefense = 60, + .baseSpeed = 55, + .baseSpAttack = 85, + .baseSpDefense = 60, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 142, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_BLAZIKEN] = + { + .baseHP = 80, + .baseAttack = 120, + .baseDefense = 70, + .baseSpeed = 80, + .baseSpAttack = 110, + .baseSpDefense = 70, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 209, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_MUDKIP] = + { + .baseHP = 50, + .baseAttack = 70, + .baseDefense = 50, + .baseSpeed = 40, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_MARSHTOMP] = + { + .baseHP = 70, + .baseAttack = 85, + .baseDefense = 70, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 70, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 143, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SWAMPERT] = + { + .baseHP = 100, + .baseAttack = 110, + .baseDefense = 90, + .baseSpeed = 60, + .baseSpAttack = 85, + .baseSpDefense = 90, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 210, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_POOCHYENA] = + { + .baseHP = 35, + .baseAttack = 55, + .baseDefense = 35, + .baseSpeed = 35, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_DARK, + .type2 = TYPE_DARK, + .catchRate = 255, + .expYield = 55, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_PECHA_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_MIGHTYENA] = + { + .baseHP = 70, + .baseAttack = 90, + .baseDefense = 70, + .baseSpeed = 70, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_DARK, + .type2 = TYPE_DARK, + .catchRate = 127, + .expYield = 128, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_PECHA_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_ZIGZAGOON] = + { + .baseHP = 38, + .baseAttack = 30, + .baseDefense = 41, + .baseSpeed = 60, + .baseSpAttack = 30, + .baseSpDefense = 41, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 60, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_LINOONE] = + { + .baseHP = 78, + .baseAttack = 70, + .baseDefense = 61, + .baseSpeed = 100, + .baseSpAttack = 50, + .baseSpDefense = 61, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 90, + .expYield = 128, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_ORAN_BERRY, + .item2 = ITEM_SITRUS_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_WURMPLE] = + { + .baseHP = 45, + .baseAttack = 45, + .baseDefense = 35, + .baseSpeed = 20, + .baseSpAttack = 20, + .baseSpDefense = 30, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 255, + .expYield = 54, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SILCOON] = + { + .baseHP = 50, + .baseAttack = 35, + .baseDefense = 55, + .baseSpeed = 15, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 120, + .expYield = 71, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_BEAUTIFLY] = + { + .baseHP = 60, + .baseAttack = 70, + .baseDefense = 50, + .baseSpeed = 65, + .baseSpAttack = 90, + .baseSpDefense = 50, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 161, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SILVER_POWDER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_CASCOON] = + { + .baseHP = 50, + .baseAttack = 35, + .baseDefense = 55, + .baseSpeed = 15, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 120, + .expYield = 72, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_DUSTOX] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 70, + .baseSpeed = 65, + .baseSpAttack = 50, + .baseSpDefense = 90, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 160, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_SILVER_POWDER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LOTAD] = + { + .baseHP = 40, + .baseAttack = 30, + .baseDefense = 30, + .baseSpeed = 30, + .baseSpAttack = 40, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_GRASS, + .catchRate = 255, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_RAIN_DISH, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LOMBRE] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 50, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 70, + .type1 = TYPE_WATER, + .type2 = TYPE_GRASS, + .catchRate = 120, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_RAIN_DISH, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LUDICOLO] = + { + .baseHP = 80, + .baseAttack = 70, + .baseDefense = 70, + .baseSpeed = 70, + .baseSpAttack = 90, + .baseSpDefense = 100, + .type1 = TYPE_WATER, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 181, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_RAIN_DISH, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SEEDOT] = + { + .baseHP = 40, + .baseAttack = 40, + .baseDefense = 50, + .baseSpeed = 30, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 255, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_NUZLEAF] = + { + .baseHP = 70, + .baseAttack = 70, + .baseDefense = 40, + .baseSpeed = 60, + .baseSpAttack = 60, + .baseSpDefense = 40, + .type1 = TYPE_GRASS, + .type2 = TYPE_DARK, + .catchRate = 120, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SHIFTRY] = + { + .baseHP = 90, + .baseAttack = 100, + .baseDefense = 60, + .baseSpeed = 80, + .baseSpAttack = 90, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_DARK, + .catchRate = 45, + .expYield = 181, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_NINCADA] = + { + .baseHP = 31, + .baseAttack = 45, + .baseDefense = 90, + .baseSpeed = 40, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_BUG, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_COMPOUND_EYES, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_NINJASK] = + { + .baseHP = 61, + .baseAttack = 90, + .baseDefense = 45, + .baseSpeed = 160, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 120, + .expYield = 155, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SPEED_BOOST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SHEDINJA] = + { + .baseHP = 1, + .baseAttack = 90, + .baseDefense = 45, + .baseSpeed = 40, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_BUG, + .type2 = TYPE_GHOST, + .catchRate = 45, + .expYield = 95, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_WONDER_GUARD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_TAILLOW] = + { + .baseHP = 40, + .baseAttack = 55, + .baseDefense = 30, + .baseSpeed = 85, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 200, + .expYield = 59, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SWELLOW] = + { + .baseHP = 60, + .baseAttack = 85, + .baseDefense = 60, + .baseSpeed = 125, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 162, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SHROOMISH] = + { + .baseHP = 60, + .baseAttack = 40, + .baseDefense = 60, + .baseSpeed = 35, + .baseSpAttack = 40, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 255, + .expYield = 65, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_EFFECT_SPORE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_BRELOOM] = + { + .baseHP = 60, + .baseAttack = 130, + .baseDefense = 80, + .baseSpeed = 70, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_FIGHTING, + .catchRate = 90, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_EFFECT_SPORE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SPINDA] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 60, + .baseSpeed = 60, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 85, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_OWN_TEMPO, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = TRUE, + }, + + [SPECIES_WINGULL] = + { + .baseHP = 40, + .baseAttack = 30, + .baseDefense = 30, + .baseSpeed = 85, + .baseSpAttack = 55, + .baseSpDefense = 30, + .type1 = TYPE_WATER, + .type2 = TYPE_FLYING, + .catchRate = 190, + .expYield = 64, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_PELIPPER] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 100, + .baseSpeed = 65, + .baseSpAttack = 85, + .baseSpDefense = 70, + .type1 = TYPE_WATER, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SURSKIT] = + { + .baseHP = 40, + .baseAttack = 30, + .baseDefense = 32, + .baseSpeed = 65, + .baseSpAttack = 50, + .baseSpDefense = 52, + .type1 = TYPE_BUG, + .type2 = TYPE_WATER, + .catchRate = 200, + .expYield = 63, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_MASQUERAIN] = + { + .baseHP = 70, + .baseAttack = 60, + .baseDefense = 62, + .baseSpeed = 60, + .baseSpAttack = 80, + .baseSpDefense = 82, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 75, + .expYield = 128, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_SILVER_POWDER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WAILMER] = + { + .baseHP = 130, + .baseAttack = 70, + .baseDefense = 35, + .baseSpeed = 60, + .baseSpAttack = 70, + .baseSpDefense = 35, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 125, + .expYield = 137, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_WATER_VEIL, + .ability2 = ABILITY_OBLIVIOUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WAILORD] = + { + .baseHP = 170, + .baseAttack = 90, + .baseDefense = 45, + .baseSpeed = 60, + .baseSpAttack = 90, + .baseSpDefense = 45, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 206, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_WATER_VEIL, + .ability2 = ABILITY_OBLIVIOUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SKITTY] = + { + .baseHP = 50, + .baseAttack = 45, + .baseDefense = 45, + .baseSpeed = 50, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_LEPPA_BERRY, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_DELCATTY] = + { + .baseHP = 70, + .baseAttack = 65, + .baseDefense = 65, + .baseSpeed = 70, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 60, + .expYield = 138, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_LEPPA_BERRY, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_KECLEON] = + { + .baseHP = 60, + .baseAttack = 90, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 60, + .baseSpDefense = 120, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 200, + .expYield = 132, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_PERSIM_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_COLOR_CHANGE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_BALTOY] = + { + .baseHP = 40, + .baseAttack = 40, + .baseDefense = 55, + .baseSpeed = 55, + .baseSpAttack = 40, + .baseSpDefense = 70, + .type1 = TYPE_GROUND, + .type2 = TYPE_PSYCHIC, + .catchRate = 255, + .expYield = 58, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_CLAYDOL] = + { + .baseHP = 60, + .baseAttack = 70, + .baseDefense = 105, + .baseSpeed = 75, + .baseSpAttack = 70, + .baseSpDefense = 120, + .type1 = TYPE_GROUND, + .type2 = TYPE_PSYCHIC, + .catchRate = 90, + .expYield = 189, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_NOSEPASS] = + { + .baseHP = 30, + .baseAttack = 45, + .baseDefense = 135, + .baseSpeed = 30, + .baseSpAttack = 45, + .baseSpDefense = 90, + .type1 = TYPE_ROCK, + .type2 = TYPE_ROCK, + .catchRate = 255, + .expYield = 108, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_MAGNET_PULL, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_TORKOAL] = + { + .baseHP = 70, + .baseAttack = 85, + .baseDefense = 140, + .baseSpeed = 20, + .baseSpAttack = 85, + .baseSpDefense = 70, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 90, + .expYield = 161, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_WHITE_SMOKE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SABLEYE] = + { + .baseHP = 50, + .baseAttack = 75, + .baseDefense = 75, + .baseSpeed = 50, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_DARK, + .type2 = TYPE_GHOST, + .catchRate = 45, + .expYield = 98, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_BARBOACH] = + { + .baseHP = 50, + .baseAttack = 48, + .baseDefense = 43, + .baseSpeed = 60, + .baseSpAttack = 46, + .baseSpDefense = 41, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 190, + .expYield = 92, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_WHISCASH] = + { + .baseHP = 110, + .baseAttack = 78, + .baseDefense = 73, + .baseSpeed = 60, + .baseSpAttack = 76, + .baseSpDefense = 71, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 75, + .expYield = 158, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_LUVDISC] = + { + .baseHP = 43, + .baseAttack = 30, + .baseDefense = 55, + .baseSpeed = 97, + .baseSpAttack = 40, + .baseSpDefense = 65, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 110, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_HEART_SCALE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_CORPHISH] = + { + .baseHP = 43, + .baseAttack = 80, + .baseDefense = 65, + .baseSpeed = 35, + .baseSpAttack = 50, + .baseSpDefense = 35, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 205, + .expYield = 111, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CRAWDAUNT] = + { + .baseHP = 63, + .baseAttack = 120, + .baseDefense = 85, + .baseSpeed = 55, + .baseSpAttack = 90, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_DARK, + .catchRate = 155, + .expYield = 161, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_FEEBAS] = + { + .baseHP = 20, + .baseAttack = 15, + .baseDefense = 20, + .baseSpeed = 80, + .baseSpAttack = 10, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 61, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MILOTIC] = + { + .baseHP = 95, + .baseAttack = 60, + .baseDefense = 79, + .baseSpeed = 81, + .baseSpAttack = 100, + .baseSpDefense = 125, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 213, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_MARVEL_SCALE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_CARVANHA] = + { + .baseHP = 45, + .baseAttack = 90, + .baseDefense = 20, + .baseSpeed = 65, + .baseSpAttack = 65, + .baseSpDefense = 20, + .type1 = TYPE_WATER, + .type2 = TYPE_DARK, + .catchRate = 225, + .expYield = 88, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_ROUGH_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SHARPEDO] = + { + .baseHP = 70, + .baseAttack = 120, + .baseDefense = 40, + .baseSpeed = 95, + .baseSpAttack = 95, + .baseSpDefense = 40, + .type1 = TYPE_WATER, + .type2 = TYPE_DARK, + .catchRate = 60, + .expYield = 175, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_ROUGH_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_TRAPINCH] = + { + .baseHP = 45, + .baseAttack = 100, + .baseDefense = 45, + .baseSpeed = 10, + .baseSpAttack = 45, + .baseSpDefense = 45, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 73, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SOFT_SAND, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_ARENA_TRAP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_VIBRAVA] = + { + .baseHP = 50, + .baseAttack = 70, + .baseDefense = 50, + .baseSpeed = 70, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_GROUND, + .type2 = TYPE_DRAGON, + .catchRate = 120, + .expYield = 126, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_LEVITATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_FLYGON] = + { + .baseHP = 80, + .baseAttack = 100, + .baseDefense = 80, + .baseSpeed = 100, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_GROUND, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 197, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_LEVITATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MAKUHITA] = + { + .baseHP = 72, + .baseAttack = 60, + .baseDefense = 30, + .baseSpeed = 25, + .baseSpAttack = 20, + .baseSpDefense = 30, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 180, + .expYield = 87, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_HARIYAMA] = + { + .baseHP = 144, + .baseAttack = 120, + .baseDefense = 60, + .baseSpeed = 50, + .baseSpAttack = 40, + .baseSpDefense = 60, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 200, + .expYield = 184, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_ELECTRIKE] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 40, + .baseSpeed = 65, + .baseSpAttack = 65, + .baseSpDefense = 40, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 120, + .expYield = 104, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_LIGHTNING_ROD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MANECTRIC] = + { + .baseHP = 70, + .baseAttack = 75, + .baseDefense = 60, + .baseSpeed = 105, + .baseSpAttack = 105, + .baseSpDefense = 60, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 168, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_LIGHTNING_ROD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_NUMEL] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 40, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 45, + .type1 = TYPE_FIRE, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 88, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_CAMERUPT] = + { + .baseHP = 70, + .baseAttack = 100, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 105, + .baseSpDefense = 75, + .type1 = TYPE_FIRE, + .type2 = TYPE_GROUND, + .catchRate = 150, + .expYield = 175, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_MAGMA_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SPHEAL] = + { + .baseHP = 70, + .baseAttack = 40, + .baseDefense = 50, + .baseSpeed = 25, + .baseSpAttack = 55, + .baseSpDefense = 50, + .type1 = TYPE_ICE, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 75, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SEALEO] = + { + .baseHP = 90, + .baseAttack = 60, + .baseDefense = 70, + .baseSpeed = 45, + .baseSpAttack = 75, + .baseSpDefense = 70, + .type1 = TYPE_ICE, + .type2 = TYPE_WATER, + .catchRate = 120, + .expYield = 128, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WALREIN] = + { + .baseHP = 110, + .baseAttack = 80, + .baseDefense = 90, + .baseSpeed = 65, + .baseSpAttack = 95, + .baseSpDefense = 90, + .type1 = TYPE_ICE, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 192, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_CACNEA] = + { + .baseHP = 50, + .baseAttack = 85, + .baseDefense = 40, + .baseSpeed = 35, + .baseSpAttack = 85, + .baseSpDefense = 40, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 190, + .expYield = 97, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_POISON_BARB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_CACTURNE] = + { + .baseHP = 70, + .baseAttack = 115, + .baseDefense = 60, + .baseSpeed = 55, + .baseSpAttack = 115, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_DARK, + .catchRate = 60, + .expYield = 177, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_POISON_BARB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SNORUNT] = + { + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 50, + .baseSpeed = 50, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_ICE, + .type2 = TYPE_ICE, + .catchRate = 190, + .expYield = 74, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_GLALIE] = + { + .baseHP = 80, + .baseAttack = 80, + .baseDefense = 80, + .baseSpeed = 80, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_ICE, + .type2 = TYPE_ICE, + .catchRate = 75, + .expYield = 187, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NEVER_MELT_ICE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_LUNATONE] = + { + .baseHP = 70, + .baseAttack = 55, + .baseDefense = 65, + .baseSpeed = 70, + .baseSpAttack = 95, + .baseSpDefense = 85, + .type1 = TYPE_ROCK, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 150, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_MOON_STONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SOLROCK] = + { + .baseHP = 70, + .baseAttack = 95, + .baseDefense = 85, + .baseSpeed = 70, + .baseSpAttack = 55, + .baseSpDefense = 65, + .type1 = TYPE_ROCK, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 150, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SUN_STONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_AZURILL] = + { + .baseHP = 50, + .baseAttack = 20, + .baseDefense = 40, + .baseSpeed = 20, + .baseSpAttack = 20, + .baseSpDefense = 40, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 150, + .expYield = 33, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_HUGE_POWER, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SPOINK] = + { + .baseHP = 60, + .baseAttack = 25, + .baseDefense = 35, + .baseSpeed = 60, + .baseSpAttack = 70, + .baseSpDefense = 80, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 255, + .expYield = 89, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_GRUMPIG] = + { + .baseHP = 80, + .baseAttack = 45, + .baseDefense = 65, + .baseSpeed = 80, + .baseSpAttack = 90, + .baseSpDefense = 110, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 60, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_PLUSLE] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 40, + .baseSpeed = 95, + .baseSpAttack = 85, + .baseSpDefense = 75, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 200, + .expYield = 120, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_PLUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_MINUN] = + { + .baseHP = 60, + .baseAttack = 40, + .baseDefense = 50, + .baseSpeed = 95, + .baseSpAttack = 75, + .baseSpDefense = 85, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 200, + .expYield = 120, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_MINUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_MAWILE] = + { + .baseHP = 50, + .baseAttack = 85, + .baseDefense = 85, + .baseSpeed = 50, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_STEEL, + .type2 = TYPE_STEEL, + .catchRate = 45, + .expYield = 98, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_INTIMIDATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_MEDITITE] = + { + .baseHP = 30, + .baseAttack = 40, + .baseDefense = 55, + .baseSpeed = 60, + .baseSpAttack = 40, + .baseSpDefense = 55, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_PSYCHIC, + .catchRate = 180, + .expYield = 91, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_PURE_POWER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_MEDICHAM] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 75, + .baseSpeed = 80, + .baseSpAttack = 60, + .baseSpDefense = 75, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_PSYCHIC, + .catchRate = 90, + .expYield = 153, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_PURE_POWER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SWABLU] = + { + .baseHP = 45, + .baseAttack = 40, + .baseDefense = 60, + .baseSpeed = 50, + .baseSpAttack = 40, + .baseSpDefense = 75, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_ALTARIA] = + { + .baseHP = 75, + .baseAttack = 70, + .baseDefense = 90, + .baseSpeed = 80, + .baseSpAttack = 70, + .baseSpDefense = 105, + .type1 = TYPE_DRAGON, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 188, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WYNAUT] = + { + .baseHP = 95, + .baseAttack = 23, + .baseDefense = 48, + .baseSpeed = 23, + .baseSpAttack = 23, + .baseSpDefense = 48, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 125, + .expYield = 44, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_SHADOW_TAG, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DUSKULL] = + { + .baseHP = 20, + .baseAttack = 40, + .baseDefense = 90, + .baseSpeed = 25, + .baseSpAttack = 30, + .baseSpDefense = 90, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 190, + .expYield = 97, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_DUSCLOPS] = + { + .baseHP = 40, + .baseAttack = 70, + .baseDefense = 130, + .baseSpeed = 25, + .baseSpAttack = 60, + .baseSpDefense = 130, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 90, + .expYield = 179, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_ROSELIA] = + { + .baseHP = 50, + .baseAttack = 60, + .baseDefense = 45, + .baseSpeed = 65, + .baseSpAttack = 100, + .baseSpDefense = 80, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 150, + .expYield = 152, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_POISON_BARB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_POISON_POINT, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = TRUE, + }, + + [SPECIES_SLAKOTH] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 60, + .baseSpeed = 30, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 83, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_TRUANT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_VIGOROTH] = + { + .baseHP = 80, + .baseAttack = 80, + .baseDefense = 80, + .baseSpeed = 90, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 120, + .expYield = 126, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VITAL_SPIRIT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_SLAKING] = + { + .baseHP = 150, + .baseAttack = 160, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 95, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 210, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_TRUANT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_GULPIN] = + { + .baseHP = 70, + .baseAttack = 43, + .baseDefense = 53, + .baseSpeed = 40, + .baseSpAttack = 43, + .baseSpDefense = 53, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 225, + .expYield = 75, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_BIG_PEARL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LIQUID_OOZE, + .ability2 = ABILITY_STICKY_HOLD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SWALOT] = + { + .baseHP = 100, + .baseAttack = 73, + .baseDefense = 83, + .baseSpeed = 55, + .baseSpAttack = 73, + .baseSpDefense = 83, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 75, + .expYield = 168, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_BIG_PEARL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LIQUID_OOZE, + .ability2 = ABILITY_STICKY_HOLD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_TROPIUS] = + { + .baseHP = 99, + .baseAttack = 68, + .baseDefense = 83, + .baseSpeed = 51, + .baseSpAttack = 72, + .baseSpDefense = 87, + .type1 = TYPE_GRASS, + .type2 = TYPE_FLYING, + .catchRate = 200, + .expYield = 169, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_WHISMUR] = + { + .baseHP = 64, + .baseAttack = 51, + .baseDefense = 23, + .baseSpeed = 28, + .baseSpAttack = 51, + .baseSpDefense = 23, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 190, + .expYield = 68, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_LOUDRED] = + { + .baseHP = 84, + .baseAttack = 71, + .baseDefense = 43, + .baseSpeed = 48, + .baseSpAttack = 71, + .baseSpDefense = 43, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 120, + .expYield = 126, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_EXPLOUD] = + { + .baseHP = 104, + .baseAttack = 91, + .baseDefense = 63, + .baseSpeed = 68, + .baseSpAttack = 91, + .baseSpDefense = 63, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 184, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_CLAMPERL] = + { + .baseHP = 35, + .baseAttack = 64, + .baseDefense = 85, + .baseSpeed = 32, + .baseSpAttack = 74, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 142, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_BLUE_SHARD, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_SHELL_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_HUNTAIL] = + { + .baseHP = 55, + .baseAttack = 104, + .baseDefense = 105, + .baseSpeed = 52, + .baseSpAttack = 94, + .baseSpDefense = 75, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 178, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GOREBYSS] = + { + .baseHP = 55, + .baseAttack = 84, + .baseDefense = 105, + .baseSpeed = 52, + .baseSpAttack = 114, + .baseSpDefense = 75, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 178, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_ABSOL] = + { + .baseHP = 65, + .baseAttack = 130, + .baseDefense = 60, + .baseSpeed = 75, + .baseSpAttack = 75, + .baseSpDefense = 60, + .type1 = TYPE_DARK, + .type2 = TYPE_DARK, + .catchRate = 30, + .expYield = 174, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = TRUE, + }, + + [SPECIES_SHUPPET] = + { + .baseHP = 44, + .baseAttack = 75, + .baseDefense = 35, + .baseSpeed = 45, + .baseSpAttack = 63, + .baseSpDefense = 33, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 225, + .expYield = 97, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_BANETTE] = + { + .baseHP = 64, + .baseAttack = 115, + .baseDefense = 65, + .baseSpeed = 65, + .baseSpAttack = 83, + .baseSpDefense = 63, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 45, + .expYield = 179, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_SEVIPER] = + { + .baseHP = 73, + .baseAttack = 100, + .baseDefense = 60, + .baseSpeed = 65, + .baseSpAttack = 100, + .baseSpDefense = 60, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 90, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = TRUE, + }, + + [SPECIES_ZANGOOSE] = + { + .baseHP = 73, + .baseAttack = 115, + .baseDefense = 60, + .baseSpeed = 90, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 90, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_IMMUNITY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = TRUE, + }, + + [SPECIES_RELICANTH] = + { + .baseHP = 100, + .baseAttack = 90, + .baseDefense = 130, + .baseSpeed = 55, + .baseSpAttack = 45, + .baseSpDefense = 65, + .type1 = TYPE_WATER, + .type2 = TYPE_ROCK, + .catchRate = 25, + .expYield = 198, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_GREEN_SHARD, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_ARON] = + { + .baseHP = 50, + .baseAttack = 70, + .baseDefense = 100, + .baseSpeed = 30, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_STEEL, + .type2 = TYPE_ROCK, + .catchRate = 180, + .expYield = 96, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_HARD_STONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 35, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_LAIRON] = + { + .baseHP = 60, + .baseAttack = 90, + .baseDefense = 140, + .baseSpeed = 40, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_STEEL, + .type2 = TYPE_ROCK, + .catchRate = 90, + .expYield = 152, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_HARD_STONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 35, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_AGGRON] = + { + .baseHP = 70, + .baseAttack = 110, + .baseDefense = 180, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_STEEL, + .type2 = TYPE_ROCK, + .catchRate = 45, + .expYield = 205, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_HARD_STONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 35, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_CASTFORM] = + { + .baseHP = 70, + .baseAttack = 70, + .baseDefense = 70, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 145, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_MYSTIC_WATER, + .item2 = ITEM_MYSTIC_WATER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_FORECAST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_VOLBEAT] = + { + .baseHP = 65, + .baseAttack = 73, + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 47, + .baseSpDefense = 75, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 150, + .expYield = 146, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_ILLUMINATE, + .ability2 = ABILITY_SWARM, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_ILLUMISE] = + { + .baseHP = 65, + .baseAttack = 47, + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 73, + .baseSpDefense = 75, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 150, + .expYield = 146, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_LILEEP] = + { + .baseHP = 66, + .baseAttack = 41, + .baseDefense = 77, + .baseSpeed = 23, + .baseSpAttack = 61, + .baseSpDefense = 87, + .type1 = TYPE_ROCK, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 121, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SUCTION_CUPS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_CRADILY] = + { + .baseHP = 86, + .baseAttack = 81, + .baseDefense = 97, + .baseSpeed = 43, + .baseSpAttack = 81, + .baseSpDefense = 107, + .type1 = TYPE_ROCK, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 201, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SUCTION_CUPS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_ANORITH] = + { + .baseHP = 45, + .baseAttack = 95, + .baseDefense = 50, + .baseSpeed = 75, + .baseSpAttack = 40, + .baseSpDefense = 50, + .type1 = TYPE_ROCK, + .type2 = TYPE_BUG, + .catchRate = 45, + .expYield = 119, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_BATTLE_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_ARMALDO] = + { + .baseHP = 75, + .baseAttack = 125, + .baseDefense = 100, + .baseSpeed = 45, + .baseSpAttack = 70, + .baseSpDefense = 80, + .type1 = TYPE_ROCK, + .type2 = TYPE_BUG, + .catchRate = 45, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_BATTLE_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_RALTS] = + { + .baseHP = 28, + .baseAttack = 25, + .baseDefense = 25, + .baseSpeed = 40, + .baseSpAttack = 45, + .baseSpDefense = 35, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 235, + .expYield = 70, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_TRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_KIRLIA] = + { + .baseHP = 38, + .baseAttack = 35, + .baseDefense = 35, + .baseSpeed = 50, + .baseSpAttack = 65, + .baseSpDefense = 55, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 120, + .expYield = 140, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_TRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_GARDEVOIR] = + { + .baseHP = 68, + .baseAttack = 65, + .baseDefense = 65, + .baseSpeed = 80, + .baseSpAttack = 125, + .baseSpDefense = 115, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 208, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_TRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_BAGON] = + { + .baseHP = 45, + .baseAttack = 75, + .baseDefense = 60, + .baseSpeed = 50, + .baseSpAttack = 40, + .baseSpDefense = 30, + .type1 = TYPE_DRAGON, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 89, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_DRAGON, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SHELGON] = + { + .baseHP = 65, + .baseAttack = 95, + .baseDefense = 100, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 50, + .type1 = TYPE_DRAGON, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 144, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_DRAGON, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_SALAMENCE] = + { + .baseHP = 95, + .baseAttack = 135, + .baseDefense = 80, + .baseSpeed = 100, + .baseSpAttack = 110, + .baseSpDefense = 80, + .type1 = TYPE_DRAGON, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_DRAGON, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_BELDUM] = + { + .baseHP = 40, + .baseAttack = 55, + .baseDefense = 80, + .baseSpeed = 30, + .baseSpAttack = 35, + .baseSpDefense = 60, + .type1 = TYPE_STEEL, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 103, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_METANG] = + { + .baseHP = 60, + .baseAttack = 75, + .baseDefense = 100, + .baseSpeed = 50, + .baseSpAttack = 55, + .baseSpDefense = 80, + .type1 = TYPE_STEEL, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 153, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_METAGROSS] = + { + .baseHP = 80, + .baseAttack = 135, + .baseDefense = 130, + .baseSpeed = 70, + .baseSpAttack = 95, + .baseSpDefense = 90, + .type1 = TYPE_STEEL, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 210, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_REGIROCK] = + { + .baseHP = 80, + .baseAttack = 100, + .baseDefense = 200, + .baseSpeed = 50, + .baseSpAttack = 50, + .baseSpDefense = 100, + .type1 = TYPE_ROCK, + .type2 = TYPE_ROCK, + .catchRate = 3, + .expYield = 217, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_REGICE] = + { + .baseHP = 80, + .baseAttack = 50, + .baseDefense = 100, + .baseSpeed = 50, + .baseSpAttack = 100, + .baseSpDefense = 200, + .type1 = TYPE_ICE, + .type2 = TYPE_ICE, + .catchRate = 3, + .expYield = 216, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_REGISTEEL] = + { + .baseHP = 80, + .baseAttack = 75, + .baseDefense = 150, + .baseSpeed = 50, + .baseSpAttack = 75, + .baseSpDefense = 150, + .type1 = TYPE_STEEL, + .type2 = TYPE_STEEL, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_KYOGRE] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 90, + .baseSpeed = 90, + .baseSpAttack = 150, + .baseSpDefense = 140, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 5, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_DRIZZLE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GROUDON] = + { + .baseHP = 100, + .baseAttack = 150, + .baseDefense = 140, + .baseSpeed = 90, + .baseSpAttack = 100, + .baseSpDefense = 90, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 5, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_DROUGHT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_RAYQUAZA] = + { + .baseHP = 105, + .baseAttack = 150, + .baseDefense = 90, + .baseSpeed = 95, + .baseSpAttack = 150, + .baseSpDefense = 90, + .type1 = TYPE_DRAGON, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 220, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_AIR_LOCK, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LATIAS] = + { + .baseHP = 80, + .baseAttack = 80, + .baseDefense = 90, + .baseSpeed = 110, + .baseSpAttack = 110, + .baseSpDefense = 130, + .type1 = TYPE_DRAGON, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 211, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 120, + .friendship = 90, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_LATIOS] = + { + .baseHP = 80, + .baseAttack = 90, + .baseDefense = 80, + .baseSpeed = 110, + .baseSpAttack = 130, + .baseSpDefense = 110, + .type1 = TYPE_DRAGON, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 211, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 120, + .friendship = 90, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_JIRACHI] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_STEEL, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_STAR_PIECE, + .item2 = ITEM_STAR_PIECE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 100, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_SERENE_GRACE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_DEOXYS] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = TRUE, + }, + + [SPECIES_CHIMECHO] = + { + .baseHP = 65, + .baseAttack = 50, + .baseDefense = 70, + .baseSpeed = 65, + .baseSpAttack = 95, + .baseSpDefense = 80, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 147, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, } }; -#endif //POKERUBY_BASE_STATS_H +#endif //GUARD_BASE_STATS_H diff --git a/src/data/pokemon/dex_order.h b/src/data/pokemon/dex_order.h deleted file mode 100644 index cbb7182ed..000000000 --- a/src/data/pokemon/dex_order.h +++ /dev/null @@ -1,15 +0,0 @@ -// - -// - -#ifndef POKERUBY_DEX_ORDER_H -#define POKERUBY_DEX_ORDER_H - -const u16 gSpeciesToHoennPokedexNum[] = {203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 156, 157, 112, 113, 227, 228, 229, 230, 231, 232, 233, 234, 153, 154, 138, 139, 63, 64, 88, 89, 90, 235, 236, 237, 238, 239, 240, 241, 242, 158, 159, 243, 244, 245, 246, 247, 248, 249, 39, 40, 41, 73, 74, 75, 250, 251, 252, 66, 67, 57, 58, 59, 253, 254, 255, 256, 82, 83, 257, 92, 93, 258, 259, 106, 107, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 84, 85, 270, 271, 272, 273, 274, 275, 276, 108, 109, 169, 170, 277, 278, 279, 184, 185, 50, 51, 143, 144, 280, 281, 282, 283, 284, 167, 285, 52, 53, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 65, 181, 182, 155, 324, 137, 325, 326, 162, 163, 327, 328, 329, 91, 55, 56, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 161, 164, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 168, 357, 358, 359, 103, 104, 360, 361, 180, 362, 363, 364, 365, 115, 366, 367, 186, 165, 166, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 42, 43, 44, 25, 26, 34, 35, 114, 27, 28, 32, 33, 99, 100, 61, 62, 145, 131, 132, 60, 105, 68, 127, 128, 183, 129, 130, 140, 141, 97, 98, 116, 117, 118, 48, 49, 78, 79, 101, 102, 173, 174, 175, 119, 120, 171, 172, 125, 126, 54, 110, 111, 80, 81, 69, 76, 77, 121, 122, 160, 148, 149, 94, 36, 37, 38, 95, 96, 150, 45, 46, 47, 176, 177, 178, 152, 146, 147, 124, 123, 179, 70, 71, 72, 142, 86, 87, 133, 134, 135, 136, 29, 30, 31, 187, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 196, 197, 201, 202, 151 -}; - -const u16 gSpeciesToNationalPokedexNum[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 290, 291, 292, 276, 277, 285, 286, 327, 278, 279, 283, 284, 320, 321, 300, 301, 352, 343, 344, 299, 324, 302, 339, 340, 370, 341, 342, 349, 350, 318, 319, 328, 329, 330, 296, 297, 309, 310, 322, 323, 363, 364, 365, 331, 332, 361, 362, 337, 338, 298, 325, 326, 311, 312, 303, 307, 308, 333, 334, 360, 355, 356, 315, 287, 288, 289, 316, 317, 357, 293, 294, 295, 366, 367, 368, 359, 353, 354, 336, 335, 369, 304, 305, 306, 351, 313, 314, 345, 346, 347, 348, 280, 281, 282, 371, 372, 373, 374, 375, 376, 377, 378, 379, 382, 383, 384, 380, 381, 385, 386, 358}; - -const u16 gHoennToNationalOrder[] = {252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 63, 64, 65, 290, 291, 292, 293, 294, 295, 296, 297, 118, 119, 129, 130, 298, 183, 184, 74, 75, 76, 299, 300, 301, 41, 42, 169, 72, 73, 302, 303, 304, 305, 306, 66, 67, 68, 307, 308, 309, 310, 311, 312, 81, 82, 100, 101, 313, 314, 43, 44, 45, 182, 84, 85, 315, 316, 317, 318, 319, 320, 321, 322, 323, 218, 219, 324, 88, 89, 109, 110, 325, 326, 27, 28, 327, 227, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 174, 39, 40, 349, 350, 351, 120, 121, 352, 353, 354, 355, 356, 357, 358, 359, 37, 38, 172, 25, 26, 54, 55, 360, 202, 177, 178, 203, 231, 232, 127, 214, 111, 112, 361, 362, 363, 364, 365, 366, 367, 368, 369, 222, 170, 171, 370, 116, 117, 230, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 62, 69, 70, 71, 77, 78, 79, 80, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 107, 108, 113, 114, 115, 122, 123, 124, 125, 126, 128, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 173, 175, 176, 179, 180, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 215, 216, 217, 220, 221, 223, 224, 225, 226, 228, 229, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411}; - -#endif //POKERUBY_DEX_ORDER_H diff --git a/src/data/pokemon/evolution.h b/src/data/pokemon/evolution.h index 919416fee..b88e42cd2 100644 --- a/src/data/pokemon/evolution.h +++ b/src/data/pokemon/evolution.h @@ -1,608 +1,192 @@ -// - -// - #ifndef POKERUBY_EVOLUTION_H #define POKERUBY_EVOLUTION_H -const struct EvolutionData gEvolutionTable[] = { - {{ // ?????????? - }}, {{ // Bulbasaur - {EVO_LEVEL, 16, SPECIES_IVYSAUR}, - }}, {{ // Ivysaur - {EVO_LEVEL, 32, SPECIES_VENUSAUR}, - }}, {{ // Venusaur - }}, {{ // Charmander - {EVO_LEVEL, 16, SPECIES_CHARMELEON}, - }}, {{ // Charmeleon - {EVO_LEVEL, 36, SPECIES_CHARIZARD}, - }}, {{ // Charizard - }}, {{ // Squirtle - {EVO_LEVEL, 16, SPECIES_WARTORTLE}, - }}, {{ // Wartortle - {EVO_LEVEL, 36, SPECIES_BLASTOISE}, - }}, {{ // Blastoise - }}, {{ // Caterpie - {EVO_LEVEL, 7, SPECIES_METAPOD}, - }}, {{ // Metapod - {EVO_LEVEL, 10, SPECIES_BUTTERFREE}, - }}, {{ // Butterfree - }}, {{ // Weedle - {EVO_LEVEL, 7, SPECIES_KAKUNA}, - }}, {{ // Kakuna - {EVO_LEVEL, 10, SPECIES_BEEDRILL}, - }}, {{ // Beedrill - }}, {{ // Pidgey - {EVO_LEVEL, 18, SPECIES_PIDGEOTTO}, - }}, {{ // Pidgeotto - {EVO_LEVEL, 36, SPECIES_PIDGEOT}, - }}, {{ // Pidgeot - }}, {{ // Rattata - {EVO_LEVEL, 20, SPECIES_RATICATE}, - }}, {{ // Raticate - }}, {{ // Spearow - {EVO_LEVEL, 20, SPECIES_FEAROW}, - }}, {{ // Fearow - }}, {{ // Ekans - {EVO_LEVEL, 22, SPECIES_ARBOK}, - }}, {{ // Arbok - }}, {{ // Pikachu - {EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU}, - }}, {{ // Raichu - }}, {{ // Sandshrew - {EVO_LEVEL, 22, SPECIES_SANDSLASH}, - }}, {{ // Sandslash - }}, {{ // Nidoran♀ - {EVO_LEVEL, 16, SPECIES_NIDORINA}, - }}, {{ // Nidorina - {EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOQUEEN}, - }}, {{ // Nidoqueen - }}, {{ // Nidoran♂ - {EVO_LEVEL, 16, SPECIES_NIDORINO}, - }}, {{ // Nidorino - {EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOKING}, - }}, {{ // Nidoking - }}, {{ // Clefairy - {EVO_ITEM, ITEM_MOON_STONE, SPECIES_CLEFABLE}, - }}, {{ // Clefable - }}, {{ // Vulpix - {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_NINETALES}, - }}, {{ // Ninetales - }}, {{ // Jigglypuff - {EVO_ITEM, ITEM_MOON_STONE, SPECIES_WIGGLYTUFF}, - }}, {{ // Wigglytuff - }}, {{ // Zubat - {EVO_LEVEL, 22, SPECIES_GOLBAT}, - }}, {{ // Golbat - {EVO_FRIENDSHIP, 0, SPECIES_CROBAT}, - }}, {{ // Oddish - {EVO_LEVEL, 21, SPECIES_GLOOM}, - }}, {{ // Gloom - {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME}, - {EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM}, - }}, {{ // Vileplume - }}, {{ // Paras - {EVO_LEVEL, 24, SPECIES_PARASECT}, - }}, {{ // Parasect - }}, {{ // Venonat - {EVO_LEVEL, 31, SPECIES_VENOMOTH}, - }}, {{ // Venomoth - }}, {{ // Diglett - {EVO_LEVEL, 26, SPECIES_DUGTRIO}, - }}, {{ // Dugtrio - }}, {{ // Meowth - {EVO_LEVEL, 28, SPECIES_PERSIAN}, - }}, {{ // Persian - }}, {{ // Psyduck - {EVO_LEVEL, 33, SPECIES_GOLDUCK}, - }}, {{ // Golduck - }}, {{ // Mankey - {EVO_LEVEL, 28, SPECIES_PRIMEAPE}, - }}, {{ // Primeape - }}, {{ // Growlithe - {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE}, - }}, {{ // Arcanine - }}, {{ // Poliwag - {EVO_LEVEL, 25, SPECIES_POLIWHIRL}, - }}, {{ // Poliwhirl - {EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH}, - {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED}, - }}, {{ // Poliwrath - }}, {{ // Abra - {EVO_LEVEL, 16, SPECIES_KADABRA}, - }}, {{ // Kadabra - {EVO_TRADE, 0, SPECIES_ALAKAZAM}, - }}, {{ // Alakazam - }}, {{ // Machop - {EVO_LEVEL, 28, SPECIES_MACHOKE}, - }}, {{ // Machoke - {EVO_TRADE, 0, SPECIES_MACHAMP}, - }}, {{ // Machamp - }}, {{ // Bellsprout - {EVO_LEVEL, 21, SPECIES_WEEPINBELL}, - }}, {{ // Weepinbell - {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VICTREEBEL}, - }}, {{ // Victreebel - }}, {{ // Tentacool - {EVO_LEVEL, 30, SPECIES_TENTACRUEL}, - }}, {{ // Tentacruel - }}, {{ // Geodude - {EVO_LEVEL, 25, SPECIES_GRAVELER}, - }}, {{ // Graveler - {EVO_TRADE, 0, SPECIES_GOLEM}, - }}, {{ // Golem - }}, {{ // Ponyta - {EVO_LEVEL, 40, SPECIES_RAPIDASH}, - }}, {{ // Rapidash - }}, {{ // Slowpoke - {EVO_LEVEL, 37, SPECIES_SLOWBRO}, - {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}, - }}, {{ // Slowbro - }}, {{ // Magnemite - {EVO_LEVEL, 30, SPECIES_MAGNETON}, - }}, {{ // Magneton - }}, {{ // Farfetch'd - }}, {{ // Doduo - {EVO_LEVEL, 31, SPECIES_DODRIO}, - }}, {{ // Dodrio - }}, {{ // Seel - {EVO_LEVEL, 34, SPECIES_DEWGONG}, - }}, {{ // Dewgong - }}, {{ // Grimer - {EVO_LEVEL, 38, SPECIES_MUK}, - }}, {{ // Muk - }}, {{ // Shellder - {EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER}, - }}, {{ // Cloyster - }}, {{ // Gastly - {EVO_LEVEL, 25, SPECIES_HAUNTER}, - }}, {{ // Haunter - {EVO_TRADE, 0, SPECIES_GENGAR}, - }}, {{ // Gengar - }}, {{ // Onix - {EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}, - }}, {{ // Drowzee - {EVO_LEVEL, 26, SPECIES_HYPNO}, - }}, {{ // Hypno - }}, {{ // Krabby - {EVO_LEVEL, 28, SPECIES_KINGLER}, - }}, {{ // Kingler - }}, {{ // Voltorb - {EVO_LEVEL, 30, SPECIES_ELECTRODE}, - }}, {{ // Electrode - }}, {{ // Exeggcute - {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR}, - }}, {{ // Exeggutor - }}, {{ // Cubone - {EVO_LEVEL, 28, SPECIES_MAROWAK}, - }}, {{ // Marowak - }}, {{ // Hitmonlee - }}, {{ // Hitmonchan - }}, {{ // Lickitung - }}, {{ // Koffing - {EVO_LEVEL, 35, SPECIES_WEEZING}, - }}, {{ // Weezing - }}, {{ // Rhyhorn - {EVO_LEVEL, 42, SPECIES_RHYDON}, - }}, {{ // Rhydon - }}, {{ // Chansey - {EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}, - }}, {{ // Tangela - }}, {{ // Kangaskhan - }}, {{ // Horsea - {EVO_LEVEL, 32, SPECIES_SEADRA}, - }}, {{ // Seadra - {EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}, - }}, {{ // Goldeen - {EVO_LEVEL, 33, SPECIES_SEAKING}, - }}, {{ // Seaking - }}, {{ // Staryu - {EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}, - }}, {{ // Starmie - }}, {{ // Mr. mime - }}, {{ // Scyther - {EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}, - }}, {{ // Jynx - }}, {{ // Electabuzz - }}, {{ // Magmar - }}, {{ // Pinsir - }}, {{ // Tauros - }}, {{ // Magikarp - {EVO_LEVEL, 20, SPECIES_GYARADOS}, - }}, {{ // Gyarados - }}, {{ // Lapras - }}, {{ // Ditto - }}, {{ // Eevee - {EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON}, - {EVO_ITEM, ITEM_WATER_STONE, SPECIES_VAPOREON}, - {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON}, - {EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON}, - {EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}, - }}, {{ // Vaporeon - }}, {{ // Jolteon - }}, {{ // Flareon - }}, {{ // Porygon - {EVO_TRADE_ITEM, ITEM_UP_GRADE, SPECIES_PORYGON2}, - }}, {{ // Omanyte - {EVO_LEVEL, 40, SPECIES_OMASTAR}, - }}, {{ // Omastar - }}, {{ // Kabuto - {EVO_LEVEL, 40, SPECIES_KABUTOPS}, - }}, {{ // Kabutops - }}, {{ // Aerodactyl - }}, {{ // Snorlax - }}, {{ // Articuno - }}, {{ // Zapdos - }}, {{ // Moltres - }}, {{ // Dratini - {EVO_LEVEL, 30, SPECIES_DRAGONAIR}, - }}, {{ // Dragonair - {EVO_LEVEL, 55, SPECIES_DRAGONITE}, - }}, {{ // Dragonite - }}, {{ // Mewtwo - }}, {{ // Mew - }}, {{ // Chikorita - {EVO_LEVEL, 16, SPECIES_BAYLEEF}, - }}, {{ // Bayleef - {EVO_LEVEL, 32, SPECIES_MEGANIUM}, - }}, {{ // Meganium - }}, {{ // Cyndaquil - {EVO_LEVEL, 14, SPECIES_QUILAVA}, - }}, {{ // Quilava - {EVO_LEVEL, 36, SPECIES_TYPHLOSION}, - }}, {{ // Typhlosion - }}, {{ // Totodile - {EVO_LEVEL, 18, SPECIES_CROCONAW}, - }}, {{ // Croconaw - {EVO_LEVEL, 30, SPECIES_FERALIGATR}, - }}, {{ // Feraligatr - }}, {{ // Sentret - {EVO_LEVEL, 15, SPECIES_FURRET}, - }}, {{ // Furret - }}, {{ // Hoothoot - {EVO_LEVEL, 20, SPECIES_NOCTOWL}, - }}, {{ // Noctowl - }}, {{ // Ledyba - {EVO_LEVEL, 18, SPECIES_LEDIAN}, - }}, {{ // Ledian - }}, {{ // Spinarak - {EVO_LEVEL, 22, SPECIES_ARIADOS}, - }}, {{ // Ariados - }}, {{ // Crobat - }}, {{ // Chinchou - {EVO_LEVEL, 27, SPECIES_LANTURN}, - }}, {{ // Lanturn - }}, {{ // Pichu - {EVO_FRIENDSHIP, 0, SPECIES_PIKACHU}, - }}, {{ // Cleffa - {EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}, - }}, {{ // Igglybuff - {EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}, - }}, {{ // Togepi - {EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}, - }}, {{ // Togetic - }}, {{ // Natu - {EVO_LEVEL, 25, SPECIES_XATU}, - }}, {{ // Xatu - }}, {{ // Mareep - {EVO_LEVEL, 15, SPECIES_FLAAFFY}, - }}, {{ // Flaaffy - {EVO_LEVEL, 30, SPECIES_AMPHAROS}, - }}, {{ // Ampharos - }}, {{ // Bellossom - }}, {{ // Marill - {EVO_LEVEL, 18, SPECIES_AZUMARILL}, - }}, {{ // Azumarill - }}, {{ // Sudowoodo - }}, {{ // Politoed - }}, {{ // Hoppip - {EVO_LEVEL, 18, SPECIES_SKIPLOOM}, - }}, {{ // Skiploom - {EVO_LEVEL, 27, SPECIES_JUMPLUFF}, - }}, {{ // Jumpluff - }}, {{ // Aipom - }}, {{ // Sunkern - {EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}, - }}, {{ // Sunflora - }}, {{ // Yanma - }}, {{ // Wooper - {EVO_LEVEL, 20, SPECIES_QUAGSIRE}, - }}, {{ // Quagsire - }}, {{ // Espeon - }}, {{ // Umbreon - }}, {{ // Murkrow - }}, {{ // Slowking - }}, {{ // Misdreavus - }}, {{ // Unown - }}, {{ // Wobbuffet - }}, {{ // Girafarig - }}, {{ // Pineco - {EVO_LEVEL, 31, SPECIES_FORRETRESS}, - }}, {{ // Forretress - }}, {{ // Dunsparce - }}, {{ // Gligar - }}, {{ // Steelix - }}, {{ // Snubbull - {EVO_LEVEL, 23, SPECIES_GRANBULL}, - }}, {{ // Granbull - }}, {{ // Qwilfish - }}, {{ // Scizor - }}, {{ // Shuckle - }}, {{ // Heracross - }}, {{ // Sneasel - }}, {{ // Teddiursa - {EVO_LEVEL, 30, SPECIES_URSARING}, - }}, {{ // Ursaring - }}, {{ // Slugma - {EVO_LEVEL, 38, SPECIES_MAGCARGO}, - }}, {{ // Magcargo - }}, {{ // Swinub - {EVO_LEVEL, 33, SPECIES_PILOSWINE}, - }}, {{ // Piloswine - }}, {{ // Corsola - }}, {{ // Remoraid - {EVO_LEVEL, 25, SPECIES_OCTILLERY}, - }}, {{ // Octillery - }}, {{ // Delibird - }}, {{ // Mantine - }}, {{ // Skarmory - }}, {{ // Houndour - {EVO_LEVEL, 24, SPECIES_HOUNDOOM}, - }}, {{ // Houndoom - }}, {{ // Kingdra - }}, {{ // Phanpy - {EVO_LEVEL, 25, SPECIES_DONPHAN}, - }}, {{ // Donphan - }}, {{ // Porygon2 - }}, {{ // Stantler - }}, {{ // Smeargle - }}, {{ // Tyrogue - {EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN}, - {EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE}, - {EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP}, - }}, {{ // Hitmontop - }}, {{ // Smoochum - {EVO_LEVEL, 30, SPECIES_JYNX}, - }}, {{ // Elekid - {EVO_LEVEL, 30, SPECIES_ELECTABUZZ}, - }}, {{ // Magby - {EVO_LEVEL, 30, SPECIES_MAGMAR}, - }}, {{ // Miltank - }}, {{ // Blissey - }}, {{ // Raikou - }}, {{ // Entei - }}, {{ // Suicune - }}, {{ // Larvitar - {EVO_LEVEL, 30, SPECIES_PUPITAR}, - }}, {{ // Pupitar - {EVO_LEVEL, 55, SPECIES_TYRANITAR}, - }}, {{ // Tyranitar - }}, {{ // Lugia - }}, {{ // Ho-Oh - }}, {{ // Celebi - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // ? - }}, {{ // Treecko - {EVO_LEVEL, 16, SPECIES_GROVYLE}, - }}, {{ // Grovyle - {EVO_LEVEL, 36, SPECIES_SCEPTILE}, - }}, {{ // Sceptile - }}, {{ // Torchic - {EVO_LEVEL, 16, SPECIES_COMBUSKEN}, - }}, {{ // Combusken - {EVO_LEVEL, 36, SPECIES_BLAZIKEN}, - }}, {{ // Blaziken - }}, {{ // Mudkip - {EVO_LEVEL, 16, SPECIES_MARSHTOMP}, - }}, {{ // Marshtomp - {EVO_LEVEL, 36, SPECIES_SWAMPERT}, - }}, {{ // Swampert - }}, {{ // Poochyena - {EVO_LEVEL, 18, SPECIES_MIGHTYENA}, - }}, {{ // Mightyena - }}, {{ // Zigzagoon - {EVO_LEVEL, 20, SPECIES_LINOONE}, - }}, {{ // Linoone - }}, {{ // Wurmple - {EVO_LEVEL_SILCOON, 7, SPECIES_SILCOON}, - {EVO_LEVEL_CASCOON, 7, SPECIES_CASCOON}, - }}, {{ // Silcoon - {EVO_LEVEL, 10, SPECIES_BEAUTIFLY}, - }}, {{ // Beautifly - }}, {{ // Cascoon - {EVO_LEVEL, 10, SPECIES_DUSTOX}, - }}, {{ // Dustox - }}, {{ // Lotad - {EVO_LEVEL, 14, SPECIES_LOMBRE}, - }}, {{ // Lombre - {EVO_ITEM, ITEM_WATER_STONE, SPECIES_LUDICOLO}, - }}, {{ // Ludicolo - }}, {{ // Seedot - {EVO_LEVEL, 14, SPECIES_NUZLEAF}, - }}, {{ // Nuzleaf - {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SHIFTRY}, - }}, {{ // Shiftry - }}, {{ // Nincada - {EVO_LEVEL_NINJASK, 20, SPECIES_NINJASK}, - {EVO_LEVEL_SHEDINJA, 20, SPECIES_SHEDINJA}, - }}, {{ // Ninjask - }}, {{ // Shedinja - }}, {{ // Taillow - {EVO_LEVEL, 22, SPECIES_SWELLOW}, - }}, {{ // Swellow - }}, {{ // Shroomish - {EVO_LEVEL, 23, SPECIES_BRELOOM}, - }}, {{ // Breloom - }}, {{ // Spinda - }}, {{ // Wingull - {EVO_LEVEL, 25, SPECIES_PELIPPER}, - }}, {{ // Pelipper - }}, {{ // Surskit - {EVO_LEVEL, 22, SPECIES_MASQUERAIN}, - }}, {{ // Masquerain - }}, {{ // Wailmer - {EVO_LEVEL, 40, SPECIES_WAILORD}, - }}, {{ // Wailord - }}, {{ // Skitty - {EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}, - }}, {{ // Delcatty - }}, {{ // Kecleon - }}, {{ // Baltoy - {EVO_LEVEL, 36, SPECIES_CLAYDOL}, - }}, {{ // Claydol - }}, {{ // Nosepass - }}, {{ // Torkoal - }}, {{ // Sableye - }}, {{ // Barboach - {EVO_LEVEL, 30, SPECIES_WHISCASH}, - }}, {{ // Whiscash - }}, {{ // Luvdisc - }}, {{ // Corphish - {EVO_LEVEL, 30, SPECIES_CRAWDAUNT}, - }}, {{ // Crawdaunt - }}, {{ // Feebas - {EVO_BEAUTY, 170, SPECIES_MILOTIC}, - }}, {{ // Milotic - }}, {{ // Carvanha - {EVO_LEVEL, 30, SPECIES_SHARPEDO}, - }}, {{ // Sharpedo - }}, {{ // Trapinch - {EVO_LEVEL, 35, SPECIES_VIBRAVA}, - }}, {{ // Vibrava - {EVO_LEVEL, 45, SPECIES_FLYGON}, - }}, {{ // Flygon - }}, {{ // Makuhita - {EVO_LEVEL, 24, SPECIES_HARIYAMA}, - }}, {{ // Hariyama - }}, {{ // Electrike - {EVO_LEVEL, 26, SPECIES_MANECTRIC}, - }}, {{ // Manectric - }}, {{ // Numel - {EVO_LEVEL, 33, SPECIES_CAMERUPT}, - }}, {{ // Camerupt - }}, {{ // Spheal - {EVO_LEVEL, 32, SPECIES_SEALEO}, - }}, {{ // Sealeo - {EVO_LEVEL, 44, SPECIES_WALREIN}, - }}, {{ // Walrein - }}, {{ // Cacnea - {EVO_LEVEL, 32, SPECIES_CACTURNE}, - }}, {{ // Cacturne - }}, {{ // Snorunt - {EVO_LEVEL, 42, SPECIES_GLALIE}, - }}, {{ // Glalie - }}, {{ // Lunatone - }}, {{ // Solrock - }}, {{ // Azurill - {EVO_FRIENDSHIP, 0, SPECIES_MARILL}, - }}, {{ // Spoink - {EVO_LEVEL, 32, SPECIES_GRUMPIG}, - }}, {{ // Grumpig - }}, {{ // Plusle - }}, {{ // Minun - }}, {{ // Mawile - }}, {{ // Meditite - {EVO_LEVEL, 37, SPECIES_MEDICHAM}, - }}, {{ // Medicham - }}, {{ // Swablu - {EVO_LEVEL, 35, SPECIES_ALTARIA}, - }}, {{ // Altaria - }}, {{ // Wynaut - {EVO_LEVEL, 15, SPECIES_WOBBUFFET}, - }}, {{ // Duskull - {EVO_LEVEL, 37, SPECIES_DUSCLOPS}, - }}, {{ // Dusclops - }}, {{ // Roselia - }}, {{ // Slakoth - {EVO_LEVEL, 18, SPECIES_VIGOROTH}, - }}, {{ // Vigoroth - {EVO_LEVEL, 36, SPECIES_SLAKING}, - }}, {{ // Slaking - }}, {{ // Gulpin - {EVO_LEVEL, 26, SPECIES_SWALOT}, - }}, {{ // Swalot - }}, {{ // Tropius - }}, {{ // Whismur - {EVO_LEVEL, 20, SPECIES_LOUDRED}, - }}, {{ // Loudred - {EVO_LEVEL, 40, SPECIES_EXPLOUD}, - }}, {{ // Exploud - }}, {{ // Clamperl - {EVO_TRADE_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL}, - {EVO_TRADE_ITEM, ITEM_DEEP_SEA_SCALE, SPECIES_GOREBYSS}, - }}, {{ // Huntail - }}, {{ // Gorebyss - }}, {{ // Absol - }}, {{ // Shuppet - {EVO_LEVEL, 37, SPECIES_BANETTE}, - }}, {{ // Banette - }}, {{ // Seviper - }}, {{ // Zangoose - }}, {{ // Relicanth - }}, {{ // Aron - {EVO_LEVEL, 32, SPECIES_LAIRON}, - }}, {{ // Lairon - {EVO_LEVEL, 42, SPECIES_AGGRON}, - }}, {{ // Aggron - }}, {{ // Castform - }}, {{ // Volbeat - }}, {{ // Illumise - }}, {{ // Lileep - {EVO_LEVEL, 40, SPECIES_CRADILY}, - }}, {{ // Cradily - }}, {{ // Anorith - {EVO_LEVEL, 40, SPECIES_ARMALDO}, - }}, {{ // Armaldo - }}, {{ // Ralts - {EVO_LEVEL, 20, SPECIES_KIRLIA}, - }}, {{ // Kirlia - {EVO_LEVEL, 30, SPECIES_GARDEVOIR}, - }}, {{ // Gardevoir - }}, {{ // Bagon - {EVO_LEVEL, 30, SPECIES_SHELGON}, - }}, {{ // Shelgon - {EVO_LEVEL, 50, SPECIES_SALAMENCE}, - }}, {{ // Salamence - }}, {{ // Beldum - {EVO_LEVEL, 20, SPECIES_METANG}, - }}, {{ // Metang - {EVO_LEVEL, 45, SPECIES_METAGROSS}, - }}, {{ // Metagross - }}, {{ // Regirock - }}, {{ // Regice - }}, {{ // Registeel - }}, {{ // Kyogre - }}, {{ // Groudon - }}, {{ // Rayquaza - }}, {{ // Latias - }}, {{ // Latios - }}, {{ // Jirachi - }}, {{ // Deoxys - }}, {{ // Chimecho - }} +struct Evolution gEvolutionTable[NUM_SPECIES][5] = +{ + [SPECIES_BULBASAUR] = {{EVO_LEVEL, 16, SPECIES_IVYSAUR}}, + [SPECIES_IVYSAUR] = {{EVO_LEVEL, 32, SPECIES_VENUSAUR}}, + [SPECIES_CHARMANDER] = {{EVO_LEVEL, 16, SPECIES_CHARMELEON}}, + [SPECIES_CHARMELEON] = {{EVO_LEVEL, 36, SPECIES_CHARIZARD}}, + [SPECIES_SQUIRTLE] = {{EVO_LEVEL, 16, SPECIES_WARTORTLE}}, + [SPECIES_WARTORTLE] = {{EVO_LEVEL, 36, SPECIES_BLASTOISE}}, + [SPECIES_CATERPIE] = {{EVO_LEVEL, 7, SPECIES_METAPOD}}, + [SPECIES_METAPOD] = {{EVO_LEVEL, 10, SPECIES_BUTTERFREE}}, + [SPECIES_WEEDLE] = {{EVO_LEVEL, 7, SPECIES_KAKUNA}}, + [SPECIES_KAKUNA] = {{EVO_LEVEL, 10, SPECIES_BEEDRILL}}, + [SPECIES_PIDGEY] = {{EVO_LEVEL, 18, SPECIES_PIDGEOTTO}}, + [SPECIES_PIDGEOTTO] = {{EVO_LEVEL, 36, SPECIES_PIDGEOT}}, + [SPECIES_RATTATA] = {{EVO_LEVEL, 20, SPECIES_RATICATE}}, + [SPECIES_SPEAROW] = {{EVO_LEVEL, 20, SPECIES_FEAROW}}, + [SPECIES_EKANS] = {{EVO_LEVEL, 22, SPECIES_ARBOK}}, + [SPECIES_PIKACHU] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU}}, + [SPECIES_SANDSHREW] = {{EVO_LEVEL, 22, SPECIES_SANDSLASH}}, + [SPECIES_NIDORAN_F] = {{EVO_LEVEL, 16, SPECIES_NIDORINA}}, + [SPECIES_NIDORINA] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOQUEEN}}, + [SPECIES_NIDORAN_M] = {{EVO_LEVEL, 16, SPECIES_NIDORINO}}, + [SPECIES_NIDORINO] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOKING}}, + [SPECIES_CLEFAIRY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_CLEFABLE}}, + [SPECIES_VULPIX] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_NINETALES}}, + [SPECIES_JIGGLYPUFF] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_WIGGLYTUFF}}, + [SPECIES_ZUBAT] = {{EVO_LEVEL, 22, SPECIES_GOLBAT}}, + [SPECIES_GOLBAT] = {{EVO_FRIENDSHIP, 0, SPECIES_CROBAT}}, + [SPECIES_ODDISH] = {{EVO_LEVEL, 21, SPECIES_GLOOM}}, + [SPECIES_GLOOM] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME}, + {EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM}}, + [SPECIES_PARAS] = {{EVO_LEVEL, 24, SPECIES_PARASECT}}, + [SPECIES_VENONAT] = {{EVO_LEVEL, 31, SPECIES_VENOMOTH}}, + [SPECIES_DIGLETT] = {{EVO_LEVEL, 26, SPECIES_DUGTRIO}}, + [SPECIES_MEOWTH] = {{EVO_LEVEL, 28, SPECIES_PERSIAN}}, + [SPECIES_PSYDUCK] = {{EVO_LEVEL, 33, SPECIES_GOLDUCK}}, + [SPECIES_MANKEY] = {{EVO_LEVEL, 28, SPECIES_PRIMEAPE}}, + [SPECIES_GROWLITHE] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE}}, + [SPECIES_POLIWAG] = {{EVO_LEVEL, 25, SPECIES_POLIWHIRL}}, + [SPECIES_POLIWHIRL] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH}, + {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED}}, + [SPECIES_ABRA] = {{EVO_LEVEL, 16, SPECIES_KADABRA}}, + [SPECIES_KADABRA] = {{EVO_TRADE, 0, SPECIES_ALAKAZAM}}, + [SPECIES_MACHOP] = {{EVO_LEVEL, 28, SPECIES_MACHOKE}}, + [SPECIES_MACHOKE] = {{EVO_TRADE, 0, SPECIES_MACHAMP}}, + [SPECIES_BELLSPROUT] = {{EVO_LEVEL, 21, SPECIES_WEEPINBELL}}, + [SPECIES_WEEPINBELL] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VICTREEBEL}}, + [SPECIES_TENTACOOL] = {{EVO_LEVEL, 30, SPECIES_TENTACRUEL}}, + [SPECIES_GEODUDE] = {{EVO_LEVEL, 25, SPECIES_GRAVELER}}, + [SPECIES_GRAVELER] = {{EVO_TRADE, 0, SPECIES_GOLEM}}, + [SPECIES_PONYTA] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH}}, + [SPECIES_SLOWPOKE] = {{EVO_LEVEL, 37, SPECIES_SLOWBRO}, + {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}}, + [SPECIES_MAGNEMITE] = {{EVO_LEVEL, 30, SPECIES_MAGNETON}}, + [SPECIES_DODUO] = {{EVO_LEVEL, 31, SPECIES_DODRIO}}, + [SPECIES_SEEL] = {{EVO_LEVEL, 34, SPECIES_DEWGONG}}, + [SPECIES_GRIMER] = {{EVO_LEVEL, 38, SPECIES_MUK}}, + [SPECIES_SHELLDER] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER}}, + [SPECIES_GASTLY] = {{EVO_LEVEL, 25, SPECIES_HAUNTER}}, + [SPECIES_HAUNTER] = {{EVO_TRADE, 0, SPECIES_GENGAR}}, + [SPECIES_ONIX] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}}, + [SPECIES_DROWZEE] = {{EVO_LEVEL, 26, SPECIES_HYPNO}}, + [SPECIES_KRABBY] = {{EVO_LEVEL, 28, SPECIES_KINGLER}}, + [SPECIES_VOLTORB] = {{EVO_LEVEL, 30, SPECIES_ELECTRODE}}, + [SPECIES_EXEGGCUTE] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR}}, + [SPECIES_CUBONE] = {{EVO_LEVEL, 28, SPECIES_MAROWAK}}, + [SPECIES_KOFFING] = {{EVO_LEVEL, 35, SPECIES_WEEZING}}, + [SPECIES_RHYHORN] = {{EVO_LEVEL, 42, SPECIES_RHYDON}}, + [SPECIES_CHANSEY] = {{EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}}, + [SPECIES_HORSEA] = {{EVO_LEVEL, 32, SPECIES_SEADRA}}, + [SPECIES_SEADRA] = {{EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}}, + [SPECIES_GOLDEEN] = {{EVO_LEVEL, 33, SPECIES_SEAKING}}, + [SPECIES_STARYU] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}}, + [SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}}, + [SPECIES_MAGIKARP] = {{EVO_LEVEL, 20, SPECIES_GYARADOS}}, + [SPECIES_EEVEE] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON}, + {EVO_ITEM, ITEM_WATER_STONE, SPECIES_VAPOREON}, + {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON}, + {EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON}, + {EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}}, + [SPECIES_PORYGON] = {{EVO_TRADE_ITEM, ITEM_UP_GRADE, SPECIES_PORYGON2}}, + [SPECIES_OMANYTE] = {{EVO_LEVEL, 40, SPECIES_OMASTAR}}, + [SPECIES_KABUTO] = {{EVO_LEVEL, 40, SPECIES_KABUTOPS}}, + [SPECIES_DRATINI] = {{EVO_LEVEL, 30, SPECIES_DRAGONAIR}}, + [SPECIES_DRAGONAIR] = {{EVO_LEVEL, 55, SPECIES_DRAGONITE}}, + [SPECIES_CHIKORITA] = {{EVO_LEVEL, 16, SPECIES_BAYLEEF}}, + [SPECIES_BAYLEEF] = {{EVO_LEVEL, 32, SPECIES_MEGANIUM}}, + [SPECIES_CYNDAQUIL] = {{EVO_LEVEL, 14, SPECIES_QUILAVA}}, + [SPECIES_QUILAVA] = {{EVO_LEVEL, 36, SPECIES_TYPHLOSION}}, + [SPECIES_TOTODILE] = {{EVO_LEVEL, 18, SPECIES_CROCONAW}}, + [SPECIES_CROCONAW] = {{EVO_LEVEL, 30, SPECIES_FERALIGATR}}, + [SPECIES_SENTRET] = {{EVO_LEVEL, 15, SPECIES_FURRET}}, + [SPECIES_HOOTHOOT] = {{EVO_LEVEL, 20, SPECIES_NOCTOWL}}, + [SPECIES_LEDYBA] = {{EVO_LEVEL, 18, SPECIES_LEDIAN}}, + [SPECIES_SPINARAK] = {{EVO_LEVEL, 22, SPECIES_ARIADOS}}, + [SPECIES_CHINCHOU] = {{EVO_LEVEL, 27, SPECIES_LANTURN}}, + [SPECIES_PICHU] = {{EVO_FRIENDSHIP, 0, SPECIES_PIKACHU}}, + [SPECIES_CLEFFA] = {{EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}}, + [SPECIES_IGGLYBUFF] = {{EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}}, + [SPECIES_TOGEPI] = {{EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}}, + [SPECIES_NATU] = {{EVO_LEVEL, 25, SPECIES_XATU}}, + [SPECIES_MAREEP] = {{EVO_LEVEL, 15, SPECIES_FLAAFFY}}, + [SPECIES_FLAAFFY] = {{EVO_LEVEL, 30, SPECIES_AMPHAROS}}, + [SPECIES_MARILL] = {{EVO_LEVEL, 18, SPECIES_AZUMARILL}}, + [SPECIES_HOPPIP] = {{EVO_LEVEL, 18, SPECIES_SKIPLOOM}}, + [SPECIES_SKIPLOOM] = {{EVO_LEVEL, 27, SPECIES_JUMPLUFF}}, + [SPECIES_SUNKERN] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}}, + [SPECIES_WOOPER] = {{EVO_LEVEL, 20, SPECIES_QUAGSIRE}}, + [SPECIES_PINECO] = {{EVO_LEVEL, 31, SPECIES_FORRETRESS}}, + [SPECIES_SNUBBULL] = {{EVO_LEVEL, 23, SPECIES_GRANBULL}}, + [SPECIES_TEDDIURSA] = {{EVO_LEVEL, 30, SPECIES_URSARING}}, + [SPECIES_SLUGMA] = {{EVO_LEVEL, 38, SPECIES_MAGCARGO}}, + [SPECIES_SWINUB] = {{EVO_LEVEL, 33, SPECIES_PILOSWINE}}, + [SPECIES_REMORAID] = {{EVO_LEVEL, 25, SPECIES_OCTILLERY}}, + [SPECIES_HOUNDOUR] = {{EVO_LEVEL, 24, SPECIES_HOUNDOOM}}, + [SPECIES_PHANPY] = {{EVO_LEVEL, 25, SPECIES_DONPHAN}}, + [SPECIES_TYROGUE] = {{EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN}, + {EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE}, + {EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP}}, + [SPECIES_SMOOCHUM] = {{EVO_LEVEL, 30, SPECIES_JYNX}}, + [SPECIES_ELEKID] = {{EVO_LEVEL, 30, SPECIES_ELECTABUZZ}}, + [SPECIES_MAGBY] = {{EVO_LEVEL, 30, SPECIES_MAGMAR}}, + [SPECIES_LARVITAR] = {{EVO_LEVEL, 30, SPECIES_PUPITAR}}, + [SPECIES_PUPITAR] = {{EVO_LEVEL, 55, SPECIES_TYRANITAR}}, + [SPECIES_TREECKO] = {{EVO_LEVEL, 16, SPECIES_GROVYLE}}, + [SPECIES_GROVYLE] = {{EVO_LEVEL, 36, SPECIES_SCEPTILE}}, + [SPECIES_TORCHIC] = {{EVO_LEVEL, 16, SPECIES_COMBUSKEN}}, + [SPECIES_COMBUSKEN] = {{EVO_LEVEL, 36, SPECIES_BLAZIKEN}}, + [SPECIES_MUDKIP] = {{EVO_LEVEL, 16, SPECIES_MARSHTOMP}}, + [SPECIES_MARSHTOMP] = {{EVO_LEVEL, 36, SPECIES_SWAMPERT}}, + [SPECIES_POOCHYENA] = {{EVO_LEVEL, 18, SPECIES_MIGHTYENA}}, + [SPECIES_ZIGZAGOON] = {{EVO_LEVEL, 20, SPECIES_LINOONE}}, + [SPECIES_WURMPLE] = {{EVO_LEVEL_SILCOON, 7, SPECIES_SILCOON}, + {EVO_LEVEL_CASCOON, 7, SPECIES_CASCOON}}, + [SPECIES_SILCOON] = {{EVO_LEVEL, 10, SPECIES_BEAUTIFLY}}, + [SPECIES_CASCOON] = {{EVO_LEVEL, 10, SPECIES_DUSTOX}}, + [SPECIES_LOTAD] = {{EVO_LEVEL, 14, SPECIES_LOMBRE}}, + [SPECIES_LOMBRE] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_LUDICOLO}}, + [SPECIES_SEEDOT] = {{EVO_LEVEL, 14, SPECIES_NUZLEAF}}, + [SPECIES_NUZLEAF] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SHIFTRY}}, + [SPECIES_NINCADA] = {{EVO_LEVEL_NINJASK, 20, SPECIES_NINJASK}, + {EVO_LEVEL_SHEDINJA, 20, SPECIES_SHEDINJA}}, + [SPECIES_TAILLOW] = {{EVO_LEVEL, 22, SPECIES_SWELLOW}}, + [SPECIES_SHROOMISH] = {{EVO_LEVEL, 23, SPECIES_BRELOOM}}, + [SPECIES_WINGULL] = {{EVO_LEVEL, 25, SPECIES_PELIPPER}}, + [SPECIES_SURSKIT] = {{EVO_LEVEL, 22, SPECIES_MASQUERAIN}}, + [SPECIES_WAILMER] = {{EVO_LEVEL, 40, SPECIES_WAILORD}}, + [SPECIES_SKITTY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}}, + [SPECIES_BALTOY] = {{EVO_LEVEL, 36, SPECIES_CLAYDOL}}, + [SPECIES_BARBOACH] = {{EVO_LEVEL, 30, SPECIES_WHISCASH}}, + [SPECIES_CORPHISH] = {{EVO_LEVEL, 30, SPECIES_CRAWDAUNT}}, + [SPECIES_FEEBAS] = {{EVO_BEAUTY, 170, SPECIES_MILOTIC}}, + [SPECIES_CARVANHA] = {{EVO_LEVEL, 30, SPECIES_SHARPEDO}}, + [SPECIES_TRAPINCH] = {{EVO_LEVEL, 35, SPECIES_VIBRAVA}}, + [SPECIES_VIBRAVA] = {{EVO_LEVEL, 45, SPECIES_FLYGON}}, + [SPECIES_MAKUHITA] = {{EVO_LEVEL, 24, SPECIES_HARIYAMA}}, + [SPECIES_ELECTRIKE] = {{EVO_LEVEL, 26, SPECIES_MANECTRIC}}, + [SPECIES_NUMEL] = {{EVO_LEVEL, 33, SPECIES_CAMERUPT}}, + [SPECIES_SPHEAL] = {{EVO_LEVEL, 32, SPECIES_SEALEO}}, + [SPECIES_SEALEO] = {{EVO_LEVEL, 44, SPECIES_WALREIN}}, + [SPECIES_CACNEA] = {{EVO_LEVEL, 32, SPECIES_CACTURNE}}, + [SPECIES_SNORUNT] = {{EVO_LEVEL, 42, SPECIES_GLALIE}}, + [SPECIES_AZURILL] = {{EVO_FRIENDSHIP, 0, SPECIES_MARILL}}, + [SPECIES_SPOINK] = {{EVO_LEVEL, 32, SPECIES_GRUMPIG}}, + [SPECIES_MEDITITE] = {{EVO_LEVEL, 37, SPECIES_MEDICHAM}}, + [SPECIES_SWABLU] = {{EVO_LEVEL, 35, SPECIES_ALTARIA}}, + [SPECIES_WYNAUT] = {{EVO_LEVEL, 15, SPECIES_WOBBUFFET}}, + [SPECIES_DUSKULL] = {{EVO_LEVEL, 37, SPECIES_DUSCLOPS}}, + [SPECIES_SLAKOTH] = {{EVO_LEVEL, 18, SPECIES_VIGOROTH}}, + [SPECIES_VIGOROTH] = {{EVO_LEVEL, 36, SPECIES_SLAKING}}, + [SPECIES_GULPIN] = {{EVO_LEVEL, 26, SPECIES_SWALOT}}, + [SPECIES_WHISMUR] = {{EVO_LEVEL, 20, SPECIES_LOUDRED}}, + [SPECIES_LOUDRED] = {{EVO_LEVEL, 40, SPECIES_EXPLOUD}}, + [SPECIES_CLAMPERL] = {{EVO_TRADE_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL}, + {EVO_TRADE_ITEM, ITEM_DEEP_SEA_SCALE, SPECIES_GOREBYSS}}, + [SPECIES_SHUPPET] = {{EVO_LEVEL, 37, SPECIES_BANETTE}}, + [SPECIES_ARON] = {{EVO_LEVEL, 32, SPECIES_LAIRON}}, + [SPECIES_LAIRON] = {{EVO_LEVEL, 42, SPECIES_AGGRON}}, + [SPECIES_LILEEP] = {{EVO_LEVEL, 40, SPECIES_CRADILY}}, + [SPECIES_ANORITH] = {{EVO_LEVEL, 40, SPECIES_ARMALDO}}, + [SPECIES_RALTS] = {{EVO_LEVEL, 20, SPECIES_KIRLIA}}, + [SPECIES_KIRLIA] = {{EVO_LEVEL, 30, SPECIES_GARDEVOIR}}, + [SPECIES_BAGON] = {{EVO_LEVEL, 30, SPECIES_SHELGON}}, + [SPECIES_SHELGON] = {{EVO_LEVEL, 50, SPECIES_SALAMENCE}}, + [SPECIES_BELDUM] = {{EVO_LEVEL, 20, SPECIES_METANG}}, + [SPECIES_METANG] = {{EVO_LEVEL, 45, SPECIES_METAGROSS}}, }; #endif //POKERUBY_EVOLUTION_H diff --git a/src/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h index cd06228dd..c7409f3b2 100644 --- a/src/data/pokemon/item_effects.h +++ b/src/data/pokemon/item_effects.h @@ -1,661 +1,72 @@ -// - -// - -#ifndef POKERUBY_ITEM_EFFECTS_H -#define POKERUBY_ITEM_EFFECTS_H - -const u8 gItemEffect_Potion[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 20 -}; - -const u8 gItemEffect_Antidote[] = { - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00 -}; - -const u8 gItemEffect_BurnHeal[] = { - 0x00, - 0x00, - 0x00, - 0x08, - 0x00, - 0x00 -}; - -const u8 gItemEffect_IceHeal[] = { - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 0x00 -}; - -const u8 gItemEffect_Awakening[] = { - 0x00, - 0x00, - 0x00, - 0x20, - 0x00, - 0x00 -}; - -const u8 gItemEffect_ParalyzeHeal[] = { - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x00 -}; - -const u8 gItemEffect_FullRestore[] = { - 0x00, - 0x00, - 0x00, - 0x3f, - 0x04, - 0x00, - 0xff -}; - -const u8 gItemEffect_MaxPotion[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 0xff -}; - -const u8 gItemEffect_HyperPotion[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 200 -}; - -const u8 gItemEffect_SuperPotion[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 50 -}; - -const u8 gItemEffect_FullHeal[] = { - 0x00, - 0x00, - 0x00, - 0x3f, - 0x00, - 0x00 -}; - -const u8 gItemEffect_Revive[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x44, - 0x00, - 0xfe -}; - -const u8 gItemEffect_MaxRevive[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x44, - 0x00, - 0xff -}; - -const u8 gItemEffect_FreshWater[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 50 -}; - -const u8 gItemEffect_SodaPop[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 60 -}; - -const u8 gItemEffect_Lemonade[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 80 -}; - -const u8 gItemEffect_MoomooMilk[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 100 -}; - -const u8 gItemEffect_EnergyPowder[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0xe0, - 50, - 0xfb, - 0xfb, - 0xf6 -}; - -const u8 gItemEffect_EnergyRoot[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0xe0, - 200, - 0xf6, - 0xf6, - 0xf1 -}; - -const u8 gItemEffect_HealPowder[] = { - 0x00, - 0x00, - 0x00, - 0x3f, - 0x00, - 0xe0, - 0xfb, - 0xfb, - 0xf6 -}; - -const u8 gItemEffect_RevivalHerb[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x44, - 0xe0, - 0xfe, - 0xf1, - 0xf1, - 0xec -}; - -const u8 gItemEffect_Ether[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x18, - 0x00, - 0x0a -}; - -const u8 gItemEffect_MaxEther[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x18, - 0x00, - 0x7f -}; - -const u8 gItemEffect_Elixir[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x08, - 0x00, - 0x0a -}; - -const u8 gItemEffect_MaxElixir[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x08, - 0x00, - 0x7f -}; - -const u8 gItemEffect_LavaCookie[] = { - 0x00, - 0x00, - 0x00, - 0x3f, - 0x00, - 0x00 -}; - -const u8 gItemEffect_BlueFlute[] = { - 0x00, - 0x00, - 0x00, - 0x20, - 0x00, - 0x00 -}; - -const u8 gItemEffect_YellowFlute[] = { - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00 -}; - -const u8 gItemEffect_RedFlute[] = { - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00 -}; - -const u8 gItemEffect_BerryJuice[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 20 -}; - -const u8 gItemEffect_SacredAsh[] = { - 0x40, - 0x00, - 0x00, - 0x00, - 0x44, - 0x00, - 0xff -}; - -const u8 gItemEffect_HPUp[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0xe0, - 0x0a, - 0x05, - 0x03, - 0x02 -}; - -const u8 gItemEffect_Protein[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x02, - 0xe0, - 0x0a, - 0x05, - 0x03, - 0x02 -}; - -const u8 gItemEffect_Iron[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xe1, - 0x0a, - 0x05, - 0x03, - 0x02 -}; - -const u8 gItemEffect_Carbos[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xe2, - 0x0a, - 0x05, - 0x03, - 0x02 -}; - -const u8 gItemEffect_Calcium[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xe8, - 0x0a, - 0x05, - 0x03, - 0x02 -}; - -const u8 gItemEffect_RareCandy[] = { - 0x00, - 0x00, - 0x00, - 0x40, - 0x44, - 0xe0, - 253, - 0x05, - 0x03, - 0x02 -}; - -const u8 gItemEffect_PPUp[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x20, - 0xe0, - 0x05, - 0x03, - 0x02 -}; - -const u8 gItemEffect_Zinc[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xe4, - 0x0a, - 0x05, - 0x03, - 0x02 -}; - -const u8 gItemEffect_PPMax[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xf0, - 0x05, - 0x03, - 0x02 -}; - -const u8 gItemEffect_GuardSpec[] = { - 0x00, - 0x00, - 0x00, - 0x80, - 0x00, - 0x60, - 0x01, - 0x01 -}; - -const u8 gItemEffect_DireHit[] = { - 0x20, - 0x00, - 0x00, - 0x00, - 0x00, - 0x60, - 0x01, - 0x01 -}; - -const u8 gItemEffect_XAttack[] = { - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x60, - 0x01, - 0x01 -}; - -const u8 gItemEffect_XDefend[] = { - 0x00, - 0x10, - 0x00, - 0x00, - 0x00, - 0x60, - 0x01, - 0x01 -}; - -const u8 gItemEffect_XSpeed[] = { - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x60, - 0x01, - 0x01 -}; - -const u8 gItemEffect_XAccuracy[] = { - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x60, - 0x01, - 0x01 -}; - -const u8 gItemEffect_XSpecial[] = { - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x60, - 0x01, - 0x01 -}; - -const u8 gItemEffect_SunStone[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x80, - 0x00 -}; - -const u8 gItemEffect_MoonStone[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x80, - 0x00 -}; - -const u8 gItemEffect_FireStone[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x80, - 0x00 -}; - -const u8 gItemEffect_ThunderStone[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x80, - 0x00 -}; - -const u8 gItemEffect_WaterStone[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x80, - 0x00 -}; - -const u8 gItemEffect_LeafStone[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x80, - 0x00 -}; - -const u8 gItemEffect_CheriBerry[] = { - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x00 -}; - -const u8 gItemEffect_ChestoBerry[] = { - 0x00, - 0x00, - 0x00, - 0x20, - 0x00, - 0x00 -}; - -const u8 gItemEffect_PechaBerry[] = { - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00 -}; - -const u8 gItemEffect_RawstBerry[] = { - 0x00, - 0x00, - 0x00, - 0x08, - 0x00, - 0x00 -}; - -const u8 gItemEffect_AspearBerry[] = { - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 0x00 -}; - -const u8 gItemEffect_LeppaBerry[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x18, - 0x00, - 0x0a -}; - -const u8 gItemEffect_OranBerry[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 10 -}; - -const u8 gItemEffect_PersimBerry[] = { - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00 -}; - -const u8 gItemEffect_LumBerry[] = { - 0x00, - 0x00, - 0x00, - 0x3f, - 0x00, - 0x00 -}; - -const u8 gItemEffect_SitrusBerry[] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x04, - 0x00, - 30 -}; - -const u8 *const gItemEffectTable[] = { +#ifndef GUARD_ITEM_EFFECTS_H +#define GUARD_ITEM_EFFECTS_H + +const u8 gItemEffect_Potion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20}; +const u8 gItemEffect_Antidote[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00}; +const u8 gItemEffect_BurnHeal[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00}; +const u8 gItemEffect_IceHeal[] = {0x00, 0x00, 0x00, 0x04, 0x00, 0x00}; +const u8 gItemEffect_Awakening[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; +const u8 gItemEffect_ParalyzeHeal[] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00}; +const u8 gItemEffect_FullRestore[] = {0x00, 0x00, 0x00, 0x3f, 0x04, 0x00, 0xff}; +const u8 gItemEffect_MaxPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xff}; +const u8 gItemEffect_HyperPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 200}; +const u8 gItemEffect_SuperPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 50}; +const u8 gItemEffect_FullHeal[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; +const u8 gItemEffect_Revive[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xfe}; +const u8 gItemEffect_MaxRevive[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xff}; +const u8 gItemEffect_FreshWater[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 50}; +const u8 gItemEffect_SodaPop[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 60}; +const u8 gItemEffect_Lemonade[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 80}; +const u8 gItemEffect_MoomooMilk[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 100}; +const u8 gItemEffect_EnergyPowder[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 50, 0xfb, 0xfb, 0xf6}; +const u8 gItemEffect_EnergyRoot[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 200, 0xf6, 0xf6, 0xf1}; +const u8 gItemEffect_HealPowder[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0xe0, 0xfb, 0xfb, 0xf6}; +const u8 gItemEffect_RevivalHerb[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0xe0, 0xfe, 0xf1, 0xf1, 0xec}; +const u8 gItemEffect_Ether[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0a}; +const u8 gItemEffect_MaxEther[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x7f}; +const u8 gItemEffect_Elixir[] = {0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0a}; +const u8 gItemEffect_MaxElixir[] = {0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x7f}; +const u8 gItemEffect_LavaCookie[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; +const u8 gItemEffect_BlueFlute[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; +const u8 gItemEffect_YellowFlute[] = {0x00, 0x00, 0x00, 0x01, 0x00, 0x00}; +const u8 gItemEffect_RedFlute[] = {0x80, 0x00, 0x00, 0x00, 0x00, 0x00}; +const u8 gItemEffect_BerryJuice[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20}; +const u8 gItemEffect_SacredAsh[] = {0x40, 0x00, 0x00, 0x00, 0x44, 0x00, 0xff}; +const u8 gItemEffect_HPUp[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Protein[] = {0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Iron[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Carbos[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Calcium[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_RareCandy[] = {0x00, 0x00, 0x00, 0x40, 0x44, 0xe0, 253, 0x05, 0x03, 0x02}; +const u8 gItemEffect_PPUp[] = {0x00, 0x00, 0x00, 0x00, 0x20, 0xe0, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Zinc[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_PPMax[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x05, 0x03, 0x02}; +const u8 gItemEffect_GuardSpec[] = {0x00, 0x00, 0x00, 0x80, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_DireHit[] = {0x20, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XAttack[] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XDefend[] = {0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XSpeed[] = {0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XAccuracy[] = {0x00, 0x00, 0x10, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XSpecial[] = {0x00, 0x00, 0x01, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_SunStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_MoonStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_FireStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_ThunderStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_WaterStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_LeafStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_CheriBerry[] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00}; +const u8 gItemEffect_ChestoBerry[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; +const u8 gItemEffect_PechaBerry[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00}; +const u8 gItemEffect_RawstBerry[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00}; +const u8 gItemEffect_AspearBerry[] = {0x00, 0x00, 0x00, 0x04, 0x00, 0x00}; +const u8 gItemEffect_LeppaBerry[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0a}; +const u8 gItemEffect_OranBerry[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 10}; +const u8 gItemEffect_PersimBerry[] = {0x00, 0x00, 0x00, 0x01, 0x00, 0x00}; +const u8 gItemEffect_LumBerry[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; +const u8 gItemEffect_SitrusBerry[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 30}; + +const u8 *const gItemEffectTable[] = +{ gItemEffect_Potion, gItemEffect_Antidote, gItemEffect_BurnHeal, @@ -821,4 +232,4 @@ const u8 *const gItemEffectTable[] = { NULL }; -#endif //POKERUBY_ITEM_EFFECTS_H +#endif //GUARD_ITEM_EFFECTS_H diff --git a/src/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h index 19761c996..894a2b58e 100644 --- a/src/data/pokemon/level_up_learnset_pointers.h +++ b/src/data/pokemon/level_up_learnset_pointers.h @@ -5,7 +5,7 @@ #ifndef POKERUBY_LEVEL_UP_LEARNSET_POINTERS_H #define POKERUBY_LEVEL_UP_LEARNSET_POINTERS_H -const u16 *const gLevelUpLearnsets[] = { +const u16 *gLevelUpLearnsets[] = { gBulbasaurLevelUpLearnset, gBulbasaurLevelUpLearnset, gIvysaurLevelUpLearnset, diff --git a/src/data/pokemon/nature_stats.h b/src/data/pokemon/nature_stats.h deleted file mode 100644 index fcef2a0ac..000000000 --- a/src/data/pokemon/nature_stats.h +++ /dev/null @@ -1,37 +0,0 @@ -// - -// - -#ifndef POKERUBY_NATURE_STATS_H -#define POKERUBY_NATURE_STATS_H - -const s8 gNatureStatTable[][5] = { - // Atk Def Spd Sp.Atk Sp.Def - { 0, 0, 0, 0, 0}, // Hardy - { 1, -1, 0, 0, 0}, // Lonely - { 1, 0, -1, 0, 0}, // Brave - { 1, 0, 0, -1, 0}, // Adamant - { 1, 0, 0, 0, -1}, // Naughty - { -1, 1, 0, 0, 0}, // Bold - { 0, 0, 0, 0, 0}, // Docile - { 0, 1, -1, 0, 0}, // Relaxed - { 0, 1, 0, -1, 0}, // Impish - { 0, 1, 0, 0, -1}, // Lax - { -1, 0, 1, 0, 0}, // Timid - { 0, -1, 1, 0, 0}, // Hasty - { 0, 0, 0, 0, 0}, // Serious - { 0, 0, 1, -1, 0}, // Jolly - { 0, 0, 1, 0, -1}, // Naive - { -1, 0, 0, 1, 0}, // Modest - { 0, -1, 0, 1, 0}, // Mild - { 0, 0, -1, 1, 0}, // Quiet - { 0, 0, 0, 0, 0}, // Bashful - { 0, 0, 0, 1, -1}, // Rash - { -1, 0, 0, 0, 1}, // Calm - { 0, -1, 0, 0, 1}, // Gentle - { 0, 0, -1, 0, 1}, // Sassy - { 0, 0, 0, -1, 1}, // Careful - { 0, 0, 0, 0, 0} // Quirky -}; - -#endif //POKERUBY_NATURE_STATS_H diff --git a/src/data/pokemon/spinda_spots.h b/src/data/pokemon/spinda_spots.h deleted file mode 100644 index d045e0734..000000000 --- a/src/data/pokemon/spinda_spots.h +++ /dev/null @@ -1,15 +0,0 @@ -// - -// - -#ifndef POKERUBY_SPINDA_SPOTS_H -#define POKERUBY_SPINDA_SPOTS_H - -const struct SpindaSpot gSpindaSpotGraphics[] = { - {16, 14, INCBIN_U16("graphics/spinda_spots/spot_0.bin")}, - {40, 15, INCBIN_U16("graphics/spinda_spots/spot_1.bin")}, - {22, 32, INCBIN_U16("graphics/spinda_spots/spot_2.bin")}, - {34, 33, INCBIN_U16("graphics/spinda_spots/spot_3.bin")} -}; - -#endif //POKERUBY_SPINDA_SPOTS_H diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index b12ee38ce..44d832e2b 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -374,7 +374,7 @@ void sub_80831F8(u8 taskId) gFieldLinkPlayerCount = GetLinkPlayerCount_2(); gUnknown_03004860 = GetMultiplayerId(); sub_80081C8(gFieldLinkPlayerCount); - sub_8093390((struct TrainerCard *)gBlockSendBuffer); + TrainerCard_GenerateCardForPlayer((struct TrainerCard *)gBlockSendBuffer); gTasks[taskId].func = sub_8083314; } } @@ -395,7 +395,7 @@ static void sub_8083288(u8 taskId) gFieldLinkPlayerCount = GetLinkPlayerCount_2(); gUnknown_03004860 = GetMultiplayerId(); sub_80081C8(gFieldLinkPlayerCount); - sub_8093390((struct TrainerCard *)gBlockSendBuffer); + TrainerCard_GenerateCardForPlayer((struct TrainerCard *)gBlockSendBuffer); gTasks[taskId].func = sub_8083314; sub_8007E9C(2); } @@ -874,7 +874,7 @@ void unref_sub_8083BB0(void) void sub_8083BDC(void) { - sub_8093130(gSpecialVar_0x8006, c2_exit_to_overworld_1_continue_scripts_restart_music); + TrainerCard_ShowLinkCard(gSpecialVar_0x8006, c2_exit_to_overworld_1_continue_scripts_restart_music); } bool32 sub_8083BF4(u8 linkPlayerIndex) diff --git a/src/engine/save_menu_util.c b/src/engine/save_menu_util.c index 2c5eb6afe..ccf4d9f6f 100644 --- a/src/engine/save_menu_util.c +++ b/src/engine/save_menu_util.c @@ -125,9 +125,9 @@ u16 GetPokedexSeenCount() return pokedexSeenCount; } -void FormatPlayTime(char *playtime, u16 hours, u16 minutes, u16 unk) +void FormatPlayTime(char *playtime, u16 hours, u16 minutes, u16 colon) { - s16 colon = unk; + s16 _colon = colon; playtime = ConvertIntToDecimalString(playtime, hours); // playtime[0] is hours. @@ -136,7 +136,7 @@ void FormatPlayTime(char *playtime, u16 hours, u16 minutes, u16 unk) playtime[0] = 0; - if (colon) + if (_colon) playtime[1] = 0xF0; // set middle character to ":" else playtime[1] = 0; diff --git a/src/engine/trainer_card.c b/src/engine/trainer_card.c index ab43ac716..9d09575c8 100644 --- a/src/engine/trainer_card.c +++ b/src/engine/trainer_card.c @@ -26,25 +26,25 @@ typedef void (*Callback)(void); struct Struct2000000 { - /*0x00*/ u8 var_0; - /*0x01*/ bool8 var_1; - /*0x02*/ u8 var_2; - /*0x03*/ bool8 var_3; + /*0x00*/ u8 current_state; + /*0x01*/ bool8 isShowingLinkCard; + /*0x02*/ u8 starCount; + /*0x03*/ bool8 backSideShown; /*0x04*/ u8 var_4; - /*0x05*/ u8 var_5; - /*0x06*/ u8 var_6; - /*0x07*/ bool8 var_7; - /*0x08*/ bool8 var_8; - /*0x09*/ bool8 var_9; - /*0x0A*/ bool8 var_a; - /*0x0B*/ bool8 var_b; - /*0x0C*/ bool8 var_c; - /*0x0D*/ bool8 var_d; - /*0x0E*/ u8 var_e[8]; + /*0x05*/ bool8 showColon; + /*0x06*/ u8 frameCounter; /* Used to flash colon */ + /*0x07*/ bool8 showPokedexCount; + /*0x08*/ bool8 showHallOfFame; + /*0x09*/ bool8 showLinkBattleStatus; + /*0x0A*/ bool8 showBattleTowerStatus; + /*0x0B*/ bool8 showContestRecord; + /*0x0C*/ bool8 showMixingRecord; + /*0x0D*/ bool8 showTradingRecord; + /*0x0E*/ bool8 ownedBadges[8]; /*0x16*/ u8 filler_16[10]; - /*0x20*/ u8 var_20[4][0x10]; + /*0x20*/ u8 easyChatPhrase[4][0x10]; /*0x60*/ Callback *var_60; - /*0x64*/ struct TrainerCard var_64; + /*0x64*/ struct TrainerCard displayedCard; /*0x9C*/ u8 language; // 0x9C }; @@ -57,44 +57,44 @@ extern const u16 gUnknown_083B5F0C[]; extern const u16 gBadgesPalette[]; extern const u16 gUnknown_083B5F4C[]; extern const u16 gUnknown_083B5F6C[]; -extern const u16 gUnknown_083B5F8C[][4]; +extern const u16 gTrainerCardBadgesMap[][4]; const u8 gBadgesTiles[] = INCBIN_U8("graphics/trainer_card/badges.4bpp"); // XXX: what is this? u8 *const ewram_ = gSharedMem; -bool8 sub_8093864(struct Task *); -bool8 sub_80938A8(struct Task *); -bool8 sub_80938CC(struct Task *); -bool8 sub_8093918(struct Task *); -bool8 sub_8093938(struct Task *); -bool8 sub_8093954(struct Task *); -bool8 sub_8093980(struct Task *); - -bool8 (*const gUnknown_083B5EBC[])(struct Task *) = -{ - sub_8093864, - sub_80938A8, - sub_80938CC, - sub_8093918, - sub_8093938, - sub_8093954, - sub_8093980, +bool8 TrainerCard_Init(struct Task *); +bool8 TrainerCard_WaitForFadeInToFinish(struct Task *); +bool8 TrainerCard_WaitForKeys(struct Task *); +bool8 TrainerCard_StartFlipAntimation(struct Task *); +bool8 TrainerCard_WaitForFlipToFinish(struct Task *); +bool8 TrainerCard_FadeOut(struct Task *); +bool8 TrainerCard_WaitForFadeOutToFinishAndQuit(struct Task *); + +bool8 (*const TrainerCard_StateMachine[])(struct Task *) = +{ + TrainerCard_Init, + TrainerCard_WaitForFadeInToFinish, + TrainerCard_WaitForKeys, + TrainerCard_StartFlipAntimation, + TrainerCard_WaitForFlipToFinish, + TrainerCard_FadeOut, + TrainerCard_WaitForFadeOutToFinishAndQuit, }; -bool8 sub_8093AA0(struct Task *); -bool8 sub_8093AF0(struct Task *); -bool8 sub_8093C0C(struct Task *); -bool8 sub_8093C38(struct Task *); -bool8 sub_8093D50(struct Task *); +bool8 TrainerCard_InitFlipAnimation(struct Task *); +bool8 TrainerCard_ScaleDownFlipAnimation(struct Task *); +bool8 TrainerCard_SwitchToNewSide(struct Task *); +bool8 TrainerCard_ScaleUpFlipAnimation(struct Task *); +bool8 TrainerCard_FinishFlipAnimation(struct Task *); -bool8 (*const gUnknown_083B5ED8[])(struct Task *) = +bool8 (*const TrainerCard_FlipAnimationStateMachine[])(struct Task *) = { - sub_8093AA0, - sub_8093AF0, - sub_8093C0C, - sub_8093C38, - sub_8093D50, + TrainerCard_InitFlipAnimation, + TrainerCard_ScaleDownFlipAnimation, + TrainerCard_SwitchToNewSide, + TrainerCard_ScaleUpFlipAnimation, + TrainerCard_FinishFlipAnimation, }; // FIXME: Other signature than on save_menu_util.h @@ -103,64 +103,64 @@ u16 GetPokedexSeenCount(void); enum { - TD_0, - TD_1, + TD_SHOWING_LINK_CARD, + TD_CARD_INDEX, TD_CALLBACK, }; static void sub_8093174(void); static void sub_809323C(void); static void sub_8093254(void); -static void sub_80932AC(Callback callBack); -static void sub_80932E4(u8 arg1, Callback callBack); -void sub_8093324(void); +static void TrainerCard_InitScreenForPlayer(Callback callBack); +static void TrainerCard_InitScreenForLinkPlayer(u8 arg1, Callback callBack); +void TrainerCard_FillTrainerCardStruct(void); static void nullsub_60(u8); static u32 sav12_xor_get_clamped_above(u8 index, u32 maxVal); -static u8 sub_80934F4(struct TrainerCard *); +static u8 TrainerCard_GetStarCount(struct TrainerCard *); static void sub_8093534(void); static void sub_8093550(void); static void sub_8093598(void); static void sub_80935EC(void); static void sub_8093610(void); static void sub_8093688(void); -void sub_80936D4(void); +static void TrainerCard_FillFlags(void); static void sub_80937A4(void); static void sub_80937BC(void); static void sub_80937D8(void); static void sub_80937F0(void); static void nullsub_15(void); static void sub_8093800(void); -static void sub_809380C(); -static void sub_809382C(u8 taskId); -static void sub_80939A4(void); -static void sub_80939C0(void); -static void sub_80939DC(u8 taskId); -static void sub_8093A28(void); -static u8 sub_8093A48(void); -static void sub_8093A68(u8 taskId); -void sub_8093D7C(void); -static void sub_8093DAC(void); -static void sub_8093DC8(void); -static void sub_8093DEC(void); -static void sub_8093E04(void); -static void sub_8093E28(void); -void sub_8093EA0(void); -static void sub_8093EF8(void); +static void TrainerCard_CreateStateMachine(void); +static void TrainerCard_RunStateMachine(u8 taskId); +static void TrainerCard_CreatePrintPlayTimeTask(void); +static void TrainerCard_DestoryPlayTimeTask(void); +static void TrainerCard_Front_PrintPlayTime(u8 taskId); +static void TrainerCard_CreateFlipAnimationTask(void); +static u8 TrainerCard_HasFlipAnimationFinished(void); +static void TrainerCard_RunFlipAnimationStateMachine(u8 taskId); +static void TrainerCard_FlipAnimationHBlankCallback(void); +static void TrainerCard_DrawCard(void); +static void TrainerCard_DrawCardFront(void); +static void TrainerCard_DrawCardBack(void); +static void TrainerCard_ResetOffsetRegisters(void); +static void TrainerCard_CopyGraphics(void); +static void TrainerCard_LoadPalettes(void); +static void TrainerCard_LoadTrainerGraphics(void); static void sub_8093F14(void); static void sub_8093F48(void); static void sub_8093F64(void); -static void sub_8093F80(void); -static void sub_8093FD0(void); -static void sub_8094038(void); -static void sub_80940E4(void); -static void sub_8094110(void); -static void sub_8094140(void); -static void sub_8094188(void); +static void TrainerCard_LoadTrainerTilemap(void); +static void TrainerCard_DrawStars(void); +static void TrainerCard_DisplayBadges(void); +static void TrainerCard_ClearTrainerGraphics(void); +static void TrainerCard_ClearPokedexLabel(void); +static void TrainerCard_Front_PrintTexts(void); +static void TrainerCard_Back_PrintTexts(void); static void TrainerCard_Front_PrintTrainerID(void); static void TrainerCard_Front_PrintMoney(void); static void TrainerCard_Front_PrintPokedexCount(void); -static void TrainerCard_Front_PrintPlayTime(u8 *arg1, s16 colon); -static void sub_809429C(void); +static void TrainerCard_Front_GetPlayTimeString(u8 *arg1, s16 colon); +static void TrainerCard_PrintEasyChatPhrase(void); static void TrainerCard_Back_PrintName(void); static void TrainerCard_Back_PrintHallOfFameTime_Label(void); static void TrainerCard_Back_PrintHallOfFameTime(void); @@ -176,16 +176,16 @@ static void TrainerCard_Back_PrintPokemonTrades_Label(void); static void TrainerCard_Back_PrintPokemonTrades(void); void unref_sub_8094588(u16 left, u16 top); -void sub_8093110(Callback arg1) +void TrainerCard_ShowPlayerCard(Callback arg1) { - sub_80932AC(arg1); + TrainerCard_InitScreenForPlayer(arg1); SetMainCallback2(sub_8093174); ewram0_2.language = GAME_LANGUAGE; } -void sub_8093130(u8 playerIndex, Callback arg2) +void TrainerCard_ShowLinkCard(u8 playerIndex, Callback arg2) { - sub_80932E4(playerIndex, arg2); + TrainerCard_InitScreenForLinkPlayer(playerIndex, arg2); SetMainCallback2(sub_8093174); ewram0_2.language = gLinkPlayers[gLinkPlayerMapObjects[playerIndex].linkPlayerId].language; } @@ -249,49 +249,49 @@ static void sub_8093254(void) LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); - ewram0_2.var_6++; - if (ewram0_2.var_6 >= 60) + ewram0_2.frameCounter++; + if (ewram0_2.frameCounter >= 60) { - ewram0_2.var_6 = 0; - ewram0_2.var_5 ^= 1; + ewram0_2.frameCounter = 0; + ewram0_2.showColon ^= 1; } if (ewram0_2.var_4) DmaCopy16(3, &gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 0x140); } -static void sub_80932AC(Callback callBack) +static void TrainerCard_InitScreenForPlayer(Callback callBack) { u8 taskId = CreateTask(nullsub_60, 0xFF); struct Task *task = &gTasks[taskId]; - task->data[TD_0] = FALSE; + task->data[TD_SHOWING_LINK_CARD] = FALSE; StoreWordInTwoHalfwords(&task->data[TD_CALLBACK], (u32)callBack); } -static void sub_80932E4(u8 arg1, Callback callBack) +static void TrainerCard_InitScreenForLinkPlayer(u8 arg1, Callback callBack) { u8 taskId = CreateTask(nullsub_60, 0xFF); struct Task *task = &gTasks[taskId]; - task->data[TD_0] = TRUE; - task->data[TD_1] = arg1; + task->data[TD_SHOWING_LINK_CARD] = TRUE; + task->data[TD_CARD_INDEX] = arg1; StoreWordInTwoHalfwords(&task->data[TD_CALLBACK], (u32)callBack); } -void sub_8093324(void) +void TrainerCard_FillTrainerCardStruct(void) { u8 taskId = FindTaskIdByFunc(nullsub_60); struct Task *task = &gTasks[taskId]; - ewram0_2.var_1 = task->data[TD_0]; + ewram0_2.isShowingLinkCard = task->data[TD_SHOWING_LINK_CARD]; LoadWordFromTwoHalfwords((u16 *)&task->data[TD_CALLBACK], (u32 *)&ewram0_2.var_60); - if (ewram0_2.var_1) + if (ewram0_2.isShowingLinkCard) { - ewram0_2.var_64 = gTrainerCards[task->data[TD_1]]; + ewram0_2.displayedCard = gTrainerCards[task->data[TD_CARD_INDEX]]; } else { - sub_8093390(&ewram0_2.var_64); + TrainerCard_GenerateCardForPlayer(&ewram0_2.displayedCard); } } @@ -299,7 +299,7 @@ static void nullsub_60(u8 taskid) { } -void sub_8093390(struct TrainerCard *trainerCard) +void TrainerCard_GenerateCardForPlayer(struct TrainerCard *trainerCard) { u32 playTime; bool32 enteredHallOfFame; @@ -370,7 +370,7 @@ void sub_8093390(struct TrainerCard *trainerCard) trainerCard->playerName[i] = gSaveBlock2.playerName[i]; } - trainerCard->stars = sub_80934F4(trainerCard); + trainerCard->stars = TrainerCard_GetStarCount(trainerCard); } u8 sub_80934C4(u8 id) @@ -390,7 +390,7 @@ static u32 sav12_xor_get_clamped_above(u8 index, u32 maxVal) return value; } -static u8 sub_80934F4(struct TrainerCard *trainerCard) +static u8 TrainerCard_GetStarCount(struct TrainerCard *trainerCard) { u8 value = 0; @@ -489,53 +489,53 @@ static void sub_8093688(void) { u8 i; - sub_8093324(); - ewram0_2.var_0 = 0; - ewram0_2.var_3 = 0; + TrainerCard_FillTrainerCardStruct(); + ewram0_2.current_state = 0; + ewram0_2.backSideShown = FALSE; ewram0_2.var_4 = FALSE; - ewram0_2.var_2 = ewram0_2.var_64.stars; - ewram0_2.var_5 = 0; - ewram0_2.var_6 = 0; + ewram0_2.starCount = ewram0_2.displayedCard.stars; + ewram0_2.showColon = 0; + ewram0_2.frameCounter = 0; for (i = 0; i < 4; i++) - EasyChat_GetWordText(ewram0_2.var_20[i], ewram0_2.var_64.var_28[i]); - sub_80936D4(); + EasyChat_GetWordText(ewram0_2.easyChatPhrase[i], ewram0_2.displayedCard.var_28[i]); + TrainerCard_FillFlags(); } -void sub_80936D4(void) +static void TrainerCard_FillFlags(void) { - ewram0_2.var_7 = 0; - ewram0_2.var_8 = 0; - ewram0_2.var_9 = 0; - ewram0_2.var_a = 0; - ewram0_2.var_b = 0; - ewram0_2.var_c = 0; - ewram0_2.var_d = 0; - memset(ewram0_2.var_e, 0, sizeof(ewram0_2.var_e)); + ewram0_2.showPokedexCount = 0; + ewram0_2.showHallOfFame = 0; + ewram0_2.showLinkBattleStatus = 0; + ewram0_2.showBattleTowerStatus = 0; + ewram0_2.showContestRecord = 0; + ewram0_2.showMixingRecord = 0; + ewram0_2.showTradingRecord = 0; + memset(ewram0_2.ownedBadges, 0, sizeof(ewram0_2.ownedBadges)); - if (ewram0_2.var_64.hasPokedex) - ewram0_2.var_7++; + if (ewram0_2.displayedCard.hasPokedex) + ewram0_2.showPokedexCount++; - if (ewram0_2.var_64.firstHallOfFameA != 0 - || ewram0_2.var_64.firstHallOfFameB != 0 - || ewram0_2.var_64.firstHallOfFameC != 0) - ewram0_2.var_8++; + if (ewram0_2.displayedCard.firstHallOfFameA != 0 + || ewram0_2.displayedCard.firstHallOfFameB != 0 + || ewram0_2.displayedCard.firstHallOfFameC != 0) + ewram0_2.showHallOfFame++; - if (ewram0_2.var_64.linkBattleWins != 0 || ewram0_2.var_64.linkBattleLosses != 0) - ewram0_2.var_9++; + if (ewram0_2.displayedCard.linkBattleWins != 0 || ewram0_2.displayedCard.linkBattleLosses != 0) + ewram0_2.showLinkBattleStatus++; - if (ewram0_2.var_64.battleTowerWins != 0 || ewram0_2.var_64.battleTowerLosses != 0) - ewram0_2.var_a++; + if (ewram0_2.displayedCard.battleTowerWins != 0 || ewram0_2.displayedCard.battleTowerLosses != 0) + ewram0_2.showBattleTowerStatus++; - if (ewram0_2.var_64.contestsWithFriends != 0) - ewram0_2.var_b++; + if (ewram0_2.displayedCard.contestsWithFriends != 0) + ewram0_2.showContestRecord++; - if (ewram0_2.var_64.pokeblocksWithFriends != 0) - ewram0_2.var_c++; + if (ewram0_2.displayedCard.pokeblocksWithFriends != 0) + ewram0_2.showMixingRecord++; - if (ewram0_2.var_64.pokemonTrades != 0) - ewram0_2.var_d++; + if (ewram0_2.displayedCard.pokemonTrades != 0) + ewram0_2.showTradingRecord++; - if (!ewram0_2.var_1) + if (!ewram0_2.isShowingLinkCard) { u32 badgeFlag; int i = 0; @@ -544,7 +544,7 @@ void sub_80936D4(void) while (1) { if (FlagGet(badgeFlag)) - ewram0_2.var_e[i]++; + ewram0_2.ownedBadges[i]++; badgeFlag++; i++; if (badgeFlag > FLAG_BADGE08_GET) @@ -571,15 +571,15 @@ void sub_80937BC() static void sub_80937D8() { - sub_8093E04(); - sub_8093E28(); + TrainerCard_ResetOffsetRegisters(); + TrainerCard_CopyGraphics(); sub_8093F64(); - sub_8093DAC(); + TrainerCard_DrawCard(); } static void sub_80937F0() { - sub_8093EF8(); + TrainerCard_LoadTrainerGraphics(); } static void nullsub_15(void) @@ -588,144 +588,147 @@ static void nullsub_15(void) static void sub_8093800() { - sub_809380C(); + TrainerCard_CreateStateMachine(); } -static void sub_809380C() +static void TrainerCard_CreateStateMachine(void) { u8 taskId; - taskId = CreateTask(sub_809382C, 0); - sub_809382C(taskId); + taskId = CreateTask(TrainerCard_RunStateMachine, 0); + TrainerCard_RunStateMachine(taskId); } -static void sub_809382C(u8 taskId) +static void TrainerCard_RunStateMachine(u8 taskId) { - while (gUnknown_083B5EBC[ewram0_2.var_0](&gTasks[taskId]) != 0) + while (TrainerCard_StateMachine[ewram0_2.current_state](&gTasks[taskId]) != 0) ; } -bool8 sub_8093864(struct Task *task) +bool8 TrainerCard_Init(struct Task *task) { - ewram0_2.var_5 = gSaveBlock2.playTimeSeconds & 1; - ewram0_2.var_6 = gSaveBlock2.playTimeVBlanks; - sub_80939A4(); + ewram0_2.showColon = gSaveBlock2.playTimeSeconds & 1; + ewram0_2.frameCounter = gSaveBlock2.playTimeVBlanks; + TrainerCard_CreatePrintPlayTimeTask(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - ewram0_2.var_0++; + ewram0_2.current_state++; /* Advance state machine */ return FALSE; } -bool8 sub_80938A8(struct Task *task) +bool8 TrainerCard_WaitForFadeInToFinish(struct Task *task) { if (!gPaletteFade.active) - ewram0_2.var_0++; + ewram0_2.current_state++; /* Advance state machine */ return FALSE; } -bool8 sub_80938CC(struct Task *task) +bool8 TrainerCard_WaitForKeys(struct Task *task) { if (gMain.newKeys & B_BUTTON) { - ewram0_2.var_0 = 5; + ewram0_2.current_state = 5; /* Jump to fadeout state */ return TRUE; } else if (gMain.newKeys & A_BUTTON) { - if (ewram0_2.var_3 != 0) + /* It appears that it was previously possible to return the the front side + after viewing the back side. This was probably removed due to being + unintuitive. */ + if (ewram0_2.backSideShown) { - ewram0_2.var_0 = 5; + ewram0_2.current_state = 5; /* Jump to fadeout state */ } else { - ewram0_2.var_3 ^= 1; - ewram0_2.var_0 = 3; + ewram0_2.backSideShown ^= 1; /* Switch to back side */ + ewram0_2.current_state = 3; /* Jump to start flip animation state */ } return TRUE; } return FALSE; } -bool8 sub_8093918(struct Task *task) +bool8 TrainerCard_StartFlipAntimation(struct Task *task) { - sub_8093A28(); + TrainerCard_CreateFlipAnimationTask(); PlaySE(SE_CARD); - ewram0_2.var_0++; + ewram0_2.current_state++; /* Advance state machine */ return FALSE; } -bool8 sub_8093938(struct Task *task) +bool8 TrainerCard_WaitForFlipToFinish(struct Task *task) { - if (sub_8093A48()) - ewram0_2.var_0 = 2; + if (TrainerCard_HasFlipAnimationFinished()) + ewram0_2.current_state = 2; /* Return to wait for keys state */ return FALSE; } -bool8 sub_8093954(struct Task *task) +bool8 TrainerCard_FadeOut(struct Task *task) { - sub_80939C0(); + TrainerCard_DestoryPlayTimeTask(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - ewram0_2.var_0++; + ewram0_2.current_state++; /* Advance state machine */ return FALSE; } -bool8 sub_8093980(struct Task *task) +bool8 TrainerCard_WaitForFadeOutToFinishAndQuit(struct Task *task) { if (!gPaletteFade.active) SetMainCallback2((MainCallback)ewram0_2.var_60); return FALSE; } -static void sub_80939A4(void) +static void TrainerCard_CreatePrintPlayTimeTask(void) { - CreateTask(sub_80939DC, 0); + CreateTask(TrainerCard_Front_PrintPlayTime, 0); BasicInitMenuWindow(&gWindowTemplate_TrainerCard_Back_Values); } -static void sub_80939C0(void) +static void TrainerCard_DestoryPlayTimeTask(void) { - u8 taskId = FindTaskIdByFunc(sub_80939DC); + u8 taskId = FindTaskIdByFunc(TrainerCard_Front_PrintPlayTime); if (taskId != 0xFF) DestroyTask(taskId); } -static void sub_80939DC(u8 taskId) +static void TrainerCard_Front_PrintPlayTime(u8 taskId) { u8 buffer[32]; struct Task *task = &gTasks[taskId]; - if (ewram0_2.var_5 != task->data[TD_1]) + if (ewram0_2.showColon != task->data[TD_CARD_INDEX]) { - task->data[TD_1] = ewram0_2.var_5; - task->data[TD_0] ^= TRUE; + task->data[TD_CARD_INDEX] = ewram0_2.showColon; + task->data[TD_SHOWING_LINK_CARD] ^= TRUE; } - TrainerCard_Front_PrintPlayTime(buffer, task->data[TD_0]); + TrainerCard_Front_GetPlayTimeString(buffer, task->data[TD_SHOWING_LINK_CARD]); Menu_PrintText(buffer, 10, 12); } -static void sub_8093A28(void) +static void TrainerCard_CreateFlipAnimationTask(void) { u8 taskId; - taskId = CreateTask(sub_8093A68, 0); - sub_8093A68(taskId); + taskId = CreateTask(TrainerCard_RunFlipAnimationStateMachine, 0); + TrainerCard_RunFlipAnimationStateMachine(taskId); } -static u8 sub_8093A48(void) +static u8 TrainerCard_HasFlipAnimationFinished(void) { - if (FindTaskIdByFunc(sub_8093A68) == 0xFF) + if (FindTaskIdByFunc(TrainerCard_RunFlipAnimationStateMachine) == 0xFF) return TRUE; else return FALSE; } -static void sub_8093A68(u8 taskId) +static void TrainerCard_RunFlipAnimationStateMachine(u8 taskId) { - while (gUnknown_083B5ED8[gTasks[taskId].data[0]](&gTasks[taskId]) != 0) + while (TrainerCard_FlipAnimationStateMachine[gTasks[taskId].data[0]](&gTasks[taskId]) != 0) ; } -bool8 sub_8093AA0(struct Task *task) +bool8 TrainerCard_InitFlipAnimation(struct Task *task) { u32 i; @@ -733,14 +736,14 @@ bool8 sub_8093AA0(struct Task *task) ScanlineEffect_Clear(); for (i = 0; i < 0xA0; i++) gScanlineEffectRegBuffers[1][i] = -4; - SetHBlankCallback(sub_8093D7C); + SetHBlankCallback(TrainerCard_FlipAnimationHBlankCallback); ewram0_2.var_4 = TRUE; task->data[0]++; return FALSE; } /* -bool8 sub_8093AF0(struct Task *task) +bool8 TrainerCard_ScaleDownFlipAnimation(struct Task *task) { u32 r7; u16 r9; @@ -788,7 +791,7 @@ bool8 sub_8093AF0(struct Task *task) */ __attribute__((naked)) -bool8 sub_8093AF0(struct Task *task) +bool8 TrainerCard_ScaleDownFlipAnimation(struct Task *task) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -939,18 +942,20 @@ _08093C08: .4byte 0x0000fffc\n\ .syntax divided\n"); } -bool8 sub_8093C0C(struct Task *task) +bool8 TrainerCard_SwitchToNewSide(struct Task *task) { - sub_80939C0(); - sub_8093DAC(); - if (!ewram0_2.var_3) - sub_80939A4(); + TrainerCard_DestoryPlayTimeTask(); + TrainerCard_DrawCard(); + if (!ewram0_2.backSideShown) { + /* This code never runs because it is impossible to flip the back side back to the front side */ + TrainerCard_CreatePrintPlayTimeTask(); + } task->data[0]++; return TRUE; } __attribute__((naked)) -bool8 sub_8093C38(struct Task *task) +bool8 TrainerCard_ScaleUpFlipAnimation(struct Task *task) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -1099,19 +1104,19 @@ _08093D4C: .4byte 0x0000fffc\n\ .syntax divided\n"); } -bool8 sub_8093D50(struct Task *task) +bool8 TrainerCard_FinishFlipAnimation(struct Task *task) { u8 taskId; ewram0_2.var_4 = FALSE; SetHBlankCallback(NULL); - sub_8093E04(); - taskId = FindTaskIdByFunc(sub_8093A68); + TrainerCard_ResetOffsetRegisters(); + taskId = FindTaskIdByFunc(TrainerCard_RunFlipAnimationStateMachine); DestroyTask(taskId); return FALSE; } -void sub_8093D7C(void) +static void TrainerCard_FlipAnimationHBlankCallback(void) { u16 bgVOffset = gScanlineEffectRegBuffers[1][REG_VCOUNT & 0xFF]; @@ -1120,34 +1125,34 @@ void sub_8093D7C(void) REG_BG2VOFS = bgVOffset; } -static void sub_8093DAC(void) +static void TrainerCard_DrawCard(void) { - if (ewram0_2.var_3) - sub_8093DEC(); + if (ewram0_2.backSideShown) + TrainerCard_DrawCardBack(); else - sub_8093DC8(); + TrainerCard_DrawCardFront(); } -static void sub_8093DC8(void) +static void TrainerCard_DrawCardFront(void) { Menu_EraseScreen(); - sub_80940E4(); + TrainerCard_ClearTrainerGraphics(); sub_8093F14(); - sub_8093F80(); - sub_8093FD0(); - sub_8094038(); - sub_8094140(); + TrainerCard_LoadTrainerTilemap(); + TrainerCard_DrawStars(); + TrainerCard_DisplayBadges(); + TrainerCard_Front_PrintTexts(); } -static void sub_8093DEC(void) +static void TrainerCard_DrawCardBack(void) { Menu_EraseScreen(); - sub_80940E4(); + TrainerCard_ClearTrainerGraphics(); sub_8093F48(); - sub_8094188(); + TrainerCard_Back_PrintTexts(); } -static void sub_8093E04(void) +static void TrainerCard_ResetOffsetRegisters(void) { REG_BG0VOFS = -4; REG_BG1HOFS = 0; @@ -1156,13 +1161,13 @@ static void sub_8093E04(void) REG_BG2VOFS = -4; } -static void sub_8093E28(void) +static void TrainerCard_CopyGraphics(void) { const u8 *src; u8 *dst; u32 size; - sub_8093EA0(); + TrainerCard_LoadPalettes(); LoadPalette(gUnknown_083B5F6C, 0xE0, 32); src = gMenuTrainerCard_Gfx; dst = (void *)VRAM; @@ -1187,34 +1192,34 @@ static void sub_8093E28(void) } } -extern const u16 *const gUnknown_083B5EF8[]; +extern const u16 *const gTrainerCardPalettes[]; -void sub_8093EA0(void) +static void TrainerCard_LoadPalettes(void) { - LoadPalette(gUnknown_083B5EF8[ewram0_2.var_2], 0, 48 * 2); + LoadPalette(gTrainerCardPalettes[ewram0_2.starCount], 0, 48 * 2); LoadPalette(gBadgesPalette, 48, 16 * 2); LoadPalette(gUnknown_083B5F4C, 64, 16 * 2); - if (ewram0_2.var_64.gender != MALE) + if (ewram0_2.displayedCard.gender != MALE) LoadPalette(gUnknown_083B5F0C, 16, 16 * 2); } -static void sub_8093EF8(void) +static void TrainerCard_LoadTrainerGraphics(void) { - LoadTrainerGfx_TrainerCard(ewram0_2.var_64.gender, 80, (void *)(VRAM + 0x1880)); + LoadTrainerGfx_TrainerCard(ewram0_2.displayedCard.gender, 80, (void *)(VRAM + 0x1880)); } static void sub_8093F14(void) { const void *arr[] = {gUnknown_08E8CAC0, gUnknown_08E8D4C0}; - CpuFastSet(arr[ewram0_2.var_1], (void *)(VRAM + 0x4800), 0x140); + CpuFastSet(arr[ewram0_2.isShowingLinkCard], (void *)(VRAM + 0x4800), 0x140); } // I don't really know where to put the data. It's in such a weird order. const u8 gUnknown_083B5EF4[] = _(" : "); -const u16 *const gUnknown_083B5EF8[] = +const u16 *const gTrainerCardPalettes[] = { gMenuTrainerCard0Star_Pal, gMenuTrainerCard1Star_Pal, @@ -1227,7 +1232,7 @@ const u16 gUnknown_083B5F0C[] = INCBIN_U16("graphics/trainer_card/83B5F0C.gbapal const u16 gBadgesPalette[] = INCBIN_U16("graphics/trainer_card/badges.gbapal"); const u16 gUnknown_083B5F4C[] = INCBIN_U16("graphics/trainer_card/83B5F4C.gbapal"); const u16 gUnknown_083B5F6C[] = INCBIN_U16("graphics/trainer_card/83B5F6C.gbapal"); -const u16 gUnknown_083B5F8C[][4] = INCBIN_U16("graphics/trainer_card/83B5F8C_map.bin"); +const u16 gTrainerCardBadgesMap[][4] = INCBIN_U16("graphics/trainer_card/83B5F8C_map.bin"); static void sub_8093F48(void) { @@ -1239,7 +1244,7 @@ static void sub_8093F64(void) CpuFastSet(gUnknown_08E8D9C0, (void *)(VRAM + 0x5000), 320); } -static void sub_8093F80(void) +static void TrainerCard_LoadTrainerTilemap(void) { u16 r5 = 0xC4; u16 *ptr = (u16 *)(VRAM + 0x4000); @@ -1253,11 +1258,11 @@ static void sub_8093F80(void) } } -static void sub_8093FD0(void) +static void TrainerCard_DrawStars(void) { u16 *ptr = (u16 *)(VRAM + 0x4000); s16 i = 15; - s16 var = 15 + ewram0_2.var_2; + s16 var = 15 + ewram0_2.starCount; while (i < var) { @@ -1271,9 +1276,9 @@ static void sub_8093FD0(void) } } -static void sub_8094038(void) +static void TrainerCard_DisplayBadges(void) { - if (ewram0_2.var_1 == 0) + if (!ewram0_2.isShowingLinkCard) { u16 *ptr = (u16 *)(VRAM + 0x4000); s16 i; @@ -1281,18 +1286,18 @@ static void sub_8094038(void) for (i = 0, r2 = 4; i < 8; i++, r2 += 3) { - if (ewram0_2.var_e[i] != 0) + if (ewram0_2.ownedBadges[i] != 0) { - ptr[15 * 32 + r2 + 0] = gUnknown_083B5F8C[i][0] | 0x3000; - ptr[15 * 32 + r2 + 1] = gUnknown_083B5F8C[i][1] | 0x3000; - ptr[16 * 32 + r2 + 0] = gUnknown_083B5F8C[i][2] | 0x3000; - ptr[16 * 32 + r2 + 1] = gUnknown_083B5F8C[i][3] | 0x3000; + ptr[15 * 32 + r2 + 0] = gTrainerCardBadgesMap[i][0] | 0x3000; + ptr[15 * 32 + r2 + 1] = gTrainerCardBadgesMap[i][1] | 0x3000; + ptr[16 * 32 + r2 + 0] = gTrainerCardBadgesMap[i][2] | 0x3000; + ptr[16 * 32 + r2 + 1] = gTrainerCardBadgesMap[i][3] | 0x3000; } } } } -static void sub_80940E4(void) +static void TrainerCard_ClearTrainerGraphics(void) { s16 i; u16 *ptr; @@ -1301,7 +1306,7 @@ static void sub_80940E4(void) *ptr = 0; } -static void sub_8094110(void) +static void TrainerCard_ClearPokedexLabel(void) { u16 *ptr = (u16 *)(VRAM + 0x4800); u16 i; @@ -1313,24 +1318,24 @@ static void sub_8094110(void) } } -static void sub_8094140(void) +static void TrainerCard_Front_PrintTexts(void) { u8 *buffer; BasicInitMenuWindow(&gWindowTemplate_TrainerCard_Back_Values); buffer = gStringVar1; - StringCopy(buffer, ewram0_2.var_64.playerName); + StringCopy(buffer, ewram0_2.displayedCard.playerName); ConvertInternationalString(buffer, ewram0_2.language); Menu_PrintText(buffer, 7, 5); TrainerCard_Front_PrintTrainerID(); TrainerCard_Front_PrintMoney(); TrainerCard_Front_PrintPokedexCount(); - sub_809429C(); + TrainerCard_PrintEasyChatPhrase(); } -static void sub_8094188(void) +static void TrainerCard_Back_PrintTexts(void) { BasicInitMenuWindow(&gWindowTemplate_TrainerCard_Back_Values); TrainerCard_Back_PrintName(); @@ -1354,31 +1359,31 @@ static void TrainerCard_Front_PrintTrainerID(void) { u8 buffer[8]; - ConvertIntToDecimalStringN(buffer, ewram0_2.var_64.trainerId, STR_CONV_MODE_LEADING_ZEROS, 5); + ConvertIntToDecimalStringN(buffer, ewram0_2.displayedCard.trainerId, STR_CONV_MODE_LEADING_ZEROS, 5); Menu_PrintText(buffer, 20, 2); } static void TrainerCard_Front_PrintMoney(void) { - sub_80B7AEC(ewram0_2.var_64.money, 16, 8); + sub_80B7AEC(ewram0_2.displayedCard.money, 16, 8); } static void TrainerCard_Front_PrintPokedexCount(void) { u8 buffer[16]; - if (ewram0_2.var_7 == FALSE) + if (!ewram0_2.showPokedexCount) { - sub_8094110(); + TrainerCard_ClearPokedexLabel(); } else { - ConvertIntToDecimalStringN(buffer, ewram0_2.var_64.pokedexSeen, STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(buffer, ewram0_2.displayedCard.pokedexSeen, STR_CONV_MODE_LEFT_ALIGN, 3); MenuPrint_RightAligned(buffer, 16, 10); } } -static void TrainerCard_Front_PrintPlayTime(u8 *arg1, s16 colon) +static void TrainerCard_Front_GetPlayTimeString(u8 *arg1, s16 colon) { u8 buffer[16]; u16 playTimeHours; @@ -1386,33 +1391,33 @@ static void TrainerCard_Front_PrintPlayTime(u8 *arg1, s16 colon) playTimeHours = gSaveBlock2.playTimeHours; playTimeMinutes = gSaveBlock2.playTimeMinutes; - if (ewram0_2.var_1 != 0) + if (ewram0_2.isShowingLinkCard != 0) { - playTimeHours = ewram0_2.var_64.playTimeHours; - playTimeMinutes = ewram0_2.var_64.playTimeMinutes; + playTimeHours = ewram0_2.displayedCard.playTimeHours; + playTimeMinutes = ewram0_2.displayedCard.playTimeMinutes; } FormatPlayTime(buffer, playTimeHours, playTimeMinutes, colon); sub_8072C74(arg1, buffer, 48, 1); } -static void sub_809429C(void) +static void TrainerCard_PrintEasyChatPhrase(void) { u8 *str; - if (ewram0_2.var_1 != 0) + if (ewram0_2.isShowingLinkCard != 0) { str = gStringVar1; - str = StringCopy(str, ewram0_2.var_20[0]); + str = StringCopy(str, ewram0_2.easyChatPhrase[0]); str[0] = 00; str++; - str = StringCopy(str, ewram0_2.var_20[1]); + str = StringCopy(str, ewram0_2.easyChatPhrase[1]); Menu_PrintText(gStringVar1, 2, 14); str = gStringVar1; - str = StringCopy(str, ewram0_2.var_20[2]); + str = StringCopy(str, ewram0_2.easyChatPhrase[2]); str[0] = 00; str++; - str = StringCopy(str, ewram0_2.var_20[3]); + str = StringCopy(str, ewram0_2.easyChatPhrase[3]); Menu_PrintText(gStringVar1, 2, 16); } } @@ -1422,7 +1427,7 @@ static void TrainerCard_Back_PrintName(void) u8 *str; str = gStringVar1; - StringCopy(str, ewram0_2.var_64.playerName); + StringCopy(str, ewram0_2.displayedCard.playerName); ConvertInternationalString(str, ewram0_2.language); #if ENGLISH @@ -1436,7 +1441,7 @@ static void TrainerCard_Back_PrintName(void) static void TrainerCard_Back_PrintHallOfFameTime_Label(void) { - if (ewram0_2.var_8 != 0) + if (ewram0_2.showHallOfFame != 0) Menu_PrintText(gOtherText_FirstHOF, 3, 5); } @@ -1444,21 +1449,21 @@ static void TrainerCard_Back_PrintHallOfFameTime(void) { u8 *str; - if (ewram0_2.var_8 != 0) + if (ewram0_2.showHallOfFame != 0) { str = gStringVar1; - str = ConvertIntToDecimalStringN(str, ewram0_2.var_64.firstHallOfFameA, STR_CONV_MODE_RIGHT_ALIGN, 3); + str = ConvertIntToDecimalStringN(str, ewram0_2.displayedCard.firstHallOfFameA, STR_CONV_MODE_RIGHT_ALIGN, 3); str = StringCopy(str, gUnknown_083B5EF4); - str = ConvertIntToDecimalStringN(str, ewram0_2.var_64.firstHallOfFameB, STR_CONV_MODE_LEADING_ZEROS, 2); + str = ConvertIntToDecimalStringN(str, ewram0_2.displayedCard.firstHallOfFameB, STR_CONV_MODE_LEADING_ZEROS, 2); str = StringCopy(str, gUnknown_083B5EF4); - str = ConvertIntToDecimalStringN(str, ewram0_2.var_64.firstHallOfFameC, STR_CONV_MODE_LEADING_ZEROS, 2); + str = ConvertIntToDecimalStringN(str, ewram0_2.displayedCard.firstHallOfFameC, STR_CONV_MODE_LEADING_ZEROS, 2); MenuPrint_RightAligned(gStringVar1, 28, 5); } } static void TrainerCard_Back_PrintLinkBattlesLabel(void) { - if (ewram0_2.var_9 != 0) + if (ewram0_2.showLinkBattleStatus != 0) Menu_PrintText(gOtherText_LinkCableBattles, 3, 7); } @@ -1466,19 +1471,19 @@ static void TrainerCard_Back_PrintLinkBattles(void) { u8 buffer[16]; - if (ewram0_2.var_9 != 0) + if (ewram0_2.showLinkBattleStatus != 0) { - ConvertIntToDecimalString(buffer, ewram0_2.var_64.linkBattleWins); + ConvertIntToDecimalString(buffer, ewram0_2.displayedCard.linkBattleWins); MenuPrint_RightAligned(buffer, 22, 7); - ConvertIntToDecimalString(buffer, ewram0_2.var_64.linkBattleLosses); + ConvertIntToDecimalString(buffer, ewram0_2.displayedCard.linkBattleLosses); MenuPrint_RightAligned(buffer, 28, 7); } } static void TrainerCard_Back_PrintBattleTower_Label(void) { - if (ewram0_2.var_a != 0) + if (ewram0_2.showBattleTowerStatus != 0) Menu_PrintText(gOtherText_BattleTowerWinRecord, 3, 15); } @@ -1486,19 +1491,19 @@ static void TrainerCard_Back_PrintBattleTower(void) { u8 buffer[16]; - if (ewram0_2.var_a != 0) + if (ewram0_2.showBattleTowerStatus != 0) { - sub_8072C44(buffer, ewram0_2.var_64.battleTowerWins, 24, 1); + sub_8072C44(buffer, ewram0_2.displayedCard.battleTowerWins, 24, 1); Menu_PrintTextPixelCoords(buffer, 112, 120, 0); - sub_8072C44(buffer, ewram0_2.var_64.battleTowerLosses, 24, 1); + sub_8072C44(buffer, ewram0_2.displayedCard.battleTowerLosses, 24, 1); Menu_PrintTextPixelCoords(buffer, 149, 120, 0); } } static void TrainerCard_Back_PrintLinkContests_Label(void) { - if (ewram0_2.var_b != 0) + if (ewram0_2.showContestRecord != 0) Menu_PrintText(gOtherText_ContestRecord, 3, 13); } @@ -1506,16 +1511,16 @@ static void TrainerCard_Back_PrintLinkContests(void) { u8 buffer[8]; - if (ewram0_2.var_b != 0) + if (ewram0_2.showContestRecord != 0) { - ConvertIntToDecimalStringN(buffer, ewram0_2.var_64.contestsWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(buffer, ewram0_2.displayedCard.contestsWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 3); MenuPrint_RightAligned(buffer, 28, 13); } } static void TrainerCard_Back_PrintLinkPokeblocks_Label(void) { - if (ewram0_2.var_c != 0) + if (ewram0_2.showMixingRecord != 0) Menu_PrintText(gOtherText_MixingRecord, 3, 11); } @@ -1523,16 +1528,16 @@ static void TrainerCard_Back_PrintLinkPokeblocks(void) { u8 buffer[8]; - if (ewram0_2.var_c != 0) + if (ewram0_2.showMixingRecord != 0) { - ConvertIntToDecimalStringN(buffer, ewram0_2.var_64.pokeblocksWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(buffer, ewram0_2.displayedCard.pokeblocksWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 5); MenuPrint_RightAligned(buffer, 28, 11); } } static void TrainerCard_Back_PrintPokemonTrades_Label(void) { - if (ewram0_2.var_d != 0) + if (ewram0_2.showTradingRecord != 0) Menu_PrintText(gOtherText_TradeRecord, 3, 9); } @@ -1540,9 +1545,9 @@ static void TrainerCard_Back_PrintPokemonTrades(void) { u8 buffer[8]; - if (ewram0_2.var_d != 0) + if (ewram0_2.showTradingRecord != 0) { - ConvertIntToDecimalStringN(buffer, ewram0_2.var_64.pokemonTrades, STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(buffer, ewram0_2.displayedCard.pokemonTrades, STR_CONV_MODE_RIGHT_ALIGN, 5); MenuPrint_RightAligned(buffer, 28, 9); } } diff --git a/src/field/daycare.c b/src/field/daycare.c index 5811461ae..7e4530906 100644 --- a/src/field/daycare.c +++ b/src/field/daycare.c @@ -341,7 +341,7 @@ u16 GetEggSpecies(u16 species) { for (k = 0; k < 5; k++) { - if (gEvolutionTable[j].evolutions[k].targetSpecies == species) + if (gEvolutionTable[j][k].targetSpecies == species) { species = j; found = TRUE; diff --git a/src/field/item.c b/src/field/item.c index 66d7d65df..6ff7a7cbe 100644 --- a/src/field/item.c +++ b/src/field/item.c @@ -571,7 +571,7 @@ void SwapRegisteredBike(void) static u16 SanitizeItemId(u16 itemId) { - if (itemId > 0x15C) + if (itemId >= ARRAY_COUNT(gItems)) return 0; else return itemId; diff --git a/src/field/start_menu.c b/src/field/start_menu.c index d6881cb01..2f6f1e7dd 100644 --- a/src/field/start_menu.c +++ b/src/field/start_menu.c @@ -395,7 +395,7 @@ static u8 StartMenu_PlayerCallback(void) if (!gPaletteFade.active) { PlayRainSoundEffect(); - sub_8093110(sub_805469C); + TrainerCard_ShowPlayerCard(sub_805469C); return 1; } return 0; @@ -443,7 +443,7 @@ static u8 StartMenu_PlayerLinkCallback(void) if (!gPaletteFade.active) { PlayRainSoundEffect(); - sub_8093130(gUnknown_03004860, sub_805469C); + TrainerCard_ShowLinkCard(gUnknown_03004860, sub_805469C); return 1; } return 0; diff --git a/src/pokemon/pokemon_1.c b/src/pokemon/pokemon_1.c index bfd0bc972..0242e7444 100644 --- a/src/pokemon/pokemon_1.c +++ b/src/pokemon/pokemon_1.c @@ -1,13 +1,16 @@ #include "global.h" #include "data2.h" +#include "constants/abilities.h" #include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" #include "main.h" #include "pokemon.h" #include "random.h" #include "overworld.h" -#include "constants/species.h" #include "sprite.h" #include "string_util.h" +#include "trainer.h" #include "text.h" #include "ewram.h" @@ -26,6 +29,59 @@ struct Pokemon gPlayerParty[6]; u8 gEnemyPartyCount; struct Pokemon gEnemyParty[6]; +const u16 gSpeciesToHoennPokedexNum[] = {203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 156, 157, 112, 113, 227, 228, 229, 230, 231, 232, 233, 234, 153, 154, 138, 139, 63, 64, 88, 89, 90, 235, 236, 237, 238, 239, 240, 241, 242, 158, 159, 243, 244, 245, 246, 247, 248, 249, 39, 40, 41, 73, 74, 75, 250, 251, 252, 66, 67, 57, 58, 59, 253, 254, 255, 256, 82, 83, 257, 92, 93, 258, 259, 106, 107, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 84, 85, 270, 271, 272, 273, 274, 275, 276, 108, 109, 169, 170, 277, 278, 279, 184, 185, 50, 51, 143, 144, 280, 281, 282, 283, 284, 167, 285, 52, 53, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 65, 181, 182, 155, 324, 137, 325, 326, 162, 163, 327, 328, 329, 91, 55, 56, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 161, 164, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 168, 357, 358, 359, 103, 104, 360, 361, 180, 362, 363, 364, 365, 115, 366, 367, 186, 165, 166, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 42, 43, 44, 25, 26, 34, 35, 114, 27, 28, 32, 33, 99, 100, 61, 62, 145, 131, 132, 60, 105, 68, 127, 128, 183, 129, 130, 140, 141, 97, 98, 116, 117, 118, 48, 49, 78, 79, 101, 102, 173, 174, 175, 119, 120, 171, 172, 125, 126, 54, 110, 111, 80, 81, 69, 76, 77, 121, 122, 160, 148, 149, 94, 36, 37, 38, 95, 96, 150, 45, 46, 47, 176, 177, 178, 152, 146, 147, 124, 123, 179, 70, 71, 72, 142, 86, 87, 133, 134, 135, 136, 29, 30, 31, 187, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 196, 197, 201, 202, 151}; +const u16 gSpeciesToNationalPokedexNum[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 290, 291, 292, 276, 277, 285, 286, 327, 278, 279, 283, 284, 320, 321, 300, 301, 352, 343, 344, 299, 324, 302, 339, 340, 370, 341, 342, 349, 350, 318, 319, 328, 329, 330, 296, 297, 309, 310, 322, 323, 363, 364, 365, 331, 332, 361, 362, 337, 338, 298, 325, 326, 311, 312, 303, 307, 308, 333, 334, 360, 355, 356, 315, 287, 288, 289, 316, 317, 357, 293, 294, 295, 366, 367, 368, 359, 353, 354, 336, 335, 369, 304, 305, 306, 351, 313, 314, 345, 346, 347, 348, 280, 281, 282, 371, 372, 373, 374, 375, 376, 377, 378, 379, 382, 383, 384, 380, 381, 385, 386, 358}; +const u16 gHoennToNationalOrder[] = {252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 63, 64, 65, 290, 291, 292, 293, 294, 295, 296, 297, 118, 119, 129, 130, 298, 183, 184, 74, 75, 76, 299, 300, 301, 41, 42, 169, 72, 73, 302, 303, 304, 305, 306, 66, 67, 68, 307, 308, 309, 310, 311, 312, 81, 82, 100, 101, 313, 314, 43, 44, 45, 182, 84, 85, 315, 316, 317, 318, 319, 320, 321, 322, 323, 218, 219, 324, 88, 89, 109, 110, 325, 326, 27, 28, 327, 227, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 174, 39, 40, 349, 350, 351, 120, 121, 352, 353, 354, 355, 356, 357, 358, 359, 37, 38, 172, 25, 26, 54, 55, 360, 202, 177, 178, 203, 231, 232, 127, 214, 111, 112, 361, 362, 363, 364, 365, 366, 367, 368, 369, 222, 170, 171, 370, 116, 117, 230, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 62, 69, 70, 71, 77, 78, 79, 80, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 107, 108, 113, 114, 115, 122, 123, 124, 125, 126, 128, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 173, 175, 176, 179, 180, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 215, 216, 217, 220, 221, 223, 224, 225, 226, 228, 229, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411}; + +const struct SpindaSpot gSpindaSpotGraphics[] = +{ + {16, 14, INCBIN_U16("graphics/spinda_spots/spot_0.bin")}, + {40, 15, INCBIN_U16("graphics/spinda_spots/spot_1.bin")}, + {22, 32, INCBIN_U16("graphics/spinda_spots/spot_2.bin")}, + {34, 33, INCBIN_U16("graphics/spinda_spots/spot_3.bin")} +}; + +#include "../data/pokemon/item_effects.h" + +const s8 gNatureStatTable[][5] = +{ + // Atk Def Spd Sp.Atk Sp.Def + { 0, 0, 0, 0, 0}, // Hardy + { +1, -1, 0, 0, 0}, // Lonely + { +1, 0, -1, 0, 0}, // Brave + { +1, 0, 0, -1, 0}, // Adamant + { +1, 0, 0, 0, -1}, // Naughty + { -1, +1, 0, 0, 0}, // Bold + { 0, 0, 0, 0, 0}, // Docile + { 0, +1, -1, 0, 0}, // Relaxed + { 0, +1, 0, -1, 0}, // Impish + { 0, +1, 0, 0, -1}, // Lax + { -1, 0, +1, 0, 0}, // Timid + { 0, -1, +1, 0, 0}, // Hasty + { 0, 0, 0, 0, 0}, // Serious + { 0, 0, +1, -1, 0}, // Jolly + { 0, 0, +1, 0, -1}, // Naive + { -1, 0, 0, +1, 0}, // Modest + { 0, -1, 0, +1, 0}, // Mild + { 0, 0, -1, +1, 0}, // Quiet + { 0, 0, 0, 0, 0}, // Bashful + { 0, 0, 0, +1, -1}, // Rash + { -1, 0, 0, 0, +1}, // Calm + { 0, -1, 0, 0, +1}, // Gentle + { 0, 0, -1, 0, +1}, // Sassy + { 0, 0, 0, -1, +1}, // Careful + { 0, 0, 0, 0, 0} // Quirky +}; + +#include "../data/pokemon/tmhm_learnsets.h" +#include "../data/pokemon/trainer_class_lookups.h" +#include "../data/pokemon/cry_ids.h" +#include "../data/pokemon/experience_tables.h" +#include "../data/pokemon/base_stats.h" +#include "../data/pokemon/level_up_learnsets.h" +#include "../data/pokemon/evolution.h" +#include "../data/pokemon/level_up_learnset_pointers.h" + void ZeroBoxMonData(struct BoxPokemon *boxMon) { u8 *raw = (u8 *)boxMon; @@ -401,7 +457,7 @@ u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon) s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \ u8 nature = GetNature(mon); \ n = nature_stat_mod(nature, n, statIndex); \ - SetMonData(mon, field, &n); \ + SetMonData(mon, field, &n); \ } void CalculateMonStats(struct Pokemon *mon) diff --git a/src/pokemon/pokemon_2.c b/src/pokemon/pokemon_2.c index eb56974cd..b941ed2ab 100644 --- a/src/pokemon/pokemon_2.c +++ b/src/pokemon/pokemon_2.c @@ -1,4 +1,5 @@ #include "global.h" +#include "constants/hold_effects.h" #include "battle.h" #include "battle_util.h" #include "data2.h" @@ -12,6 +13,7 @@ #include "string_util.h" #include "strings2.h" #include "text.h" +#include "trainer.h" #include "util.h" #include "ewram.h" @@ -40,11 +42,12 @@ extern const struct SpriteTemplate gSpriteTemplate_8208288[]; //array of pointers to arrays of pointers to union AnimCmd (We probably need to typedef this.) extern u8 gTrainerClassToPicIndex[]; extern u8 gTrainerClassToNameIndex[]; -extern u8 gSecretBaseTrainerClasses[][5]; -extern u8 gUnknown_08208238[]; -extern u8 gUnknown_0820823C[]; -extern u8 gStatStageRatios[][2]; -extern u8 gHoldEffectToType[][2]; + +extern const u8 gUnknown_08208238[]; +extern const u8 gUnknown_0820823C[]; + +extern void sub_80105A0(struct Sprite *); +extern void oac_poke_opponent(struct Sprite *); u8 CountAliveMons(u8 a1) { @@ -145,6 +148,14 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality) return MON_MALE; } +const struct SpriteTemplate gSpriteTemplate_8208288[] = +{ + {0xFFFF, 0, &gOamData_81F96F0, NULL, gSpriteImageTable_81E7A10, gSpriteAffineAnimTable_81E7B70, sub_80105A0}, + {0xFFFF, 0, &gOamData_81F96E8, NULL, gSpriteImageTable_81E7A30, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent}, + {0xFFFF, 0, &gOamData_81F96F0, NULL, gSpriteImageTable_81E7A50, gSpriteAffineAnimTable_81E7B70, sub_80105A0}, + {0xFFFF, 0, &gOamData_81F96E8, NULL, gSpriteImageTable_81E7A70, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent}, +}; + void GetMonSpriteTemplate_803C56C(u16 species, u8 a2) { gUnknown_02024E8C = gSpriteTemplate_8208288[a2]; @@ -1094,6 +1105,13 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) gTrainerBattleOpponent = 1024; } +const u8 gSecretBaseTrainerClasses[][5] = { + // male + {FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_BUG_CATCHER, FACILITY_CLASS_RICH_BOY, FACILITY_CLASS_CAMPER, FACILITY_CLASS_COOL_TRAINER_M}, + // female + {FACILITY_CLASS_LASS, FACILITY_CLASS_SCHOOL_KID_F, FACILITY_CLASS_LADY, FACILITY_CLASS_PICNICKER, FACILITY_CLASS_COOL_TRAINER_F} +}; + u8 GetSecretBaseTrainerPicIndex(void) { u8 trainerClass = gSecretBaseTrainerClasses[eSecretBaseRecord->gender][eSecretBaseRecord->trainerId[0] % 5]; diff --git a/src/pokemon/pokemon_3.c b/src/pokemon/pokemon_3.c index d659ed680..221de831a 100644 --- a/src/pokemon/pokemon_3.c +++ b/src/pokemon/pokemon_3.c @@ -1,11 +1,12 @@ #include "global.h" +#include "constants/hold_effects.h" +#include "constants/items.h" +#include "constants/moves.h" #include "battle.h" #include "battle_message.h" #include "data2.h" #include "event_data.h" -#include "constants/hold_effects.h" #include "item.h" -#include "constants/items.h" #include "link.h" #include "m4a.h" #include "main.h" @@ -42,20 +43,16 @@ extern u8 gStringBank; extern u8 gBankInMenu; extern struct SpindaSpot gSpindaSpotGraphics[]; extern s8 gNatureStatTable[][5]; -extern s8 gUnknown_082082FE[][3]; extern u16 gTrainerBattleOpponent; extern u16 gBattleTypeFlags; extern u32 gTMHMLearnsets[][2]; extern u8 gBattleMonForms[]; extern const u8 BattleText_Wally[]; -extern const u16 gHMMoves[]; extern s8 gPokeblockFlavorCompatibilityTable[]; extern u8 gLastUsedAbility; extern const u8 BattleText_PreventedSwitch[]; extern u16 gBattlePartyID[]; -extern u8 gJapaneseNidoranNames[][11]; -extern u8 gUnknown_082082F8[]; extern u8 BattleText_Rose[]; extern u8 BattleText_UnknownString3[]; extern u8 BattleText_MistShroud[]; @@ -193,6 +190,8 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) return offset; } +const u8 gUnknown_082082F8[] = {1, 1, 3, 2, 4, 6}; + void sub_803F324(int stat) { gBankTarget = gBankInMenu; @@ -290,56 +289,56 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) for (i = 0; i < 5; i++) { - switch (gEvolutionTable[species].evolutions[i].method) + switch (gEvolutionTable[species][i].method) { case EVO_FRIENDSHIP: if (friendship >= 220) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_FRIENDSHIP_DAY: RtcCalcLocalTime(); if (gLocalTime.hours >= 12 && gLocalTime.hours < 24 && friendship >= 220) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_FRIENDSHIP_NIGHT: RtcCalcLocalTime(); if (gLocalTime.hours >= 0 && gLocalTime.hours < 12 && friendship >= 220) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL: - if (gEvolutionTable[species].evolutions[i].param <= level) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + if (gEvolutionTable[species][i].param <= level) + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL_ATK_GT_DEF: - if (gEvolutionTable[species].evolutions[i].param <= level) + if (gEvolutionTable[species][i].param <= level) if (GetMonData(mon, MON_DATA_ATK, 0) > GetMonData(mon, MON_DATA_DEF, 0)) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL_ATK_EQ_DEF: - if (gEvolutionTable[species].evolutions[i].param <= level) + if (gEvolutionTable[species][i].param <= level) if (GetMonData(mon, MON_DATA_ATK, 0) == GetMonData(mon, MON_DATA_DEF, 0)) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL_ATK_LT_DEF: - if (gEvolutionTable[species].evolutions[i].param <= level) + if (gEvolutionTable[species][i].param <= level) if (GetMonData(mon, MON_DATA_ATK, 0) < GetMonData(mon, MON_DATA_DEF, 0)) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL_SILCOON: - if (gEvolutionTable[species].evolutions[i].param <= level && (upperPersonality % 10) <= 4) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + if (gEvolutionTable[species][i].param <= level && (upperPersonality % 10) <= 4) + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL_CASCOON: - if (gEvolutionTable[species].evolutions[i].param <= level && (upperPersonality % 10) > 4) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + if (gEvolutionTable[species][i].param <= level && (upperPersonality % 10) > 4) + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL_NINJASK: - if (gEvolutionTable[species].evolutions[i].param <= level) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + if (gEvolutionTable[species][i].param <= level) + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_BEAUTY: - if (gEvolutionTable[species].evolutions[i].param <= beauty) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + if (gEvolutionTable[species][i].param <= beauty) + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; } } @@ -347,17 +346,17 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) case 1: for (i = 0; i < 5; i++) { - switch (gEvolutionTable[species].evolutions[i].method) + switch (gEvolutionTable[species][i].method) { case EVO_TRADE: - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_TRADE_ITEM: - if (gEvolutionTable[species].evolutions[i].param == heldItem) + if (gEvolutionTable[species][i].param == heldItem) { heldItem = 0; SetMonData(mon, MON_DATA_HELD_ITEM, &heldItem); - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; } break; } @@ -367,10 +366,10 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) case 3: for (i = 0; i < 5; i++) { - if (gEvolutionTable[species].evolutions[i].method == EVO_ITEM - && gEvolutionTable[species].evolutions[i].param == evolutionItem) + if (gEvolutionTable[species][i].method == EVO_ITEM + && gEvolutionTable[species][i].param == evolutionItem) { - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; } } @@ -644,6 +643,20 @@ u16 nature_stat_mod(u8 nature, u16 n, u8 statIndex) return n; } +const s8 gUnknown_082082FE[][3] = +{ + // Happiness deltas + { 5, 3, 2}, + { 5, 3, 2}, + { 1, 1, 0}, + { 3, 2, 1}, + { 1, 1, 0}, + { 1, 1, 1}, + {-1, -1, -1}, + {-5, -5, -10}, + {-5, -5, -10} +}; + void AdjustFriendship(struct Pokemon *mon, u8 event) { u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0); @@ -653,13 +666,9 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) if (heldItem == ITEM_ENIGMA_BERRY) { if (gMain.inBattle) - { holdEffect = gEnigmaBerries[0].holdEffect; - } else - { holdEffect = gSaveBlock1.enigmaBerry.holdEffect; - } } else { @@ -758,13 +767,9 @@ void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies) if (heldItem == ITEM_ENIGMA_BERRY) { if (gMain.inBattle) - { holdEffect = gEnigmaBerries[0].holdEffect; - } else - { holdEffect = gSaveBlock1.enigmaBerry.holdEffect; - } } else { @@ -1198,6 +1203,19 @@ const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u return &gMonPaletteTable[species]; } +const u16 gHMMoves[] = +{ + MOVE_CUT, + MOVE_FLY, + MOVE_SURF, + MOVE_STRENGTH, + MOVE_FLASH, + MOVE_ROCK_SMASH, + MOVE_WATERFALL, + MOVE_DIVE, + 0xffff +}; + bool32 IsHMMove2(u16 move) { int i = 0; @@ -1338,12 +1356,14 @@ u8 *sub_8040D08(void) return gLinkPlayers[sub_803FC34(gLinkPlayers[id].lp_field_18 ^ 2)].name; } +const u8 gJapaneseNidoranNames[][11] = {_("ニドラン♂"), _("ニドラン♀")}; + bool32 ShouldHideGenderIconForLanguage(u16 species, u8 *name, u8 language) { bool32 retVal = FALSE; if (species == SPECIES_NIDORAN_M || species == SPECIES_NIDORAN_F) { - u8 *speciesName; + const u8 *speciesName; if (language == GAME_LANGUAGE) { speciesName = gSpeciesNames[species]; diff --git a/src/pokemon/pokemon_data.c b/src/pokemon/pokemon_data.c index 031f2ea24..3473b58c8 100644 --- a/src/pokemon/pokemon_data.c +++ b/src/pokemon/pokemon_data.c @@ -9,120 +9,4 @@ #include "sprite.h" #include "data2.h" -#include "../data/pokemon/dex_order.h" -#include "../data/pokemon/spinda_spots.h" -#include "../data/pokemon/item_effects.h" -#include "../data/pokemon/nature_stats.h" -#include "../data/pokemon/tmhm_learnsets.h" -#include "../data/pokemon/trainer_class_lookups.h" -#include "../data/pokemon/cry_ids.h" -#include "../data/pokemon/experience_tables.h" -#include "../data/pokemon/base_stats.h" -#include "../data/pokemon/level_up_learnsets.h" -#include "../data/pokemon/evolution.h" -#include "../data/pokemon/level_up_learnset_pointers.h" -const u8 gUnknown_08208238[] = { // Masks for getting PP Up count, also PP Max values - 0x03, 0x0c, 0x30, 0xc0 -}; - -const u8 gUnknown_0820823C[] = { // Masks for setting PP Up count - 0xFC, 0xF3, 0xCF, 0x3F -}; - -const u8 gUnknown_08208240[] = { // Values added to PP Up count - 0x01, 0x04, 0x10, 0x40 -}; - -const u8 gStatStageRatios[][2] = { - {10, 40}, // -6 - {10, 35}, // -5 - {10, 30}, // -4 - {10, 25}, // -3 - {10, 20}, // -2 - {10, 15}, // -1 - {10, 10}, // 0 - {15, 10}, // 1 - {20, 10}, // 2 - {25, 10}, // 3 - {30, 10}, // 4 - {35, 10}, // 5 - {40, 10} // 6 -}; - -const u8 unknownGameFreakAbbrev_820825E[] = _("ゲーフリ"); - -const u8 gHoldEffectToType[][2] = { - {HOLD_EFFECT_BUG_POWER, TYPE_BUG}, - {HOLD_EFFECT_STEEL_POWER, TYPE_STEEL}, - {HOLD_EFFECT_GROUND_POWER, TYPE_GROUND}, - {HOLD_EFFECT_ROCK_POWER, TYPE_ROCK}, - {HOLD_EFFECT_GRASS_POWER, TYPE_GRASS}, - {HOLD_EFFECT_DARK_POWER, TYPE_DARK}, - {HOLD_EFFECT_FIGHTING_POWER, TYPE_FIGHTING}, - {HOLD_EFFECT_ELECTRIC_POWER, TYPE_ELECTRIC}, - {HOLD_EFFECT_WATER_POWER, TYPE_WATER}, - {HOLD_EFFECT_FLYING_POWER, TYPE_FLYING}, - {HOLD_EFFECT_POISON_POWER, TYPE_POISON}, - {HOLD_EFFECT_ICE_POWER, TYPE_ICE}, - {HOLD_EFFECT_GHOST_POWER, TYPE_GHOST}, - {HOLD_EFFECT_PSYCHIC_POWER, TYPE_PSYCHIC}, - {HOLD_EFFECT_FIRE_POWER, TYPE_FIRE}, - {HOLD_EFFECT_DRAGON_POWER, TYPE_DRAGON}, - {HOLD_EFFECT_NORMAL_POWER, TYPE_NORMAL} -}; - -extern void sub_80105A0(struct Sprite *); -extern void oac_poke_opponent(struct Sprite *); - -const struct SpriteTemplate gSpriteTemplate_8208288[] = { - {0xFFFF, 0, &gOamData_81F96F0, NULL, gSpriteImageTable_81E7A10, gSpriteAffineAnimTable_81E7B70, sub_80105A0}, - {0xFFFF, 0, &gOamData_81F96E8, NULL, gSpriteImageTable_81E7A30, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent}, - {0xFFFF, 0, &gOamData_81F96F0, NULL, gSpriteImageTable_81E7A50, gSpriteAffineAnimTable_81E7B70, sub_80105A0}, - {0xFFFF, 0, &gOamData_81F96E8, NULL, gSpriteImageTable_81E7A70, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent}, -}; - -const u8 gSecretBaseTrainerClasses[][5] = { - // male - {FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_BUG_CATCHER, FACILITY_CLASS_RICH_BOY, FACILITY_CLASS_CAMPER, FACILITY_CLASS_COOL_TRAINER_M}, - // female - {FACILITY_CLASS_LASS, FACILITY_CLASS_SCHOOL_KID_F, FACILITY_CLASS_LADY, FACILITY_CLASS_PICNICKER, FACILITY_CLASS_COOL_TRAINER_F} -}; - -const u8 gUnknown_082082F2[] = { - MON_DATA_HP_EV, - MON_DATA_ATK_EV, - MON_DATA_DEF_EV, - MON_DATA_SPEED_EV, - MON_DATA_SPDEF_EV, - MON_DATA_SPATK_EV -}; - -const u8 gUnknown_082082F8[] = {1, 1, 3, 2, 4, 6}; - -const s8 gUnknown_082082FE[][3] = { - // Happiness deltas - { 5, 3, 2}, - { 5, 3, 2}, - { 1, 1, 0}, - { 3, 2, 1}, - { 1, 1, 0}, - { 1, 1, 1}, - {-1, -1, -1}, - {-5, -5, -10}, - {-5, -5, -10} -}; - -const u16 gHMMoves[] = { - MOVE_CUT, - MOVE_FLY, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, - 0xffff -}; - -const u8 gJapaneseNidoranNames[][11] = {_("ニドラン♂"), _("ニドラン♀")}; diff --git a/src/pokemon/pokemon_item_effect.c b/src/pokemon/pokemon_item_effect.c new file mode 100644 index 000000000..66f2ff697 --- /dev/null +++ b/src/pokemon/pokemon_item_effect.c @@ -0,0 +1,11 @@ +#include "global.h" +#include "pokemon.h" + +const u8 gUnknown_082082F2[] = { + MON_DATA_HP_EV, + MON_DATA_ATK_EV, + MON_DATA_DEF_EV, + MON_DATA_SPEED_EV, + MON_DATA_SPDEF_EV, + MON_DATA_SPATK_EV +}; diff --git a/src/scene/evolution_scene.c b/src/scene/evolution_scene.c index 53eb2f1e8..931ec0d4d 100644 --- a/src/scene/evolution_scene.c +++ b/src/scene/evolution_scene.c @@ -88,8 +88,7 @@ extern u8 gBattleCommunication[]; extern const u8 BattleText_StartEvo[]; extern const u8 BattleText_FinishEvo[]; extern const u8 BattleText_StopEvo[]; -extern void * const gUnknown_081FAF4C[]; -extern const u8* const gBattleStringsTable[]; +extern const u8 *const gBattleStringsTable[]; // this file's functions static void Task_EvolutionScene(u8 taskID); @@ -498,35 +497,31 @@ static void CB2_TradeEvolutionSceneUpdate(void) static void CreateShedinja(u16 preEvoSpecies, struct Pokemon* mon) { u32 data = 0; - if (gEvolutionTable[preEvoSpecies].evolutions[0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < 6) + + if (gEvolutionTable[preEvoSpecies][0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < 6) { s32 i; struct Pokemon* Shedinja = &gPlayerParty[gPlayerPartyCount]; - const struct EvolutionData* EvoTable; - const struct EvolutionData* Evos; CopyMon(Shedinja, mon, sizeof(struct Pokemon)); - SetMonData(Shedinja, MON_DATA_SPECIES, (void*)(&gEvolutionTable[preEvoSpecies].evolutions[1].targetSpecies)); - SetMonData(Shedinja, MON_DATA_NICKNAME, (void*)(gSpeciesNames[gEvolutionTable[preEvoSpecies].evolutions[1].targetSpecies])); - SetMonData(Shedinja, MON_DATA_HELD_ITEM, (void*)(&data)); - SetMonData(Shedinja, MON_DATA_MARKINGS, (void*)(&data)); - SetMonData(Shedinja, MON_DATA_10, (void*)(&data)); + SetMonData(Shedinja, MON_DATA_SPECIES, (void*)&gEvolutionTable[preEvoSpecies][1].targetSpecies); + SetMonData(Shedinja, MON_DATA_NICKNAME, (void*)gSpeciesNames[gEvolutionTable[preEvoSpecies][1].targetSpecies]); + SetMonData(Shedinja, MON_DATA_HELD_ITEM, (void*)&data); + SetMonData(Shedinja, MON_DATA_MARKINGS, (void*)&data); + SetMonData(Shedinja, MON_DATA_10, (void*)&data); for (i = MON_DATA_COOL_RIBBON; i < MON_DATA_COOL_RIBBON + 5; i++) - SetMonData(Shedinja, i, (void*)(&data)); + SetMonData(Shedinja, i, (void*)&data); for (i = MON_DATA_CHAMPION_RIBBON; i <= MON_DATA_FATEFUL_ENCOUNTER; i++) - SetMonData(Shedinja, i, (void*)(&data)); - SetMonData(Shedinja, MON_DATA_STATUS, (void*)(&data)); + SetMonData(Shedinja, i, (void*)&data); + SetMonData(Shedinja, MON_DATA_STATUS, (void*)&data); data = 0xFF; - SetMonData(Shedinja, MON_DATA_MAIL, (void*)(&data)); + SetMonData(Shedinja, MON_DATA_MAIL, (void*)&data); CalculateMonStats(Shedinja); CalculatePlayerPartyCount(); - // can't match it otherwise, ehh - EvoTable = gEvolutionTable; - Evos = EvoTable + preEvoSpecies; - GetSetPokedexFlag(SpeciesToNationalPokedexNum(Evos->evolutions[1].targetSpecies), 2); - GetSetPokedexFlag(SpeciesToNationalPokedexNum(Evos->evolutions[1].targetSpecies), 3); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gEvolutionTable[preEvoSpecies][1].targetSpecies), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gEvolutionTable[preEvoSpecies][1].targetSpecies), 3); if (GetMonData(Shedinja, MON_DATA_SPECIES) == SPECIES_SHEDINJA && GetMonData(Shedinja, MON_DATA_LANGUAGE) == LANGUAGE_JAPANESE |