diff options
148 files changed, 6972 insertions, 11593 deletions
diff --git a/INSTALL.md b/INSTALL.md index cd8f4b185..bb5e9849d 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -8,16 +8,22 @@ Make sure that there is an environment variable called DEVKITARM with the path o Then get the compiler from https://github.com/pret/agbcc and run the following commands. - ./build.sh - ./install.sh PATH_OF_POKEEMERALD_DIRECTORY +``` +./build.sh +./install.sh PATH_OF_POKEEMERALD_DIRECTORY +``` Then in the pokeemerald directory, build the tools. - ./build_tools.sh +``` +./build_tools.sh +``` Finally, build the rom. - make +``` +make +``` # Windows @@ -26,3 +32,65 @@ Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM). Then get the compiled tools from https://github.com/pret/pokeruby-tools. Copy the `tools/` folder over the `tools/` folder in your pokeemerald directory. You can then build pokeemerald using `make` in the MSYS environment provided with devkitARM. + +# Mac + +Installing pokeemerald on a Mac requires macOS >= 10.12 (Sierra or higher). + +Download a [devkitPRO pacman](https://github.com/devkitPro/pacman/releases/tag/v1.0.0) + +Run the following commands in Terminal: + + +``` +xcode-select --install + +sudo dkp-pacman -S devkitARM + +export DEVKITPRO=/opt/devkitpro +echo "export DEVKITPRO=$DEVKITPRO" >> ~/.bashrc +export DEVKITARM=$DEVKITPRO/devkitARM +echo "export DEVKITARM=$DEVKITARM" >> ~/.bashrc +echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" >> ~/.bash_profile + +git clone https://github.com/pret/pokeemerald +git clone https://github.com/pret/agbcc + +cd agbcc/ +./build.sh +./install.sh ../pokeemerald + +cd ../pokeemerald +./build_tools.sh +``` + +And build the ROM with `make`. + +# Faster builds + +After the first build, subsequent builds are faster. You can further speed up the build: + +## Parallel build + +This significantly speeds up the build on modern machines. + +By default `make` only runs a single thread. You can tell `make` to run on multiple threads with `make -j`. See the manfile for usage (`man make`). + +The optimal value for `-j` is the number of logical cores on your machine. You can run `nproc` to see the exact number. + +``` +$ nproc +8 +``` + +If you have 8 cores, run: `make -j8` + +`-j` on its own will spawn a new thread for each job. A clean build will have thousands of jobs, which will be slower than not using -j at all. + +## Disable the dependency scanning + +If you've only changed `.c` or `.s` files, you can turn off the dependency scanning temporarily. Changes to any other files will be ignored, and the build will either fail or not reflect those changes. + +`make NODEP=1` + + @@ -25,14 +25,13 @@ ASFLAGS := -mcpu=arm7tdmi CC1 := tools/agbcc/bin/agbcc override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm -CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef +CPPFLAGS := -I tools/agbcc/include -I tools/agbcc -iquote include -nostdinc -undef LDFLAGS = -Map ../../$(MAP) LIB := -L ../../tools/agbcc/lib -lgcc -lc -SHA1 := sha1sum -c - +SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c GFX := tools/gbagfx/gbagfx AIF := tools/aif2pcm/aif2pcm MID := $(abspath tools/mid2agb/mid2agb) diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 2ab474037..38e0d2e62 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -11843,7 +11843,7 @@ sub_81A0784: @ 81A0784 movs r1, 0 adds r2, r4, 0 adds r3, r5, 0 - bl sub_8198A50 + bl CreateWindowTemplate ldr r0, [sp, 0x10] ldr r1, [sp, 0x14] str r0, [sp, 0x18] diff --git a/asm/contest.s b/asm/contest.s index 453ecb04c..978421c3d 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -102,7 +102,7 @@ LoadContestBgAfterMoveAnim: @ 80D7724 movs r4, 0 movs r5, 0xA0 _080D775E: - ldr r0, =0x0201a004 + ldr r0, =gHeap+0x1A004 adds r0, r5, r0 ldr r1, =gUnknown_02039F26 adds r1, r4, r1 @@ -576,7 +576,7 @@ _080D7B4E: ldr r1, =gReservedSpritePaletteCount movs r0, 0x4 strb r0, [r1] - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -928,7 +928,7 @@ _080D7ED8: ldr r4, =0x06002000 adds r1, r4, 0 bl LZDecompressVram - ldr r3, =0x02018000 + ldr r3, =gHeap+0x18000 movs r5, 0x80 lsls r5, 6 ldr r1, =0x040000d4 @@ -976,7 +976,7 @@ _080D7F40: ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x2C] - ldr r2, =0x0201aa04 + ldr r2, =gHeap+0x1AA04 ldr r0, =0x040000d4 str r1, [r0] str r2, [r0, 0x4] @@ -1022,7 +1022,7 @@ _080D7F7C: mov r0, sp adds r2, r6, 0 bl CpuSet - ldr r1, =0x0201a004 + ldr r1, =gHeap+0x1A004 ldr r0, =0x040000d4 mov r2, r8 str r2, [r0] @@ -1393,7 +1393,7 @@ sub_80D833C: @ 80D833C strh r1, [r0] bl sub_80DCD48 ldr r1, =gPlttBufferUnfaded - ldr r2, =0x0201a204 + ldr r2, =gHeap+0x1A204 ldr r0, =0x040000d4 str r1, [r0] str r2, [r0, 0x4] @@ -2070,7 +2070,7 @@ _080D897C: movs r0, 0 bl sub_80DED60 ldr r1, =gPlttBufferFaded - ldr r0, =0x0201a604 + ldr r0, =gHeap+0x1A604 movs r2, 0x80 lsls r2, 3 ldr r4, =0x040000d4 @@ -5012,7 +5012,7 @@ _080DA33A: sub_80DA348: @ 80DA348 lsls r0, 24 lsrs r0, 24 - ldr r2, =0x0201a204 + ldr r2, =gHeap+0x1A204 ldr r3, =gPlttBufferUnfaded ldr r1, =0x040000d4 str r2, [r1] @@ -10211,7 +10211,7 @@ sub_80DCCD8: @ 80DCCD8 thumb_func_start sub_80DCD08 sub_80DCD08: @ 80DCD08 push {lr} - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r2, r0, r1 @@ -10250,7 +10250,7 @@ sub_80DCD48: @ 80DCD48 ldrb r0, [r0] cmp r0, 0 beq _080DCE44 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -10639,7 +10639,7 @@ sub_80DD04C: @ 80DD04C movs r4, 0 movs r5, 0xA0 _080DD052: - ldr r0, =0x0201a004 + ldr r0, =gHeap+0x1A004 adds r0, r5, r0 ldr r1, =gUnknown_02039F26 adds r1, r4, r1 @@ -12351,7 +12351,7 @@ sub_80DDE30: @ 80DDE30 ldrsh r0, [r4, r1] cmp r0, 0 bne _080DDE78 - ldr r0, =0x02019000 + ldr r0, =gHeap+0x19000 ldr r1, =0x06002000 movs r2, 0x80 lsls r2, 5 @@ -12360,7 +12360,7 @@ sub_80DDE30: @ 80DDE30 b _080DDE8C .pool _080DDE78: - ldr r0, =0x02018000 + ldr r0, =gHeap+0x18000 ldr r1, =0x06002000 movs r2, 0x80 lsls r2, 5 @@ -15417,7 +15417,7 @@ sub_80DF704: @ 80DF704 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r2, r0, r1 @@ -15468,7 +15468,7 @@ sub_80DF750: @ 80DF750 bne _080DF766 b _080DF924 _080DF766: - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -15493,7 +15493,7 @@ _080DF784: lsrs r7, r0, 24 cmp r7, 0x3 bls _080DF784 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s index 621e26038..99fec9d99 100644 --- a/asm/contest_link_80FC4F4.s +++ b/asm/contest_link_80FC4F4.s @@ -11,7 +11,7 @@ sub_80FC4F4: @ 80FC4F4 adds r2, r0, 0 lsls r4, r1, 16 lsrs r4, 16 - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r0, r5, 0 adds r1, r2, 0 adds r2, r4, 0 diff --git a/asm/field_specials.s b/asm/field_specials.s deleted file mode 100644 index cea228a2a..000000000 --- a/asm/field_specials.s +++ /dev/null @@ -1,8075 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Special_ShowDiploma -Special_ShowDiploma: @ 8137CB4 - push {lr} - ldr r0, =CB2_ShowDiploma - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end Special_ShowDiploma - - thumb_func_start Special_ViewWallClock -Special_ViewWallClock: @ 8137CC8 - push {lr} - ldr r0, =gMain - ldr r1, =CB2_ReturnToField - str r1, [r0, 0x8] - ldr r0, =Cb2_ViewWallClock - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end Special_ViewWallClock - - thumb_func_start ResetCyclingRoadChallengeData -ResetCyclingRoadChallengeData: @ 8137CEC - ldr r0, =gBikeCyclingChallenge - movs r1, 0 - strb r1, [r0] - ldr r0, =0x0203ab55 - strb r1, [r0] - ldr r1, =gUnknown_0203AB58 - movs r0, 0 - str r0, [r1] - bx lr - .pool - thumb_func_end ResetCyclingRoadChallengeData - - thumb_func_start Special_BeginCyclingRoadChallenge -Special_BeginCyclingRoadChallenge: @ 8137D0C - ldr r1, =gBikeCyclingChallenge - movs r0, 0x1 - strb r0, [r1] - ldr r1, =0x0203ab55 - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_0203AB58 - ldr r0, =gMain - ldr r0, [r0, 0x20] - str r0, [r1] - bx lr - .pool - thumb_func_end Special_BeginCyclingRoadChallenge - - thumb_func_start GetPlayerAvatarBike -GetPlayerAvatarBike: @ 8137D34 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08137D46 - movs r0, 0x1 - b _08137D58 -_08137D46: - movs r0, 0x2 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _08137D56 - movs r0, 0 - b _08137D58 -_08137D56: - movs r0, 0x2 -_08137D58: - pop {r1} - bx r1 - thumb_func_end GetPlayerAvatarBike - - thumb_func_start DetermineCyclingRoadResults -DetermineCyclingRoadResults: @ 8137D5C - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r6, 0x63 - bhi _08137D88 - ldr r4, =gStringVar1 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceTimes - adds r0, r4, 0 - bl StringAppend - b _08137D90 - .pool -_08137D88: - ldr r0, =gStringVar1 - ldr r1, =gText_99TimesPlus - bl StringCopy -_08137D90: - ldr r0, =0x00000e0f - cmp r7, r0 - bhi _08137DF0 - ldr r4, =gStringVar2 - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0xAD - strb r0, [r4, 0x2] - adds r5, r4, 0x3 - adds r0, r7, 0 - movs r1, 0x3C - bl __umodsi3 - movs r1, 0x64 - muls r0, r1 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceSeconds - adds r0, r4, 0 - bl StringAppend - b _08137DF8 - .pool -_08137DF0: - ldr r0, =gStringVar2 - ldr r1, =gText_1MinutePlus - bl StringCopy -_08137DF8: - movs r4, 0 - cmp r6, 0 - bne _08137E0C - movs r4, 0x5 - b _08137E2A - .pool -_08137E0C: - cmp r6, 0x3 - bhi _08137E14 - movs r4, 0x4 - b _08137E2A -_08137E14: - cmp r6, 0x9 - bhi _08137E1C - movs r4, 0x3 - b _08137E2A -_08137E1C: - cmp r6, 0x13 - bhi _08137E24 - movs r4, 0x2 - b _08137E2A -_08137E24: - cmp r6, 0x63 - bhi _08137E2A - movs r4, 0x1 -_08137E2A: - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - cmp r0, 0xA - bhi _08137E3A - adds r0, r4, 0x5 - b _08137E58 -_08137E3A: - cmp r0, 0xF - bhi _08137E42 - adds r0, r4, 0x4 - b _08137E58 -_08137E42: - cmp r0, 0x14 - bhi _08137E4A - adds r0, r4, 0x3 - b _08137E58 -_08137E4A: - cmp r0, 0x28 - bhi _08137E52 - adds r0, r4, 0x2 - b _08137E58 -_08137E52: - cmp r0, 0x3B - bhi _08137E5C - adds r0, r4, 0x1 -_08137E58: - lsls r0, 24 - lsrs r4, r0, 24 -_08137E5C: - ldr r0, =gSpecialVar_Result - strh r4, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DetermineCyclingRoadResults - - thumb_func_start FinishCyclingRoadChallenge -FinishCyclingRoadChallenge: @ 8137E6C - push {r4,r5,lr} - ldr r0, =gMain - ldr r1, =gUnknown_0203AB58 - ldr r4, [r0, 0x20] - ldr r0, [r1] - subs r4, r0 - ldr r5, =0x0203ab55 - ldrb r1, [r5] - adds r0, r4, 0 - bl DetermineCyclingRoadResults - ldrb r1, [r5] - adds r0, r4, 0 - bl RecordCyclingRoadResults - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FinishCyclingRoadChallenge - - thumb_func_start RecordCyclingRoadResults -RecordCyclingRoadResults: @ 8137E9C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r6, =0x00004028 - adds r0, r6, 0 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r7, =0x00004029 - adds r0, r7, 0 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, r5 - bhi _08137ECC - cmp r4, 0 - bne _08137EE6 -_08137ECC: - lsls r1, r5, 16 - lsrs r1, 16 - adds r0, r6, 0 - bl VarSet - lsrs r1, r5, 16 - adds r0, r7, 0 - bl VarSet - ldr r0, =0x00004027 - mov r1, r8 - bl VarSet -_08137EE6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end RecordCyclingRoadResults - - thumb_func_start GetRecordedCyclingRoadResults -GetRecordedCyclingRoadResults: @ 8137EFC - push {r4,lr} - ldr r0, =0x00004028 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004029 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, 0 - beq _08137F3C - ldr r0, =0x00004027 - bl VarGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl DetermineCyclingRoadResults - movs r0, 0x1 - b _08137F3E - .pool -_08137F3C: - movs r0, 0 -_08137F3E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetRecordedCyclingRoadResults - - thumb_func_start UpdateCyclingRoadState -UpdateCyclingRoadState: @ 8137F44 - push {r4,lr} - ldr r0, =gUnknown_020322DC - ldrh r1, [r0] - ldr r0, =0x00000c1d - cmp r1, r0 - beq _08137F7C - ldr r4, =0x000040a9 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - beq _08137F6E - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bne _08137F7C -_08137F6E: - adds r0, r4, 0 - movs r1, 0 - bl VarSet - movs r0, 0 - bl Overworld_SetSavedMusic -_08137F7C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateCyclingRoadState - - thumb_func_start SetSSTidalFlag -SetSSTidalFlag: @ 8137F90 - push {lr} - ldr r0, =0x0000088d - bl FlagSet - ldr r0, =0x0000404a - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end SetSSTidalFlag - - thumb_func_start ResetSSTidalFlag -ResetSSTidalFlag: @ 8137FB0 - push {lr} - ldr r0, =0x0000088d - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end ResetSSTidalFlag - - thumb_func_start CountSSTidalStep -CountSSTidalStep: @ 8137FC0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000088d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08137FE6 - ldr r0, =0x0000404a - bl GetVarPointer - ldrh r1, [r0] - adds r1, r4, r1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xCC - bhi _08137FF4 -_08137FE6: - movs r0, 0 - b _08137FF6 - .pool -_08137FF4: - movs r0, 0x1 -_08137FF6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CountSSTidalStep - - thumb_func_start GetSSTidalLocation -GetSSTidalLocation: @ 8137FFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldr r0, =0x0000404a - bl GetVarPointer - adds r4, r0, 0 - ldr r0, =0x000040b4 - bl GetVarPointer - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x9 - bhi _081380C2 - lsls r0, 2 - ldr r1, =_08138038 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08138038: - .4byte _08138060 - .4byte _08138070 - .4byte _08138064 - .4byte _08138068 - .4byte _08138068 - .4byte _0813806C - .4byte _08138098 - .4byte _08138060 - .4byte _08138064 - .4byte _0813806C -_08138060: - movs r0, 0x1 - b _081380CE -_08138064: - movs r0, 0x4 - b _081380CE -_08138068: - movs r0, 0x2 - b _081380CE -_0813806C: - movs r0, 0x3 - b _081380CE -_08138070: - ldrh r0, [r4] - cmp r0, 0x3B - bhi _08138080 - movs r0, 0x31 - strb r0, [r5] - ldrh r0, [r4] - adds r0, 0x13 - b _081380C0 -_08138080: - cmp r0, 0x8B - bhi _0813808E - movs r0, 0x30 - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x3C - b _081380C0 -_0813808E: - movs r0, 0x2F - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x8C - b _081380C0 -_08138098: - ldrh r0, [r4] - cmp r0, 0x41 - bhi _081380A8 - movs r0, 0x2F - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x41 - b _081380BE -_081380A8: - cmp r0, 0x91 - bhi _081380B6 - movs r0, 0x30 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x91 - b _081380BE -_081380B6: - movs r0, 0x31 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0xE0 -_081380BE: - subs r0, r1 -_081380C0: - strh r0, [r6] -_081380C2: - movs r0, 0 - mov r1, r8 - strb r0, [r1] - movs r0, 0x14 - strh r0, [r7] - movs r0, 0 -_081380CE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetSSTidalLocation - - thumb_func_start is_tile_that_overrides_player_control -is_tile_that_overrides_player_control: @ 81380D8 - push {lr} - movs r0, 0x88 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813810A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813810A - cmp r0, 0x3 - ble _081380F6 - cmp r0, 0x6 - bne _0813810A -_081380F6: - ldr r0, =0x000040f2 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138118 -_0813810A: - movs r0, 0 - b _0813811A - .pool -_08138118: - movs r0, 0x1 -_0813811A: - pop {r1} - bx r1 - thumb_func_end is_tile_that_overrides_player_control - - thumb_func_start sub_8138120 -sub_8138120: @ 8138120 - push {lr} - movs r0, 0x8A - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08138152 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _08138152 - cmp r0, 0x3 - ble _0813813E - cmp r0, 0x6 - bne _08138152 -_0813813E: - ldr r0, =0x000040f3 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _08138160 -_08138152: - movs r0, 0 - b _08138162 - .pool -_08138160: - movs r0, 0x1 -_08138162: - pop {r1} - bx r1 - thumb_func_end sub_8138120 - - thumb_func_start sub_8138168 -sub_8138168: @ 8138168 - push {lr} - movs r0, 0x72 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813819A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813819A - cmp r0, 0x3 - ble _08138186 - cmp r0, 0x6 - bne _0813819A -_08138186: - ldr r0, =0x000040f5 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _081381A8 -_0813819A: - movs r0, 0 - b _081381AA - .pool -_081381A8: - movs r0, 0x1 -_081381AA: - pop {r1} - bx r1 - thumb_func_end sub_8138168 - - thumb_func_start sub_81381B0 -sub_81381B0: @ 81381B0 - push {lr} - movs r0, 0x80 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081381E2 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _081381E2 - cmp r0, 0x3 - ble _081381CE - cmp r0, 0x6 - bne _081381E2 -_081381CE: - ldr r0, =0x000040f4 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _081381F0 -_081381E2: - movs r0, 0 - b _081381F2 - .pool -_081381F0: - movs r0, 0x1 -_081381F2: - pop {r1} - bx r1 - thumb_func_end sub_81381B0 - - thumb_func_start sub_81381F8 -sub_81381F8: @ 81381F8 - push {lr} - movs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813822A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813822A - cmp r0, 0x3 - ble _08138216 - cmp r0, 0x6 - bne _0813822A -_08138216: - ldr r0, =0x000040f6 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138238 -_0813822A: - movs r0, 0 - b _0813823A - .pool -_08138238: - movs r0, 0x1 -_0813823A: - pop {r1} - bx r1 - thumb_func_end sub_81381F8 - - thumb_func_start GetLinkPartnerNames -GetLinkPartnerNames: @ 8138240 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0813828A - ldr r0, =gTVStringVarPtrs - mov r8, r0 -_08138262: - cmp r7, r4 - beq _08138280 - lsls r0, r6, 2 - add r0, r8 - ldr r0, [r0] - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, =gLinkPlayers + 8 - adds r1, r2 - bl StringCopy - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138280: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08138262 -_0813828A: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end GetLinkPartnerNames - - thumb_func_start SpawnLinkPartnerEventObject -SpawnLinkPartnerEventObject: @ 81382A0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r7, 0 - movs r0, 0 - mov r9, r0 - mov r8, r0 - ldr r1, =gUnknown_085B2B5C - add r0, sp, 0x8 - movs r2, 0x4 - bl memcpy - add r4, sp, 0xC - ldr r1, =gUnknown_085B2B60 - adds r0, r4, 0 - movs r2, 0x8 - bl memcpy - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - beq _08138310 - cmp r0, 0x2 - bgt _081382F4 - cmp r0, 0x1 - beq _0813833C - b _08138350 - .pool -_081382F4: - cmp r1, 0x3 - beq _081382FE - cmp r1, 0x4 - beq _08138324 - b _08138350 -_081382FE: - movs r7, 0x2 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - subs r0, 0x1 - b _0813832C - .pool -_08138310: - movs r7, 0x1 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0] - mov r9, r1 - ldrh r0, [r0, 0x2] - subs r0, 0x1 - b _0813834A - .pool -_08138324: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 -_0813832C: - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldrh r1, [r1, 0x2] - mov r8, r1 - b _08138350 - .pool -_0813833C: - movs r7, 0x3 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - mov r9, r3 - ldrh r0, [r0, 0x2] - adds r0, 0x1 -_0813834A: - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_08138350: - movs r6, 0 - b _08138410 - .pool -_08138358: - cmp r10, r6 - beq _0813840A - ldr r0, =gLinkPlayers - lsls r2, r6, 3 - subs r1, r2, r6 - lsls r1, 2 - adds r1, r0 - ldrb r3, [r1] - adds r4, r0, 0 - cmp r3, 0x1 - blt _0813838C - cmp r3, 0x2 - ble _0813837C - cmp r3, 0x3 - beq _08138388 - b _0813838C - .pool -_0813837C: - ldrb r0, [r1, 0x13] - movs r5, 0xEC - cmp r0, 0 - bne _0813839C - movs r5, 0xEB - b _0813839C -_08138388: - ldrb r0, [r1, 0x13] - b _08138394 -_0813838C: - subs r0, r2, r6 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x13] -_08138394: - movs r5, 0x69 - cmp r0, 0 - bne _0813839C - movs r5, 0x64 -_0813839C: - mov r0, sp - adds r0, r7 - adds r0, 0x8 - ldrb r1, [r0] - movs r4, 0xF0 - subs r4, r6 - lsls r4, 24 - lsrs r4, 24 - lsls r2, r7, 1 - mov r0, sp - adds r0, r2 - adds r0, 0xC - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - mov r3, r9 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - add r0, r12 - adds r3, r0, 0x7 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - mov r0, sp - adds r0, 0xD - adds r0, r2 - movs r2, 0 - ldrsb r2, [r0, r2] - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - adds r0, r2 - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r5, 0 - adds r2, r4, 0 - mov r3, r12 - bl SpawnSpecialEventObjectParameterized - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_813842C - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x4 - bne _0813840A - movs r7, 0 -_0813840A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138410: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r6, r0 - bcc _08138358 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end SpawnLinkPartnerEventObject - - thumb_func_start sub_813842C -sub_813842C: @ 813842C - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - movs r1, 0xC0 - lsls r1, 19 - adds r2, r1 - lsrs r5, r2, 24 - lsrs r4, r0, 24 - movs r2, 0xA8 - lsls r2, 21 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x1 - bls _08138454 - cmp r4, 0x64 - beq _08138454 - cmp r4, 0x69 - bne _081384E6 -_08138454: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - adds r0, r3, 0 - bl GetEventObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _081384E6 - ldr r1, =gEventObjects - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - lsls r3, r5, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - cmp r4, 0x69 - beq _081384D8 - cmp r4, 0x69 - bgt _081384A8 - cmp r4, 0x64 - beq _081384C4 - b _081384E6 - .pool -_081384A8: - cmp r4, 0xEB - beq _081384B2 - cmp r4, 0xEC - beq _081384BC - b _081384E6 -_081384B2: - ldr r0, =gEventObjectPalette33 - b _081384C6 - .pool -_081384BC: - ldr r0, =gEventObjectPalette34 - b _081384C6 - .pool -_081384C4: - ldr r0, =gEventObjectPalette8 -_081384C6: - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette - b _081384E6 - .pool -_081384D8: - ldr r0, =gEventObjectPalette17 - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette -_081384E6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813842C - - thumb_func_start MauvilleGymSpecial1 -MauvilleGymSpecial1: @ 81384F0 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gUnknown_085B2B68 -_081384F6: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - bne _0813851C - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - b _0813852A - .pool -_0813851C: - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000205 - bl MapGridSetMetatileIdAt -_0813852A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081384F6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial1 - - thumb_func_start MauvilleGymSpecial2 -MauvilleGymSpecial2: @ 8138540 - push {r4-r6,lr} - movs r5, 0xC -_08138544: - movs r4, 0x7 - adds r6, r5, 0x1 -_08138548: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde6 - adds r0, r1 - cmp r0, 0x37 - bls _0813855A - b _08138734 -_0813855A: - lsls r0, 2 - ldr r1, =_0813856C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813856C: - .4byte _081386F2 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813864C - .4byte _08138652 - .4byte _0813868C - .4byte _08138694 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813865C - .4byte _08138662 - .4byte _0813869C - .4byte _081386A4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813866C - .4byte _08138672 - .4byte _081386AC - .4byte _081386B4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813867C - .4byte _08138684 - .4byte _081386BC - .4byte _081386C4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386CC - .4byte _081386DC - .4byte _081386EC - .4byte _08138714 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386D4 - .4byte _081386E4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813872A - .4byte _0813871C -_0813864C: - movs r2, 0x8C - lsls r2, 2 - b _08138720 -_08138652: - ldr r2, =0x00000231 - b _08138720 - .pool -_0813865C: - movs r2, 0x8E - lsls r2, 2 - b _08138720 -_08138662: - ldr r2, =0x00000239 - b _08138720 - .pool -_0813866C: - movs r2, 0x88 - lsls r2, 2 - b _08138720 -_08138672: - ldr r2, =0x00000221 - b _08138720 - .pool -_0813867C: - ldr r2, =0x00000e28 - b _08138720 - .pool -_08138684: - ldr r2, =0x00000e29 - b _08138720 - .pool -_0813868C: - ldr r2, =0x00000232 - b _08138720 - .pool -_08138694: - ldr r2, =0x00000233 - b _08138720 - .pool -_0813869C: - ldr r2, =0x0000023a - b _08138720 - .pool -_081386A4: - ldr r2, =0x0000023b - b _08138720 - .pool -_081386AC: - ldr r2, =0x00000222 - b _08138720 - .pool -_081386B4: - ldr r2, =0x00000223 - b _08138720 - .pool -_081386BC: - ldr r2, =0x00000e2a - b _08138720 - .pool -_081386C4: - ldr r2, =0x00000e2b - b _08138720 - .pool -_081386CC: - ldr r2, =0x00000e42 - b _08138720 - .pool -_081386D4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386DC: - ldr r2, =0x00000e43 - b _08138720 - .pool -_081386E4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386EC: - movs r2, 0xE4 - lsls r2, 4 - b _08138720 -_081386F2: - subs r1, r5, 0x1 - adds r0, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x90 - lsls r1, 2 - cmp r0, r1 - bne _0813870C - ldr r2, =0x00000e48 - b _08138720 - .pool -_0813870C: - ldr r2, =0x00000e49 - b _08138720 - .pool -_08138714: - ldr r2, =0x00000e41 - b _08138720 - .pool -_0813871C: - movs r2, 0xE5 - lsls r2, 4 -_08138720: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08138734 -_0813872A: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08138734: - adds r4, 0x1 - cmp r4, 0xF - bgt _0813873C - b _08138548 -_0813873C: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _08138744 - b _08138544 -_08138744: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial2 - - thumb_func_start MauvilleGymSpecial3 -MauvilleGymSpecial3: @ 8138750 - push {r4-r6,lr} - ldr r4, =gUnknown_085B2B68 - movs r5, 0x3 -_08138756: - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - adds r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _08138756 - movs r5, 0xC -_0813876A: - movs r4, 0x7 - adds r6, r5, 0x1 -_0813876E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde0 - adds r0, r1 - cmp r0, 0x30 - bls _08138780 - b _081388CA -_08138780: - lsls r0, 2 - ldr r1, =_0813879C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813879C: - .4byte _08138860 - .4byte _08138866 - .4byte _08138880 - .4byte _08138888 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _08138870 - .4byte _08138876 - .4byte _08138890 - .4byte _08138898 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388A0 - .4byte _081388A8 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388B0 - .4byte _081388B0 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388C0 -_08138860: - movs r2, 0x8C - lsls r2, 2 - b _081388B2 -_08138866: - ldr r2, =0x00000231 - b _081388B2 - .pool -_08138870: - movs r2, 0x8E - lsls r2, 2 - b _081388B2 -_08138876: - ldr r2, =0x00000239 - b _081388B2 - .pool -_08138880: - ldr r2, =0x00000232 - b _081388B2 - .pool -_08138888: - ldr r2, =0x00000233 - b _081388B2 - .pool -_08138890: - ldr r2, =0x0000023a - b _081388B2 - .pool -_08138898: - ldr r2, =0x0000023b - b _081388B2 - .pool -_081388A0: - ldr r2, =0x00000e42 - b _081388B2 - .pool -_081388A8: - ldr r2, =0x00000e43 - b _081388B2 - .pool -_081388B0: - ldr r2, =0x0000021a -_081388B2: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _081388CA - .pool -_081388C0: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_081388CA: - adds r4, 0x1 - cmp r4, 0xF - bgt _081388D2 - b _0813876E -_081388D2: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _081388DA - b _0813876A -_081388DA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial3 - - thumb_func_start PetalburgGymSpecial1 -PetalburgGymSpecial1: @ 81388E4 - push {lr} - ldr r0, =gUnknown_0203AB5C - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_0203AB5D - strb r1, [r0] - movs r0, 0x2C - bl PlaySE - ldr r0, =Task_PetalburgGym - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end PetalburgGymSpecial1 - - thumb_func_start Task_PetalburgGym -Task_PetalburgGym: @ 8138910 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_085B2B78 - ldr r5, =gUnknown_0203AB5D - ldrb r1, [r5] - adds r0, r1, r0 - ldr r4, =gUnknown_0203AB5C - ldrb r2, [r4] - ldrb r0, [r0] - cmp r0, r2 - bne _0813896C - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, =gUnknown_085B2B7E - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - bl PetalburgGymFunc - movs r0, 0 - strb r0, [r4] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _08138970 - adds r0, r6, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _08138970 - .pool -_0813896C: - adds r0, r2, 0x1 - strb r0, [r4] -_08138970: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end Task_PetalburgGym - - thumb_func_start PetalburgGymFunc -PetalburgGymFunc: @ 8138978 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r2, r1, 16 - movs r7, 0 - subs r0, 0x1 - cmp r0, 0x7 - bhi _08138A40 - lsls r0, 2 - ldr r1, =_081389A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081389A0: - .4byte _081389C0 - .4byte _081389D2 - .4byte _081389E4 - .4byte _081389F6 - .4byte _08138A04 - .4byte _08138A1A - .4byte _08138A26 - .4byte _08138A34 -_081389C0: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x68 - b _08138A14 -_081389D2: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x4E - b _08138A14 -_081389E4: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x5B - b _08138A14 -_081389F6: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0x27 - b _08138A3E -_08138A04: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x34 -_08138A14: - strh r0, [r1] - strh r0, [r1, 0x2] - b _08138A40 -_08138A1A: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x41 - b _08138A3E -_08138A26: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0xD - b _08138A3E -_08138A34: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x1A -_08138A3E: - strh r0, [r1] -_08138A40: - movs r6, 0 - cmp r6, r7 - bcs _08138A92 - movs r1, 0xC0 - lsls r1, 4 - adds r0, r1, 0 - adds r1, r2, 0 - orrs r1, r0 - lsls r1, 16 - mov r9, r1 - adds r1, r2, 0 - adds r1, 0x8 - orrs r1, r0 - lsls r1, 16 - mov r8, r1 -_08138A5E: - lsls r1, r6, 1 - mov r3, sp - adds r5, r3, r1 - ldrh r0, [r5] - adds r0, 0x7 - add r4, sp, 0x8 - adds r4, r1 - ldrh r1, [r4] - adds r1, 0x7 - mov r3, r9 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - ldrh r0, [r5] - adds r0, 0x7 - ldrh r1, [r4] - adds r1, 0x8 - mov r3, r8 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08138A5E -_08138A92: - bl DrawWholeMapView - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PetalburgGymFunc - - thumb_func_start PetalburgGymSpecial2 -PetalburgGymSpecial2: @ 8138AA4 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r1, =gUnknown_085B2B7E - ldrh r1, [r1, 0x8] - bl PetalburgGymFunc - pop {r0} - bx r0 - .pool - thumb_func_end PetalburgGymSpecial2 - - thumb_func_start ShowFieldMessageStringVar4 -ShowFieldMessageStringVar4: @ 8138AC0 - push {lr} - ldr r0, =gStringVar4 - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end ShowFieldMessageStringVar4 - - thumb_func_start StorePlayerCoordsInVars -StorePlayerCoordsInVars: @ 8138AD0 - ldr r1, =gSpecialVar_0x8004 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r2] - strh r0, [r1] - ldr r1, =gSpecialVar_0x8005 - ldrh r0, [r2, 0x2] - strh r0, [r1] - bx lr - .pool - thumb_func_end StorePlayerCoordsInVars - - thumb_func_start GetPlayerTrainerIdOnesDigit -GetPlayerTrainerIdOnesDigit: @ 8138AF0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0xB] - lsls r1, 8 - ldrb r0, [r0, 0xA] - orrs r0, r1 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end GetPlayerTrainerIdOnesDigit - - thumb_func_start GetPlayerBigGuyGirlString -GetPlayerBigGuyGirlString: @ 8138B10 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B34 - ldr r0, =gStringVar1 - ldr r1, =gText_BigGuy - bl StringCopy - b _08138B3C - .pool -_08138B34: - ldr r0, =gStringVar1 - ldr r1, =gText_BigGirl - bl StringCopy -_08138B3C: - pop {r0} - bx r0 - .pool - thumb_func_end GetPlayerBigGuyGirlString - - thumb_func_start GetRivalSonDaughterString -GetRivalSonDaughterString: @ 8138B48 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B6C - ldr r0, =gStringVar1 - ldr r1, =gText_Daughter - bl StringCopy - b _08138B74 - .pool -_08138B6C: - ldr r0, =gStringVar1 - ldr r1, =gText_Son - bl StringCopy -_08138B74: - pop {r0} - bx r0 - .pool - thumb_func_end GetRivalSonDaughterString - - thumb_func_start sub_8138B80 -sub_8138B80: @ 8138B80 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8138B80 - - thumb_func_start CableCarWarp -CableCarWarp: @ 8138B8C - push {lr} - sub sp, 0x4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _08138BB0 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0x6 - bl Overworld_SetWarpDestination - b _08138BC2 - .pool -_08138BB0: - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0x1 - movs r3, 0x6 - bl Overworld_SetWarpDestination -_08138BC2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end CableCarWarp - - thumb_func_start SetFlagInVar -SetFlagInVar: @ 8138BC8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetFlagInVar - - thumb_func_start GetWeekCount -GetWeekCount: @ 8138BDC - push {lr} - ldr r0, =gLocalTime - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000270f - cmp r0, r1 - bls _08138BF6 - adds r0, r1, 0 -_08138BF6: - pop {r1} - bx r1 - .pool - thumb_func_end GetWeekCount - - thumb_func_start GetLeadMonFriendshipScore -GetLeadMonFriendshipScore: @ 8138C04 - push {r4,lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xFF - bne _08138C2C - movs r0, 0x6 - b _08138C7E - .pool -_08138C2C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xC7 - bls _08138C3C - movs r0, 0x5 - b _08138C7E -_08138C3C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x95 - bls _08138C4C - movs r0, 0x4 - b _08138C7E -_08138C4C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x63 - bls _08138C5C - movs r0, 0x3 - b _08138C7E -_08138C5C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x31 - bls _08138C6C - movs r0, 0x2 - b _08138C7E -_08138C6C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0 - bne _08138C7C - movs r0, 0 - b _08138C7E -_08138C7C: - movs r0, 0x1 -_08138C7E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLeadMonFriendshipScore - - thumb_func_start CB2_FieldShowRegionMap -CB2_FieldShowRegionMap: @ 8138C84 - push {lr} - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl sub_817018C - pop {r0} - bx r0 - .pool - thumb_func_end CB2_FieldShowRegionMap - - thumb_func_start FieldShowRegionMap -FieldShowRegionMap: @ 8138C94 - push {lr} - ldr r0, =CB2_FieldShowRegionMap - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end FieldShowRegionMap - - thumb_func_start DoPCTurnOnEffect -DoPCTurnOnEffect: @ 8138CA4 - push {r4,lr} - ldr r4, =Task_PCTurnOnEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138CD8 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138CD8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoPCTurnOnEffect - - thumb_func_start Task_PCTurnOnEffect -Task_PCTurnOnEffect: @ 8138CE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138D06 - adds r0, r1, 0 - bl PCTurnOnEffect_0 -_08138D06: - pop {r0} - bx r0 - .pool - thumb_func_end Task_PCTurnOnEffect - - thumb_func_start PCTurnOnEffect_0 -PCTurnOnEffect_0: @ 8138D10 - push {r4-r6,lr} - adds r4, r0, 0 - movs r6, 0 - movs r5, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138D7C - strh r5, [r4, 0xE] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138D44 - cmp r0, 0x3 - bgt _08138D3A - cmp r0, 0x2 - beq _08138D40 - b _08138D4C -_08138D3A: - cmp r1, 0x4 - beq _08138D48 - b _08138D4C -_08138D40: - movs r6, 0 - b _08138D4A -_08138D44: - movs r6, 0xFF - b _08138D4A -_08138D48: - movs r6, 0x1 -_08138D4A: - movs r5, 0xFF -_08138D4C: - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r1, r6, 24 - asrs r1, 24 - lsls r2, r5, 24 - asrs r2, 24 - bl PCTurnOnEffect_1 - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138D7C - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138D7C: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PCTurnOnEffect_0 - - thumb_func_start PCTurnOnEffect_1 -PCTurnOnEffect_1: @ 8138D88 - push {r4,r5,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r3, 0 - lsls r0, 16 - cmp r0, 0 - beq _08138DC4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DAC - movs r3, 0x4 - b _08138DE6 - .pool -_08138DAC: - cmp r0, 0x1 - bne _08138DB8 - ldr r3, =0x0000025a - b _08138DE6 - .pool -_08138DB8: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x00000259 - b _08138DE6 - .pool -_08138DC4: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DD4 - movs r3, 0x5 - b _08138DE6 - .pool -_08138DD4: - cmp r0, 0x1 - bne _08138DE0 - ldr r3, =0x0000027f - b _08138DE6 - .pool -_08138DE0: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x0000027e -_08138DE6: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r5, 0 - ldrsh r0, [r2, r5] - lsls r1, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r5, 0x2 - ldrsh r1, [r2, r5] - lsls r2, r4, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r4, 0xC0 - lsls r4, 4 - adds r2, r4, 0 - orrs r3, r2 - adds r2, r3, 0 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end PCTurnOnEffect_1 - - thumb_func_start DoPCTurnOffEffect -DoPCTurnOffEffect: @ 8138E20 - push {lr} - bl PCTurnOffEffect - pop {r0} - bx r0 - thumb_func_end DoPCTurnOffEffect - - thumb_func_start PCTurnOffEffect -PCTurnOffEffect: @ 8138E2C - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - movs r4, 0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138E56 - cmp r0, 0x3 - bgt _08138E4C - cmp r0, 0x2 - beq _08138E52 - b _08138E5E -_08138E4C: - cmp r1, 0x4 - beq _08138E5A - b _08138E5E -_08138E52: - movs r6, 0 - b _08138E5C -_08138E56: - movs r6, 0xFF - b _08138E5C -_08138E5A: - movs r6, 0x1 -_08138E5C: - movs r5, 0xFF -_08138E5E: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138E70 - movs r4, 0x4 - b _08138E82 - .pool -_08138E70: - cmp r0, 0x1 - bne _08138E7C - ldr r4, =0x0000025a - b _08138E82 - .pool -_08138E7C: - cmp r0, 0x2 - bne _08138E82 - ldr r4, =0x00000259 -_08138E82: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r6, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r3, 0x2 - ldrsh r1, [r2, r3] - lsls r2, r5, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r3, 0xC0 - lsls r3, 4 - adds r2, r3, 0 - orrs r4, r2 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end PCTurnOffEffect - - thumb_func_start DoLotteryCornerComputerEffect -DoLotteryCornerComputerEffect: @ 8138EC0 - push {r4,lr} - ldr r4, =Task_LotteryCornerComputerEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138EF4 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138EF4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoLotteryCornerComputerEffect - - thumb_func_start Task_LotteryCornerComputerEffect -Task_LotteryCornerComputerEffect: @ 8138F04 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138F22 - adds r0, r1, 0 - bl LotteryCornerComputerEffect -_08138F22: - pop {r0} - bx r0 - .pool - thumb_func_end Task_LotteryCornerComputerEffect - - thumb_func_start LotteryCornerComputerEffect -LotteryCornerComputerEffect: @ 8138F2C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138F9A - movs r0, 0 - strh r0, [r4, 0xE] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08138F64 - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _08138F7A - .pool -_08138F64: - ldr r2, =0x00000e58 - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - movs r2, 0xE6 - lsls r2, 4 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_08138F7A: - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138F9A - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138F9A: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end LotteryCornerComputerEffect - - thumb_func_start EndLotteryCornerComputerEffect -EndLotteryCornerComputerEffect: @ 8138FAC - push {lr} - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r0} - bx r0 - .pool - thumb_func_end EndLotteryCornerComputerEffect - - thumb_func_start SetTrickHouseEndRoomFlag -SetTrickHouseEndRoomFlag: @ 8138FD4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetTrickHouseEndRoomFlag - - thumb_func_start ResetTrickHouseEndRoomFlag -ResetTrickHouseEndRoomFlag: @ 8138FEC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end ResetTrickHouseEndRoomFlag - - thumb_func_start CheckLeadMonCool -CheckLeadMonCool: @ 8139004 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x16 - bl GetMonData - cmp r0, 0xC7 - bls _08139028 - movs r0, 0x1 - b _0813902A - .pool -_08139028: - movs r0, 0 -_0813902A: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCool - - thumb_func_start CheckLeadMonBeauty -CheckLeadMonBeauty: @ 8139030 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x17 - bl GetMonData - cmp r0, 0xC7 - bls _08139054 - movs r0, 0x1 - b _08139056 - .pool -_08139054: - movs r0, 0 -_08139056: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonBeauty - - thumb_func_start CheckLeadMonCute -CheckLeadMonCute: @ 813905C - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x18 - bl GetMonData - cmp r0, 0xC7 - bls _08139080 - movs r0, 0x1 - b _08139082 - .pool -_08139080: - movs r0, 0 -_08139082: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCute - - thumb_func_start CheckLeadMonSmart -CheckLeadMonSmart: @ 8139088 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x21 - bl GetMonData - cmp r0, 0xC7 - bls _081390AC - movs r0, 0x1 - b _081390AE - .pool -_081390AC: - movs r0, 0 -_081390AE: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonSmart - - thumb_func_start CheckLeadMonTough -CheckLeadMonTough: @ 81390B4 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2F - bl GetMonData - cmp r0, 0xC7 - bls _081390D8 - movs r0, 0x1 - b _081390DA - .pool -_081390D8: - movs r0, 0 -_081390DA: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonTough - - thumb_func_start IsGrassTypeInParty -IsGrassTypeInParty: @ 81390E0 - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gBaseStats -_081390E6: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0813913C - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0813913C - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1, 0x6] - cmp r0, 0xC - beq _08139128 - ldrb r0, [r1, 0x7] - cmp r0, 0xC - bne _0813913C -_08139128: - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - b _0813914A - .pool -_0813913C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _081390E6 - ldr r1, =gSpecialVar_Result - movs r0, 0 -_0813914A: - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end IsGrassTypeInParty - - thumb_func_start SpawnScriptEventObject -SpawnScriptEventObject: @ 8139158 - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x7F - bl SpawnSpecialEventObjectParameterized - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gEventObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r1, 0x4] - bl CameraObjectSetFollowedObjectId - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end SpawnScriptEventObject - - thumb_func_start RemoveScriptEventObject -RemoveScriptEventObject: @ 81391AC - push {lr} - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveEventObjectByLocalIdAndMap - pop {r0} - bx r0 - .pool - thumb_func_end RemoveScriptEventObject - - thumb_func_start GetPokeblockNameByMonNature -GetPokeblockNameByMonNature: @ 81391D0 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gStringVar1 - bl CopyMonFavoritePokeblockName - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end GetPokeblockNameByMonNature - - thumb_func_start GetSecretBaseNearbyMapName -GetSecretBaseNearbyMapName: @ 8139200 - push {r4,lr} - ldr r4, =gStringVar1 - ldr r0, =0x00004026 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl GetMapName - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GetSecretBaseNearbyMapName - - thumb_func_start sub_8139228 -sub_8139228: @ 8139228 - push {lr} - movs r0, 0x20 - bl GetGameStat - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8139228 - - thumb_func_start sub_8139238 -sub_8139238: @ 8139238 - push {lr} - ldr r0, =gStringVar1 - bl GetEreaderTrainerName - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139238 - - thumb_func_start sub_8139248 -sub_8139248: @ 8139248 - push {r4,r5,lr} - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, =0x00002e68 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 25 - ldr r0, =0x00002e6a - adds r2, r0 - lsrs r1, 25 - ldrh r2, [r2] - adds r1, r2 - ldr r2, =gUnknown_085B2B88 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r2 - ldrb r0, [r0] - adds r5, r1, r0 - movs r0, 0x2 - bl GetPriceReduction - lsls r0, 24 - cmp r0, 0 - bne _08139294 - ldr r4, =gUnknown_085B2B94 - b _08139296 - .pool -_08139294: - ldr r4, =gUnknown_085B2BA0 -_08139296: - adds r0, r5, 0 - movs r1, 0xC - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139248 - - thumb_func_start sub_81392AC -sub_81392AC: @ 81392AC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000213 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392CC - movs r0, 0x1 - b _081392CE - .pool -_081392CC: - movs r0, 0 -_081392CE: - pop {r1} - bx r1 - thumb_func_end sub_81392AC - - thumb_func_start sub_81392D4 -sub_81392D4: @ 81392D4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x85 - lsls r0, 2 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392F0 - movs r0, 0x1 - b _081392F2 - .pool -_081392F0: - movs r0, 0 -_081392F2: - pop {r1} - bx r1 - thumb_func_end sub_81392D4 - - thumb_func_start sub_81392F8 -sub_81392F8: @ 81392F8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000215 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139318 - movs r0, 0x1 - b _0813931A - .pool -_08139318: - movs r0, 0 -_0813931A: - pop {r1} - bx r1 - thumb_func_end sub_81392F8 - - thumb_func_start sub_8139320 -sub_8139320: @ 8139320 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000216 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139340 - movs r0, 0x1 - b _08139342 - .pool -_08139340: - movs r0, 0 -_08139342: - pop {r1} - bx r1 - thumb_func_end sub_8139320 - - thumb_func_start LeadMonHasEffortRibbon -LeadMonHasEffortRibbon: @ 8139348 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x47 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end LeadMonHasEffortRibbon - - thumb_func_start GiveLeadMonEffortRibbon -GiveLeadMonEffortRibbon: @ 8139370 - push {r4,lr} - sub sp, 0x4 - movs r0, 0x2A - bl IncrementGameStat - ldr r0, =0x0000089b - bl FlagSet - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x47 - mov r2, sp - bl SetMonData - adds r0, r4, 0 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _081393B6 - adds r0, r4, 0 - movs r1, 0x47 - bl sub_80EE4DC -_081393B6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GiveLeadMonEffortRibbon - - thumb_func_start Special_AreLeadMonEVsMaxedOut -Special_AreLeadMonEVsMaxedOut: @ 81393C8 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetMonEVCount - lsls r0, 16 - ldr r1, =0x01fd0000 - cmp r0, r1 - bhi _081393F4 - movs r0, 0 - b _081393F6 - .pool -_081393F4: - movs r0, 0x1 -_081393F6: - pop {r1} - bx r1 - thumb_func_end Special_AreLeadMonEVsMaxedOut - - thumb_func_start sub_81393FC -sub_81393FC: @ 81393FC - push {lr} - movs r0, 0xC7 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08139454 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0x83 - lsls r0, 3 - cmp r1, r0 - bne _08139454 - subs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139434 - ldr r0, =0x0000409a - movs r1, 0x4 - b _08139446 - .pool -_08139434: - movs r0, 0xE9 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139454 - ldr r0, =0x0000409a - movs r1, 0x5 -_08139446: - bl VarSet - movs r0, 0x1 - b _08139456 - .pool -_08139454: - movs r0, 0 -_08139456: - pop {r1} - bx r1 - thumb_func_end sub_81393FC - - thumb_func_start SetShoalItemFlag -SetShoalItemFlag: @ 813945C - push {lr} - ldr r0, =0x000008bf - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetShoalItemFlag - - thumb_func_start PutZigzagoonInPlayerParty -PutZigzagoonInPlayerParty: @ 813946C - push {r4,r5,lr} - sub sp, 0x14 - ldr r5, =gPlayerParty - movs r1, 0x90 - lsls r1, 1 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r5, 0 - movs r2, 0x7 - movs r3, 0x20 - bl CreateMon - movs r1, 0x1 - add r0, sp, 0x10 - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0x2E - add r2, sp, 0x10 - bl SetMonData - add r1, sp, 0x10 - movs r0, 0x21 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - add r2, sp, 0x10 - bl SetMonData - add r0, sp, 0x10 - strh r4, [r0] - adds r0, r5, 0 - movs r1, 0xE - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xF - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0x10 - add r2, sp, 0x10 - bl SetMonData - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end PutZigzagoonInPlayerParty - - thumb_func_start IsStarterInParty -IsStarterInParty: @ 81394D8 - push {r4-r6,lr} - ldr r0, =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl GetStarterPokemon - lsls r0, 16 - lsrs r6, r0, 16 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139526 -_081394FA: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, r6 - bne _0813951C - movs r0, 0x1 - b _08139528 - .pool -_0813951C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081394FA -_08139526: - movs r0, 0 -_08139528: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsStarterInParty - - thumb_func_start ScriptCheckFreePokemonStorageSpace -ScriptCheckFreePokemonStorageSpace: @ 8139530 - push {lr} - bl CheckFreePokemonStorageSpace - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end ScriptCheckFreePokemonStorageSpace - - thumb_func_start IsPokerusInParty -IsPokerusInParty: @ 8139540 - push {lr} - ldr r0, =gPlayerParty - movs r1, 0x3F - bl CheckPartyPokerus - lsls r0, 24 - cmp r0, 0 - beq _08139558 - movs r0, 0x1 - b _0813955A - .pool -_08139558: - movs r0, 0 -_0813955A: - pop {r1} - bx r1 - thumb_func_end IsPokerusInParty - - thumb_func_start sub_8139560 -sub_8139560: @ 8139560 - push {lr} - ldr r0, =sub_81395BC - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r1, 0xC] - ldr r0, =gSpecialVar_0x8007 - ldrh r0, [r0] - strh r0, [r1, 0xE] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - strh r0, [r1, 0x10] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0xD6 - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139560 - - thumb_func_start sub_81395BC -sub_81395BC: @ 81395BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _08139614 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - subs r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4] - negs r0, r0 - strh r0, [r4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x8 - ldrsh r1, [r4, r2] - bl SetCameraPanning - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08139614 - adds r0, r5, 0 - bl sub_8139620 - bl InstallCameraPanAheadCallback -_08139614: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81395BC - - thumb_func_start sub_8139620 -sub_8139620: @ 8139620 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_8139620 - - thumb_func_start sub_8139634 -sub_8139634: @ 8139634 - push {lr} - movs r0, 0x95 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8139634 - - thumb_func_start SetRoute119Weather -SetRoute119Weather: @ 8139648 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_map_type_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139664 - movs r0, 0x14 - bl SetSav1Weather -_08139664: - pop {r0} - bx r0 - thumb_func_end SetRoute119Weather - - thumb_func_start SetRoute123Weather -SetRoute123Weather: @ 8139668 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_map_type_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139684 - movs r0, 0x15 - bl SetSav1Weather -_08139684: - pop {r0} - bx r0 - thumb_func_end SetRoute123Weather - - thumb_func_start GetLeadMonIndex -GetLeadMonIndex: @ 8139688 - push {r4-r6,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _081396D6 -_08139698: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _081396CC - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _081396CC - adds r0, r5, 0 - b _081396D8 - .pool -_081396CC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _08139698 -_081396D6: - movs r0, 0 -_081396D8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLeadMonIndex - - thumb_func_start ScriptGetPartyMonSpecies -ScriptGetPartyMonSpecies: @ 81396E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end ScriptGetPartyMonSpecies - - thumb_func_start nullsub_54 -nullsub_54: @ 8139708 - bx lr - thumb_func_end nullsub_54 - - thumb_func_start sub_813970C -sub_813970C: @ 813970C - push {r4,lr} - ldr r0, =0x000040c2 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - ldr r2, =gLocalTime - movs r1, 0 - ldrsh r0, [r2, r1] - subs r0, r3 - cmp r0, 0x6 - ble _08139734 - movs r0, 0 - b _0813974C - .pool -_08139734: - ldrh r1, [r2] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r0, 0 - blt _0813974A - subs r1, r3 - movs r0, 0x7 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - b _0813974C -_0813974A: - movs r0, 0x8 -_0813974C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813970C - - thumb_func_start sub_8139754 -sub_8139754: @ 8139754 - push {r4,lr} - ldr r0, =0x000040c2 - ldr r4, =gLocalTime - ldrh r1, [r4] - bl VarSet - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139754 - - thumb_func_start sub_8139770 -sub_8139770: @ 8139770 - push {r4-r6,lr} - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x2 - bne _081397A6 - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - ldr r4, =gStringVar1 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r4, 0 - bl StringCompare - cmp r0, 0 - beq _081397BC -_081397A6: - movs r0, 0x1 - b _081397BE - .pool -_081397BC: - movs r0, 0 -_081397BE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8139770 - - thumb_func_start sub_81397C4 -sub_81397C4: @ 81397C4 - push {r4,r5,lr} - ldr r2, =gSpecialVar_Result - ldrh r1, [r2] - ldr r0, =0x0000270f - cmp r1, r0 - bls _081397E0 - movs r0, 0 - bl TV_PrintIntToStringVar - b _08139862 - .pool -_081397E0: - ldr r0, =0x000003e7 - cmp r1, r0 - bls _081397F8 - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - adds r4, 0x1 - b _0813981C - .pool -_081397F8: - cmp r1, 0x63 - bls _0813980C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - adds r4, 0x2 - b _0813981C - .pool -_0813980C: - cmp r1, 0x9 - bls _0813983C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - adds r4, 0x3 -_0813981C: - ldrh r5, [r2] - adds r0, r5, 0 - bl CountDigits - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - b _08139862 - .pool -_0813983C: - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - adds r4, 0x4 - ldrh r5, [r2] - adds r0, r5, 0 - bl CountDigits - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN -_08139862: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81397C4 - - thumb_func_start sub_813986C -sub_813986C: @ 813986C - push {lr} - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x4 - bhi _081398B8 - lsls r0, 2 - ldr r1, =_08139888 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139888: - .4byte _0813989C - .4byte _081398A0 - .4byte _081398A4 - .4byte _081398A8 - .4byte _081398AC -_0813989C: - movs r0, 0x3 - b _081398AE -_081398A0: - movs r0, 0x4 - b _081398AE -_081398A4: - movs r0, 0 - b _081398AE -_081398A8: - movs r0, 0x1 - b _081398AE -_081398AC: - movs r0, 0x2 -_081398AE: - bl mevent_081445C0 - lsls r0, 16 - lsrs r0, 16 - b _081398BA -_081398B8: - movs r0, 0 -_081398BA: - pop {r1} - bx r1 - thumb_func_end sub_813986C - - thumb_func_start sub_81398C0 -sub_81398C0: @ 81398C0 - push {r4,lr} - ldr r1, =gSpecialVar_0x8004 - ldr r2, =0xfffffedf - adds r0, r2, 0 - ldrh r2, [r1] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x39 - bls _081398E0 - movs r0, 0 - b _081398FC - .pool -_081398E0: - ldr r4, =gStringVar2 - ldrh r0, [r1] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 -_081398FC: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81398C0 - - thumb_func_start sub_813990C -sub_813990C: @ 813990C - push {r4,r5,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139942 -_0813991C: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x4 - bl GetMonData - cmp r0, 0x1 - bne _08139938 - movs r0, 0x1 - b _08139944 - .pool -_08139938: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0813991C -_08139942: - movs r0, 0 -_08139944: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813990C - - thumb_func_start InMultiBattleRoom -InMultiBattleRoom: @ 813994C - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00000f1a - cmp r1, r0 - bne _08139978 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _08139978 - movs r0, 0x1 - b _0813997A - .pool -_08139978: - movs r0, 0 -_0813997A: - pop {r1} - bx r1 - thumb_func_end InMultiBattleRoom - - thumb_func_start sub_8139980 -sub_8139980: @ 8139980 - push {lr} - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0x8 - movs r1, 0 - bl SetCameraPanning - pop {r0} - bx r0 - thumb_func_end sub_8139980 - - thumb_func_start sub_8139994 -sub_8139994: @ 8139994 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - bhi _081399E4 - lsls r0, 2 - ldr r1, =_081399B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081399B8: - .4byte _081399E4 - .4byte _081399D0 - .4byte _081399D4 - .4byte _081399D8 - .4byte _081399DC - .4byte _081399E0 -_081399D0: - movs r1, 0x5 - b _081399E6 -_081399D4: - movs r1, 0x6 - b _081399E6 -_081399D8: - movs r1, 0x7 - b _081399E6 -_081399DC: - movs r1, 0x8 - b _081399E6 -_081399E0: - movs r1, 0xF - b _081399E6 -_081399E4: - movs r1, 0x4 -_081399E6: - ldr r0, =0x00004043 - bl VarSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139994 - - thumb_func_start sub_81399F4 -sub_81399F4: @ 81399F4 - push {r4,lr} - ldr r2, =gUnknown_0203AB60 - movs r0, 0 - strh r0, [r2] - ldr r1, =gUnknown_0203AB62 - strh r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - movs r0, 0x14 - ldrsb r0, [r3, r0] - adds r4, r1, 0 - cmp r0, 0xD - bne _08139A6E - ldrb r0, [r3, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bhi _08139A6E - lsls r0, 2 - ldr r1, =_08139A34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139A34: - .4byte _08139A66 - .4byte _08139A5E - .4byte _08139A56 - .4byte _08139A4E - .4byte _08139A48 -_08139A48: - movs r0, 0 - strh r0, [r2] - b _08139A6C -_08139A4E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x1 - b _08139A6C -_08139A56: - movs r0, 0 - strh r0, [r2] - movs r0, 0x2 - b _08139A6C -_08139A5E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x3 - b _08139A6C -_08139A66: - movs r0, 0 - strh r0, [r2] - movs r0, 0x4 -_08139A6C: - strh r0, [r4] -_08139A6E: - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81399F4 - - thumb_func_start sub_8139A78 -sub_8139A78: @ 8139A78 - push {r4-r6,lr} - ldr r0, =sub_8139AF4 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r3, 0 - strh r3, [r4, 0x2] - strh r3, [r4, 0x4] - movs r6, 0x1 - strh r6, [r4, 0x8] - ldr r0, =gSpecialVar_0x8005 - ldr r1, =gSpecialVar_0x8006 - ldrh r2, [r0] - ldrh r0, [r1] - cmp r2, r0 - bls _08139AC0 - subs r0, r2, r0 - lsls r0, 16 - lsrs r5, r0, 16 - strh r6, [r4, 0xC] - b _08139AC8 - .pool -_08139AC0: - subs r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - strh r3, [r4, 0xC] -_08139AC8: - cmp r5, 0x8 - bls _08139ACE - movs r5, 0x8 -_08139ACE: - ldr r0, =gUnknown_085B2C18 - adds r0, r5, r0 - ldrb r0, [r0] - strh r0, [r4, 0xA] - movs r0, 0 - bl SetCameraPanningCallback - ldrb r1, [r4, 0xC] - adds r0, r5, 0 - bl sub_8139C2C - movs r0, 0x59 - bl PlaySE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139A78 - - thumb_func_start sub_8139AF4 -sub_8139AF4: @ 8139AF4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _08139B54 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r2, 0x8 - ldrsh r1, [r4, r2] - movs r0, 0 - bl SetCameraPanning - movs r0, 0x4 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08139B54 - movs r0, 0x49 - bl PlaySE - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - bl InstallCameraPanAheadCallback -_08139B54: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139AF4 - - thumb_func_start sub_8139B60 -sub_8139B60: @ 8139B60 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - ldr r5, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B2BAC - bl AddWindow - strb r0, [r5] - ldrb r0, [r5] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gText_ElevatorNowOn - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - mov r9, r1 - str r1, [sp, 0x4] - movs r1, 0 - mov r8, r1 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - ldr r6, =gElevatorFloorsTable - ldr r4, =gSpecialVar_0x8005 - ldrh r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - ldrh r1, [r4] - lsls r1, 2 - adds r1, r6 - ldr r2, [r1] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x11 - str r1, [sp] - mov r1, r9 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x1 - bl PrintTextOnWindow - ldrb r0, [r5] - bl PutWindowTilemap - ldrb r0, [r5] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139B60 - - thumb_func_start sub_8139C10 -sub_8139C10: @ 8139C10 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C10 - - thumb_func_start sub_8139C2C -sub_8139C2C: @ 8139C2C - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, =sub_8139C80 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139C6C - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r5, [r1, 0xC] - ldr r0, =gUnknown_085B2C21 - adds r0, r6, r0 - ldrb r0, [r0] - strh r0, [r1, 0xE] -_08139C6C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C2C - - thumb_func_start sub_8139C80 -sub_8139C80: @ 8139C80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r0, 2 - ldr r1, [sp] - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - movs r2, 0x2 - ldrsh r0, [r6, r2] - cmp r0, 0x6 - bne _08139D7C - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08139D10 - movs r1, 0 - ldr r2, =gUnknown_085B2BF4 - mov r10, r2 -_08139CBA: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139CCA: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139CCA - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139CBA - b _08139D62 - .pool -_08139D10: - movs r1, 0 - ldr r0, =gUnknown_085B2C06 - mov r10, r0 -_08139D16: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139D26: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139D26 - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139D16 -_08139D62: - bl DrawWholeMapView - movs r0, 0 - strh r0, [r6, 0x2] - movs r0, 0 - ldrsh r1, [r6, r0] - movs r2, 0x6 - ldrsh r0, [r6, r2] - cmp r1, r0 - bne _08139D7C - ldr r0, [sp] - bl DestroyTask -_08139D7C: - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C80 - - thumb_func_start sub_8139D98 -sub_8139D98: @ 8139D98 - push {r4-r7,lr} - sub sp, 0x18 - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x27 - bl GetMonData - str r0, [sp] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x28 - bl GetMonData - str r0, [sp, 0x4] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x29 - bl GetMonData - str r0, [sp, 0x8] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2A - bl GetMonData - str r0, [sp, 0xC] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2B - bl GetMonData - str r0, [sp, 0x10] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2C - bl GetMonData - str r0, [sp, 0x14] - ldr r1, =gSpecialVar_0x8005 - movs r0, 0 - strh r0, [r1] - movs r4, 0 - adds r2, r1, 0 -_08139E00: - lsls r0, r4, 2 - add r0, sp - ldr r1, [r0] - ldrh r0, [r2] - adds r0, r1 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E00 - ldr r2, =gSpecialVar_0x8006 - movs r0, 0 - strh r0, [r2] - ldr r1, =gSpecialVar_0x8007 - ldr r0, [sp] - strh r0, [r1] - movs r4, 0x1 - adds r6, r2, 0 - adds r7, r1, 0 -_08139E28: - ldrh r0, [r6] - lsls r0, 2 - mov r2, sp - adds r1, r2, r0 - lsls r0, r4, 2 - adds r5, r2, r0 - ldr r1, [r1] - ldr r0, [r5] - cmp r1, r0 - bcs _08139E54 - strh r4, [r6] - b _08139E6C - .pool -_08139E54: - cmp r1, r0 - bne _08139E6E - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08139E6E - strh r4, [r6] - ldr r0, [r5] -_08139E6C: - strh r0, [r7] -_08139E6E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E28 - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8139D98 - - thumb_func_start warp0_in_pokecenter -warp0_in_pokecenter: @ 8139E80 - push {r4,lr} - ldr r0, =gUnknown_020322DC - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x1] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B2C2A - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _08139EC6 - adds r4, r1, 0 - adds r1, r2, 0 -_08139EA4: - ldrh r0, [r2] - cmp r0, r3 - bne _08139EBC - movs r0, 0x1 - b _08139EC8 - .pool -_08139EBC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _08139EA4 -_08139EC6: - movs r0, 0 -_08139EC8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end warp0_in_pokecenter - - thumb_func_start sub_8139ED0 -sub_8139ED0: @ 8139ED0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003c1a - cmp r1, r0 - beq _08139EEC - movs r0, 0x1 - b _08139EEE - .pool -_08139EEC: - movs r0, 0 -_08139EEE: - pop {r1} - bx r1 - thumb_func_end sub_8139ED0 - - thumb_func_start UpdateFrontierManiac -UpdateFrontierManiac: @ 8139EF4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000402f - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xA - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateFrontierManiac - - thumb_func_start sub_8139F20 -sub_8139F20: @ 8139F20 - push {r4-r7,lr} - movs r4, 0 - ldr r0, =0x0000402f - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x9 - bls _08139F34 - b _0813A03A -_08139F34: - lsls r0, r6, 2 - ldr r1, =_08139F48 - adds r1, r0, r1 - ldr r1, [r1] - adds r2, r0, 0 - mov pc, r1 - .pool - .align 2, 0 -_08139F48: - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F94 - .4byte _08139FB4 - .4byte _08139FCC - .4byte _08139FE4 - .4byte _08139FFC - .4byte _0813A014 -_08139F70: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r3, 0xCE - lsls r3, 4 - adds r1, r0, r3 - adds r3, r1, r2 - ldr r1, =0x00000ce2 - adds r0, r1 - adds r1, r0, r2 - ldrh r0, [r3] - ldrh r2, [r1] - cmp r0, r2 - bcs _0813A028 - b _0813A038 - .pool -_08139F94: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d0c - adds r2, r0, r3 - adds r3, 0x2 -_08139F9E: - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcs _0813A028 - b _0813A038 - .pool -_08139FB4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000de2 - adds r2, r0, r1 - ldr r3, =0x00000de4 - b _08139F9E - .pool -_08139FCC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dc8 - adds r2, r0, r1 - ldr r3, =0x00000dca - b _08139F9E - .pool -_08139FE4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dda - adds r2, r0, r1 - ldr r3, =0x00000ddc - b _08139F9E - .pool -_08139FFC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e04 - adds r2, r0, r1 - ldr r3, =0x00000e06 - b _08139F9E - .pool -_0813A014: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e1a - adds r2, r0, r1 - ldr r3, =0x00000e1c - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcc _0813A038 -_0813A028: - adds r4, r0, 0 - b _0813A03A - .pool -_0813A038: - ldrh r4, [r1] -_0813A03A: - movs r2, 0 - ldr r5, =gUnknown_085B2CC8 - lsls r0, r6, 1 - adds r1, r0, r5 - ldrb r1, [r1] - adds r3, r0, 0 - ldr r7, =gUnknown_085B2C50 - cmp r1, r4 - bcs _0813A062 - adds r1, r3, 0 -_0813A04E: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bhi _0813A062 - adds r0, r2, r1 - adds r0, r5 - ldrb r0, [r0] - cmp r0, r4 - bcc _0813A04E -_0813A062: - adds r0, r3, r6 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139F20 - - thumb_func_start sub_813A080 -sub_813A080: @ 813A080 - push {r4-r7,lr} - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r4, r0, 30 - cmp r5, 0x2 - bne _0813A0D8 - movs r0, 0xA9 - lsls r0, 1 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813A0D8 - ldr r1, =gSpecialVar_0x8005 - movs r0, 0x5 - strh r0, [r1] - ldr r1, =gSpecialVar_0x8006 - movs r0, 0x4 - strh r0, [r1] - b _0813A110 - .pool -_0813A0D0: - movs r0, 0x4 - strh r0, [r6] - adds r0, r3, 0x5 - b _0813A10E -_0813A0D8: - movs r3, 0 - ldr r6, =gSpecialVar_0x8005 - ldr r7, =gSpecialVar_0x8006 - lsls r1, r4, 1 - lsls r2, r5, 2 - ldr r4, =gUnknown_085B2CDC - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r2 - movs r2, 0xCE - lsls r2, 4 - adds r0, r2 - adds r0, r1 - ldrh r1, [r0] -_0813A0F4: - lsls r0, r3, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r1 - bhi _0813A0D0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x8 - bls _0813A0F4 - movs r0, 0x4 - strh r0, [r6] - movs r0, 0xC -_0813A10E: - strh r0, [r7] -_0813A110: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A080 - - thumb_func_start sub_813A128 -sub_813A128: @ 813A128 - push {r4,lr} - ldr r0, =sub_813A2DC - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r3, r0, r1 - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - strh r0, [r3, 0x1E] - ldrh r0, [r1] - cmp r0, 0xC - bls _0813A14E - b _0813A2C6 -_0813A14E: - lsls r0, 2 - ldr r1, =_0813A168 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813A168: - .4byte _0813A19C - .4byte _0813A1AA - .4byte _0813A1C2 - .4byte _0813A1D6 - .4byte _0813A1F0 - .4byte _0813A208 - .4byte _0813A222 - .4byte _0813A23C - .4byte _0813A25A - .4byte _0813A274 - .4byte _0813A274 - .4byte _0813A28E - .4byte _0813A2A8 -_0813A19C: - movs r1, 0 - movs r0, 0x1 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - b _0813A2BC -_0813A1AA: - movs r1, 0 - movs r0, 0x5 - strh r0, [r3, 0x8] - movs r0, 0x8 - strh r0, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x9 - strh r0, [r3, 0x10] - movs r0, 0xA - b _0813A2BE -_0813A1C2: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x7 - b _0813A250 -_0813A1D6: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A1F0: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A208: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A222: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A23C: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE -_0813A250: - strh r0, [r3, 0x10] - strh r1, [r3, 0x12] - strh r2, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A25A: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xB - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A274: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A28E: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x13 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xA - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A2A8: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xC -_0813A2BC: - strh r0, [r3, 0x10] -_0813A2BE: - strh r0, [r3, 0x12] - strh r1, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A2C6: - ldr r1, =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0813A2D2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A128 - - thumb_func_start sub_813A2DC -sub_813A2DC: @ 813A2DC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - bl ScriptContext2_Enable - ldr r0, =gUnknown_0203AB68 - movs r5, 0 - strh r5, [r0] - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] - ldrh r0, [r6, 0x1E] - movs r1, 0 - bl sub_813AA60 - ldrb r0, [r6, 0x1E] - movs r1, 0 - bl sub_813ACE8 - ldr r4, =gUnknown_0203AB64 - movs r1, 0xA - ldrsh r0, [r6, r1] - lsls r0, 3 - bl AllocZeroed - str r0, [r4] - ldr r0, =gUnknown_0203AB6A - strh r5, [r0] - bl sub_813A42C - movs r3, 0 - movs r4, 0 - movs r2, 0xA - ldrsh r0, [r6, r2] - add r1, sp, 0x18 - mov r8, r1 - cmp r3, r0 - bge _0813A36A - ldr r5, =gUnknown_085B2CF0 -_0813A33A: - lsls r1, r4, 2 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r5 - ldr r0, [r1] - ldr r1, =gUnknown_0203AB64 - ldr r2, [r1] - lsls r1, r4, 3 - adds r1, r2 - str r0, [r1] - str r4, [r1, 0x4] - adds r1, r3, 0 - bl display_text_and_get_width - adds r3, r0, 0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0xA - ldrsh r0, [r6, r2] - cmp r4, r0 - blt _0813A33A -_0813A36A: - adds r0, r3, 0 - bl convert_pixel_width_to_tile_width - strh r0, [r6, 0x10] - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r2, 0x10 - ldrsh r1, [r6, r2] - adds r0, r1 - cmp r0, 0x1D - ble _0813A38C - movs r0, 0x1D - subs r0, r1 - cmp r0, 0 - bge _0813A38A - movs r0, 0 -_0813A38A: - strh r0, [r6, 0xC] -_0813A38C: - ldrb r2, [r6, 0xC] - ldrb r3, [r6, 0xE] - ldrb r0, [r6, 0x10] - str r0, [sp] - ldrb r0, [r6, 0x12] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x64 - str r0, [sp, 0xC] - add r0, sp, 0x10 - movs r1, 0 - bl sub_8198A50 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - mov r0, r8 - bl AddWindow - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gUnknown_030061D0 - ldrh r0, [r6, 0xA] - strh r0, [r4, 0xC] - ldrh r0, [r6, 0x8] - strh r0, [r4, 0xE] - ldrh r0, [r6, 0x22] - strb r0, [r4, 0x10] - adds r0, r7, 0 - bl sub_813A694 - ldrh r1, [r6, 0x16] - ldrh r2, [r6, 0x18] - adds r0, r4, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x24] - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A2DC - - thumb_func_start sub_813A42C -sub_813A42C: @ 813A42C - ldr r1, =gUnknown_030061D0 - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - str r0, [r1] - ldr r0, =sub_813A46C - str r0, [r1, 0x4] - movs r0, 0 - str r0, [r1, 0x8] - movs r2, 0 - movs r0, 0x1 - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strb r2, [r1, 0x10] - strb r2, [r1, 0x11] - movs r0, 0x8 - strb r0, [r1, 0x12] - strb r2, [r1, 0x13] - movs r0, 0x21 - strb r0, [r1, 0x14] - movs r0, 0x31 - strb r0, [r1, 0x15] - movs r0, 0 - strb r0, [r1, 0x16] - movs r0, 0x1 - strb r0, [r1, 0x17] - bx lr - .pool - thumb_func_end sub_813A42C - - thumb_func_start sub_813A46C -sub_813A46C: @ 813A46C - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_813A4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0813A4D4 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - bl ListMenuGetScrollAndRow - ldr r1, =gUnknown_0203AB68 - mov r0, sp - ldrh r0, [r0] - strh r0, [r1] - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl ListMenuGetCurrentItemArrayId - ldrh r0, [r4, 0x1E] - ldr r5, =gUnknown_0203AB6A - ldrh r1, [r5] - bl sub_813AC44 - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AA60 - ldrb r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AD34 - mov r0, sp - ldrh r0, [r0] - strh r0, [r5] -_0813A4D4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A46C - - thumb_func_start sub_813A4EC -sub_813A4EC: @ 813A4EC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - bl ListMenuHandleInputGetItemId - adds r4, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0813A51C - adds r0, 0x1 - cmp r4, r0 - bne _0813A530 - b _0813A566 - .pool -_0813A51C: - ldr r1, =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - b _0813A54C - .pool -_0813A530: - ldr r0, =gSpecialVar_Result - strh r4, [r0] - movs r0, 0x5 - bl PlaySE - movs r1, 0x14 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0813A54C - movs r1, 0xA - ldrsh r0, [r6, r1] - subs r0, 0x1 - cmp r4, r0 - bne _0813A558 -_0813A54C: - adds r0, r5, 0 - bl sub_813A570 - b _0813A566 - .pool -_0813A558: - adds r0, r5, 0 - bl sub_813A738 - ldr r0, =sub_813A600 - str r0, [r6] - bl EnableBothScriptContexts -_0813A566: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A4EC - - thumb_func_start sub_813A570 -sub_813A570: @ 813A570 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl ListMenuGetCurrentItemArrayId - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AC44 - adds r0, r5, 0 - bl sub_813A738 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A570 - - thumb_func_start sub_813A600 -sub_813A600: @ 813A600 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x14 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _0813A624 - cmp r0, 0x2 - bne _0813A624 - movs r0, 0x1 - strh r0, [r1, 0x14] - ldr r0, =sub_813A664 - str r0, [r1] -_0813A624: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A600 - - thumb_func_start sub_813A630 -sub_813A630: @ 813A630 - push {lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _0813A64C - bl EnableBothScriptContexts - b _0813A65C - .pool -_0813A64C: - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x14] - adds r0, 0x1 - strh r0, [r1, 0x14] -_0813A65C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A630 - - thumb_func_start sub_813A664 -sub_813A664: @ 813A664 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - adds r0, r4, 0 - bl sub_813A694 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A664 - - thumb_func_start sub_813A694 -sub_813A694: @ 813A694 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - mov r1, sp - ldr r0, =gUnknown_085B3030 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - movs r0, 0x8 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _0813A724 - mov r2, sp - movs r3, 0x10 - ldrsh r1, [r4, r3] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - movs r3, 0 - strb r1, [r2, 0x1] - mov r1, sp - movs r0, 0x8 - strb r0, [r1, 0x2] - movs r0, 0x10 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - strb r1, [r2, 0x4] - mov r1, sp - movs r2, 0x12 - ldrsh r0, [r4, r2] - lsls r0, 3 - adds r0, 0xA - strb r0, [r1, 0x5] - mov r0, sp - strh r3, [r0, 0x6] - mov r2, sp - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - subs r0, r1 - strh r0, [r2, 0x8] - ldr r1, =gUnknown_0203AB68 - mov r0, sp - bl AddScrollIndicatorArrowPair - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] -_0813A724: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A694 - - thumb_func_start sub_813A738 -sub_813A738: @ 813A738 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r2, r1, r0 - movs r0, 0x8 - ldrsh r1, [r2, r0] - movs r3, 0xA - ldrsh r0, [r2, r3] - cmp r1, r0 - beq _0813A75E - ldrh r0, [r2, 0x20] - lsls r0, 24 - lsrs r0, 24 - bl RemoveScrollIndicatorArrowPair -_0813A75E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A738 - - thumb_func_start nullsub_55 -nullsub_55: @ 813A768 - bx lr - thumb_func_end nullsub_55 - - thumb_func_start sub_813A76C -sub_813A76C: @ 813A76C - push {r4-r6,lr} - movs r4, 0 - ldr r6, =gLinkPlayers - ldr r0, =0x0000401f - adds r5, r0, 0 -_0813A776: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x13] - cmp r0, 0 - bne _0813A79C - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl VarSet - b _0813A7A8 - .pool -_0813A79C: - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x69 - bl VarSet -_0813A7A8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0813A776 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813A76C - - thumb_func_start sub_813A7B8 -sub_813A7B8: @ 813A7B8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - cmp r0, 0x5 - bls _0813A7C6 - movs r0, 0 - strh r0, [r1] -_0813A7C6: - ldrh r1, [r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - ldr r1, =gUnknown_085B3040 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A7B8 - - thumb_func_start UpdateFrontierGambler -UpdateFrontierGambler: @ 813A7F4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004030 - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xC - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateFrontierGambler - - thumb_func_start sub_813A820 -sub_813A820: @ 813A820 - push {r4,lr} - ldr r0, =0x00004030 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, =gUnknown_085B30A4 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - ldr r0, =0x00004031 - adds r1, r4, 0 - bl VarSet - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A820 - - thumb_func_start sub_813A854 -sub_813A854: @ 813A854 - push {r4,lr} - ldr r4, =gUnknown_085B30D4 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r0, 14 - adds r0, r4 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A854 - - thumb_func_start sub_813A878 -sub_813A878: @ 813A878 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =0x000040cf - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004033 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813A8F0 - ldr r1, =gUnknown_085B3104 - lsls r0, r6, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r5, 8 - adds r0, r7 - cmp r1, r0 - bne _0813A8F0 - mov r0, r8 - cmp r0, 0 - beq _0813A8E8 - adds r0, r4, 0 - movs r1, 0x2 - bl VarSet - b _0813A8F0 - .pool -_0813A8E8: - adds r0, r4, 0 - movs r1, 0x3 - bl VarSet -_0813A8F0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813A878 - - thumb_func_start sub_813A8FC -sub_813A8FC: @ 813A8FC - push {lr} - sub sp, 0x2C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r1, [r0] - add r0, sp, 0xC - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r1, =gText_BP - bl StringCopy - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x30 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - ldr r0, =gUnknown_0203AB6D - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - add sp, 0x2C - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A8FC - - thumb_func_start sub_813A958 -sub_813A958: @ 813A958 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldr r0, =gUnknown_085B311C - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - bl sub_813A8FC - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A958 - - thumb_func_start sub_813A988 -sub_813A988: @ 813A988 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A988 - - thumb_func_start sub_813A9A4 -sub_813A9A4: @ 813A9A4 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000eb8 - adds r1, r0, r2 - ldr r0, =gSpecialVar_0x8004 - ldrh r2, [r1] - ldrh r0, [r0] - cmp r2, r0 - bcs _0813A9C8 - movs r0, 0 - b _0813A9CA - .pool -_0813A9C8: - subs r0, r2, r0 -_0813A9CA: - strh r0, [r1] - pop {r0} - bx r0 - thumb_func_end sub_813A9A4 - - thumb_func_start sub_813A9D0 -sub_813A9D0: @ 813A9D0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r2, r0, r1 - ldrh r1, [r2] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r1, r0 - ldr r0, =0x0000270f - cmp r1, r0 - ble _0813A9FC - strh r0, [r2] - b _0813A9FE - .pool -_0813A9FC: - strh r1, [r2] -_0813A9FE: - pop {r0} - bx r0 - thumb_func_end sub_813A9D0 - - thumb_func_start sub_813AA04 -sub_813AA04: @ 813AA04 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_813AA04 - - thumb_func_start sub_813AA18 -sub_813AA18: @ 813AA18 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldr r0, =gUnknown_085B3124 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA18 - - thumb_func_start sub_813AA44 -sub_813AA44: @ 813AA44 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA44 - - thumb_func_start sub_813AA60 -sub_813AA60: @ 813AA60 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - lsrs r4, r0, 16 - ldr r1, =0xfffd0000 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0x3 - bls _0813AA78 - b _0813ABC2 -_0813AA78: - movs r0, 0xD8 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r4, 0x4 - beq _0813AAE8 - cmp r4, 0x4 - bgt _0813AAA0 - cmp r4, 0x3 - beq _0813AAAA - b _0813ABC2 - .pool -_0813AAA0: - cmp r4, 0x5 - beq _0813AB5C - cmp r4, 0x6 - beq _0813AB94 - b _0813ABC2 -_0813AAAA: - ldr r1, =gUnknown_085B3170 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B312C - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - beq _0813AB18 - b _0813AB2C - .pool -_0813AAE8: - ldr r1, =gUnknown_085B319C - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B3142 - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - bne _0813AB2C -_0813AB18: - ldrh r0, [r1] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB2C: - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - lsls r0, r5, 24 - lsrs r0, 24 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x21 - movs r2, 0x58 - movs r3, 0 - bl AddDecorationIconObject - ldr r1, =gUnknown_0203AB6C - strb r0, [r1] - b _0813ABC2 - .pool -_0813AB5C: - ldr r1, =gUnknown_085B31B4 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B314E - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB94: - ldr r1, =gUnknown_085B31D0 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B315C - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 -_0813ABC2: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA60 - - thumb_func_start sub_813ABD4 -sub_813ABD4: @ 813ABD4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl AddItemIconSprite - ldr r4, =gUnknown_0203AB6C - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0813AC32 - ldr r3, =gSprites - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x24 - strh r1, [r0, 0x20] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5C - strh r1, [r0, 0x22] -_0813AC32: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ABD4 - - thumb_func_start sub_813AC44 -sub_813AC44: @ 813AC44 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, =gUnknown_0203AB6C - ldrb r0, [r2] - cmp r0, 0x40 - beq _0813AC70 - cmp r1, 0x6 - bgt _0813AC6A - cmp r1, 0x3 - blt _0813AC6A - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySpriteAndFreeResources -_0813AC6A: - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] -_0813AC70: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC44 - - thumb_func_start sub_813AC7C -sub_813AC7C: @ 813AC7C - push {lr} - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - beq _0813ACB8 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B320C - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _0813ACD2 - .pool -_0813ACB8: - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B31F8 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy -_0813ACD2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC7C - - thumb_func_start sub_813ACE8 -sub_813ACE8: @ 813ACE8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - subs r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813AD20 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - bne _0813AD18 - ldr r4, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B3220 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle -_0813AD18: - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_813AD34 -_0813AD20: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ACE8 - - thumb_func_start sub_813AD34 -sub_813AD34: @ 813AD34 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - adds r7, r5, 0 - lsrs r6, r0, 24 - movs r1, 0xF7 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813ADAC - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x60 - str r1, [sp] - movs r1, 0x30 - str r1, [sp, 0x4] - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r6, 0xA - bne _0813AD90 - ldrb r0, [r4] - ldr r2, =gUnknown_085B3254 - lsls r1, r5, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - b _0813ADAC - .pool -_0813AD90: - ldrb r0, [r4] - ldr r2, =gUnknown_085B3228 - lsls r1, r7, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow -_0813ADAC: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AD34 - - thumb_func_start sub_813ADB8 -sub_813ADB8: @ 813ADB8 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADB8 - - thumb_func_start sub_813ADD4 -sub_813ADD4: @ 813ADD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0813AE90 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r4, sp - adds r4, 0x16 - add r1, sp, 0x14 - adds r2, r4, 0 - bl ListMenuGetScrollAndRow - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl SetStandardWindowBorderStyle - movs r5, 0 - mov r9, r4 - ldr r0, =gUnknown_085B2CF0 - mov r8, r0 - movs r4, 0 -_0813AE1E: - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x14 - ldrh r2, [r1] - adds r2, r5 - lsls r2, 2 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 6 - adds r2, r1 - add r2, r8 - ldr r2, [r2] - lsls r1, r5, 28 - lsrs r1, 24 - str r1, [sp] - movs r7, 0xFF - str r7, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r3, 0xA - bl sub_8199F74 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0813AE1E - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gText_SelectorArrow - mov r3, r9 - ldrh r1, [r3] - lsls r1, 28 - lsrs r1, 24 - str r1, [sp] - str r7, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram -_0813AE90: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADD4 - - thumb_func_start sub_813AEB4 -sub_813AEB4: @ 813AEB4 - push {r4,lr} - movs r1, 0 - ldr r0, =gSpecialVar_0x8005 - strh r1, [r0] - ldr r0, =0x0000400e - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000400d - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r4, 0 - beq _0813AF18 - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B320C - adds r0, r1, r0 - ldrh r1, [r0] -_0813AEE2: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AEE2 - b _0813AF38 - .pool -_0813AF0C: - ldr r0, =gSpecialVar_0x8005 - strh r2, [r0] - b _0813AF38 - .pool -_0813AF18: - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B31F8 - adds r0, r1, r0 - ldrh r1, [r0] -_0813AF24: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AF24 -_0813AF38: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AEB4 - - thumb_func_start sub_813AF48 -sub_813AF48: @ 813AF48 - push {r4,r5,lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xFF - beq _0813AFB6 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask -_0813AFB6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AF48 - - thumb_func_start sub_813AFC8 -sub_813AFC8: @ 813AFC8 - push {lr} - ldr r0, =task_deoxys_sound - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AFC8 - - thumb_func_start task_deoxys_sound -task_deoxys_sound: @ 813AFDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =0x000008d4 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B004 - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - b _0813B06A - .pool -_0813B004: - ldr r0, =0x00004035 - mov r8, r0 - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - cmp r5, 0 - beq _0813B05C - ldr r0, =gUnknown_085B33F6 - subs r1, r5, 0x1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, r6 - bcs _0813B05C - movs r0, 0 - bl sub_813B0B4 - mov r0, r8 - movs r1, 0 - bl VarSet - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - b _0813B070 - .pool -_0813B05C: - cmp r5, 0xA - bne _0813B080 - ldr r0, =0x000008d4 - bl FlagSet - ldr r1, =gSpecialVar_Result - movs r0, 0x2 -_0813B06A: - strh r0, [r1] - bl EnableBothScriptContexts -_0813B070: - adds r0, r7, 0 - bl DestroyTask - b _0813B0A2 - .pool -_0813B080: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_813B0B4 - ldr r0, =0x00004035 - adds r1, r5, 0 - bl VarSet - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - adds r0, r7, 0 - bl DestroyTask -_0813B0A2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_deoxys_sound - - thumb_func_start sub_813B0B4 -sub_813B0B4: @ 813B0B4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 5 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetEventObjectIdByLocalIdAndMap - cmp r4, 0 - bne _0813B0F0 - movs r0, 0xC4 - bl PlaySE - b _0813B0F8 - .pool -_0813B0F0: - movs r0, 0x82 - lsls r0, 1 - bl PlaySE -_0813B0F8: - ldr r0, =sub_813B160 - movs r1, 0x8 - bl CreateTask - ldr r3, =gFieldEffectArguments - movs r0, 0x1 - str r0, [r3] - movs r0, 0x3A - str r0, [r3, 0x4] - movs r0, 0x1A - str r0, [r3, 0x8] - ldr r0, =gUnknown_085B33E0 - lsls r2, r4, 1 - adds r1, r2, r0 - ldrb r1, [r1] - str r1, [r3, 0xC] - adds r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - str r0, [r3, 0x10] - adds r5, r2, 0 - cmp r4, 0 - bne _0813B138 - movs r0, 0x3C - b _0813B13A - .pool -_0813B138: - movs r0, 0x5 -_0813B13A: - str r0, [r3, 0x14] - movs r0, 0x42 - bl FieldEffectStart - ldr r0, =gUnknown_085B33E0 - adds r1, r5, r0 - ldrb r1, [r1] - adds r0, 0x1 - adds r0, r5, r0 - ldrb r2, [r0] - movs r0, 0x1 - bl Overworld_SetEventObjTemplateCoords - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B0B4 - - thumb_func_start sub_813B160 -sub_813B160: @ 813B160 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x42 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _0813B17C - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B17C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813B160 - - thumb_func_start increment_var_x4026_on_birth_island_modulo_100 -increment_var_x4026_on_birth_island_modulo_100: @ 813B184 - push {r4,lr} - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003a1a - cmp r1, r0 - bne _0813B1C8 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x63 - bls _0813B1C0 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - b _0813B1C8 - .pool -_0813B1C0: - adds r0, r4, 0 - adds r1, r2, 0 - bl VarSet -_0813B1C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end increment_var_x4026_on_birth_island_modulo_100 - - thumb_func_start sub_813B1D0 -sub_813B1D0: @ 813B1D0 - push {lr} - ldr r0, =0x00004035 - bl VarGet - lsls r0, 24 - lsrs r0, 19 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - movs r0, 0x80 - lsls r0, 19 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B1D0 - - thumb_func_start set_unknown_box_id -@ void set_unknown_box_id(char id) -set_unknown_box_id: @ 813B204 - ldr r1, =gUnknown_0203AB6F - strb r0, [r1] - bx lr - .pool - thumb_func_end set_unknown_box_id - - thumb_func_start get_unknown_box_id -get_unknown_box_id: @ 813B210 - ldr r0, =gUnknown_0203AB6F - ldrb r0, [r0] - bx lr - .pool - thumb_func_end get_unknown_box_id - - thumb_func_start sub_813B21C -sub_813B21C: @ 813B21C - push {r4,r5,lr} - ldr r5, =0x000008d7 - adds r0, r5, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813B258 - bl StorageGetCurrentBox - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =0x00004036 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _0813B258 - adds r0, r5, 0 - bl FlagSet - movs r0, 0x1 - b _0813B25A - .pool -_0813B258: - movs r0, 0 -_0813B25A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813B21C - - thumb_func_start sub_813B260 -sub_813B260: @ 813B260 - push {r4-r7,lr} - ldr r0, =0x00004036 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl set_unknown_box_id - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r4, r0, 24 -_0813B278: - movs r5, 0 - lsls r6, r4, 24 - lsls r7, r4, 16 -_0813B27E: - lsls r1, r5, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl GetBoxedMonPtr - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - bne _0813B2C0 - bl get_unknown_box_id - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - beq _0813B2A6 - ldr r0, =0x000008d7 - bl FlagClear -_0813B2A6: - ldr r0, =0x00004036 - lsrs r1, r7, 16 - bl VarSet - bl sub_813B21C - lsls r0, 24 - lsrs r0, 24 - b _0813B2DC - .pool -_0813B2C0: - adds r5, 0x1 - cmp r5, 0x1D - ble _0813B27E - adds r4, 0x1 - cmp r4, 0xE - bne _0813B2CE - movs r4, 0 -_0813B2CE: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0813B278 - movs r0, 0 -_0813B2DC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B260 - - thumb_func_start sub_813B2E4 -sub_813B2E4: @ 813B2E4 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004038 - movs r1, 0 - bl VarSet - movs r0, 0xDF - lsls r0, 1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B340 - ldr r0, =0x000001bf - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B330 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet - b _0813B36A - .pool -_0813B330: - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - bne _0813B354 - bl Random - lsls r0, 16 - lsrs r4, r0, 16 -_0813B340: - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0x1 - bl VarSet - b _0813B36A - .pool -_0813B354: - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet -_0813B36A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B2E4 - - thumb_func_start sub_813B374 -sub_813B374: @ 813B374 - push {r4,lr} - ldr r0, =0x00004037 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B3400 - subs r1, r4, 0x1 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0 - bl GetMapName - cmp r4, 0x8 - bls _0813B3A8 - movs r0, 0x1 - b _0813B3AA - .pool -_0813B3A8: - movs r0, 0 -_0813B3AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B374 - - thumb_func_start sub_813B3B0 -sub_813B3B0: @ 813B3B0 - push {r4-r6,lr} - ldr r5, =0x00004038 - adds r0, r5, 0 - bl VarGet - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _0813B47C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x000003e7 - cmp r4, r0 - bls _0813B474 - adds r0, r5, 0 - movs r1, 0 - bl VarSet - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r0, 0x18 - bne _0813B414 - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, 0x69 - bgt _0813B414 - cmp r0, 0x65 - blt _0813B414 - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B414: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r3, r0, 0 - cmp r1, 0 - bne _0813B444 - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, 0x34 - beq _0813B436 - cmp r0, 0x34 - blt _0813B444 - cmp r0, 0x38 - bgt _0813B444 - cmp r0, 0x36 - blt _0813B444 -_0813B436: - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B444: - ldr r3, [r3] - movs r2, 0x5 - ldrsb r2, [r3, r2] - ldr r1, =gUnknown_085B3410 - subs r0, r6, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - bne _0813B468 - movs r0, 0x4 - ldrsb r0, [r3, r0] - cmp r0, 0 - bne _0813B468 - movs r0, 0x1 - b _0813B47E - .pool -_0813B468: - ldr r0, =0x00004037 - movs r1, 0 - b _0813B478 - .pool -_0813B474: - adds r0, r5, 0 - adds r1, r4, 0 -_0813B478: - bl VarSet -_0813B47C: - movs r0, 0 -_0813B47E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813B3B0 - - thumb_func_start sub_813B484 -sub_813B484: @ 813B484 - push {lr} - movs r0, 0x2 - bl sub_80AB104 - pop {r0} - bx r0 - thumb_func_end sub_813B484 - - thumb_func_start sub_813B490 -sub_813B490: @ 813B490 - push {r4-r7,lr} - movs r3, 0 - ldr r0, =gSaveBlock1Ptr - ldr r4, [r0] - movs r6, 0x4 - ldrsb r6, [r4, r6] - ldr r5, =gUnknown_085B3420 - adds r0, r5, 0x2 - mov r12, r0 - adds r7, r5, 0x1 -_0813B4A4: - lsls r0, r3, 1 - adds r2, r0, r3 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r6, r0 - bne _0813B4CC - movs r1, 0x5 - ldrsb r1, [r4, r1] - adds r0, r2, r7 - ldrb r0, [r0] - cmp r1, r0 - bne _0813B4CC - mov r1, r12 - adds r0, r2, r1 - ldrb r0, [r0] - b _0813B4D8 - .pool -_0813B4CC: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xB - bls _0813B4A4 - movs r0, 0x1 -_0813B4D8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B490 - - thumb_func_start sub_813B4E0 -sub_813B4E0: @ 813B4E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl GetRematchIdxByTrainerIdx - cmp r0, 0 - blt _0813B50C - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B50C - movs r0, 0x1 - b _0813B50E - .pool -_0813B50C: - movs r0, 0 -_0813B50E: - pop {r1} - bx r1 - thumb_func_end sub_813B4E0 - - thumb_func_start sub_813B514 -sub_813B514: @ 813B514 - push {lr} - ldr r0, =0x0000403f - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _0813B52C - movs r0, 0x1 - b _0813B52E - .pool -_0813B52C: - movs r0, 0 -_0813B52E: - pop {r1} - bx r1 - thumb_func_end sub_813B514 - - thumb_func_start sub_813B534 -sub_813B534: @ 813B534 - push {lr} - ldr r2, =gUnknown_0203AB70 - ldr r1, =gBattleTypeFlags - ldr r0, [r1] - str r0, [r2] - movs r0, 0 - str r0, [r1] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0813B552 - ldr r0, =sub_80B3AF8 - movs r1, 0x5 - bl CreateTask -_0813B552: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B534 - - thumb_func_start sub_813B568 -sub_813B568: @ 813B568 - push {lr} - ldr r0, =sub_813B57C - movs r1, 0x5 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B568 - - thumb_func_start sub_813B57C -sub_813B57C: @ 813B57C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x9 - bls _0813B596 - b _0813B7C6 -_0813B596: - lsls r0, 2 - ldr r1, =_0813B5A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813B5A8: - .4byte _0813B5D0 - .4byte _0813B5E4 - .4byte _0813B614 - .4byte _0813B6B4 - .4byte _0813B6E4 - .4byte _0813B728 - .4byte _0813B764 - .4byte _0813B772 - .4byte _0813B784 - .4byte _0813B7A8 -_0813B5D0: - ldr r0, =sub_80B3AF8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0813B5DE - b _0813B7C6 -_0813B5DE: - b _0813B790 - .pool -_0813B5E4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B5F2 - b _0813B7C6 -_0813B5F2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B5FE - b _0813B790 -_0813B5FE: - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSpecialVar_0x8004 - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B614: - bl GetBlockReceivedStatus - movs r1, 0x2 - ands r1, r0 - cmp r1, 0 - bne _0813B622 - b _0813B7C6 -_0813B622: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B62E - b _0813B790 -_0813B62E: - ldr r5, =gSpecialVar_0x8005 - ldr r0, =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5] - movs r0, 0x1 - bl ResetBlockReceivedFlag - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B668 - ldrh r1, [r5] - cmp r1, 0x1 - bne _0813B668 - ldr r0, =gSpecialVar_Result - strh r1, [r0] - b _0813B790 - .pool -_0813B668: - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r2, r0, 0 - cmp r1, 0 - bne _0813B68C - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B68C - ldr r1, =gSpecialVar_Result - movs r0, 0x2 - b _0813B6AC - .pool -_0813B68C: - ldrh r0, [r2] - cmp r0, 0x1 - bne _0813B6A8 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B6A8 - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - b _0813B6AC - .pool -_0813B6A8: - ldr r1, =gSpecialVar_Result - movs r0, 0 -_0813B6AC: - strh r0, [r1] - b _0813B790 - .pool -_0813B6B4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B6C2 - b _0813B7C6 -_0813B6C2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B790 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSpecialVar_Result - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B6E4: - bl GetBlockReceivedStatus - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0813B7C6 - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B790 - ldr r1, =gSpecialVar_Result - ldr r0, =gBlockRecvBuffer - ldrh r0, [r0] - strh r0, [r1] - movs r0, 0 - bl ResetBlockReceivedFlag -_0813B708: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0813B7C6 - .pool -_0813B728: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B74C - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x2 - bne _0813B790 - ldr r0, =gText_YourPartnerHasRetired - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B74C: - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x3 - bne _0813B790 - ldr r0, =gText_YourPartnerHasRetired - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B764: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0813B7C6 - b _0813B790 -_0813B772: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 - bl sub_800ADF8 - b _0813B790 -_0813B784: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 -_0813B790: - ldr r0, =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] - b _0813B7C6 - .pool -_0813B7A8: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0813B7B4 - bl sub_800AC34 -_0813B7B4: - ldr r0, =gBattleTypeFlags - ldr r1, =gUnknown_0203AB70 - ldr r1, [r1] - str r1, [r0] - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B7C6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B57C - - thumb_func_start sub_813B7D8 -sub_813B7D8: @ 813B7D8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B7F8 - ldr r2, =CB2_ReturnToFieldContinueScriptPlayMapMusic - movs r0, 0 - movs r1, 0x1 - bl DoRayquazaScene - b _0813B802 - .pool -_0813B7F8: - ldr r2, =CB2_ReturnToFieldContinueScriptPlayMapMusic - movs r0, 0x1 - movs r1, 0 - bl DoRayquazaScene -_0813B802: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B7D8 - - thumb_func_start sub_813B80C -sub_813B80C: @ 813B80C - push {lr} - ldr r0, =sub_813B824 - movs r1, 0x8 - bl CreateTask - movs r0, 0x9D - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B80C - - thumb_func_start sub_813B824 -sub_813B824: @ 813B824 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r1, r0 - bne _0813B858 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0 - strh r0, [r4, 0x2] - movs r0, 0x9D - bl PlaySE -_0813B858: - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0813B86C - adds r0, r5, 0 - bl DestroyTask -_0813B86C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B824 - - thumb_func_start sub_813B880 -sub_813B880: @ 813B880 - push {lr} - ldr r0, =_fwalk - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x4 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r2, [r1, 0xE] - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B880 - - thumb_func_start _fwalk -_fwalk: @ 813B8B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r0, 2 - add r0, r9 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r0, 0x6 - ldrsh r1, [r5, r0] - lsls r1, 1 - adds r1, r5 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r1, 0x6 - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r5 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _0813B94E - movs r6, 0 -_0813B8EA: - movs r4, 0 - lsls r3, r6, 3 - mov r10, r3 - adds r7, r6, 0x1 - mov r8, r7 -_0813B8F4: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - adds r0, r4 - adds r0, 0x6 - movs r3, 0x2 - ldrsh r1, [r1, r3] - adds r1, r6 - adds r1, 0x4 - ldr r7, =0x00000201 - adds r2, r4, r7 - add r2, r10 - movs r7, 0x6 - ldrsh r3, [r5, r7] - lsls r3, 5 - adds r2, r3 - lsls r2, 16 - lsrs r2, 16 - bl MapGridSetMetatileIdAt - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0813B8F4 - mov r1, r8 - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _0813B8EA - bl DrawWholeMapView - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _0813B94E - mov r0, r9 - bl DestroyTask - bl EnableBothScriptContexts -_0813B94E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end _fwalk - - thumb_func_start sub_813B968 -sub_813B968: @ 813B968 - push {r4,r5,lr} - ldr r5, =gSpecialVar_Result - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - movs r1, 0x7 - bl __udivsi3 - strh r0, [r5] - ldrh r4, [r5] - adds r0, r4, 0 - movs r1, 0x14 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - subs r4, r1 - strh r4, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B968 - - thumb_func_start sub_813B9A0 -sub_813B9A0: @ 813B9A0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x1C] - movs r0, 0xB0 - lsls r0, 4 - cmp r1, r0 - bne _0813B9B6 - movs r0, 0x3 - bl Overworld_SetHealLocationWarp -_0813B9B6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B9A0 - - thumb_func_start sub_813B9C0 -sub_813B9C0: @ 813B9C0 - push {r4,lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B3444 - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _0813BA06 - adds r4, r1, 0 - adds r1, r2, 0 -_0813B9E6: - ldrh r0, [r2] - cmp r0, r3 - bne _0813B9FC - movs r0, 0x1 - b _0813BA08 - .pool -_0813B9FC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _0813B9E6 -_0813BA06: - movs r0, 0 -_0813BA08: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B9C0 - - thumb_func_start ResetFanClub -ResetFanClub: @ 813BA10 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r1, r0, r2 - movs r2, 0 - strh r2, [r1] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - strh r2, [r0] - bx lr - .pool - thumb_func_end ResetFanClub - - thumb_func_start sub_813BA30 -sub_813BA30: @ 813BA30 - push {lr} - bl sub_813BF44 - lsls r0, 24 - cmp r0, 0 - beq _0813BA52 - bl sub_813BCE8 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] -_0813BA52: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA30 - - thumb_func_start sub_813BA60 -sub_813BA60: @ 813BA60 - push {r4,lr} - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0813BAB6 - bl sub_813BF60 - bl sub_813BD84 - ldr r1, [r4] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - ldr r0, =0x00000315 - bl FlagClear - ldr r0, =0x00000316 - bl FlagClear - ldr r0, =0x00000317 - bl FlagClear - movs r0, 0xC6 - lsls r0, 2 - bl FlagClear - ldr r0, =0x000002da - bl FlagClear - ldr r0, =0x00004095 - movs r1, 0x1 - bl VarSet -_0813BAB6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA60 - - thumb_func_start sub_813BADC -sub_813BADC: @ 813BADC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BB58 - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r5, =0x0000141e - adds r3, r0, r5 - ldrh r2, [r3] - movs r1, 0x7F - ands r1, r2 - ldr r0, =gUnknown_085B3470 - adds r0, r6, r0 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x13 - ble _0813BB54 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0813BB3C - bl sub_813BB74 - ldr r0, [r4] - adds r0, r5 - ldrh r2, [r0] - ldr r1, =0x0000ff80 - ands r1, r2 - strh r1, [r0] - b _0813BB58 - .pool -_0813BB3C: - ldr r2, [r4] - adds r2, r5 - ldrh r1, [r2] - ldr r0, =0x0000ff80 - ands r0, r1 - movs r1, 0x14 - orrs r0, r1 - strh r0, [r2] - b _0813BB58 - .pool -_0813BB54: - adds r0, r2, r0 - strh r0, [r3] -_0813BB58: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x7F - ands r0, r1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BADC - - thumb_func_start sub_813BB74 -sub_813BB74: @ 813BB74 - push {r4-r7,lr} - sub sp, 0x8 - movs r3, 0 - movs r5, 0 - ldr r7, =gSaveBlock1Ptr - ldr r2, =0x0000141e - movs r6, 0x1 -_0813BB82: - ldr r0, [r7] - adds r0, r2 - ldrh r1, [r0] - ldr r0, =gUnknown_085B3474 - adds r0, r5, r0 - ldrb r4, [r0] - asrs r1, r4 - ands r1, r6 - cmp r1, 0 - bne _0813BBC8 - adds r3, r5, 0 - str r2, [sp] - str r3, [sp, 0x4] - bl Random - adds r1, r6, 0 - ands r1, r0 - ldr r2, [sp] - ldr r3, [sp, 0x4] - cmp r1, 0 - beq _0813BBC8 - ldr r0, [r7] - adds r0, r2 - adds r1, r6, 0 - lsls r1, r4 - ldrh r2, [r0] - orrs r1, r2 - strh r1, [r0] - b _0813BBEA - .pool -_0813BBC8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BB82 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldr r1, =gUnknown_085B3474 - adds r1, r3, r1 - movs r0, 0x1 - ldrb r1, [r1] - lsls r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] -_0813BBEA: - adds r0, r3, 0 - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BB74 - - thumb_func_start sub_813BC00 -sub_813BC00: @ 813BC00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r10, r0 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813BC2E - movs r0, 0 - b _0813BC8E -_0813BC1E: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - lsls r4, r6 - ldrh r1, [r0] - eors r4, r1 - strh r4, [r0] - b _0813BC8C -_0813BC2E: - movs r5, 0 - ldr r2, =gSaveBlock1Ptr - mov r8, r2 - ldr r0, =0x0000141e - mov r9, r0 - movs r4, 0x1 -_0813BC3A: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - ldrh r1, [r0] - ldr r7, =gUnknown_085B347C - adds r0, r5, r7 - ldrb r6, [r0] - asrs r1, r6 - ands r1, r4 - cmp r1, 0 - beq _0813BC5E - mov r10, r5 - bl Random - adds r1, r4, 0 - ands r1, r0 - cmp r1, 0 - bne _0813BC1E -_0813BC5E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BC3A - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r4, r0, r2 - ldrh r1, [r4] - mov r2, r10 - adds r0, r2, r7 - ldrb r2, [r0] - adds r0, r1, 0 - asrs r0, r2 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0813BC8C - adds r0, r3, 0 - lsls r0, r2 - eors r1, r0 - strh r1, [r4] -_0813BC8C: - mov r0, r10 -_0813BC8E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BC00 - - thumb_func_start sub_813BCA8 -sub_813BCA8: @ 813BCA8 - push {r4,r5,lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r4, [r0] - movs r5, 0x1 -_0813BCBA: - adds r1, r2, 0 - adds r1, 0x8 - adds r0, r4, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _0813BCCE - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_0813BCCE: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0813BCBA - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BCA8 - - thumb_func_start sub_813BCE8 -sub_813BCE8: @ 813BCE8 - push {r4-r6,lr} - movs r5, 0 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldrh r1, [r0, 0xE] - ldr r0, =0x000003e6 - cmp r1, r0 - bhi _0813BD58 - adds r6, r2, 0 - b _0813BD32 - .pool -_0813BD04: - ldr r0, [r6] - ldrh r1, [r0, 0xE] - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - movs r2, 0xA1 - lsls r2, 5 - adds r0, r2 - ldrh r0, [r0] - subs r1, r0 - cmp r1, 0xB - ble _0813BD58 - bl sub_813BC00 - ldr r0, [r4] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0xC - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0813BD32: - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0813BD54 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, [r6] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - b _0813BD58 - .pool -_0813BD54: - cmp r5, 0x8 - bne _0813BD04 -_0813BD58: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813BCE8 - - thumb_func_start sub_813BD60 -sub_813BD60: @ 813BD60 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BD60 - - thumb_func_start sub_813BD84 -sub_813BD84: @ 813BD84 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldrh r1, [r2] - movs r3, 0x80 - lsls r3, 6 - adds r0, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_813BD84 - - thumb_func_start sub_813BDB4 -sub_813BDB4: @ 813BDB4 - push {lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x8 - cmp r0, 0x7 - bhi _0813BE14 - lsls r0, 2 - ldr r1, =_0813BDD8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BDD8: - .4byte _0813BE14 - .4byte _0813BE14 - .4byte _0813BDF8 - .4byte _0813BDFE - .4byte _0813BE04 - .4byte _0813BE0A - .4byte _0813BE10 - .4byte _0813BE14 -_0813BDF8: - movs r3, 0 - movs r2, 0x3 - b _0813BE14 -_0813BDFE: - movs r3, 0 - movs r2, 0x1 - b _0813BE14 -_0813BE04: - movs r3, 0x1 - movs r2, 0 - b _0813BE14 -_0813BE0A: - movs r3, 0 - movs r2, 0x4 - b _0813BE14 -_0813BE10: - movs r3, 0x1 - movs r2, 0x5 -_0813BE14: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003150 - adds r0, r1 - adds r1, r3, 0 - bl sub_813BE30 - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BDB4 - - thumb_func_start sub_813BE30 -sub_813BE30: @ 813BE30 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r0, r5, 4 - adds r1, r6, r0 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0813BEE8 - cmp r2, 0x5 - bhi _0813BED4 - lsls r0, r2, 2 - ldr r1, =_0813BE58 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BE58: - .4byte _0813BED4 - .4byte _0813BE70 - .4byte _0813BE84 - .4byte _0813BE98 - .4byte _0813BEAC - .4byte _0813BEC0 -_0813BE70: - ldr r0, =gStringVar1 - ldr r1, =gText_Steven - bl StringCopy - b _0813BF04 - .pool -_0813BE84: - ldr r0, =gStringVar1 - ldr r1, =gText_Brawly - bl StringCopy - b _0813BF04 - .pool -_0813BE98: - ldr r0, =gStringVar1 - ldr r1, =gText_Winona - bl StringCopy - b _0813BF04 - .pool -_0813BEAC: - ldr r0, =gStringVar1 - ldr r1, =gText_Phoebe - bl StringCopy - b _0813BF04 - .pool -_0813BEC0: - ldr r0, =gStringVar1 - ldr r1, =gText_Glacia - bl StringCopy - b _0813BF04 - .pool -_0813BED4: - ldr r0, =gStringVar1 - ldr r1, =gText_Wallace - bl StringCopy - b _0813BF04 - .pool -_0813BEE8: - ldr r4, =gStringVar1 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - movs r0, 0xFF - strb r0, [r4, 0x7] - adds r0, r6, 0 - adds r0, 0x50 - adds r0, r5 - ldrb r1, [r0] - adds r0, r4, 0 - bl ConvertInternationalString -_0813BF04: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BE30 - - thumb_func_start sub_813BF10 -sub_813BF10: @ 813BF10 - push {lr} - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BF40 - bl sub_813BA30 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - bne _0813BF3C - bl sub_813BB74 - b _0813BF40 - .pool -_0813BF3C: - bl sub_813BC00 -_0813BF40: - pop {r0} - bx r0 - thumb_func_end sub_813BF10 - - thumb_func_start sub_813BF44 -sub_813BF44: @ 813BF44 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BF44 - - thumb_func_start sub_813BF60 -sub_813BF60: @ 813BF60 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x0000141e - adds r1, r0 - ldrh r2, [r1] - movs r0, 0x80 - orrs r0, r2 - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_813BF60 - - thumb_func_start sub_813BF7C -sub_813BF7C: @ 813BF7C - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_813BADC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BF7C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav.s b/asm/pokenav.s index dd2dbf4e0..c9fe787e0 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -1585,7 +1585,7 @@ sub_81C7E58: @ 81C7E58 adds r0, r4, 0 movs r2, 0x20 bl LoadPalette - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer mov r0, r8 adds r1, r4, 0 bl LZ77UnCompWram @@ -1667,7 +1667,7 @@ sub_81C7F24: @ 81C7F24 adds r0, r4, 0 movs r2, 0x20 bl LoadPalette - ldr r4, =0x0201d000 + ldr r4, =gDecompressionBuffer+0x1000 adds r0, r6, 0 adds r1, r4, 0 bl LZ77UnCompWram @@ -27036,7 +27036,7 @@ _081D4E1C: thumb_func_start sub_81D4E30 sub_81D4E30: @ 81D4E30 push {lr} - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer movs r2, 0x80 lsls r2, 6 movs r1, 0 @@ -27657,7 +27657,7 @@ _081D5386: strb r0, [r4, 0x8] b _081D548A _081D5390: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer bl sub_81D3920 strb r0, [r4, 0xE] ldrb r0, [r4, 0xE] @@ -27683,7 +27683,7 @@ _081D53C0: strb r0, [r4, 0x8] b _081D548A _081D53C6: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer bl sub_81D3AB0 cmp r0, 0 beq _081D53EC diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index fd2cccca3..61324b207 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -15650,7 +15650,7 @@ _0801D7D0: b _0801D804 .pool _0801D7F0: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer ldr r1, [r4, 0x18] movs r2, 0x80 lsls r2, 3 @@ -15723,7 +15723,7 @@ _0801D858: sub_801D860: @ 801D860 push {r4,lr} adds r4, r0, 0 - ldr r3, =0x0201c000 + ldr r3, =gDecompressionBuffer adds r0, r4, 0x4 ldr r1, =gSaveBlock2Ptr ldr r1, [r1] @@ -25386,7 +25386,7 @@ sub_80226D0: @ 80226D0 adds r6, r0, 0 movs r5, 0 ldr r0, =gUnknown_08DE3FD4 - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer adds r1, r4, 0 bl LZ77UnCompWram b _0802271A diff --git a/asm/roulette.s b/asm/roulette.s index d3dd5fd9e..b0098daf6 100644 --- a/asm/roulette.s +++ b/asm/roulette.s @@ -4948,7 +4948,7 @@ sub_8142CD0: @ 8142CD0 sub sp, 0x8 ldr r4, =gUnknown_085B7488 ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp] @@ -5575,7 +5575,7 @@ sub_81431E4: @ 81431E4 sub sp, 0xC ldr r4, =gUnknown_085B741C ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp, 0x4] @@ -5720,7 +5720,7 @@ sub_8143314: @ 8143314 push {r7} sub sp, 0x8 movs r5, 0 - ldr r7, =0x0201c000 + ldr r7, =gDecompressionBuffer mov r6, sp _08143322: ldr r0, =gUnknown_085B7750 @@ -6448,7 +6448,7 @@ sub_814391C: @ 814391C sub sp, 0x8 ldr r4, =gUnknown_085B7948 ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp] diff --git a/asm/script_menu.s b/asm/script_menu.s index a2e2ec59e..670740a77 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -1498,7 +1498,7 @@ CreateWindowFromRect: @ 80E2A1C movs r1, 0 adds r2, r4, 0 adds r3, r5, 0 - bl sub_8198A50 + bl CreateWindowTemplate ldr r0, [sp, 0x10] ldr r1, [sp, 0x14] str r0, [sp, 0x18] diff --git a/asm/trade.s b/asm/trade.s index 911b56aec..763b1a9ec 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -7612,7 +7612,7 @@ sub_807B170: @ 807B170 bl copy_decompressed_tile_data_to_vram_autofree ldr r0, =gBattleTextboxTilemap mov r8, r0 - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer adds r1, r4, 0 bl LZDecompressWram movs r0, 0 diff --git a/common_syms/field_specials.txt b/common_syms/field_specials.txt new file mode 100644 index 000000000..25d874a65 --- /dev/null +++ b/common_syms/field_specials.txt @@ -0,0 +1 @@ +gUnknown_030061D0 diff --git a/data/event_scripts.s b/data/event_scripts.s index 0336c0c97..f28707fbb 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -5,6 +5,7 @@ #include "constants/songs.h" #include "constants/species.h" #include "constants/vars.h" +#include "constants/heal_locations.h" #include "constants/trainers.h" .include "asm/macros.inc" .include "asm/macros/event.inc" @@ -1110,10 +1111,10 @@ EventScript_2715DE:: @ 82715DE setflag FLAG_0x2DE setflag FLAG_0x351 setflag FLAG_0x32F - setflag FLAG_0x315 - setflag FLAG_0x316 - setflag FLAG_0x317 - setflag FLAG_0x318 + setflag FLAG_HIDE_FANCLUB_OLD_LADY + setflag FLAG_HIDE_FANCLUB_BOY + setflag FLAG_HIDE_FANCLUB_LITTLE_BOY + setflag FLAG_HIDE_FANCLUB_LADY setflag FLAG_0x2DA setflag FLAG_0x31D setflag FLAG_0x31E @@ -2356,8 +2357,8 @@ RusturfTunnel_EventScript_272216:: @ 8272216 removeobject 10 clearflag FLAG_0x328 clearflag FLAG_0x3D8 - setvar VAR_0x409A, 6 - setflag FLAG_0x0C7 + setvar VAR_RUSTURF_TUNNEL_STATE, 6 + setflag FLAG_RUSTURF_TUNNEL_OPENED return EventScript_27222B:: @ 827222B @@ -2517,7 +2518,7 @@ Route119_EventScript_272365:: @ 8272365 setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq Route119_EventScript_2723C1 compare VAR_RESULT, 4 @@ -3346,7 +3347,7 @@ EventScript_2736D9:: @ 82736D9 end EventScript_2736F4:: @ 82736F4 - setrespawn 16 + setrespawn HEAL_LOCATION_LAVARIDGE_TOWN return EventScript_2736F8:: @ 82736F8 diff --git a/data/field_specials.s b/data/field_specials.s deleted file mode 100644 index 8f9734a01..000000000 --- a/data/field_specials.s +++ /dev/null @@ -1,547 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_085B2B5C:: @ 85B2B5C - .byte 0x07, 0x09, 0x08, 0x0a - - .align 2 -gUnknown_085B2B60:: @ 85B2B60 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00 - -gUnknown_085B2B68:: @ 85B2B68 - .byte 0x07, 0x16, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0a, 0x10, 0x00, 0x00, 0x0f, 0x10, 0x00, 0x00 - -gUnknown_085B2B78:: @ 85B2B78 - .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x00 - - .align 1 -gUnknown_085B2B7E:: @ 85B2B7E - .2byte 0x0218, 0x0219, 0x021a, 0x021b, 0x021c - -gUnknown_085B2B88:: @ 85B2B88 - .byte 0x0c, 0x02, 0x04, 0x05, 0x01, 0x08, 0x07, 0x0b, 0x03, 0x0a, 0x09, 0x06 - -gUnknown_085B2B94:: @ 85B2B94 - .byte 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x05 - -gUnknown_085B2BA0:: @ 85B2BA0 - .byte 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05 - - .align 2 -gUnknown_085B2BAC:: @ 85B2BAC - .byte 0x00, 0x15, 0x01, 0x08, 0x04, 0x0f, 0x08, 0x00 - - .align 2 -gElevatorFloorsTable:: @ 85B2BB4 - .4byte gText_B4F - .4byte gText_B3F - .4byte gText_B2F - .4byte gText_B1F - .4byte gText_1F - .4byte gText_2F - .4byte gText_3F - .4byte gText_4F - .4byte gText_5F - .4byte gText_6F - .4byte gText_7F - .4byte gText_8F - .4byte gText_9F - .4byte gText_10F - .4byte gText_11F - .4byte gText_Rooftop - - .align 1 -gUnknown_085B2BF4:: @ 85B2BF4 - .2byte 0x0329, 0x032a, 0x032b, 0x0331, 0x0332, 0x0333, 0x0339, 0x033a, 0x033b - - .align 1 -gUnknown_085B2C06:: @ 85B2C06 - .2byte 0x0329, 0x032b, 0x032a, 0x0331, 0x0333, 0x0332, 0x0339, 0x033b, 0x033a - -gUnknown_085B2C18:: @ 85B2C18 - .byte 0x08, 0x10, 0x18, 0x20, 0x26, 0x2e, 0x34, 0x38, 0x39 - -gUnknown_085B2C21:: @ 85B2C21 - .byte 0x03, 0x06, 0x09, 0x0c, 0x0f, 0x12, 0x15, 0x18, 0x1b - - .align 1 -gUnknown_085B2C2A:: @ 85B2C2A - .2byte 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a - .2byte 0x1a35, 0x193c, 0xffff - - .align 2 -gUnknown_085B2C50:: @ 85B2C50 - .4byte BattleFrontier_Lounge2_Text_260971 - .4byte BattleFrontier_Lounge2_Text_260A1E - .4byte BattleFrontier_Lounge2_Text_260AE7 - .4byte BattleFrontier_Lounge2_Text_2619AC - .4byte BattleFrontier_Lounge2_Text_261A91 - .4byte BattleFrontier_Lounge2_Text_261B0C - .4byte BattleFrontier_Lounge2_Text_261B95 - .4byte BattleFrontier_Lounge2_Text_261B95 - .4byte BattleFrontier_Lounge2_Text_261B95 - .4byte BattleFrontier_Lounge2_Text_261C1A - .4byte BattleFrontier_Lounge2_Text_261C1A - .4byte BattleFrontier_Lounge2_Text_261C1A - .4byte BattleFrontier_Lounge2_Text_260BC4 - .4byte BattleFrontier_Lounge2_Text_260C6D - .4byte BattleFrontier_Lounge2_Text_260D3A - .4byte BattleFrontier_Lounge2_Text_260E1E - .4byte BattleFrontier_Lounge2_Text_260EC7 - .4byte BattleFrontier_Lounge2_Text_260F74 - .4byte BattleFrontier_Lounge2_Text_2614E6 - .4byte BattleFrontier_Lounge2_Text_261591 - .4byte BattleFrontier_Lounge2_Text_26166F - .4byte BattleFrontier_Lounge2_Text_261282 - .4byte BattleFrontier_Lounge2_Text_261329 - .4byte BattleFrontier_Lounge2_Text_261403 - .4byte BattleFrontier_Lounge2_Text_261026 - .4byte BattleFrontier_Lounge2_Text_2610CC - .4byte BattleFrontier_Lounge2_Text_261194 - .4byte BattleFrontier_Lounge2_Text_26174D - .4byte BattleFrontier_Lounge2_Text_2617F9 - .4byte BattleFrontier_Lounge2_Text_2618C4 - -gUnknown_085B2CC8:: @ 85B2CC8 - .byte 0x15, 0x38, 0x15, 0x23, 0xff, 0xff, 0xff, 0xff, 0x02, 0x04, 0x07, 0x15, 0x07, 0x15, 0x0e, 0x1c, 0x0d, 0x70, 0x07, 0x38 - - .align 1 -gUnknown_085B2CDC:: @ 85B2CDC - .2byte 0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000 - - .align 2 -gUnknown_085B2CF0:: @ 85B2CF0 - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_BlueFlute - .4byte gText_YellowFlute - .4byte gText_RedFlute - .4byte gText_WhiteFlute - .4byte gText_BlackFlute - .4byte gText_PrettyChair - .4byte gText_PrettyDesk - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_0Pts - .4byte gText_10Pts - .4byte gText_20Pts - .4byte gText_30Pts - .4byte gText_40Pts - .4byte gText_50Pts - .4byte gText_60Pts - .4byte gText_70Pts - .4byte gText_80Pts - .4byte gText_90Pts - .4byte gText_100Pts - .4byte gText_QuestionMark - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_KissPoster16BP - .4byte gText_KissCushion32BP - .4byte gText_SmoochumDoll32BP - .4byte gText_TogepiDoll48BP - .4byte gText_MeowthDoll48BP - .4byte gText_ClefairyDoll48BP - .4byte gText_DittoDoll48BP - .4byte gText_CyndaquilDoll80BP - .4byte gText_ChikoritaDoll80BP - .4byte gText_TotodileDoll80BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_LaprasDoll128BP - .4byte gText_SnorlaxDoll128BP - .4byte gText_VenusaurDoll256BP - .4byte gText_CharizardDoll256BP - .4byte gText_BlastoiseDoll256BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_Protein1BP - .4byte gText_Calcium1BP - .4byte gText_Iron1BP - .4byte gText_Zinc1BP - .4byte gText_Carbos1BP - .4byte gText_HpUp1BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_Leftovers48BP - .4byte gText_WhiteHerb48BP - .4byte gText_QuickClaw48BP - .4byte gText_MentalHerb48BP - .4byte gText_BrightPowder64BP - .4byte gText_ChoiceBand64BP - .4byte gText_KingsRock64BP - .4byte gText_FocusBand64BP - .4byte gText_ScopeLens64BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_EnergyPowder50 - .4byte gText_EnergyRoot80 - .4byte gText_HealPowder50 - .4byte gText_RevivalHerb300 - .4byte gText_Protein1000 - .4byte gText_Iron1000 - .4byte gText_Carbos1000 - .4byte gText_Calcium1000 - .4byte gText_Zinc1000 - .4byte gText_HPUp1000 - .4byte gText_PPUp3000 - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_BattleTower2 - .4byte gText_BattleDome - .4byte gText_BattlePalace - .4byte gText_BattleArena - .4byte gText_BattleFactory - .4byte gText_BattlePike - .4byte gText_BattlePyramid - .4byte gText_RankingHall - .4byte gText_ExchangeService - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_Softboiled16BP - .4byte gText_SeismicToss24BP - .4byte gText_DreamEater24BP - .4byte gText_MegaPunch24BP - .4byte gText_MegaKick48BP - .4byte gText_BodySlam48BP - .4byte gText_RockSlide48BP - .4byte gText_Counter48BP - .4byte gText_ThunderWave48BP - .4byte gText_SwordsDance48BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_DefenseCurl16BP - .4byte gText_Snore24BP - .4byte gText_MudSlap24BP - .4byte gText_Swift24BP - .4byte gText_IcyWind24BP - .4byte gText_Endure48BP - .4byte gText_PsychUp48BP - .4byte gText_IcePunch48BP - .4byte gText_ThunderPunch48BP - .4byte gText_FirePunch48BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_SlateportCity - .4byte gText_BattleFrontier - .4byte gText_SouthernIsland - .4byte gText_NavelRock - .4byte gText_BirthIsland - .4byte gText_FarawayIsland - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_BattleTrainers - .4byte gText_BattleBasics - .4byte gText_PokemonNature - .4byte gText_PokemonMoves - .4byte gText_Underpowered - .4byte gText_WhenInDanger - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .align 2 -gUnknown_085B3030:: @ 85B3030 - .4byte 0x03000002, 0x00000000, 0x07d00000, 0x00000064 - - .align 2 -gUnknown_085B3040:: @ 85B3040 - .4byte BattleFrontier_Lounge5_Text_26468D - .4byte BattleFrontier_Lounge5_Text_2646E5 - .4byte BattleFrontier_Lounge5_Text_264741 - .4byte BattleFrontier_Lounge5_Text_2647A4 - .4byte BattleFrontier_Lounge5_Text_2647FC - .4byte BattleFrontier_Lounge5_Text_264858 - .4byte BattleFrontier_Lounge5_Text_2648BE - .4byte BattleFrontier_Lounge5_Text_264916 - .4byte BattleFrontier_Lounge5_Text_264972 - .4byte BattleFrontier_Lounge5_Text_2649D5 - .4byte BattleFrontier_Lounge5_Text_264A3F - .4byte BattleFrontier_Lounge5_Text_264A9B - .4byte BattleFrontier_Lounge5_Text_264AF3 - .4byte BattleFrontier_Lounge5_Text_264B5D - .4byte BattleFrontier_Lounge5_Text_2648BE - .4byte BattleFrontier_Lounge5_Text_264BC3 - .4byte BattleFrontier_Lounge5_Text_264C36 - .4byte BattleFrontier_Lounge5_Text_2648BE - .4byte BattleFrontier_Lounge5_Text_264C95 - .4byte BattleFrontier_Lounge5_Text_264D01 - .4byte BattleFrontier_Lounge5_Text_264D6B - .4byte BattleFrontier_Lounge5_Text_264DD7 - .4byte BattleFrontier_Lounge5_Text_264E33 - .4byte BattleFrontier_Lounge5_Text_264E8F - .4byte BattleFrontier_Lounge5_Text_2648BE - - .align 2 -gUnknown_085B30A4:: @ 85B30A4 - .4byte BattleFrontier_Lounge3_Text_262261 - .4byte BattleFrontier_Lounge3_Text_26230D - .4byte BattleFrontier_Lounge3_Text_2623B9 - .4byte BattleFrontier_Lounge3_Text_262464 - .4byte BattleFrontier_Lounge3_Text_26250E - .4byte BattleFrontier_Lounge3_Text_2625B8 - .4byte BattleFrontier_Lounge3_Text_26266A - .4byte BattleFrontier_Lounge3_Text_26271C - .4byte BattleFrontier_Lounge3_Text_2627C9 - .4byte BattleFrontier_Lounge3_Text_262876 - .4byte BattleFrontier_Lounge3_Text_26291A - .4byte BattleFrontier_Lounge3_Text_2629BC - - .align 2 -gUnknown_085B30D4:: @ 85B30D4 - .4byte BattleFrontier_Lounge3_Text_262C04 - .4byte BattleFrontier_Lounge3_Text_262C90 - .4byte BattleFrontier_Lounge3_Text_262D1C - .4byte BattleFrontier_Lounge3_Text_262DA7 - .4byte BattleFrontier_Lounge3_Text_262E34 - .4byte BattleFrontier_Lounge3_Text_262EC1 - .4byte BattleFrontier_Lounge3_Text_262F56 - .4byte BattleFrontier_Lounge3_Text_262FEB - .4byte BattleFrontier_Lounge3_Text_263078 - .4byte BattleFrontier_Lounge3_Text_263105 - .4byte BattleFrontier_Lounge3_Text_26318C - .4byte BattleFrontier_Lounge3_Text_263211 - - .align 1 -gUnknown_085B3104:: @ 85B3104 - .2byte 0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600 - - .align 2 -gUnknown_085B311C:: @ 85B311C - window_template 0x00, 0x01, 0x01, 0x06, 0x02, 0x0f, 0x0008 - - .align 2 -gUnknown_085B3124:: @ 85B3124 - window_template 0x00, 0x02, 0x09, 0x04, 0x04, 0x0f, 0x0014 - - .align 1 -gUnknown_085B312C:: @ 85B312C - .2byte 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xffff - - .align 1 -gUnknown_085B3142:: @ 85B3142 - .2byte 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xffff - - .align 1 -gUnknown_085B314E:: @ 85B314E - .2byte 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xffff - - .align 1 -gUnknown_085B315C:: @ 85B315C - .2byte 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xffff - - .align 2 -gUnknown_085B3170:: @ 85B3170 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260201 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260287 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E - .4byte gText_Exit - - .align 2 -gUnknown_085B319C:: @ 85B319C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte gText_Exit - - .align 2 -gUnknown_085B31B4:: @ 85B31B4 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260397 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260436 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C - .4byte gText_Exit - - .align 2 -gUnknown_085B31D0:: @ 85B31D0 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260542 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260575 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260613 - .4byte gText_Exit - - .align 1 -gUnknown_085B31F8:: @ 85B31F8 - .2byte 0x0087, 0x0045, 0x008a, 0x0005, 0x0019, 0x0022, 0x009d, 0x0044, 0x0056, 0x000e - - .align 1 -gUnknown_085B320C:: @ 85B320C - .2byte 0x006f, 0x00ad, 0x00bd, 0x0081, 0x00c4, 0x00cb, 0x00f4, 0x0008, 0x0009, 0x0007 - - .align 2 -gUnknown_085B3220:: @ 85B3220 - window_template 0x00, 0x01, 0x07, 0x0c, 0x06, 0x0f, 0x001c - - .align 2 -gUnknown_085B3228:: @ 85B3228 - .4byte BattleFrontier_Lounge7_Text_265E30 - .4byte BattleFrontier_Lounge7_Text_265E5B - .4byte BattleFrontier_Lounge7_Text_265E8A - .4byte BattleFrontier_Lounge7_Text_265EC0 - .4byte BattleFrontier_Lounge7_Text_265EED - .4byte BattleFrontier_Lounge7_Text_265F1C - .4byte BattleFrontier_Lounge7_Text_265F47 - .4byte BattleFrontier_Lounge7_Text_265F77 - .4byte BattleFrontier_Lounge7_Text_265FAA - .4byte BattleFrontier_Lounge7_Text_265FDD - .4byte gText_Exit - - .align 2 -gUnknown_085B3254:: @ 85B3254 - .4byte BattleFrontier_Lounge7_Text_26600A - .4byte BattleFrontier_Lounge7_Text_26603E - .4byte BattleFrontier_Lounge7_Text_266070 - .4byte BattleFrontier_Lounge7_Text_2660A6 - .4byte BattleFrontier_Lounge7_Text_2660D0 - .4byte BattleFrontier_Lounge7_Text_2660FF - .4byte BattleFrontier_Lounge7_Text_26612D - .4byte BattleFrontier_Lounge7_Text_26615F - .4byte BattleFrontier_Lounge7_Text_266185 - .4byte BattleFrontier_Lounge7_Text_2661B5 - .4byte gText_Exit - - .align 2 -gUnknown_085B3280:: @ 85B3280 - .incbin "graphics/unknown/unknown_5B3280.gbapal" - -gUnknown_085B33E0:: @ 85B33E0 - .byte 0x0f, 0x0c, 0x0b, 0x0e, 0x0f, 0x08, 0x13, 0x0e, 0x0c, 0x0b, 0x12, 0x0b, 0x0f, 0x0e, 0x0b, 0x0e, 0x13, 0x0e, 0x0f, 0x0f, 0x0f, 0x0a - -gUnknown_085B33F6:: @ 85B33F6 - .byte 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03 - -gUnknown_085B3400:: @ 85B3400 - .byte 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c - -gUnknown_085B3410:: @ 85B3410 - .byte 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c - -gUnknown_085B3420:: @ 85B3420 - .byte 0x02, 0x04, 0x01, 0x04, 0x04, 0x01, 0x05, 0x00, 0x01, 0x06, 0x03, 0x01, 0x08, 0x06, 0x01, 0x09, 0x0d, 0x01, 0x0a, 0x07, 0x01, 0x0b, 0x07, 0x01, 0x0c, 0x04, 0x01, 0x0e, 0x05, 0x01, 0x0f, 0x04 - .byte 0x01, 0x1a, 0x37, 0x01 - - .align 1 -gUnknown_085B3444:: @ 85B3444 - .2byte 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a - .2byte 0x1a35, 0x1918, 0x1919, 0x191a, 0x191b, 0xffff - -gUnknown_085B3470:: @ 85B3470 - .byte 0x02, 0x01, 0x02, 0x01 - -gUnknown_085B3474:: @ 85B3474 - .byte 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f - -gUnknown_085B347C:: @ 85B347C - .byte 0x08, 0x0d, 0x0e, 0x0b, 0x0a, 0x0c, 0x0f, 0x09 - diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc index 701b79fbf..628c9cece 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc +++ b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc @@ -43,7 +43,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3 setfieldeffectargument 1, 10 setfieldeffectargument 2, 0 dofieldeffect 54 - specialvar VAR_RESULT, sub_81392F8 + specialvar VAR_RESULT, FoundAbandonedShipRoom4Key compare VAR_RESULT, 0 call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DD3 waitfieldeffect 54 @@ -54,7 +54,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D0C:: @ 8238D0C end AbandonedShip_HiddenFloorRooms_EventScript_238D0D:: @ 8238D0D - specialvar VAR_RESULT, sub_81392AC + specialvar VAR_RESULT, FoundAbandonedShipRoom1Key compare VAR_RESULT, 1 goto_eq AbandonedShip_HiddenFloorRooms_EventScript_238D32 delay 20 @@ -77,7 +77,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D33:: @ 8238D33 setfieldeffectargument 1, 3 setfieldeffectargument 2, 0 dofieldeffect 54 - specialvar VAR_RESULT, sub_8139320 + specialvar VAR_RESULT, FoundAbandonedShipRoom6Key compare VAR_RESULT, 0 call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DE3 waitfieldeffect 54 @@ -98,7 +98,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D6B:: @ 8238D6B setfieldeffectargument 1, 6 setfieldeffectargument 2, 0 dofieldeffect 54 - specialvar VAR_RESULT, sub_81392D4 + specialvar VAR_RESULT, FoundAbandonedShipRoom2Key compare VAR_RESULT, 0 call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DC3 waitfieldeffect 54 diff --git a/data/maps/AncientTomb/scripts.inc b/data/maps/AncientTomb/scripts.inc index 3cd0b9eff..9dbacfe8e 100644 --- a/data/maps/AncientTomb/scripts.inc +++ b/data/maps/AncientTomb/scripts.inc @@ -10,7 +10,7 @@ AncientTomb_MapScript1_238FC3: @ 8238FC3 end AncientTomb_EventScript_238FCD:: @ 8238FCD - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, AncientTomb_EventScript_27374E removeobject VAR_LAST_TALKED @@ -75,7 +75,7 @@ AncientTomb_EventScript_23905A:: @ 823905A special StartRegiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq AncientTomb_EventScript_2390A1 compare VAR_RESULT, 4 diff --git a/data/maps/AquaHideout_B1F/scripts.inc b/data/maps/AquaHideout_B1F/scripts.inc index cf59bdacc..12c25faac 100644 --- a/data/maps/AquaHideout_B1F/scripts.inc +++ b/data/maps/AquaHideout_B1F/scripts.inc @@ -9,7 +9,7 @@ AquaHideout_B1F_MapScript1_2339B2: @ 82339B2 end AquaHideout_B1F_EventScript_2339BC:: @ 82339BC - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, AquaHideout_B1F_EventScript_27374E removeobject VAR_LAST_TALKED @@ -41,7 +41,7 @@ AquaHideout_B1F_EventScript_2339EB:: @ 82339EB setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq AquaHideout_B1F_EventScript_233A2F compare VAR_RESULT, 4 @@ -68,7 +68,7 @@ AquaHideout_B1F_EventScript_233A38:: @ 8233A38 setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq AquaHideout_B1F_EventScript_233A7C compare VAR_RESULT, 4 diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc index 248c1f9ca..072d27137 100644 --- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc @@ -14,7 +14,7 @@ BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0 waitmovement 0 special sub_813A080 waitse - special sub_8139A78 + special ShakeScreenInElevator waitstate delay 48 applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A8E diff --git a/data/maps/BattleFrontier_OutsideEast/scripts.inc b/data/maps/BattleFrontier_OutsideEast/scripts.inc index dff56322a..0a3723acc 100644 --- a/data/maps/BattleFrontier_OutsideEast/scripts.inc +++ b/data/maps/BattleFrontier_OutsideEast/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_OutsideEast_MapScript1_242C0F: @ 8242C0F end BattleFrontier_OutsideEast_EventScript_242C19:: @ 8242C19 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, BattleFrontier_OutsideEast_EventScript_27374E removeobject VAR_LAST_TALKED @@ -134,7 +134,7 @@ BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq BattleFrontier_OutsideEast_EventScript_242D60 compare VAR_RESULT, 4 diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc index 23818d64c..3dff67a93 100644 --- a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc +++ b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ BattleFrontier_PokemonCenter_1F_MapScripts:: @ 82678F9 .byte 0 BattleFrontier_PokemonCenter_1F_MapScript1_267904: @ 8267904 - setrespawn 22 + setrespawn HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST end BattleFrontier_PokemonCenter_1F_EventScript_267908:: @ 8267908 diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index b2427e95d..787230c60 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -37,7 +37,7 @@ BirthIsland_Exterior_MapScript1_267F65: @ 8267F65 end BirthIsland_Exterior_EventScript_267F6F:: @ 8267F6F - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, BirthIsland_Exterior_EventScript_27374E removeobject 2 @@ -91,7 +91,7 @@ BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1 special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq BirthIsland_Exterior_EventScript_26803B compare VAR_RESULT, 4 diff --git a/data/maps/DesertRuins/scripts.inc b/data/maps/DesertRuins/scripts.inc index 9137902f2..45d192c80 100644 --- a/data/maps/DesertRuins/scripts.inc +++ b/data/maps/DesertRuins/scripts.inc @@ -10,7 +10,7 @@ DesertRuins_MapScript1_22D96B: @ 822D96B end DesertRuins_EventScript_22D975:: @ 822D975 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, DesertRuins_EventScript_27374E removeobject VAR_LAST_TALKED @@ -75,7 +75,7 @@ DesertRuins_EventScript_22DA02:: @ 822DA02 special StartRegiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq DesertRuins_EventScript_22DA49 compare VAR_RESULT, 4 diff --git a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc index 15a1c81b9..a9ce59bc1 100644 --- a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ DewfordTown_PokemonCenter_1F_MapScripts:: @ 81FC523 .byte 0 DewfordTown_PokemonCenter_1F_MapScript1_1FC52E: @ 81FC52E - setrespawn 15 + setrespawn HEAL_LOCATION_DEWFORD_TOWN call DewfordTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc index 60f0dd1ad..763d2ebb1 100644 --- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc +++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc @@ -51,7 +51,7 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 end EverGrandeCity_HallOfFame_EventScript_2298E9:: @ 82298E9 - setrespawn 1 + setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F fadescreenspeed 1, 24 special GameClear waitstate @@ -59,7 +59,7 @@ EverGrandeCity_HallOfFame_EventScript_2298E9:: @ 82298E9 end EverGrandeCity_HallOfFame_EventScript_2298F5:: @ 82298F5 - setrespawn 2 + setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F fadescreenspeed 1, 24 special GameClear waitstate diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc index ed6e6a497..16b82a592 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ EverGrandeCity_PokemonCenter_1F_MapScripts:: @ 8229A34 .byte 0 EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F: @ 8229A3F - setrespawn 11 + setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_1 checkflag FLAG_0x1CF call_if 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C end diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc index f1a6ce17f..b4046d022 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc @@ -4,7 +4,7 @@ EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2 .byte 0 EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD: @ 82295DD - setrespawn 20 + setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_2 setflag FLAG_LANDMARK_POKEMON_LEAGUE checkflag FLAG_0x107 call_if 0, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED diff --git a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc index 15f5d2b9e..d11caa86f 100644 --- a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ FallarborTown_PokemonCenter_1F_MapScripts:: @ 8200BCD .byte 0 FallarborTown_PokemonCenter_1F_MapScript1_200BD8: @ 8200BD8 - setrespawn 17 + setrespawn HEAL_LOCATION_FALLARBOR_TOWN call FallarborTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc index e7d67431d..70e41b42d 100644 --- a/data/maps/FarawayIsland_Interior/scripts.inc +++ b/data/maps/FarawayIsland_Interior/scripts.inc @@ -11,7 +11,7 @@ FarawayIsland_Interior_MapScript1_267D0F: @ 8267D0F end FarawayIsland_Interior_EventScript_267D19:: @ 8267D19 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq FarawayIsland_Interior_EventScript_267D4B compare VAR_RESULT, 4 @@ -33,7 +33,7 @@ FarawayIsland_Interior_MapScript1_267D54: @ 8267D54 end FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, FarawayIsland_Interior_EventScript_27374E removeobject VAR_LAST_TALKED @@ -148,7 +148,7 @@ FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2 special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq FarawayIsland_Interior_EventScript_267E96 compare VAR_RESULT, 4 diff --git a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc index e119a0f29..4885c7f15 100644 --- a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ FortreeCity_PokemonCenter_1F_MapScripts:: @ 82173D8 .byte 0 FortreeCity_PokemonCenter_1F_MapScript1_2173E3: @ 82173E3 - setrespawn 7 + setrespawn HEAL_LOCATION_FORTREE_CITY end FortreeCity_PokemonCenter_1F_EventScript_2173E7:: @ 82173E7 diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc index 963dd196d..24fe954a8 100644 --- a/data/maps/InsideOfTruck/scripts.inc +++ b/data/maps/InsideOfTruck/scripts.inc @@ -24,7 +24,7 @@ InsideOfTruck_EventScript_23BF04:: @ 823BF04 end InsideOfTruck_EventScript_23BF20:: @ 823BF20 - setrespawn 1 + setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F setvar VAR_0x4092, 1 setflag FLAG_0x2F7 setflag FLAG_0x2FA @@ -37,7 +37,7 @@ InsideOfTruck_EventScript_23BF20:: @ 823BF20 end InsideOfTruck_EventScript_23BF46:: @ 823BF46 - setrespawn 2 + setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F setvar VAR_0x4092, 2 setflag FLAG_0x2F6 setflag FLAG_0x2F9 diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc index a96d13902..b00b41d40 100644 --- a/data/maps/IslandCave/scripts.inc +++ b/data/maps/IslandCave/scripts.inc @@ -10,7 +10,7 @@ IslandCave_MapScript1_238E3A: @ 8238E3A end IslandCave_EventScript_238E44:: @ 8238E44 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, IslandCave_EventScript_27374E removeobject VAR_LAST_TALKED @@ -107,7 +107,7 @@ IslandCave_EventScript_238F58:: @ 8238F58 special StartRegiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq IslandCave_EventScript_238F9F compare VAR_RESULT, 4 diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc index 24f19b1d0..c7db56a0d 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ LavaridgeTown_PokemonCenter_1F_MapScripts:: @ 81FFAFA .byte 0 LavaridgeTown_PokemonCenter_1F_MapScript1_1FFB05: @ 81FFB05 - setrespawn 16 + setrespawn HEAL_LOCATION_LAVARIDGE_TOWN call LavaridgeTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc index 87a129620..70018b229 100644 --- a/data/maps/LilycoveCity/scripts.inc +++ b/data/maps/LilycoveCity/scripts.inc @@ -255,7 +255,7 @@ LilycoveCity_EventScript_1E2DF8:: @ 81E2DF8 compare VAR_RESULT, 0 goto_eq LilycoveCity_EventScript_1E2E5A msgbox LilycoveCity_Text_1E3234, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, LilycoveCity_EventScript_1E2EDE case 1, LilycoveCity_EventScript_1E2EEE case 2, LilycoveCity_EventScript_1E2EFE @@ -286,7 +286,7 @@ LilycoveCity_EventScript_1E2E6B:: @ 81E2E6B compare VAR_RESULT, 0 goto_eq LilycoveCity_EventScript_1E2ECD msgbox LilycoveCity_Text_1E373C, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, LilycoveCity_EventScript_1E2F0E case 1, LilycoveCity_EventScript_1E2F1E case 2, LilycoveCity_EventScript_1E2F2E diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc index 234751910..372d16dae 100644 --- a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc @@ -118,12 +118,12 @@ LilycoveCity_DepartmentStoreElevator_EventScript_2207E5:: @ 82207E5 applymovement VAR_LAST_TALKED, LilycoveCity_DepartmentStoreElevator_Movement_2725AA waitmovement 0 waitse - special sub_8139A78 + special ShakeScreenInElevator waitstate setflag FLAG_0x002 return LilycoveCity_DepartmentStoreElevator_EventScript_2207FC:: @ 82207FC - special sub_8139994 + special SetDepartmentStoreFloorVar return diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc index 8de2d5d6f..4a375cf5e 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc @@ -21,7 +21,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C waitmessage special RetrieveLotteryNumber copyvar VAR_0x8008, VAR_RESULT - special sub_81397C4 + special BufferLottoTicketNumber msgbox LilycoveCity_DepartmentStore_1F_Text_2A650B, 4 applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_2725A8 waitmovement 0 diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc index 1dfd9c29a..99ad20280 100644 --- a/data/maps/LilycoveCity_Harbor/scripts.inc +++ b/data/maps/LilycoveCity_Harbor/scripts.inc @@ -89,7 +89,7 @@ LilycoveCity_Harbor_EventScript_21E149:: @ 821E149 msgbox LilycoveCity_Harbor_Text_21E864, 5 compare VAR_RESULT, 0 goto_eq LilycoveCity_Harbor_EventScript_21E5C0 - setvar VAR_PORTHOLE, 5 + setvar VAR_PORTHOLE_STATE, 5 call LilycoveCity_Harbor_EventScript_21E5CC warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 waitstate @@ -398,7 +398,7 @@ LilycoveCity_Harbor_EventScript_21E575:: @ 821E575 msgbox LilycoveCity_Harbor_Text_21E864, 5 compare VAR_RESULT, 0 goto_eq LilycoveCity_Harbor_EventScript_21E5C0 - setvar VAR_PORTHOLE, 5 + setvar VAR_PORTHOLE_STATE, 5 call LilycoveCity_Harbor_EventScript_21E5CC warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 waitstate diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc index b6ca09906..934f666ad 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ LilycoveCity_PokemonCenter_1F_MapScripts:: @ 821C5B2 .byte 0 LilycoveCity_PokemonCenter_1F_MapScript1_21C5BD: @ 821C5BD - setrespawn 8 + setrespawn HEAL_LOCATION_LILYCOVE_CITY goto LilycoveCity_PokemonCenter_1F_EventScript_21C5C6 end diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc index 74146fc7e..9587bcae3 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc @@ -4,7 +4,7 @@ LilycoveCity_PokemonTrainerFanClub_MapScripts:: @ 821C785 .byte 0 LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790: @ 821C790 - map_script_2 VAR_0x4095, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A + map_script_2 VAR_LILYCOVE_FAN_CLUB_STATE, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A .2byte 0 LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A @@ -24,7 +24,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A waitmovement 0 applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C807 waitmovement 0 - setvar VAR_0x4095, 2 + setvar VAR_LILYCOVE_FAN_CLUB_STATE, 2 releaseall end @@ -62,45 +62,45 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807 LilycoveCity_PokemonTrainerFanClub_MapScript1_21C80D: @ 821C80D call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA - compare VAR_0x4095, 1 + compare VAR_LILYCOVE_FAN_CLUB_STATE, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8 - compare VAR_0x4095, 2 + compare VAR_LILYCOVE_FAN_CLUB_STATE, 2 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C829 end LilycoveCity_PokemonTrainerFanClub_EventScript_21C829:: @ 821C829 - special sub_813BCE8 + special UpdateMovedLilycoveFanClubMembers call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5 setvar VAR_0x8004, 8 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8 setvar VAR_0x8004, 9 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0 setvar VAR_0x8004, 10 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8 setvar VAR_0x8004, 11 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0 setvar VAR_0x8004, 12 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8 setvar VAR_0x8004, 13 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0 setvar VAR_0x8004, 14 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8 setvar VAR_0x8004, 15 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0 end @@ -120,35 +120,35 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1:: @ 821C8F1 LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5:: @ 821C8F5 setvar VAR_0x8005, 8 setvar VAR_0x8004, 8 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 9 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 10 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 11 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 12 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 13 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 14 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 15 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE compare VAR_0x8005, 5 @@ -208,13 +208,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17 lock faceplayer setvar VAR_0x8004, 13 - special sub_813BDB4 - compare VAR_0x4095, 0 + special BufferStreakTrainerText + compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, 4 @@ -222,7 +222,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56:: @ 821CA56 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, 4 @@ -248,13 +248,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E lock faceplayer setvar VAR_0x8004, 8 - special sub_813BDB4 - compare VAR_0x4095, 0 + special BufferStreakTrainerText + compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, 4 @@ -262,7 +262,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E end LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD:: @ 821CACD - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, 4 @@ -288,13 +288,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05 lock faceplayer setvar VAR_0x8004, 9 - special sub_813BDB4 - compare VAR_0x4095, 0 + special BufferStreakTrainerText + compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, 4 @@ -302,7 +302,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44:: @ 821CB44 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, 4 @@ -328,13 +328,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C lock faceplayer setvar VAR_0x8004, 10 - special sub_813BDB4 - compare VAR_0x4095, 0 + special BufferStreakTrainerText + compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, 4 @@ -342,7 +342,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C end LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB:: @ 821CBBB - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, 4 @@ -368,11 +368,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3 lock faceplayer setvar VAR_0x8004, 11 - special sub_813BDB4 - specialvar VAR_RESULT, sub_813BD60 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, 4 @@ -380,7 +380,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27:: @ 821CC27 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, 4 @@ -401,11 +401,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55 lock faceplayer setvar VAR_0x8004, 12 - special sub_813BDB4 - specialvar VAR_RESULT, sub_813BD60 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, 4 @@ -413,7 +413,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89:: @ 821CC89 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, 4 @@ -434,11 +434,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7 lock faceplayer setvar VAR_0x8004, 14 - special sub_813BDB4 - specialvar VAR_RESULT, sub_813BD60 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, 4 @@ -446,7 +446,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB:: @ 821CCEB - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, 4 @@ -467,11 +467,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19 lock faceplayer setvar VAR_0x8004, 15 - special sub_813BDB4 - specialvar VAR_RESULT, sub_813BD60 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, 4 @@ -479,7 +479,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D:: @ 821CD4D - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE72, 4 @@ -512,7 +512,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF copyvar VAR_0x800A, VAR_0x8006 setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281BCB, 4 setvar VAR_0x8004, 14 copyvar VAR_0x8005, VAR_0x800A @@ -532,7 +532,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0:: @ 821CDE0 LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C3D, 5 compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 @@ -542,7 +542,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15 setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C65, 4 setvar VAR_0x8004, 14 copyvar VAR_0x8005, VAR_0x800A @@ -557,7 +557,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15 LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText message LilycoveCity_PokemonTrainerFanClub_Text_281C95 waitmessage setvar VAR_0x8004, 2 @@ -568,7 +568,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D case 11, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F case 127, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText copyvar VAR_0x8006, VAR_0x800A copyvar VAR_0x8005, VAR_RESULT special PutFanClubSpecialOnTheAir @@ -577,7 +577,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CCD, 5 compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 @@ -587,14 +587,14 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6:: @ 821CEC6 setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CF5, 4 release end LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8 setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281D40, 4 setflag FLAG_0x0D2 release @@ -602,7 +602,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8 LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED:: @ 821CEED setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281DB4, 4 release end diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc index 9c821e14f..d6b4bbd8d 100644 --- a/data/maps/MarineCave_End/scripts.inc +++ b/data/maps/MarineCave_End/scripts.inc @@ -9,7 +9,7 @@ MarineCave_End_MapScript1_23AFEA: @ 823AFEA end MarineCave_End_EventScript_23AFF4:: @ 823AFF4 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, MarineCave_End_EventScript_27374E removeobject 1 @@ -42,7 +42,7 @@ MarineCave_End_EventScript_23B01B:: @ 823B01B waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE setvar VAR_TEMP_1, 0 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq MarineCave_End_EventScript_23B084 compare VAR_RESULT, 4 diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc index 400a24c24..733581b74 100644 --- a/data/maps/MauvilleCity_GameCorner/scripts.inc +++ b/data/maps/MauvilleCity_GameCorner/scripts.inc @@ -409,7 +409,7 @@ MauvilleCity_GameCorner_EventScript_210137:: @ 8210137 msgbox MauvilleCity_GameCorner_Text_210750, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210209 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, MauvilleCity_GameCorner_EventScript_21017C case 1, MauvilleCity_GameCorner_EventScript_2101A6 case 2, MauvilleCity_GameCorner_EventScript_2101D0 @@ -540,7 +540,7 @@ MauvilleCity_GameCorner_EventScript_2102D6:: @ 82102D6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 0 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -551,7 +551,7 @@ MauvilleCity_GameCorner_EventScript_2102F6:: @ 82102F6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 1 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -562,7 +562,7 @@ MauvilleCity_GameCorner_EventScript_210316:: @ 8210316 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 2 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -573,7 +573,7 @@ MauvilleCity_GameCorner_EventScript_210336:: @ 8210336 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 3 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -584,7 +584,7 @@ MauvilleCity_GameCorner_EventScript_210356:: @ 8210356 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 4 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -595,7 +595,7 @@ MauvilleCity_GameCorner_EventScript_210376:: @ 8210376 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 5 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -606,7 +606,7 @@ MauvilleCity_GameCorner_EventScript_210396:: @ 8210396 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 6 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -617,7 +617,7 @@ MauvilleCity_GameCorner_EventScript_2103B6:: @ 82103B6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 7 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -628,7 +628,7 @@ MauvilleCity_GameCorner_EventScript_2103D6:: @ 82103D6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 8 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -639,7 +639,7 @@ MauvilleCity_GameCorner_EventScript_2103F6:: @ 82103F6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 9 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -650,7 +650,7 @@ MauvilleCity_GameCorner_EventScript_210416:: @ 8210416 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 10 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -661,7 +661,7 @@ MauvilleCity_GameCorner_EventScript_210436:: @ 8210436 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 11 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc index fb76a5fc7..b2267122b 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ MauvilleCity_PokemonCenter_1F_MapScripts:: @ 8210E5B .byte 0 MauvilleCity_PokemonCenter_1F_MapScript1_210E66: @ 8210E66 - setrespawn 5 + setrespawn HEAL_LOCATION_MAUVILLE_CITY call MauvilleCity_PokemonCenter_1F_EventScript_2718DE goto MauvilleCity_PokemonCenter_1F_EventScript_210E74 end diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc index 7fd2e61a0..2ff03b7f3 100644 --- a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ MossdeepCity_PokemonCenter_1F_MapScripts:: @ 822223F .byte 0 MossdeepCity_PokemonCenter_1F_MapScript1_22224A: @ 822224A - setrespawn 9 + setrespawn HEAL_LOCATION_MOSSDEEP_CITY end MossdeepCity_PokemonCenter_1F_EventScript_22224E:: @ 822224E diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc index cce93e624..febe106bf 100644 --- a/data/maps/NavelRock_Bottom/scripts.inc +++ b/data/maps/NavelRock_Bottom/scripts.inc @@ -26,7 +26,7 @@ NavelRock_Bottom_MapScript1_269284: @ 8269284 end NavelRock_Bottom_EventScript_26928E:: @ 826928E - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, NavelRock_Bottom_EventScript_27374E removeobject 1 @@ -64,7 +64,7 @@ NavelRock_Bottom_EventScript_2692A2:: @ 82692A2 special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NavelRock_Bottom_EventScript_269336 compare VAR_RESULT, 4 diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc index 67ddbc373..4310529dd 100644 --- a/data/maps/NavelRock_Top/scripts.inc +++ b/data/maps/NavelRock_Top/scripts.inc @@ -29,7 +29,7 @@ NavelRock_Top_MapScript1_269151: @ 8269151 end NavelRock_Top_EventScript_26915B:: @ 826915B - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, NavelRock_Top_EventScript_27374E removeobject 1 @@ -69,7 +69,7 @@ NavelRock_Top_EventScript_26916F:: @ 826916F waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE setvar VAR_LAST_TALKED, 1 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NavelRock_Top_EventScript_269217 compare VAR_RESULT, 4 diff --git a/data/maps/NewMauville_Inside/scripts.inc b/data/maps/NewMauville_Inside/scripts.inc index 81b21287d..e6d80c33d 100644 --- a/data/maps/NewMauville_Inside/scripts.inc +++ b/data/maps/NewMauville_Inside/scripts.inc @@ -14,7 +14,7 @@ NewMauville_Inside_MapScript1_2373E7: @ 82373E7 end NewMauville_Inside_EventScript_237407:: @ 8237407 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, NewMauville_Inside_EventScript_27374E removeobject VAR_LAST_TALKED @@ -193,7 +193,7 @@ NewMauville_Inside_EventScript_2377AF:: @ 82377AF setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NewMauville_Inside_EventScript_2377F3 compare VAR_RESULT, 4 @@ -220,7 +220,7 @@ NewMauville_Inside_EventScript_2377FC:: @ 82377FC setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NewMauville_Inside_EventScript_237840 compare VAR_RESULT, 4 @@ -247,7 +247,7 @@ NewMauville_Inside_EventScript_237849:: @ 8237849 setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NewMauville_Inside_EventScript_23788D compare VAR_RESULT, 4 diff --git a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc index ece540e70..e99e628a6 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ OldaleTown_PokemonCenter_1F_MapScripts:: @ 81FC006 .byte 0 OldaleTown_PokemonCenter_1F_MapScript1_1FC011: @ 81FC011 - setrespawn 14 + setrespawn HEAL_LOCATION_OLDALE_TOWN call OldaleTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/PacifidlogTown_House2/scripts.inc b/data/maps/PacifidlogTown_House2/scripts.inc index 0e87677e6..21345242d 100644 --- a/data/maps/PacifidlogTown_House2/scripts.inc +++ b/data/maps/PacifidlogTown_House2/scripts.inc @@ -25,7 +25,7 @@ PacifidlogTown_House2_EventScript_203792:: @ 8203792 PacifidlogTown_House2_EventScript_2037DE:: @ 82037DE checkflag FLAG_0x12B goto_if 0, PacifidlogTown_House2_EventScript_27374E - specialvar VAR_RESULT, sub_813970C + specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable compare VAR_RESULT, 0 call_if 1, PacifidlogTown_House2_EventScript_203812 return @@ -49,7 +49,7 @@ PacifidlogTown_House2_EventScript_203816:: @ 8203816 compare VAR_RESULT, 0 goto_eq PacifidlogTown_House2_EventScript_272054 setflag FLAG_0x12B - special sub_8139754 + special SetPacifidlogTMReceivedDay msgbox PacifidlogTown_House2_Text_203A85, 4 release end @@ -65,13 +65,13 @@ PacifidlogTown_House2_EventScript_20384F:: @ 820384F compare VAR_RESULT, 0 goto_eq PacifidlogTown_House2_EventScript_272054 setflag FLAG_0x12B - special sub_8139754 + special SetPacifidlogTMReceivedDay msgbox PacifidlogTown_House2_Text_203A85, 4 release end PacifidlogTown_House2_EventScript_20387E:: @ 820387E - specialvar VAR_RESULT, sub_813970C + specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable buffernumberstring 0, VAR_RESULT msgbox PacifidlogTown_House2_Text_203AF4, 4 release diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc index fd34cd2aa..65af1cdc7 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ PacifidlogTown_PokemonCenter_1F_MapScripts:: @ 82034A7 .byte 0 PacifidlogTown_PokemonCenter_1F_MapScript1_2034B2: @ 82034B2 - setrespawn 19 + setrespawn HEAL_LOCATION_PACIFIDLOG_TOWN end PacifidlogTown_PokemonCenter_1F_EventScript_2034B6:: @ 82034B6 diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc index f4a31854e..130a43de9 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ PetalburgCity_PokemonCenter_1F_MapScripts:: @ 82079E8 .byte 0 PetalburgCity_PokemonCenter_1F_MapScript1_2079F3: @ 82079F3 - setrespawn 3 + setrespawn HEAL_LOCATION_PETALBURG_CITY call PetalburgCity_PokemonCenter_1F_EventScript_2718DE end @@ -35,11 +35,11 @@ PetalburgCity_PokemonCenter_1F_EventScript_207A1C:: @ 8207A1C end PetalburgCity_PokemonCenter_1F_EventScript_207A38:: @ 8207A38 - compare VAR_FIRST_POKE, 0 + compare VAR_STARTER_MON, 0 call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A5B - compare VAR_FIRST_POKE, 1 + compare VAR_STARTER_MON, 1 call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A64 - compare VAR_FIRST_POKE, 2 + compare VAR_STARTER_MON, 2 call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A6D release end diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index 14e119cd6..6674662f7 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -38,7 +38,7 @@ Route103_EventScript_1EC3DA:: @ 81EC3DA applymovement 2, Route103_Movement_27259A waitmovement 0 msgbox Route103_Text_1EC7DE, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route103_EventScript_1EC48E case 1, Route103_EventScript_1EC49E case 2, Route103_EventScript_1EC4AE @@ -55,7 +55,7 @@ Route103_EventScript_1EC434:: @ 81EC434 applymovement 2, Route103_Movement_27259A waitmovement 0 msgbox Route103_Text_1EC9CE, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route103_EventScript_1EC4BE case 1, Route103_EventScript_1EC4CE case 2, Route103_EventScript_1EC4DE diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc index 4755494b6..9b45844f0 100644 --- a/data/maps/Route104/scripts.inc +++ b/data/maps/Route104/scripts.inc @@ -153,7 +153,7 @@ Route104_EventScript_1ECDD0:: @ 81ECDD0 Route104_EventScript_1ECDED:: @ 81ECDED msgbox Route104_Text_1EDDDB, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route104_EventScript_1ECE36 case 1, Route104_EventScript_1ECE49 case 2, Route104_EventScript_1ECE5C @@ -230,7 +230,7 @@ Route104_EventScript_1ECEEC:: @ 81ECEEC Route104_EventScript_1ECF09:: @ 81ECF09 msgbox Route104_Text_1EE0C7, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route104_EventScript_1ECF4D case 1, Route104_EventScript_1ECF60 case 2, Route104_EventScript_1ECF73 diff --git a/data/maps/Route110/events.inc b/data/maps/Route110/events.inc index 6e6d17d9a..f4875cc6c 100644 --- a/data/maps/Route110/events.inc +++ b/data/maps/Route110/events.inc @@ -45,8 +45,8 @@ Route110_MapWarps: @ 8529050 warp_def 19, 88, 0, 2, MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE Route110_MapCoordEvents: @ 8529080 - coord_event 28, 92, 3, VAR_0x40A9, 2, Route110_EventScript_1EF661 - coord_event 29, 92, 3, VAR_0x40A9, 2, Route110_EventScript_1EF661 + coord_event 28, 92, 3, VAR_CYCLING_CHALLENGE_STATE, 2, Route110_EventScript_1EF661 + coord_event 29, 92, 3, VAR_CYCLING_CHALLENGE_STATE, 2, Route110_EventScript_1EF661 coord_event 33, 56, 3, VAR_0x4069, 0, Route110_EventScript_1EF74D coord_event 34, 56, 3, VAR_0x4069, 0, Route110_EventScript_1EF758 coord_event 35, 56, 3, VAR_0x4069, 0, Route110_EventScript_1EF763 diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc index 84d50b454..fe07de8dc 100644 --- a/data/maps/Route110/scripts.inc +++ b/data/maps/Route110/scripts.inc @@ -11,7 +11,7 @@ Route110_MapScript1_1EF279: @ 81EF279 Route110_MapScript1_1EF27D: @ 81EF27D call Route110_EventScript_271ED7 call Route110_EventScript_271EFB - compare VAR_0x40A9, 1 + compare VAR_CYCLING_CHALLENGE_STATE, 1 call_if 1, Route110_EventScript_1EF293 end @@ -20,12 +20,12 @@ Route110_EventScript_1EF293:: @ 81EF293 return Route110_MapScript2_1EF297: @ 81EF297 - map_script_2 VAR_0x40A9, 1, Route110_EventScript_1EF2A1 + map_script_2 VAR_CYCLING_CHALLENGE_STATE, 1, Route110_EventScript_1EF2A1 .2byte 0 Route110_EventScript_1EF2A1:: @ 81EF2A1 special Special_BeginCyclingRoadChallenge - setvar VAR_0x40A9, 2 + setvar VAR_CYCLING_CHALLENGE_STATE, 2 return Route110_EventScript_1EF2AA:: @ 81EF2AA @@ -148,7 +148,7 @@ Route110_EventScript_1EF3B7:: @ 81EF3B7 specialvar VAR_RESULT, GetPlayerAvatarBike compare VAR_RESULT, 1 goto_eq Route110_EventScript_1EF3E8 - compare VAR_0x40A9, 0 + compare VAR_CYCLING_CHALLENGE_STATE, 0 goto_eq Route110_EventScript_1EF3DE msgbox Route110_Text_1F06FB, 4 release @@ -368,7 +368,7 @@ Route110_EventScript_1EF735:: @ 81EF735 end Route110_EventScript_1EF743:: @ 81EF743 - setvar VAR_0x40A9, 3 + setvar VAR_CYCLING_CHALLENGE_STATE, 3 savebgm MUS_DUMMY fadedefaultbgm return @@ -426,7 +426,7 @@ Route110_EventScript_1EF7E6:: @ 81EF7E6 Route110_EventScript_1EF7EB:: @ 81EF7EB msgbox Route110_Text_1EFC48, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route110_EventScript_1EF81A case 1, Route110_EventScript_1EF82A case 2, Route110_EventScript_1EF83A @@ -456,7 +456,7 @@ Route110_EventScript_1EF84A:: @ 81EF84A Route110_EventScript_1EF865:: @ 81EF865 msgbox Route110_Text_1EFE3F, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route110_EventScript_1EF894 case 1, Route110_EventScript_1EF8A4 case 2, Route110_EventScript_1EF8B4 diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc index 9f99cf44f..b38bbf896 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc @@ -3,14 +3,14 @@ Route110_SeasideCyclingRoadSouthEntrance_MapScripts:: @ 826EBA1 .byte 0 Route110_SeasideCyclingRoadSouthEntrance_MapScript1_26EBA7: @ 826EBA7 - compare VAR_0x40A9, 3 + compare VAR_CYCLING_CHALLENGE_STATE, 3 call_if 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE - compare VAR_0x40A9, 2 + compare VAR_CYCLING_CHALLENGE_STATE, 2 call_if 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE end Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE:: @ 826EBBE - setvar VAR_0x40A9, 1 + setvar VAR_CYCLING_CHALLENGE_STATE, 1 return Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBC4:: @ 826EBC4 @@ -33,7 +33,7 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBD0:: @ 826EBD0 end Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6:: @ 826EBF6 - setvar VAR_0x40A9, 1 + setvar VAR_CYCLING_CHALLENGE_STATE, 1 return Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC:: @ 826EBFC @@ -50,7 +50,7 @@ Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11: @ 826EC11 Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EC13:: @ 826EC13 lockall - setvar VAR_0x40A9, 0 + setvar VAR_CYCLING_CHALLENGE_STATE, 0 clearflag FLAG_SYS_CYCLING_ROAD setvar VAR_TEMP_1, 0 releaseall diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc index 854411ac1..769d254a5 100644 --- a/data/maps/Route116/scripts.inc +++ b/data/maps/Route116/scripts.inc @@ -169,7 +169,7 @@ Route116_EventScript_1F2DB6:: @ 81F2DB6 checkitem ITEM_BLACK_GLASSES, 1 compare VAR_RESULT, 1 goto_eq Route116_EventScript_1F2DF1 - specialvar VAR_RESULT, sub_8139634 + specialvar VAR_RESULT, FoundBlackGlasses compare VAR_RESULT, 1 goto_eq Route116_EventScript_1F2DE2 msgbox Route116_Text_1F3657, 4 @@ -185,7 +185,7 @@ Route116_EventScript_1F2DE2:: @ 81F2DE2 Route116_EventScript_1F2DF1:: @ 81F2DF1 msgbox Route116_Text_1F3657, 4 msgbox Route116_Text_1F3688, 4 - specialvar VAR_RESULT, sub_8139634 + specialvar VAR_RESULT, FoundBlackGlasses compare VAR_RESULT, 1 goto_eq Route116_EventScript_1F2E1B msgbox Route116_Text_1F375E, 4 diff --git a/data/maps/Route116_TunnelersRestHouse/scripts.inc b/data/maps/Route116_TunnelersRestHouse/scripts.inc index f9dbbd3f2..b2c009337 100644 --- a/data/maps/Route116_TunnelersRestHouse/scripts.inc +++ b/data/maps/Route116_TunnelersRestHouse/scripts.inc @@ -17,7 +17,7 @@ Route116_TunnelersRestHouse_EventScript_22B863:: @ 822B863 Route116_TunnelersRestHouse_EventScript_22B86C:: @ 822B86C lock faceplayer - checkflag FLAG_0x0C7 + checkflag FLAG_RUSTURF_TUNNEL_OPENED goto_eq Route116_TunnelersRestHouse_EventScript_22B881 msgbox Route116_TunnelersRestHouse_Text_22BAAF, 4 release diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc index 778d925e6..f2e52d50c 100644 --- a/data/maps/Route119/scripts.inc +++ b/data/maps/Route119/scripts.inc @@ -9,7 +9,7 @@ Route119_MapScript1_1F442F: @ 81F442F end Route119_EventScript_1F4439:: @ 81F4439 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, Route119_EventScript_27374E removeobject VAR_LAST_TALKED @@ -80,7 +80,7 @@ Route119_EventScript_1F4506:: @ 81F4506 Route119_EventScript_1F450B:: @ 81F450B msgbox Route119_Text_1F49FD, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route119_EventScript_1F453A case 1, Route119_EventScript_1F454A case 2, Route119_EventScript_1F455A @@ -110,7 +110,7 @@ Route119_EventScript_1F456A:: @ 81F456A Route119_EventScript_1F4585:: @ 81F4585 msgbox Route119_Text_1F4C9A, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route119_EventScript_1F45B4 case 1, Route119_EventScript_1F45C4 case 2, Route119_EventScript_1F45D4 diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc index 50e5742d1..0bcff1a93 100644 --- a/data/maps/Route120/scripts.inc +++ b/data/maps/Route120/scripts.inc @@ -25,7 +25,7 @@ Route120_EventScript_1F5406:: @ 81F5406 return Route120_EventScript_1F5449:: @ 81F5449 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, Route120_EventScript_27374E removeobject 30 @@ -33,7 +33,7 @@ Route120_EventScript_1F5449:: @ 81F5449 return Route120_EventScript_1F5460:: @ 81F5460 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, Route120_EventScript_27374E removeobject VAR_LAST_TALKED @@ -220,7 +220,7 @@ Route120_EventScript_1F568B:: @ 81F568B setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq Route120_EventScript_1F571C compare VAR_RESULT, 4 diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc index 6eb8d48bc..f4c8d5434 100644 --- a/data/maps/RustboroCity/scripts.inc +++ b/data/maps/RustboroCity/scripts.inc @@ -306,7 +306,7 @@ RustboroCity_EventScript_1E09CD:: @ 81E09CD clearflag FLAG_0x2DC setflag FLAG_0x08E setvar VAR_0x405A, 2 - setvar VAR_0x409A, 2 + setvar VAR_RUSTURF_TUNNEL_STATE, 2 setvar VAR_0x406F, 1 clearflag FLAG_0x37B clearflag FLAG_0x370 @@ -869,7 +869,7 @@ RustboroCity_EventScript_1E1070:: @ 81E1070 RustboroCity_EventScript_1E1092:: @ 81E1092 msgbox RustboroCity_Text_1E1C84, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, RustboroCity_EventScript_1E10DB case 1, RustboroCity_EventScript_1E10EE case 2, RustboroCity_EventScript_1E1101 @@ -940,7 +940,7 @@ RustboroCity_EventScript_1E1174:: @ 81E1174 RustboroCity_EventScript_1E1191:: @ 81E1191 msgbox RustboroCity_Text_1E1FA9, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, RustboroCity_EventScript_1E11D5 case 1, RustboroCity_EventScript_1E11E8 case 2, RustboroCity_EventScript_1E11FB diff --git a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc index a9156d5aa..acf33e647 100644 --- a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ RustboroCity_PokemonCenter_1F_MapScripts:: @ 8214D62 .byte 0 RustboroCity_PokemonCenter_1F_MapScript1_214D6D: @ 8214D6D - setrespawn 6 + setrespawn HEAL_LOCATION_RUSTBORO_CITY call RustboroCity_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/RusturfTunnel/events.inc b/data/maps/RusturfTunnel/events.inc index d0d56e6fa..77b6f7a61 100644 --- a/data/maps/RusturfTunnel/events.inc +++ b/data/maps/RusturfTunnel/events.inc @@ -17,8 +17,8 @@ RusturfTunnel_MapWarps: @ 85342B4 RusturfTunnel_MapCoordEvents: @ 85342CC coord_event 23, 4, 3, 0, 0, RusturfTunnel_EventScript_22D071 - coord_event 9, 4, 3, VAR_0x409A, 2, RusturfTunnel_EventScript_22D083 - coord_event 9, 5, 3, VAR_0x409A, 2, RusturfTunnel_EventScript_22D083 + coord_event 9, 4, 3, VAR_RUSTURF_TUNNEL_STATE, 2, RusturfTunnel_EventScript_22D083 + coord_event 9, 5, 3, VAR_RUSTURF_TUNNEL_STATE, 2, RusturfTunnel_EventScript_22D083 coord_event 25, 4, 3, 0, 0, RusturfTunnel_EventScript_22D077 coord_event 25, 5, 3, 0, 0, RusturfTunnel_EventScript_22D07D diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc index 5e42be78d..33e87bda5 100644 --- a/data/maps/RusturfTunnel/scripts.inc +++ b/data/maps/RusturfTunnel/scripts.inc @@ -4,12 +4,12 @@ RusturfTunnel_MapScripts:: @ 822CE27 .byte 0 RusturfTunnel_MapScript2_22CE32: @ 822CE32 - map_script_2 VAR_0x409A, 4, RusturfTunnel_EventScript_22CEAE - map_script_2 VAR_0x409A, 5, RusturfTunnel_EventScript_22CEAE + map_script_2 VAR_RUSTURF_TUNNEL_STATE, 4, RusturfTunnel_EventScript_22CEAE + map_script_2 VAR_RUSTURF_TUNNEL_STATE, 5, RusturfTunnel_EventScript_22CEAE .2byte 0 RusturfTunnel_MapScript1_22CE44: @ 822CE44 - compare VAR_0x409A, 2 + compare VAR_RUSTURF_TUNNEL_STATE, 2 call_if 1, RusturfTunnel_EventScript_22CE50 end @@ -288,7 +288,7 @@ RusturfTunnel_EventScript_22D083:: @ 822D083 waitmovement 0 moveobjectoffscreen 6 moveobjectoffscreen 7 - setvar VAR_0x409A, 3 + setvar VAR_RUSTURF_TUNNEL_STATE, 3 releaseall end diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc index 2e1b4cfa4..8fcd6e59b 100644 --- a/data/maps/SSTidalCorridor/scripts.inc +++ b/data/maps/SSTidalCorridor/scripts.inc @@ -4,15 +4,15 @@ SSTidalCorridor_MapScripts:: @ 823BFCF SSTidalCorridor_MapScript2_23BFD5: @ 823BFD5 map_script_2 VAR_0x40D4, 0, SSTidalCorridor_EventScript_23C219 - map_script_2 VAR_PORTHOLE, 1, SSTidalCorridor_EventScript_23BFFF - map_script_2 VAR_PORTHOLE, 5, SSTidalCorridor_EventScript_23C015 - map_script_2 VAR_PORTHOLE, 9, SSTidalCorridor_EventScript_23C067 - map_script_2 VAR_PORTHOLE, 10, SSTidalCorridor_EventScript_23C07D + map_script_2 VAR_PORTHOLE_STATE, 1, SSTidalCorridor_EventScript_23BFFF + map_script_2 VAR_PORTHOLE_STATE, 5, SSTidalCorridor_EventScript_23C015 + map_script_2 VAR_PORTHOLE_STATE, 9, SSTidalCorridor_EventScript_23C067 + map_script_2 VAR_PORTHOLE_STATE, 10, SSTidalCorridor_EventScript_23C07D .2byte 0 SSTidalCorridor_EventScript_23BFFF:: @ 823BFFF special SetSSTidalFlag - setvar VAR_PORTHOLE, 2 + setvar VAR_PORTHOLE_STATE, 2 lockall playse SE_PINPON msgbox SSTidalCorridor_Text_23C462, 4 @@ -20,7 +20,7 @@ SSTidalCorridor_EventScript_23BFFF:: @ 823BFFF end SSTidalCorridor_EventScript_23C015:: @ 823C015 - setvar VAR_PORTHOLE, 6 + setvar VAR_PORTHOLE_STATE, 6 lockall playse SE_PINPON msgbox SSTidalCorridor_Text_23C4E3, 4 @@ -29,28 +29,28 @@ SSTidalCorridor_EventScript_23C015:: @ 823C015 SSTidalRooms_EventScript_23C028:: @ 823C028 special SetSSTidalFlag - setvar VAR_PORTHOLE, 7 + setvar VAR_PORTHOLE_STATE, 7 playse SE_PINPON msgbox SSTidalRooms_Text_23C462, 4 return SSTidalRooms_EventScript_23C03C:: @ 823C03C special ResetSSTidalFlag - setvar VAR_PORTHOLE, 4 + setvar VAR_PORTHOLE_STATE, 4 playse SE_PINPON msgbox SSTidalRooms_Text_23C553, 4 return SSTidalCorridor_EventScript_23C050:: @ 823C050 - compare VAR_PORTHOLE, 2 + compare VAR_PORTHOLE_STATE, 2 goto_eq SSTidalCorridor_EventScript_23C067 - compare VAR_PORTHOLE, 7 + compare VAR_PORTHOLE_STATE, 7 goto_eq SSTidalCorridor_EventScript_23C07D end SSTidalCorridor_EventScript_23C067:: @ 823C067 special ResetSSTidalFlag - setvar VAR_PORTHOLE, 3 + setvar VAR_PORTHOLE_STATE, 3 lockall playse SE_PINPON msgbox SSTidalCorridor_Text_23C4E3, 4 @@ -59,7 +59,7 @@ SSTidalCorridor_EventScript_23C067:: @ 823C067 SSTidalCorridor_EventScript_23C07D:: @ 823C07D special ResetSSTidalFlag - setvar VAR_PORTHOLE, 8 + setvar VAR_PORTHOLE_STATE, 8 lockall playse SE_PINPON msgbox SSTidalCorridor_Text_23C50F, 4 @@ -68,13 +68,13 @@ SSTidalCorridor_EventScript_23C07D:: @ 823C07D SSTidalRooms_EventScript_23C093:: @ 823C093 special ResetSSTidalFlag - setvar VAR_PORTHOLE, 8 + setvar VAR_PORTHOLE_STATE, 8 playse SE_PINPON msgbox SSTidalRooms_Text_23C50F, 4 return SSTidalRooms_EventScript_23C0A7:: @ 823C0A7 - switch VAR_PORTHOLE + switch VAR_PORTHOLE_STATE case 2, SSTidalRooms_EventScript_23C03C case 3, SSTidalRooms_EventScript_23C03C case 6, SSTidalRooms_EventScript_23C028 @@ -114,16 +114,16 @@ SSTidalCorridor_EventScript_23C110:: @ 823C110 SSTidalCorridor_EventScript_23C119:: @ 823C119 lock faceplayer - compare VAR_PORTHOLE, 4 + compare VAR_PORTHOLE_STATE, 4 goto_eq SSTidalCorridor_EventScript_23C13B - compare VAR_PORTHOLE, 8 + compare VAR_PORTHOLE_STATE, 8 goto_eq SSTidalCorridor_EventScript_23C15A msgbox SSTidalCorridor_Text_23C596, 4 release end SSTidalCorridor_EventScript_23C13B:: @ 823C13B - setrespawn 8 + setrespawn HEAL_LOCATION_LILYCOVE_CITY msgbox SSTidalCorridor_Text_23C64F, 4 checkflag FLAG_0x104 call_if 1, SSTidalCorridor_EventScript_23C179 @@ -133,7 +133,7 @@ SSTidalCorridor_EventScript_23C13B:: @ 823C13B end SSTidalCorridor_EventScript_23C15A:: @ 823C15A - setrespawn 4 + setrespawn HEAL_LOCATION_SLATEPORT_CITY msgbox SSTidalCorridor_Text_23C64F, 4 checkflag FLAG_0x104 call_if 1, SSTidalCorridor_EventScript_23C179 @@ -148,9 +148,9 @@ SSTidalCorridor_EventScript_23C179:: @ 823C179 SSTidalCorridor_EventScript_23C17D:: @ 823C17D lockall - compare VAR_PORTHOLE, 2 + compare VAR_PORTHOLE_STATE, 2 goto_eq SSTidalCorridor_EventScript_23C19E - compare VAR_PORTHOLE, 7 + compare VAR_PORTHOLE_STATE, 7 goto_eq SSTidalCorridor_EventScript_23C19E msgbox SSTidalCorridor_Text_23C6C3, 4 releaseall diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc index 334acc8ac..690464698 100644 --- a/data/maps/SkyPillar_Top/scripts.inc +++ b/data/maps/SkyPillar_Top/scripts.inc @@ -10,7 +10,7 @@ SkyPillar_Top_MapScript1_2396C8: @ 82396C8 end SkyPillar_Top_EventScript_2396D2:: @ 82396D2 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, SkyPillar_Top_EventScript_27374E removeobject VAR_LAST_TALKED @@ -56,7 +56,7 @@ SkyPillar_Top_EventScript_239722:: @ 8239722 special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq SkyPillar_Top_EventScript_239768 compare VAR_RESULT, 4 diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc index e1f373bb2..58c318d37 100644 --- a/data/maps/SlateportCity_Harbor/scripts.inc +++ b/data/maps/SlateportCity_Harbor/scripts.inc @@ -203,7 +203,7 @@ SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92 msgbox SlateportCity_Harbor_Text_20CF93, 5 compare VAR_RESULT, 0 goto_eq SlateportCity_Harbor_EventScript_20CBDD - setvar VAR_PORTHOLE, 1 + setvar VAR_PORTHOLE_STATE, 1 call SlateportCity_Harbor_EventScript_20CBE9 warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 waitstate diff --git a/data/maps/SlateportCity_House1/scripts.inc b/data/maps/SlateportCity_House1/scripts.inc index 8ecc859f7..745cc6627 100644 --- a/data/maps/SlateportCity_House1/scripts.inc +++ b/data/maps/SlateportCity_House1/scripts.inc @@ -34,7 +34,7 @@ SlateportCity_House1_EventScript_209AF3:: @ 8209AF3 special TV_CheckMonOTIDEqualsPlayerID compare VAR_RESULT, 1 goto_eq SlateportCity_House1_EventScript_209B50 - specialvar VAR_RESULT, sub_8139770 + specialvar VAR_RESULT, MonOTNameMatchesPlayer special TV_CopyNicknameToStringVar1AndEnsureTerminated compare VAR_RESULT, 1 goto_eq SlateportCity_House1_EventScript_209B50 diff --git a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc index 404804c57..dd62280bb 100644 --- a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ SlateportCity_PokemonCenter_1F_MapScripts:: @ 820DABF .byte 0 SlateportCity_PokemonCenter_1F_MapScript1_20DACA: @ 820DACA - setrespawn 4 + setrespawn HEAL_LOCATION_SLATEPORT_CITY call SlateportCity_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc index cdcf5866c..652ac791a 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc @@ -91,7 +91,7 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E:: @ 8227A4E SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58 special SavePlayerParty - special sub_8139238 + special BufferEReaderTrainerName msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227BFC, 5 compare VAR_RESULT, 0 goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc index fcb1b5863..46dccd97e 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ SootopolisCity_PokemonCenter_1F_MapScripts:: @ 82264F1 .byte 0 SootopolisCity_PokemonCenter_1F_MapScript1_2264FC: @ 82264FC - setrespawn 10 + setrespawn HEAL_LOCATION_SOOTOPOLIS_CITY end SootopolisCity_PokemonCenter_1F_EventScript_226500:: @ 8226500 diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc index 432667cc9..3005e32d7 100644 --- a/data/maps/SouthernIsland_Interior/scripts.inc +++ b/data/maps/SouthernIsland_Interior/scripts.inc @@ -9,7 +9,7 @@ SouthernIsland_Interior_MapScript1_242A50: @ 8242A50 end SouthernIsland_Interior_EventScript_242A5A:: @ 8242A5A - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, SouthernIsland_Interior_EventScript_27374E removeobject 2 @@ -90,7 +90,7 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 special BattleSetup_StartLatiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq SouthernIsland_Interior_EventScript_242B81 compare VAR_RESULT, 4 diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc index 5152f85cf..d603f2274 100644 --- a/data/maps/TerraCave_End/scripts.inc +++ b/data/maps/TerraCave_End/scripts.inc @@ -9,7 +9,7 @@ TerraCave_End_MapScript1_23B0BB: @ 823B0BB end TerraCave_End_EventScript_23B0C5:: @ 823B0C5 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, TerraCave_End_EventScript_27374E removeobject 1 @@ -42,7 +42,7 @@ TerraCave_End_EventScript_23B0EC:: @ 823B0EC waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE setvar VAR_TEMP_1, 0 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq TerraCave_End_EventScript_23B155 compare VAR_RESULT, 4 diff --git a/data/maps/TrainerHill_Elevator/scripts.inc b/data/maps/TrainerHill_Elevator/scripts.inc index ac2d5c8a7..ff731393b 100644 --- a/data/maps/TrainerHill_Elevator/scripts.inc +++ b/data/maps/TrainerHill_Elevator/scripts.inc @@ -50,7 +50,7 @@ TrainerHill_Elevator_EventScript_2693D4:: @ 82693D4 TrainerHill_Elevator_EventScript_2693D9:: @ 82693D9 waitse - special sub_8139A78 + special ShakeScreenInElevator waitstate return diff --git a/data/maps/VerdanturfTown/scripts.inc b/data/maps/VerdanturfTown/scripts.inc index 2987a9a59..8cc8f6f4d 100644 --- a/data/maps/VerdanturfTown/scripts.inc +++ b/data/maps/VerdanturfTown/scripts.inc @@ -10,7 +10,7 @@ VerdanturfTown_MapScript1_1EB56C: @ 81EB56C VerdanturfTown_EventScript_1EB575:: @ 81EB575 lock faceplayer - checkflag FLAG_0x0C7 + checkflag FLAG_RUSTURF_TUNNEL_OPENED goto_eq VerdanturfTown_EventScript_1EB594 msgbox VerdanturfTown_Text_1EB5FD, 4 applymovement 2, VerdanturfTown_Movement_2725A2 @@ -36,7 +36,7 @@ VerdanturfTown_EventScript_1EB5B1:: @ 81EB5B1 VerdanturfTown_EventScript_1EB5BA:: @ 81EB5BA lock faceplayer - checkflag FLAG_0x0C7 + checkflag FLAG_RUSTURF_TUNNEL_OPENED goto_eq VerdanturfTown_EventScript_1EB5CF msgbox VerdanturfTown_Text_1EB854, 4 release diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc index 73c7fe1f3..131df00f7 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ VerdanturfTown_PokemonCenter_1F_MapScripts:: @ 8202726 .byte 0 VerdanturfTown_PokemonCenter_1F_MapScript1_202731: @ 8202731 - setrespawn 18 + setrespawn HEAL_LOCATION_VERDANTURF_TOWN call VerdanturfTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/VerdanturfTown_WandasHouse/scripts.inc b/data/maps/VerdanturfTown_WandasHouse/scripts.inc index fabff6420..8184f4c21 100644 --- a/data/maps/VerdanturfTown_WandasHouse/scripts.inc +++ b/data/maps/VerdanturfTown_WandasHouse/scripts.inc @@ -69,7 +69,7 @@ VerdanturfTown_WandasHouse_EventScript_20294E:: @ 820294E goto_eq VerdanturfTown_WandasHouse_EventScript_202989 checkflag FLAG_0x4F3 goto_eq VerdanturfTown_WandasHouse_EventScript_20297F - checkflag FLAG_0x0C7 + checkflag FLAG_RUSTURF_TUNNEL_OPENED goto_eq VerdanturfTown_WandasHouse_EventScript_202975 msgbox VerdanturfTown_WandasHouse_Text_202E47, 4 release diff --git a/data/pokemon_summary_screen.s b/data/pokemon_summary_screen.s index 51e515ccb..0c22aa6cd 100644 --- a/data/pokemon_summary_screen.s +++ b/data/pokemon_summary_screen.s @@ -3,9 +3,6 @@ .section .rodata -@ 86181C1 - .include "data/text/move_descriptions.inc" - @ 861CAAC .include "data/text/nature_names.inc" diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc index df25056ea..d0936b9c1 100644 --- a/data/scripts/field_move_scripts.inc +++ b/data/scripts/field_move_scripts.inc @@ -113,7 +113,7 @@ Route111_EventScript_2907FB:: @ 82907FB applymovement VAR_LAST_TALKED, Route111_Movement_29082B waitmovement 0 removeobject VAR_LAST_TALKED - specialvar VAR_RESULT, sub_81393FC + specialvar VAR_RESULT, TryUpdateRusturfTunnelState compare VAR_RESULT, 1 goto_eq Route111_EventScript_290829 special RockSmashWildEncounter diff --git a/data/specials.inc b/data/specials.inc index 1020b1c80..86355f484 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -174,11 +174,11 @@ gSpecials:: @ 81DBA64 def_special GetFirstFreePokeblockSlot def_special DoBerryBlending def_special sub_8142BC8 - def_special sub_813BD60 - def_special sub_813BCA8 - def_special sub_813BDB4 + def_special ShouldMoveLilycoveFanClubMember + def_special GetNumMovedLilycoveFanClubMembers + def_special BufferStreakTrainerText def_special sub_813BA30 - def_special sub_813BCE8 + def_special UpdateMovedLilycoveFanClubMembers def_special sub_813BF60 def_special sub_813BA60 def_special sub_813BF7C @@ -191,7 +191,7 @@ gSpecials:: @ 81DBA64 def_special GabbyAndTyGetLastQuote def_special GabbyAndTyGetLastBattleTrivia def_special GabbyAndTySetScriptVarsToEventObjectLocalIds - def_special sub_8138B80 + def_special GetBattleOutcome def_special GetDaycareMonNicknames def_special GetDaycareState def_special RejectEggFromDayCare @@ -227,7 +227,7 @@ gSpecials:: @ 81DBA64 def_special ShowPokedexRatingMessage def_special DoPCTurnOnEffect def_special DoPCTurnOffEffect - def_special sub_8139994 + def_special SetDepartmentStoreFloorVar def_special DoLotteryCornerComputerEffect def_special EndLotteryCornerComputerEffect def_special sub_81B951C @@ -258,7 +258,7 @@ gSpecials:: @ 81DBA64 def_special sub_81B9D08 def_special sub_80F9490 def_special ValidateEReaderTrainer - def_special sub_8139228 + def_special GetBestBattleTowerStreak def_special sub_80F94E8 def_special BedroomPC def_special PlayerPC @@ -284,7 +284,7 @@ gSpecials:: @ 81DBA64 def_special sub_80FB7A4 def_special DoSoftReset def_special GameClear - def_special sub_8139A78 + def_special ShakeScreenInElevator def_special nullsub_55 def_special SpawnScriptEventObject def_special RemoveScriptEventObject @@ -295,20 +295,20 @@ gSpecials:: @ 81DBA64 def_special sub_80B0534 def_special sub_80B058C def_special WaitWeather - def_special sub_8139238 - def_special sub_8139248 + def_special BufferEReaderTrainerName + def_special GetSlotMachineId def_special GetPlayerFacingDirection - def_special sub_81392AC - def_special sub_81392D4 - def_special sub_81392F8 - def_special sub_8139320 + def_special FoundAbandonedShipRoom1Key + def_special FoundAbandonedShipRoom2Key + def_special FoundAbandonedShipRoom4Key + def_special FoundAbandonedShipRoom6Key def_special LeadMonHasEffortRibbon def_special GiveLeadMonEffortRibbon def_special Special_AreLeadMonEVsMaxedOut def_special sub_8098574 def_special sub_809859C def_special InitRoamer - def_special sub_81393FC + def_special TryUpdateRusturfTunnelState def_special IsGrassTypeInParty def_special sub_80AFC60 def_special PutZigzagoonInPlayerParty @@ -326,7 +326,7 @@ gSpecials:: @ 81DBA64 def_special StartRegiBattle def_special sub_80B16D8 def_special DoSealedChamberShakingEffect2 - def_special sub_8139634 + def_special FoundBlackGlasses def_special sub_80AC81C def_special sp13E_warp_to_last_warp def_special sp13F_fall_to_last_warp @@ -343,11 +343,11 @@ gSpecials:: @ 81DBA64 def_special sub_80E9B70 def_special LoadPlayerBag def_special sub_80B05B4 - def_special sub_8139754 - def_special sub_813970C + def_special SetPacifidlogTMReceivedDay + def_special GetDaysUntilPacifidlogTMAvailable def_special sub_80C08E4 - def_special sub_8139770 - def_special sub_81397C4 + def_special MonOTNameMatchesPlayer + def_special BufferLottoTicketNumber def_special sub_81653CC def_special sub_80F9370 def_special sub_80F8FE8 diff --git a/data/text/move_descriptions.inc b/data/text/move_descriptions.inc deleted file mode 100644 index 0f6b1adbf..000000000 --- a/data/text/move_descriptions.inc +++ /dev/null @@ -1,1421 +0,0 @@ -gNullMoveDescription:: @ 86181C0 - .string "$" - -gPoundMoveDescription:: @ 86181C1 - .string "Pounds the foe with\nforelegs or tail.$" - -gKarateChopMoveDescription:: @ 86181E7 - .string "A chopping attack with a\nhigh critical-hit ratio.$" - -gDoubleSlapMoveDescription:: @ 8618219 - .string "Repeatedly slaps the foe\n2 to 5 times.$" - -gCometPunchMoveDescription:: @ 8618240 - .string "Repeatedly punches the foe\n2 to 5 times.$" - -gMegaPunchMoveDescription:: @ 8618269 - .string "A strong punch thrown with\nincredible power.$" - -gPayDayMoveDescription:: @ 8618296 - .string "Throws coins at the foe.\nMoney is recovered after.$" - -gFirePunchMoveDescription:: @ 86182C9 - .string "A fiery punch that may burn\nthe foe.$" - -gIcePunchMoveDescription:: @ 86182EE - .string "An icy punch that may\nfreeze the foe.$" - -gThunderPunchMoveDescription:: @ 8618314 - .string "An electrified punch that\nmay paralyze the foe.$" - -gScratchMoveDescription:: @ 8618344 - .string "Scratches the foe with\nsharp claws.$" - -gViceGripMoveDescription:: @ 8618368 - .string "Grips the foe with large and\npowerful pincers.$" - -gGuillotineMoveDescription:: @ 8618397 - .string "A powerful pincer attack\nthat may cause fainting.$" - -gRazorWindMoveDescription:: @ 86183C9 - .string "A 2-turn move that strikes\nthe foe on the 2nd turn.$" - -gSwordsDanceMoveDescription:: @ 86183FD - .string "A fighting dance that\nsharply raises ATTACK.$" - -gCutMoveDescription:: @ 861842A - .string "Cuts the foe with sharp\nscythes, claws, etc.$" - -gGustMoveDescription:: @ 8618457 - .string "Strikes the foe with a gust\nof wind whipped up by wings.$" - -gWingAttackMoveDescription:: @ 8618490 - .string "Strikes the foe with wings\nspread wide.$" - -gWhirlwindMoveDescription:: @ 86184B8 - .string "Blows away the foe with\nwind and ends the battle.$" - -gFlyMoveDescription:: @ 86184EA - .string "Flies up on the first turn,\nthen strikes the next turn.$" - -gBindMoveDescription:: @ 8618522 - .string "Binds and squeezes the foe\nfor 2 to 5 turns.$" - -gSlamMoveDescription:: @ 861854F - .string "Slams the foe with a long\ntail, vine, etc.$" - -gVineWhipMoveDescription:: @ 861857A - .string "Strikes the foe with\nslender, whiplike vines.$" - -gStompMoveDescription:: @ 86185A8 - .string "Stomps the enemy with a big\nfoot. May cause flinching.$" - -gDoubleKickMoveDescription:: @ 86185DF - .string "A double-kicking attack\nthat strikes the foe twice.$" - -gMegaKickMoveDescription:: @ 8618613 - .string "An extremely powerful kick\nwith intense force.$" - -gJumpKickMoveDescription:: @ 8618642 - .string "A strong jumping kick. May\nmiss and hurt the kicker.$" - -gRollingKickMoveDescription:: @ 8618677 - .string "A fast kick delivered from\na rapid spin.$" - -gSandAttackMoveDescription:: @ 86186A0 - .string "Reduces the foe’s accuracy\nby hurling sand in its face.$" - -gHeadbuttMoveDescription:: @ 86186D8 - .string "A ramming attack that may\ncause flinching.$" - -gHornAttackMoveDescription:: @ 8618703 - .string "Jabs the foe with sharp\nhorns.$" - -gFuryAttackMoveDescription:: @ 8618722 - .string "Jabs the foe 2 to 5 times\nwith sharp horns, etc.$" - -gHornDrillMoveDescription:: @ 8618753 - .string "A one-hit KO attack that\nuses a horn like a drill.$" - -gTackleMoveDescription:: @ 8618786 - .string "Charges the foe with a full-\nbody tackle.$" - -gBodySlamMoveDescription:: @ 86187B0 - .string "A full-body slam that may\ncause paralysis.$" - -gWrapMoveDescription:: @ 86187DB - .string "Wraps and squeezes the foe\n2 to 5 times with vines, etc.$" - -gTakeDownMoveDescription:: @ 8618814 - .string "A reckless charge attack\nthat also hurts the user.$" - -gThrashMoveDescription:: @ 8618847 - .string "A rampage of 2 to 3 turns\nthat confuses the user.$" - -gDoubleEdgeMoveDescription:: @ 8618879 - .string "A life-risking tackle that\nalso hurts the user.$" - -gTailWhipMoveDescription:: @ 86188A9 - .string "Wags the tail to lower the\nfoe’s DEFENSE.$" - -gPoisonStingMoveDescription:: @ 86188D3 - .string "A toxic attack with barbs,\netc., that may poison.$" - -gTwineedleMoveDescription:: @ 8618905 - .string "Stingers on the forelegs\njab the foe twice.$" - -gPinMissileMoveDescription:: @ 8618931 - .string "Sharp pins are fired to\nstrike 2 to 5 times.$" - -gLeerMoveDescription:: @ 861895E - .string "Frightens the foe with a\nleer to lower DEFENSE.$" - -gBiteMoveDescription:: @ 861898E - .string "Bites with vicious fangs.\nMay cause flinching.$" - -gGrowlMoveDescription:: @ 86189BD - .string "Growls cutely to reduce the\nfoe’s ATTACK.$" - -gRoarMoveDescription:: @ 86189E7 - .string "Makes the foe flee to end\nthe battle.$" - -gSingMoveDescription:: @ 8618A0D - .string "A soothing song lulls the\nfoe into a deep slumber.$" - -gSupersonicMoveDescription:: @ 8618A40 - .string "Emits bizarre sound waves\nthat may confuse the foe.$" - -gSonicBoomMoveDescription:: @ 8618A74 - .string "Launches shock waves that\nalways inflict 20 HP damage.$" - -gDisableMoveDescription:: @ 8618AAB - .string "Psychically disables one of\nthe foe’s moves.$" - -gAcidMoveDescription:: @ 8618AD8 - .string "Sprays a hide-melting acid.\nMay lower DEFENSE.$" - -gEmberMoveDescription:: @ 8618B07 - .string "A weak fire attack that may\ninflict a burn.$" - -gFlamethrowerMoveDescription:: @ 8618B33 - .string "A powerful fire attack that\nmay inflict a burn.$" - -gMistMoveDescription:: @ 8618B63 - .string "Creates a mist that stops\nreduction of abilities.$" - -gWaterGunMoveDescription:: @ 8618B95 - .string "Squirts water to attack\nthe foe.$" - -gHydroPumpMoveDescription:: @ 8618BB6 - .string "Blasts water at high power\nto strike the foe.$" - -gSurfMoveDescription:: @ 8618BE4 - .string "Creates a huge wave, then\ncrashes it down on the foe.$" - -gIceBeamMoveDescription:: @ 8618C1A - .string "Blasts the foe with an icy\nbeam that may freeze it.$" - -gBlizzardMoveDescription:: @ 8618C4E - .string "Hits the foe with an icy\nstorm that may freeze it.$" - -gPsybeamMoveDescription:: @ 8618C81 - .string "Fires a peculiar ray that\nmay confuse the foe.$" - -gBubbleBeamMoveDescription:: @ 8618CB0 - .string "Forcefully sprays bubbles\nthat may lower SPEED.$" - -gAuroraBeamMoveDescription:: @ 8618CE0 - .string "Fires a rainbow-colored\nbeam that may lower ATTACK.$" - -gHyperBeamMoveDescription:: @ 8618D14 - .string "Powerful, but leaves the\nuser immobile the next turn.$" - -gPeckMoveDescription:: @ 8618D4A - .string "Attacks the foe with a\njabbing beak, etc.$" - -gDrillPeckMoveDescription:: @ 8618D74 - .string "A corkscrewing attack with\nthe beak acting as a drill.$" - -gSubmissionMoveDescription:: @ 8618DAB - .string "A reckless body slam that\nalso hurts the user.$" - -gLowKickMoveDescription:: @ 8618DDA - .string "A kick that inflicts more\ndamage on heavier foes.$" - -gCounterMoveDescription:: @ 8618E0C - .string "Retaliates any physical hit\nwith double the power.$" - -gSeismicTossMoveDescription:: @ 8618E3F - .string "Inflicts damage identical\nto the user’s level.$" - -gStrengthMoveDescription:: @ 8618E6E - .string "Builds enormous power,\nthen slams the foe.$" - -gAbsorbMoveDescription:: @ 8618E99 - .string "An attack that absorbs\nhalf the damage inflicted.$" - -gMegaDrainMoveDescription:: @ 8618ECB - .string "An attack that absorbs\nhalf the damage inflicted.$" - -gLeechSeedMoveDescription:: @ 8618EFD - .string "Plants a seed on the foe to\nsteal HP on every turn.$" - -gGrowthMoveDescription:: @ 8618F31 - .string "Forces the body to grow\nand heightens SP. ATK.$" - -gRazorLeafMoveDescription:: @ 8618F60 - .string "Cuts the enemy with leaves.\nHigh critical-hit ratio.$" - -gSolarBeamMoveDescription:: @ 8618F95 - .string "Absorbs light in one turn,\nthen attacks next turn.$" - -gPoisonPowderMoveDescription:: @ 8618FC8 - .string "Scatters a toxic powder\nthat may poison the foe.$" - -gStunSporeMoveDescription:: @ 8618FF9 - .string "Scatters a powder that may\nparalyze the foe.$" - -gSleepPowderMoveDescription:: @ 8619026 - .string "Scatters a powder that may\ncause the foe to sleep.$" - -gPetalDanceMoveDescription:: @ 8619059 - .string "A rampage of 2 to 3 turns\nthat confuses the user.$" - -gStringShotMoveDescription:: @ 861908B - .string "Binds the foe with string\nto reduce its SPEED.$" - -gDragonRageMoveDescription:: @ 86190BA - .string "Launches shock waves that\nalways inflict 40 HP damage.$" - -gFireSpinMoveDescription:: @ 86190F1 - .string "Traps the foe in a ring of\nfire for 2 to 5 turns.$" - -gThunderShockMoveDescription:: @ 8619123 - .string "An electrical attack that\nmay paralyze the foe.$" - -gThunderboltMoveDescription:: @ 8619153 - .string "A strong electrical attack\nthat may paralyze the foe.$" - -gThunderWaveMoveDescription:: @ 8619189 - .string "A weak jolt of electricity\nthat paralyzes the foe.$" - -gThunderMoveDescription:: @ 86191BC - .string "A lightning attack that may\ncause paralysis.$" - -gRockThrowMoveDescription:: @ 86191E9 - .string "Throws small rocks to\nstrike the foe.$" - -gEarthquakeMoveDescription:: @ 861920F - .string "A powerful quake, but has\nno effect on flying foes.$" - -gFissureMoveDescription:: @ 8619243 - .string "A one-hit KO move that\ndrops the foe in a fissure.$" - -gDigMoveDescription:: @ 8619276 - .string "Digs underground the first\nturn and strikes next turn.$" - -gToxicMoveDescription:: @ 86192AD - .string "Poisons the foe with an\nintensifying toxin.$" - -gConfusionMoveDescription:: @ 86192D9 - .string "A psychic attack that may\ncause confusion.$" - -gPsychicMoveDescription:: @ 8619304 - .string "A powerful psychic attack\nthat may lower SP. DEF.$" - -gHypnosisMoveDescription:: @ 8619336 - .string "A hypnotizing move that\nmay induce sleep.$" - -gMeditateMoveDescription:: @ 8619360 - .string "Meditates in a peaceful\nfashion to raise ATTACK.$" - -gAgilityMoveDescription:: @ 8619391 - .string "Relaxes the body to sharply\nboost SPEED.$" - -gQuickAttackMoveDescription:: @ 86193BA - .string "An extremely fast attack\nthat always strikes first.$" - -gRageMoveDescription:: @ 86193EE - .string "Raises the user’s ATTACK\nevery time it is hit.$" - -gTeleportMoveDescription:: @ 861941D - .string "A psychic move for fleeing\nfrom battle instantly.$" - -gNightShadeMoveDescription:: @ 861944F - .string "Inflicts damage identical\nto the user’s level.$" - -gMimicMoveDescription:: @ 861947E - .string "Copies a move used by the\nfoe during one battle.$" - -gScreechMoveDescription:: @ 86194AF - .string "Emits a screech to sharply\nreduce the foe’s DEFENSE.$" - -gDoubleTeamMoveDescription:: @ 86194E4 - .string "Creates illusory copies to\nraise evasiveness.$" - -gRecoverMoveDescription:: @ 8619512 - .string "Recovers up to half the\nuser’s maximum HP.$" - -gHardenMoveDescription:: @ 861953D - .string "Stiffens the body’s \nmuscles to raise DEFENSE.$" - -gMinimizeMoveDescription:: @ 861956C - .string "Minimizes the user’s size\nto raise evasiveness.$" - -gSmokescreenMoveDescription:: @ 861959C - .string "Lowers the foe’s accuracy\nusing smoke, ink, etc.$" - -gConfuseRayMoveDescription:: @ 86195CD - .string "A sinister ray that\nconfuses the foe.$" - -gWithdrawMoveDescription:: @ 86195F3 - .string "Withdraws the body into its\nhard shell to raise DEFENSE.$" - -gDefenseCurlMoveDescription:: @ 861962C - .string "Curls up to conceal weak\nspots and raise DEFENSE.$" - -gBarrierMoveDescription:: @ 861965E - .string "Creates a barrier that\nsharply raises DEFENSE.$" - -gLightScreenMoveDescription:: @ 861968D - .string "Creates a wall of light that\nlowers SP. ATK damage.$" - -gHazeMoveDescription:: @ 86196C1 - .string "Creates a black haze that\neliminates all stat changes.$" - -gReflectMoveDescription:: @ 86196F8 - .string "Creates a wall of light that\nweakens physical attacks.$" - -gFocusEnergyMoveDescription:: @ 861972F - .string "Focuses power to raise the\ncritical-hit ratio.$" - -gBideMoveDescription:: @ 861975E - .string "Endures attack for 2\nturns to retaliate double.$" - -gMetronomeMoveDescription:: @ 861978E - .string "Waggles a finger to use any\nPOKéMON move at random.$" - -gMirrorMoveMoveDescription:: @ 86197C2 - .string "Counters the foe’s attack\nwith the same move.$" - -gSelfDestructMoveDescription:: @ 86197F0 - .string "Inflicts severe damage but\nmakes the user faint.$" - -gEggBombMoveDescription:: @ 8619821 - .string "An egg is forcibly hurled at\nthe foe.$" - -gLickMoveDescription:: @ 8619847 - .string "Licks with a long tongue to\ninjure. May also paralyze.$" - -gSmogMoveDescription:: @ 861987E - .string "An exhaust-gas attack\nthat may also poison.$" - -gSludgeMoveDescription:: @ 86198AA - .string "Sludge is hurled to inflict\ndamage. May also poison.$" - -gBoneClubMoveDescription:: @ 86198DF - .string "Clubs the foe with a bone.\nMay cause flinching.$" - -gFireBlastMoveDescription:: @ 861990F - .string "Incinerates everything it\nstrikes. May cause a burn.$" - -gWaterfallMoveDescription:: @ 8619944 - .string "Charges the foe with speed\nto climb waterfalls.$" - -gClampMoveDescription:: @ 8619974 - .string "Traps and squeezes the\nfoe for 2 to 5 turns.$" - -gSwiftMoveDescription:: @ 86199A1 - .string "Sprays star-shaped rays\nthat never miss.$" - -gSkullBashMoveDescription:: @ 86199CA - .string "Tucks in the head, then\nattacks on the next turn.$" - -gSpikeCannonMoveDescription:: @ 86199FC - .string "Launches sharp spikes that\nstrike 2 to 5 times.$" - -gConstrictMoveDescription:: @ 8619A2C - .string "Constricts to inflict pain.\nMay lower SPEED.$" - -gAmnesiaMoveDescription:: @ 8619A59 - .string "Forgets about something\nand sharply raises SP. DEF.$" - -gKinesisMoveDescription:: @ 8619A8D - .string "Distracts the foe.\nMay lower accuracy.$" - -gSoftBoiledMoveDescription:: @ 8619AB4 - .string "Recovers up to half the\nuser’s maximum HP.$" - -gHiJumpKickMoveDescription:: @ 8619ADF - .string "A jumping knee kick. If it\nmisses, the user is hurt.$" - -gGlareMoveDescription:: @ 8619B14 - .string "Intimidates and frightens\nthe foe into paralysis.$" - -gDreamEaterMoveDescription:: @ 8619B46 - .string "Takes one half the damage\ninflicted on a sleeping foe.$" - -gPoisonGasMoveDescription:: @ 8619B7D - .string "Envelops the foe in a toxic\ngas that may poison.$" - -gBarrageMoveDescription:: @ 8619BAE - .string "Hurls round objects at the\nfoe 2 to 5 times.$" - -gLeechLifeMoveDescription:: @ 8619BDB - .string "An attack that steals half\nthe damage inflicted.$" - -gLovelyKissMoveDescription:: @ 8619C0C - .string "Demands a kiss with a scary\nface that induces sleep.$" - -gSkyAttackMoveDescription:: @ 8619C41 - .string "Searches out weak spots,\nthen strikes the next turn.$" - -gTransformMoveDescription:: @ 8619C76 - .string "Alters the user’s cells to\nbecome a copy of the foe.$" - -gBubbleMoveDescription:: @ 8619CAB - .string "An attack using bubbles.\nMay lower the foe’s SPEED.$" - -gDizzyPunchMoveDescription:: @ 8619CDF - .string "A rhythmic punch that may\nconfuse the foe.$" - -gSporeMoveDescription:: @ 8619D0A - .string "Scatters a cloud of spores\nthat always induce sleep.$" - -gFlashMoveDescription:: @ 8619D3F - .string "Looses a powerful blast of\nlight that cuts accuracy.$" - -gPsywaveMoveDescription:: @ 8619D74 - .string "Attacks with a psychic\nwave of varying intensity.$" - -gSplashMoveDescription:: @ 8619DA6 - .string "It’s just a splash...\nHas no effect whatsoever.$" - -gAcidArmorMoveDescription:: @ 8619DD6 - .string "Liquifies the user’s body\nto sharply raise DEFENSE.$" - -gCrabhammerMoveDescription:: @ 8619E0A - .string "Hammers with a pincer. Has a\nhigh critical-hit ratio.$" - -gExplosionMoveDescription:: @ 8619E40 - .string "Inflicts severe damage but\nmakes the user faint.$" - -gFurySwipesMoveDescription:: @ 8619E71 - .string "Rakes the foe with sharp\nclaws, etc., 2 to 5 times.$" - -gBonemerangMoveDescription:: @ 8619EA5 - .string "Throws a bone boomerang\nthat strikes twice.$" - -gRestMoveDescription:: @ 8619ED1 - .string "The user sleeps for 2 turns,\nrestoring HP and status.$" - -gRockSlideMoveDescription:: @ 8619F07 - .string "Large boulders are hurled.\nMay cause flinching.$" - -gHyperFangMoveDescription:: @ 8619F37 - .string "Attacks with sharp fangs.\nMay cause flinching.$" - -gSharpenMoveDescription:: @ 8619F66 - .string "Reduces the polygon count\nand raises ATTACK.$" - -gConversionMoveDescription:: @ 8619F93 - .string "Changes the user’s type\ninto a known move’s type.$" - -gTriAttackMoveDescription:: @ 8619FC5 - .string "Fires three types of beams\nat the same time.$" - -gSuperFangMoveDescription:: @ 8619FF2 - .string "Attacks with sharp fangs\nand cuts half the foe’s HP.$" - -gSlashMoveDescription:: @ 861A027 - .string "Slashes with claws, etc. Has\na high critical-hit ratio.$" - -gSubstituteMoveDescription:: @ 861A05F - .string "Creates a decoy using 1/4\nof the user’s maximum HP.$" - -gStruggleMoveDescription:: @ 861A093 - .string "Used only if all PP are gone.\nAlso hurts the user a little.$" - -gSketchMoveDescription:: @ 861A0CF - .string "Copies the foe’s last move\npermanently.$" - -gTripleKickMoveDescription:: @ 861A0F7 - .string "Kicks the foe 3 times in a\nrow with rising intensity.$" - -gThiefMoveDescription:: @ 861A12D - .string "While attacking, it may\nsteal the foe’s held item.$" - -gSpiderWebMoveDescription:: @ 861A160 - .string "Ensnares the foe to stop it\nfrom fleeing or switching.$" - -gMindReaderMoveDescription:: @ 861A197 - .string "Senses the foe’s action to\nensure the next move’s hit.$" - -gNightmareMoveDescription:: @ 861A1CE - .string "Inflicts 1/4 damage on a\nsleeping foe every turn.$" - -gFlameWheelMoveDescription:: @ 861A200 - .string "A fiery charge attack that\nmay inflict a burn.$" - -gSnoreMoveDescription:: @ 861A22F - .string "A loud attack that can be\nused only while asleep.$" - -gCurseMoveDescription:: @ 861A261 - .string "A move that functions\ndifferently for GHOSTS.$" - -gFlailMoveDescription:: @ 861A28F - .string "Inflicts more damage when\nthe user’s HP is down.$" - -gConversion2MoveDescription:: @ 861A2C0 - .string "Makes the user resistant\nto the last attack’s type.$" - -gAeroblastMoveDescription:: @ 861A2F4 - .string "Launches a vacuumed blast.\nHigh critical-hit ratio.$" - -gCottonSporeMoveDescription:: @ 861A328 - .string "Spores cling to the foe,\nsharply reducing SPEED.$" - -gReversalMoveDescription:: @ 861A359 - .string "Inflicts more damage when\nthe user’s HP is down.$" - -gSpiteMoveDescription:: @ 861A38A - .string "Spitefully cuts the PP\nof the foe’s last move.$" - -gPowderSnowMoveDescription:: @ 861A3B9 - .string "Blasts the foe with a snowy\ngust. May cause freezing.$" - -gProtectMoveDescription:: @ 861A3EF - .string "Evades attack, but may fail\nif used in succession.$" - -gMachPunchMoveDescription:: @ 861A422 - .string "A punch is thrown at wicked\nspeed to strike first.$" - -gScaryFaceMoveDescription:: @ 861A455 - .string "Frightens with a scary face\nto sharply reduce SPEED.$" - -gFaintAttackMoveDescription:: @ 861A48A - .string "Draws the foe close, then\nstrikes without fail.$" - -gSweetKissMoveDescription:: @ 861A4BA - .string "Demands a kiss with a cute\nlook. May cause confusion.$" - -gBellyDrumMoveDescription:: @ 861A4F0 - .string "Maximizes ATTACK while\nsacrificing HP.$" - -gSludgeBombMoveDescription:: @ 861A517 - .string "Sludge is hurled to inflict\ndamage. May also poison.$" - -gMudSlapMoveDescription:: @ 861A54C - .string "Hurls mud in the foe’s face\nto reduce its accuracy.$" - -gOctazookaMoveDescription:: @ 861A580 - .string "Fires a lump of ink to\ndamage and cut accuracy.$" - -gSpikesMoveDescription:: @ 861A5B0 - .string "Sets spikes that hurt a \nfoe switching in.$" - -gZapCannonMoveDescription:: @ 861A5DB - .string "Powerful and sure to cause\nparalysis, but inaccurate.$" - -gForesightMoveDescription:: @ 861A611 - .string "Negates the foe’s efforts\nto heighten evasiveness.$" - -gDestinyBondMoveDescription:: @ 861A644 - .string "If the user faints, the foe\nis also made to faint.$" - -gPerishSongMoveDescription:: @ 861A677 - .string "Any POKéMON hearing this\nsong faints in 3 turns.$" - -gIcyWindMoveDescription:: @ 861A6A8 - .string "A chilling attack that\nlowers the foe’s SPEED.$" - -gDetectMoveDescription:: @ 861A6D7 - .string "Evades attack, but may fail\nif used in succession.$" - -gBoneRushMoveDescription:: @ 861A70A - .string "Strikes the foe with a bone\nin hand 2 to 5 times.$" - -gLockOnMoveDescription:: @ 861A73C - .string "Locks on to the foe to\nensure the next move hits.$" - -gOutrageMoveDescription:: @ 861A76E - .string "A rampage of 2 to 3 turns\nthat confuses the user.$" - -gSandstormMoveDescription:: @ 861A7A0 - .string "Causes a sandstorm that\nrages for several turns.$" - -gGigaDrainMoveDescription:: @ 861A7D1 - .string "An attack that steals half\nthe damage inflicted.$" - -gEndureMoveDescription:: @ 861A802 - .string "Endures any attack for\n1 turn, leaving at least 1HP.$" - -gCharmMoveDescription:: @ 861A837 - .string "Charms the foe and sharply\nreduces its ATTACK.$" - -gRolloutMoveDescription:: @ 861A866 - .string "An attack lasting 5 turns\nwith rising intensity.$" - -gFalseSwipeMoveDescription:: @ 861A897 - .string "An attack that leaves the\nfoe with at least 1 HP.$" - -gSwaggerMoveDescription:: @ 861A8C9 - .string "Confuses the foe, but also\nsharply raises ATTACK.$" - -gMilkDrinkMoveDescription:: @ 861A8FB - .string "Recovers up to half the\nuser’s maximum HP.$" - -gSparkMoveDescription:: @ 861A926 - .string "An electrified tackle that\nmay paralyze the foe.$" - -gFuryCutterMoveDescription:: @ 861A957 - .string "An attack that intensifies\non each successive hit.$" - -gSteelWingMoveDescription:: @ 861A98A - .string "Strikes the foe with hard\nwings spread wide.$" - -gMeanLookMoveDescription:: @ 861A9B7 - .string "Fixes the foe with a mean\nlook that prevents escape.$" - -gAttractMoveDescription:: @ 861A9EC - .string "Makes the opposite gender\nless likely to attack.$" - -gSleepTalkMoveDescription:: @ 861AA1D - .string "Uses an available move\nrandomly while asleep.$" - -gHealBellMoveDescription:: @ 861AA4B - .string "Chimes soothingly to heal\nall status abnormalities.$" - -gReturnMoveDescription:: @ 861AA7F - .string "An attack that increases\nin power with friendship.$" - -gPresentMoveDescription:: @ 861AAB2 - .string "A gift in the form of a\nbomb. May restore HP.$" - -gFrustrationMoveDescription:: @ 861AAE0 - .string "An attack that is stronger\nif the TRAINER is disliked.$" - -gSafeguardMoveDescription:: @ 861AB17 - .string "A mystical force prevents\nall status problems.$" - -gPainSplitMoveDescription:: @ 861AB46 - .string "Adds the user and foe’s HP,\nthen shares them equally.$" - -gSacredFireMoveDescription:: @ 861AB7C - .string "A mystical fire attack that\nmay inflict a burn.$" - -gMagnitudeMoveDescription:: @ 861ABAC - .string "A ground-shaking attack\nof random intensity.$" - -gDynamicPunchMoveDescription:: @ 861ABD9 - .string "Powerful and sure to cause\nconfusion, but inaccurate.$" - -gMegahornMoveDescription:: @ 861AC0F - .string "A brutal ramming attack\nusing out-thrust horns.$" - -gDragonBreathMoveDescription:: @ 861AC3F - .string "Strikes the foe with an\nincredible blast of breath.$" - -gBatonPassMoveDescription:: @ 861AC73 - .string "Switches out the user while\nkeeping effects in play.$" - -gEncoreMoveDescription:: @ 861ACA8 - .string "Makes the foe repeat its\nlast move over 2 to 6 turns.$" - -gPursuitMoveDescription:: @ 861ACDE - .string "Inflicts bad damage if used\non a foe switching out.$" - -gRapidSpinMoveDescription:: @ 861AD12 - .string "Spins the body at high\nspeed to strike the foe.$" - -gSweetScentMoveDescription:: @ 861AD42 - .string "Allures the foe to reduce\nevasiveness.$" - -gIronTailMoveDescription:: @ 861AD69 - .string "Attacks with a rock-hard\ntail. May lower DEFENSE.$" - -gMetalClawMoveDescription:: @ 861AD9B - .string "A claw attack that may\nraise the user’s ATTACK.$" - -gVitalThrowMoveDescription:: @ 861ADCB - .string "Makes the user’s move last,\nbut it never misses.$" - -gMorningSunMoveDescription:: @ 861ADFC - .string "Restores HP. The amount\nvaries with the weather.$" - -gSynthesisMoveDescription:: @ 861AE2D - .string "Restores HP. The amount\nvaries with the weather.$" - -gMoonlightMoveDescription:: @ 861AE5E - .string "Restores HP. The amount\nvaries with the weather.$" - -gHiddenPowerMoveDescription:: @ 861AE8F - .string "The effectiveness varies\nwith the user.$" - -gCrossChopMoveDescription:: @ 861AEB7 - .string "A double-chopping attack.\nHigh critical-hit ratio.$" - -gTwisterMoveDescription:: @ 861AEEA - .string "Whips up a vicious twister\nto tear at the foe.$" - -gRainDanceMoveDescription:: @ 861AF19 - .string "Boosts the power of WATER-\ntype moves for 5 turns.$" - -gSunnyDayMoveDescription:: @ 861AF4C - .string "Boosts the power of FIRE-\ntype moves for 5 turns.$" - -gCrunchMoveDescription:: @ 861AF7E - .string "Crunches with sharp fangs.\nMay lower SP. DEF.$" - -gMirrorCoatMoveDescription:: @ 861AFAC - .string "Counters the foe’s special\nattack at double the power.$" - -gPsychUpMoveDescription:: @ 861AFE3 - .string "Copies the foe’s effect(s)\nand gives to the user.$" - -gExtremeSpeedMoveDescription:: @ 861B015 - .string "An extremely fast and\npowerful attack.$" - -gAncientPowerMoveDescription:: @ 861B03C - .string "An attack that may raise\nall stats.$" - -gShadowBallMoveDescription:: @ 861B060 - .string "Hurls a black blob that may\nlower the foe’s SP. DEF.$" - -gFutureSightMoveDescription:: @ 861B095 - .string "Heightens inner power to\nstrike 2 turns later.$" - -gRockSmashMoveDescription:: @ 861B0C4 - .string "A rock-crushing attack\nthat may lower DEFENSE.$" - -gWhirlpoolMoveDescription:: @ 861B0F3 - .string "Traps and hurts the foe in\na whirlpool for 2 to 5 turns.$" - -gBeatUpMoveDescription:: @ 861B12C - .string "Summons party POKéMON to\njoin in the attack.$" - -gFakeOutMoveDescription:: @ 861B159 - .string "A 1st-turn, 1st-strike move\nthat causes flinching.$" - -gUproarMoveDescription:: @ 861B18C - .string "Causes an uproar for 2 to 5\nturns and prevents sleep.$" - -gStockpileMoveDescription:: @ 861B1C2 - .string "Charges up power for up to\n3 turns.$" - -gSpitUpMoveDescription:: @ 861B1E6 - .string "Releases stockpiled power\n(the more the better).$" - -gSwallowMoveDescription:: @ 861B217 - .string "Absorbs stockpiled power\nand restores HP.$" - -gHeatWaveMoveDescription:: @ 861B241 - .string "Exhales a hot breath on the\nfoe. May inflict a burn.$" - -gHailMoveDescription:: @ 861B276 - .string "Summons a hailstorm that\nstrikes every turn.$" - -gTormentMoveDescription:: @ 861B2A3 - .string "Torments the foe and stops\nsuccessive use of a move.$" - -gFlatterMoveDescription:: @ 861B2D8 - .string "Confuses the foe, but\nraises its SP. ATK.$" - -gWillOWispMoveDescription:: @ 861B302 - .string "Inflicts a burn on the foe\nwith intense fire.$" - -gMementoMoveDescription:: @ 861B330 - .string "The user faints and lowers\nthe foe’s abilities.$" - -gFacadeMoveDescription:: @ 861B360 - .string "Boosts ATTACK when burned,\nparalyzed, or poisoned.$" - -gFocusPunchMoveDescription:: @ 861B393 - .string "A powerful loyalty attack.\nThe user flinches if hit.$" - -gSmellingSaltMoveDescription:: @ 861B3C8 - .string "Powerful against paralyzed\nfoes, but also heals them.$" - -gFollowMeMoveDescription:: @ 861B3FE - .string "Draws attention to make\nfoes attack only the user.$" - -gNaturePowerMoveDescription:: @ 861B431 - .string "The type of attack varies\ndepending on the location.$" - -gChargeMoveDescription:: @ 861B466 - .string "Charges power to boost the\nelectric move used next.$" - -gTauntMoveDescription:: @ 861B49A - .string "Taunts the foe into only\nusing attack moves.$" - -gHelpingHandMoveDescription:: @ 861B4C7 - .string "Boosts the power of the\nrecipient’s moves.$" - -gTrickMoveDescription:: @ 861B4F2 - .string "Tricks the foe into trading\nheld items.$" - -gRolePlayMoveDescription:: @ 861B51A - .string "Mimics the target and\ncopies its special ability.$" - -gWishMoveDescription:: @ 861B54C - .string "A wish that restores HP.\nIt takes time to work.$" - -gAssistMoveDescription:: @ 861B57C - .string "Attacks randomly with one\nof the partner’s moves.$" - -gIngrainMoveDescription:: @ 861B5AE - .string "Lays roots that restore HP.\nThe user can’t switch out.$" - -gSuperpowerMoveDescription:: @ 861B5E5 - .string "Boosts strength sharply,\nbut lowers abilities.$" - -gMagicCoatMoveDescription:: @ 861B614 - .string "Reflects special effects\nback to the attacker.$" - -gRecycleMoveDescription:: @ 861B643 - .string "Recycles a used item for\none more use.$" - -gRevengeMoveDescription:: @ 861B66A - .string "An attack that gains power\nif injured by the foe.$" - -gBrickBreakMoveDescription:: @ 861B69C - .string "Destroys barriers such as\nREFLECT and causes damage.$" - -gYawnMoveDescription:: @ 861B6D1 - .string "Lulls the foe into yawning,\nthen sleeping next turn.$" - -gKnockOffMoveDescription:: @ 861B706 - .string "Knocks down the foe’s held\nitem to prevent its use.$" - -gEndeavorMoveDescription:: @ 861B73A - .string "Gains power if the user’s HP\nis lower than the foe’s HP.$" - -gEruptionMoveDescription:: @ 861B773 - .string "The higher the user’s HP,\nthe more damage caused.$" - -gSkillSwapMoveDescription:: @ 861B7A5 - .string "The user swaps special\nabilities with the target.$" - -gImprisonMoveDescription:: @ 861B7D7 - .string "Prevents foes from using\nmoves known by the user.$" - -gRefreshMoveDescription:: @ 861B809 - .string "Heals poisoning, paralysis,\nor a burn.$" - -gGrudgeMoveDescription:: @ 861B830 - .string "If the user faints, deletes\nall PP of foe’s last move.$" - -gSnatchMoveDescription:: @ 861B867 - .string "Steals the effects of the\nmove the target uses next.$" - -gSecretPowerMoveDescription:: @ 861B89C - .string "An attack with effects\nthat vary by location.$" - -gDiveMoveDescription:: @ 861B8CA - .string "Dives underwater the first\nturn and strikes next turn.$" - -gArmThrustMoveDescription:: @ 861B901 - .string "Straight-arm punches that\nstrike the foe 2 to 5 times.$" - -gCamouflageMoveDescription:: @ 861B938 - .string "Alters the POKéMON’s type\ndepending on the location.$" - -gTailGlowMoveDescription:: @ 861B96D - .string "Flashes a light that sharply\nraises SP. ATK.$" - -gLusterPurgeMoveDescription:: @ 861B99A - .string "Attacks with a burst of\nlight. May lower SP. DEF.$" - -gMistBallMoveDescription:: @ 861B9CC - .string "Attacks with a flurry of\ndown. May lower SP. ATK.$" - -gFeatherDanceMoveDescription:: @ 861B9FE - .string "Envelops the foe with down\nto sharply reduce ATTACK.$" - -gTeeterDanceMoveDescription:: @ 861BA33 - .string "Confuses all POKéMON on\nthe scene.$" - -gBlazeKickMoveDescription:: @ 861BA56 - .string "A kick with a high critical-\nhit ratio. May cause a burn.$" - -gMudSportMoveDescription:: @ 861BA90 - .string "Covers the user in mud to\nraise electrical resistance.$" - -gIceBallMoveDescription:: @ 861BAC7 - .string "A 5-turn attack that gains\npower on successive hits.$" - -gNeedleArmMoveDescription:: @ 861BAFC - .string "Attacks with thorny arms.\nMay cause flinching.$" - -gSlackOffMoveDescription:: @ 861BB2B - .string "Slacks off and restores\nhalf the maximum HP.$" - -gHyperVoiceMoveDescription:: @ 861BB58 - .string "A loud attack that uses\nsound waves to injure.$" - -gPoisonFangMoveDescription:: @ 861BB87 - .string "A sharp-fanged attack.\nMay badly poison the foe.$" - -gCrushClawMoveDescription:: @ 861BBB8 - .string "Tears at the foe with sharp\nclaws. May lower DEFENSE.$" - -gBlastBurnMoveDescription:: @ 861BBEE - .string "Powerful, but leaves the\nuser immobile the next turn.$" - -gHydroCannonMoveDescription:: @ 861BC24 - .string "Powerful, but leaves the\nuser immobile the next turn.$" - -gMeteorMashMoveDescription:: @ 861BC5A - .string "Fires a meteor-like punch.\nMay raise ATTACK.$" - -gAstonishMoveDescription:: @ 861BC87 - .string "An attack that may shock\nthe foe into flinching.$" - -gWeatherBallMoveDescription:: @ 861BCB8 - .string "The move’s type and power\nchange with the weather.$" - -gAromatherapyMoveDescription:: @ 861BCEB - .string "Heals all status problems\nwith a soothing scent.$" - -gFakeTearsMoveDescription:: @ 861BD1C - .string "Feigns crying to sharply\nlower the foe’s SP. DEF.$" - -gAirCutterMoveDescription:: @ 861BD4E - .string "Hacks with razorlike wind.\nHigh critical-hit ratio.$" - -gOverheatMoveDescription:: @ 861BD82 - .string "Allows a full-power attack,\nbut sharply lowers SP. ATK.$" - -gOdorSleuthMoveDescription:: @ 861BDBA - .string "Negates the foe’s efforts\nto heighten evasiveness.$" - -gRockTombMoveDescription:: @ 861BDED - .string "Stops the foe from moving\nwith rocks and cuts SPEED.$" - -gSilverWindMoveDescription:: @ 861BE22 - .string "A powdery attack that may\nraise abilities.$" - -gMetalSoundMoveDescription:: @ 861BE4D - .string "Emits a horrible screech\nthat sharply lowers SP. DEF.$" - -gGrassWhistleMoveDescription:: @ 861BE83 - .string "Lulls the foe into sleep\nwith a pleasant melody.$" - -gTickleMoveDescription:: @ 861BEB4 - .string "Makes the foe laugh to\nlower ATTACK and DEFENSE.$" - -gCosmicPowerMoveDescription:: @ 861BEE5 - .string "Raises DEFENSE and SP. DEF\nwith a mystic power.$" - -gWaterSpoutMoveDescription:: @ 861BF15 - .string "Inflicts more damage if the\nuser’s HP is high.$" - -gSignalBeamMoveDescription:: @ 861BF44 - .string "A strange beam attack that\nmay confuse the foe.$" - -gShadowPunchMoveDescription:: @ 861BF74 - .string "An unavoidable punch that\nis thrown from shadows.$" - -gExtrasensoryMoveDescription:: @ 861BFA6 - .string "Attacks with a peculiar\npower. May cause flinching.$" - -gSkyUppercutMoveDescription:: @ 861BFDA - .string "An uppercut thrown as if\nleaping into the sky.$" - -gSandTombMoveDescription:: @ 861C009 - .string "Traps and hurts the foe in\nquicksand for 2 to 5 turns.$" - -gSheerColdMoveDescription:: @ 861C040 - .string "A chilling attack that\ncauses fainting if it hits.$" - -gMuddyWaterMoveDescription:: @ 861C073 - .string "Attacks with muddy water.\nMay lower accuracy.$" - -gBulletSeedMoveDescription:: @ 861C0A1 - .string "Shoots 2 to 5 seeds in a row\nto strike the foe.$" - -gAerialAceMoveDescription:: @ 861C0D1 - .string "An extremely speedy and\nunavoidable attack.$" - -gIcicleSpearMoveDescription:: @ 861C0FD - .string "Attacks the foe by firing\n2 to 5 icicles in a row.$" - -gIronDefenseMoveDescription:: @ 861C130 - .string "Hardens the body’s surface\nto sharply raise DEFENSE.$" - -gBlockMoveDescription:: @ 861C165 - .string "Blocks the foe’s way to\nprevent escape.$" - -gHowlMoveDescription:: @ 861C18D - .string "Howls to raise the spirit\nand boosts ATTACK.$" - -gDragonClawMoveDescription:: @ 861C1BA - .string "Slashes the foe with sharp\nclaws.$" - -gFrenzyPlantMoveDescription:: @ 861C1DC - .string "Powerful, but leaves the\nuser immobile the next turn.$" - -gBulkUpMoveDescription:: @ 861C212 - .string "Bulks up the body to boost\nboth ATTACK and DEFENSE.$" - -gBounceMoveDescription:: @ 861C246 - .string "Bounces up, then down the\nnext turn. May paralyze.$" - -gMudShotMoveDescription:: @ 861C279 - .string "Hurls mud at the foe and\nreduces SPEED.$" - -gPoisonTailMoveDescription:: @ 861C2A1 - .string "Has a high critical-hit\nratio. May also poison.$" - -gCovetMoveDescription:: @ 861C2D1 - .string "Cutely begs to obtain an\nitem held by the foe.$" - -gVoltTackleMoveDescription:: @ 861C300 - .string "A life-risking tackle that\nslightly hurts the user.$" - -gMagicalLeafMoveDescription:: @ 861C334 - .string "Attacks with a strange leaf\nthat cannot be evaded.$" - -gWaterSportMoveDescription:: @ 861C367 - .string "The user becomes soaked to\nraise resistance to fire.$" - -gCalmMindMoveDescription:: @ 861C39C - .string "Raises SP. ATK and SP. DEF\nby focusing the mind.$" - -gLeafBladeMoveDescription:: @ 861C3CD - .string "Slashes with a sharp leaf.\nHigh critical-hit ratio.$" - -gDragonDanceMoveDescription:: @ 861C401 - .string "A mystical dance that ups\nATTACK and SPEED.$" - -gRockBlastMoveDescription:: @ 861C42D - .string "Hurls boulders at the foe\n2 to 5 times in a row.$" - -gShockWaveMoveDescription:: @ 861C45E - .string "A fast and unavoidable\nelectric attack.$" - -gWaterPulseMoveDescription:: @ 861C486 - .string "Attacks with ultrasonic\nwaves. May confuse the foe.$" - -gDoomDesireMoveDescription:: @ 861C4BA - .string "Summons strong sunlight to\nattack 2 turns later.$" - -gPsychoBoostMoveDescription:: @ 861C4EB - .string "Allows a full-power attack,\nbut sharply lowers SP. ATK.$" - - .align 2 -gMoveDescriptionPointers:: @ 861C524 - .4byte gPoundMoveDescription - .4byte gKarateChopMoveDescription - .4byte gDoubleSlapMoveDescription - .4byte gCometPunchMoveDescription - .4byte gMegaPunchMoveDescription - .4byte gPayDayMoveDescription - .4byte gFirePunchMoveDescription - .4byte gIcePunchMoveDescription - .4byte gThunderPunchMoveDescription - .4byte gScratchMoveDescription - .4byte gViceGripMoveDescription - .4byte gGuillotineMoveDescription - .4byte gRazorWindMoveDescription - .4byte gSwordsDanceMoveDescription - .4byte gCutMoveDescription - .4byte gGustMoveDescription - .4byte gWingAttackMoveDescription - .4byte gWhirlwindMoveDescription - .4byte gFlyMoveDescription - .4byte gBindMoveDescription - .4byte gSlamMoveDescription - .4byte gVineWhipMoveDescription - .4byte gStompMoveDescription - .4byte gDoubleKickMoveDescription - .4byte gMegaKickMoveDescription - .4byte gJumpKickMoveDescription - .4byte gRollingKickMoveDescription - .4byte gSandAttackMoveDescription - .4byte gHeadbuttMoveDescription - .4byte gHornAttackMoveDescription - .4byte gFuryAttackMoveDescription - .4byte gHornDrillMoveDescription - .4byte gTackleMoveDescription - .4byte gBodySlamMoveDescription - .4byte gWrapMoveDescription - .4byte gTakeDownMoveDescription - .4byte gThrashMoveDescription - .4byte gDoubleEdgeMoveDescription - .4byte gTailWhipMoveDescription - .4byte gPoisonStingMoveDescription - .4byte gTwineedleMoveDescription - .4byte gPinMissileMoveDescription - .4byte gLeerMoveDescription - .4byte gBiteMoveDescription - .4byte gGrowlMoveDescription - .4byte gRoarMoveDescription - .4byte gSingMoveDescription - .4byte gSupersonicMoveDescription - .4byte gSonicBoomMoveDescription - .4byte gDisableMoveDescription - .4byte gAcidMoveDescription - .4byte gEmberMoveDescription - .4byte gFlamethrowerMoveDescription - .4byte gMistMoveDescription - .4byte gWaterGunMoveDescription - .4byte gHydroPumpMoveDescription - .4byte gSurfMoveDescription - .4byte gIceBeamMoveDescription - .4byte gBlizzardMoveDescription - .4byte gPsybeamMoveDescription - .4byte gBubbleBeamMoveDescription - .4byte gAuroraBeamMoveDescription - .4byte gHyperBeamMoveDescription - .4byte gPeckMoveDescription - .4byte gDrillPeckMoveDescription - .4byte gSubmissionMoveDescription - .4byte gLowKickMoveDescription - .4byte gCounterMoveDescription - .4byte gSeismicTossMoveDescription - .4byte gStrengthMoveDescription - .4byte gAbsorbMoveDescription - .4byte gMegaDrainMoveDescription - .4byte gLeechSeedMoveDescription - .4byte gGrowthMoveDescription - .4byte gRazorLeafMoveDescription - .4byte gSolarBeamMoveDescription - .4byte gPoisonPowderMoveDescription - .4byte gStunSporeMoveDescription - .4byte gSleepPowderMoveDescription - .4byte gPetalDanceMoveDescription - .4byte gStringShotMoveDescription - .4byte gDragonRageMoveDescription - .4byte gFireSpinMoveDescription - .4byte gThunderShockMoveDescription - .4byte gThunderboltMoveDescription - .4byte gThunderWaveMoveDescription - .4byte gThunderMoveDescription - .4byte gRockThrowMoveDescription - .4byte gEarthquakeMoveDescription - .4byte gFissureMoveDescription - .4byte gDigMoveDescription - .4byte gToxicMoveDescription - .4byte gConfusionMoveDescription - .4byte gPsychicMoveDescription - .4byte gHypnosisMoveDescription - .4byte gMeditateMoveDescription - .4byte gAgilityMoveDescription - .4byte gQuickAttackMoveDescription - .4byte gRageMoveDescription - .4byte gTeleportMoveDescription - .4byte gNightShadeMoveDescription - .4byte gMimicMoveDescription - .4byte gScreechMoveDescription - .4byte gDoubleTeamMoveDescription - .4byte gRecoverMoveDescription - .4byte gHardenMoveDescription - .4byte gMinimizeMoveDescription - .4byte gSmokescreenMoveDescription - .4byte gConfuseRayMoveDescription - .4byte gWithdrawMoveDescription - .4byte gDefenseCurlMoveDescription - .4byte gBarrierMoveDescription - .4byte gLightScreenMoveDescription - .4byte gHazeMoveDescription - .4byte gReflectMoveDescription - .4byte gFocusEnergyMoveDescription - .4byte gBideMoveDescription - .4byte gMetronomeMoveDescription - .4byte gMirrorMoveMoveDescription - .4byte gSelfDestructMoveDescription - .4byte gEggBombMoveDescription - .4byte gLickMoveDescription - .4byte gSmogMoveDescription - .4byte gSludgeMoveDescription - .4byte gBoneClubMoveDescription - .4byte gFireBlastMoveDescription - .4byte gWaterfallMoveDescription - .4byte gClampMoveDescription - .4byte gSwiftMoveDescription - .4byte gSkullBashMoveDescription - .4byte gSpikeCannonMoveDescription - .4byte gConstrictMoveDescription - .4byte gAmnesiaMoveDescription - .4byte gKinesisMoveDescription - .4byte gSoftBoiledMoveDescription - .4byte gHiJumpKickMoveDescription - .4byte gGlareMoveDescription - .4byte gDreamEaterMoveDescription - .4byte gPoisonGasMoveDescription - .4byte gBarrageMoveDescription - .4byte gLeechLifeMoveDescription - .4byte gLovelyKissMoveDescription - .4byte gSkyAttackMoveDescription - .4byte gTransformMoveDescription - .4byte gBubbleMoveDescription - .4byte gDizzyPunchMoveDescription - .4byte gSporeMoveDescription - .4byte gFlashMoveDescription - .4byte gPsywaveMoveDescription - .4byte gSplashMoveDescription - .4byte gAcidArmorMoveDescription - .4byte gCrabhammerMoveDescription - .4byte gExplosionMoveDescription - .4byte gFurySwipesMoveDescription - .4byte gBonemerangMoveDescription - .4byte gRestMoveDescription - .4byte gRockSlideMoveDescription - .4byte gHyperFangMoveDescription - .4byte gSharpenMoveDescription - .4byte gConversionMoveDescription - .4byte gTriAttackMoveDescription - .4byte gSuperFangMoveDescription - .4byte gSlashMoveDescription - .4byte gSubstituteMoveDescription - .4byte gStruggleMoveDescription - .4byte gSketchMoveDescription - .4byte gTripleKickMoveDescription - .4byte gThiefMoveDescription - .4byte gSpiderWebMoveDescription - .4byte gMindReaderMoveDescription - .4byte gNightmareMoveDescription - .4byte gFlameWheelMoveDescription - .4byte gSnoreMoveDescription - .4byte gCurseMoveDescription - .4byte gFlailMoveDescription - .4byte gConversion2MoveDescription - .4byte gAeroblastMoveDescription - .4byte gCottonSporeMoveDescription - .4byte gReversalMoveDescription - .4byte gSpiteMoveDescription - .4byte gPowderSnowMoveDescription - .4byte gProtectMoveDescription - .4byte gMachPunchMoveDescription - .4byte gScaryFaceMoveDescription - .4byte gFaintAttackMoveDescription - .4byte gSweetKissMoveDescription - .4byte gBellyDrumMoveDescription - .4byte gSludgeBombMoveDescription - .4byte gMudSlapMoveDescription - .4byte gOctazookaMoveDescription - .4byte gSpikesMoveDescription - .4byte gZapCannonMoveDescription - .4byte gForesightMoveDescription - .4byte gDestinyBondMoveDescription - .4byte gPerishSongMoveDescription - .4byte gIcyWindMoveDescription - .4byte gDetectMoveDescription - .4byte gBoneRushMoveDescription - .4byte gLockOnMoveDescription - .4byte gOutrageMoveDescription - .4byte gSandstormMoveDescription - .4byte gGigaDrainMoveDescription - .4byte gEndureMoveDescription - .4byte gCharmMoveDescription - .4byte gRolloutMoveDescription - .4byte gFalseSwipeMoveDescription - .4byte gSwaggerMoveDescription - .4byte gMilkDrinkMoveDescription - .4byte gSparkMoveDescription - .4byte gFuryCutterMoveDescription - .4byte gSteelWingMoveDescription - .4byte gMeanLookMoveDescription - .4byte gAttractMoveDescription - .4byte gSleepTalkMoveDescription - .4byte gHealBellMoveDescription - .4byte gReturnMoveDescription - .4byte gPresentMoveDescription - .4byte gFrustrationMoveDescription - .4byte gSafeguardMoveDescription - .4byte gPainSplitMoveDescription - .4byte gSacredFireMoveDescription - .4byte gMagnitudeMoveDescription - .4byte gDynamicPunchMoveDescription - .4byte gMegahornMoveDescription - .4byte gDragonBreathMoveDescription - .4byte gBatonPassMoveDescription - .4byte gEncoreMoveDescription - .4byte gPursuitMoveDescription - .4byte gRapidSpinMoveDescription - .4byte gSweetScentMoveDescription - .4byte gIronTailMoveDescription - .4byte gMetalClawMoveDescription - .4byte gVitalThrowMoveDescription - .4byte gMorningSunMoveDescription - .4byte gSynthesisMoveDescription - .4byte gMoonlightMoveDescription - .4byte gHiddenPowerMoveDescription - .4byte gCrossChopMoveDescription - .4byte gTwisterMoveDescription - .4byte gRainDanceMoveDescription - .4byte gSunnyDayMoveDescription - .4byte gCrunchMoveDescription - .4byte gMirrorCoatMoveDescription - .4byte gPsychUpMoveDescription - .4byte gExtremeSpeedMoveDescription - .4byte gAncientPowerMoveDescription - .4byte gShadowBallMoveDescription - .4byte gFutureSightMoveDescription - .4byte gRockSmashMoveDescription - .4byte gWhirlpoolMoveDescription - .4byte gBeatUpMoveDescription - .4byte gFakeOutMoveDescription - .4byte gUproarMoveDescription - .4byte gStockpileMoveDescription - .4byte gSpitUpMoveDescription - .4byte gSwallowMoveDescription - .4byte gHeatWaveMoveDescription - .4byte gHailMoveDescription - .4byte gTormentMoveDescription - .4byte gFlatterMoveDescription - .4byte gWillOWispMoveDescription - .4byte gMementoMoveDescription - .4byte gFacadeMoveDescription - .4byte gFocusPunchMoveDescription - .4byte gSmellingSaltMoveDescription - .4byte gFollowMeMoveDescription - .4byte gNaturePowerMoveDescription - .4byte gChargeMoveDescription - .4byte gTauntMoveDescription - .4byte gHelpingHandMoveDescription - .4byte gTrickMoveDescription - .4byte gRolePlayMoveDescription - .4byte gWishMoveDescription - .4byte gAssistMoveDescription - .4byte gIngrainMoveDescription - .4byte gSuperpowerMoveDescription - .4byte gMagicCoatMoveDescription - .4byte gRecycleMoveDescription - .4byte gRevengeMoveDescription - .4byte gBrickBreakMoveDescription - .4byte gYawnMoveDescription - .4byte gKnockOffMoveDescription - .4byte gEndeavorMoveDescription - .4byte gEruptionMoveDescription - .4byte gSkillSwapMoveDescription - .4byte gImprisonMoveDescription - .4byte gRefreshMoveDescription - .4byte gGrudgeMoveDescription - .4byte gSnatchMoveDescription - .4byte gSecretPowerMoveDescription - .4byte gDiveMoveDescription - .4byte gArmThrustMoveDescription - .4byte gCamouflageMoveDescription - .4byte gTailGlowMoveDescription - .4byte gLusterPurgeMoveDescription - .4byte gMistBallMoveDescription - .4byte gFeatherDanceMoveDescription - .4byte gTeeterDanceMoveDescription - .4byte gBlazeKickMoveDescription - .4byte gMudSportMoveDescription - .4byte gIceBallMoveDescription - .4byte gNeedleArmMoveDescription - .4byte gSlackOffMoveDescription - .4byte gHyperVoiceMoveDescription - .4byte gPoisonFangMoveDescription - .4byte gCrushClawMoveDescription - .4byte gBlastBurnMoveDescription - .4byte gHydroCannonMoveDescription - .4byte gMeteorMashMoveDescription - .4byte gAstonishMoveDescription - .4byte gWeatherBallMoveDescription - .4byte gAromatherapyMoveDescription - .4byte gFakeTearsMoveDescription - .4byte gAirCutterMoveDescription - .4byte gOverheatMoveDescription - .4byte gOdorSleuthMoveDescription - .4byte gRockTombMoveDescription - .4byte gSilverWindMoveDescription - .4byte gMetalSoundMoveDescription - .4byte gGrassWhistleMoveDescription - .4byte gTickleMoveDescription - .4byte gCosmicPowerMoveDescription - .4byte gWaterSpoutMoveDescription - .4byte gSignalBeamMoveDescription - .4byte gShadowPunchMoveDescription - .4byte gExtrasensoryMoveDescription - .4byte gSkyUppercutMoveDescription - .4byte gSandTombMoveDescription - .4byte gSheerColdMoveDescription - .4byte gMuddyWaterMoveDescription - .4byte gBulletSeedMoveDescription - .4byte gAerialAceMoveDescription - .4byte gIcicleSpearMoveDescription - .4byte gIronDefenseMoveDescription - .4byte gBlockMoveDescription - .4byte gHowlMoveDescription - .4byte gDragonClawMoveDescription - .4byte gFrenzyPlantMoveDescription - .4byte gBulkUpMoveDescription - .4byte gBounceMoveDescription - .4byte gMudShotMoveDescription - .4byte gPoisonTailMoveDescription - .4byte gCovetMoveDescription - .4byte gVoltTackleMoveDescription - .4byte gMagicalLeafMoveDescription - .4byte gWaterSportMoveDescription - .4byte gCalmMindMoveDescription - .4byte gLeafBladeMoveDescription - .4byte gDragonDanceMoveDescription - .4byte gRockBlastMoveDescription - .4byte gShockWaveMoveDescription - .4byte gWaterPulseMoveDescription - .4byte gDoomDesireMoveDescription - .4byte gPsychoBoostMoveDescription diff --git a/graphics/misc/deoxys1.pal b/graphics/misc/deoxys1.pal new file mode 100644 index 000000000..d90c4cb38 --- /dev/null +++ b/graphics/misc/deoxys1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +180 180 180 +148 148 148 +90 90 98 +57 57 74 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +222 222 222 +0 0 0 diff --git a/graphics/misc/deoxys10.pal b/graphics/misc/deoxys10.pal new file mode 100644 index 000000000..8bdd860fb --- /dev/null +++ b/graphics/misc/deoxys10.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +246 197 156 +238 82 82 +189 32 32 +123 8 8 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/deoxys11.pal b/graphics/misc/deoxys11.pal new file mode 100644 index 000000000..9a9ee2530 --- /dev/null +++ b/graphics/misc/deoxys11.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 205 156 +255 82 82 +205 32 32 +131 8 8 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/deoxys2.pal b/graphics/misc/deoxys2.pal new file mode 100644 index 000000000..38806db0f --- /dev/null +++ b/graphics/misc/deoxys2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +180 180 172 +156 139 139 +98 82 90 +57 49 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/deoxys3.pal b/graphics/misc/deoxys3.pal new file mode 100644 index 000000000..24db0e343 --- /dev/null +++ b/graphics/misc/deoxys3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +189 180 172 +164 131 131 +106 74 82 +65 41 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/deoxys4.pal b/graphics/misc/deoxys4.pal new file mode 100644 index 000000000..5db08f366 --- /dev/null +++ b/graphics/misc/deoxys4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +197 180 172 +172 123 123 +123 65 74 +74 41 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/deoxys5.pal b/graphics/misc/deoxys5.pal new file mode 100644 index 000000000..25a62aae6 --- /dev/null +++ b/graphics/misc/deoxys5.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +205 189 164 +189 115 115 +131 65 65 +82 32 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/deoxys6.pal b/graphics/misc/deoxys6.pal new file mode 100644 index 000000000..0f636873e --- /dev/null +++ b/graphics/misc/deoxys6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +213 189 164 +197 115 115 +148 57 65 +90 32 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/deoxys7.pal b/graphics/misc/deoxys7.pal new file mode 100644 index 000000000..2dba57eef --- /dev/null +++ b/graphics/misc/deoxys7.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +222 189 164 +205 106 106 +156 49 57 +98 24 32 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/deoxys8.pal b/graphics/misc/deoxys8.pal new file mode 100644 index 000000000..d46c26996 --- /dev/null +++ b/graphics/misc/deoxys8.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +230 197 156 +222 98 98 +164 49 49 +106 16 24 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/deoxys9.pal b/graphics/misc/deoxys9.pal new file mode 100644 index 000000000..f65fee065 --- /dev/null +++ b/graphics/misc/deoxys9.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +238 197 156 +230 90 90 +180 41 41 +115 16 16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unknown/unknown_5B3280.pal b/graphics/unknown/unknown_5B3280.pal deleted file mode 100644 index a23813afb..000000000 --- a/graphics/unknown/unknown_5B3280.pal +++ /dev/null @@ -1,179 +0,0 @@ -JASC-PAL -0100 -176 -115 197 164 -180 180 180 -148 148 148 -90 90 98 -57 57 74 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -222 222 222 -0 0 0 -115 197 164 -180 180 172 -156 139 139 -98 82 90 -57 49 65 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -115 197 164 -189 180 172 -164 131 131 -106 74 82 -65 41 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -115 197 164 -197 180 172 -172 123 123 -123 65 74 -74 41 49 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -115 197 164 -205 189 164 -189 115 115 -131 65 65 -82 32 41 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -115 197 164 -213 189 164 -197 115 115 -148 57 65 -90 32 41 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -115 197 164 -222 189 164 -205 106 106 -156 49 57 -98 24 32 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -115 197 164 -230 197 156 -222 98 98 -164 49 49 -106 16 24 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -115 197 164 -238 197 156 -230 90 90 -180 41 41 -115 16 16 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -115 197 164 -246 197 156 -238 82 82 -189 32 32 -123 8 8 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -115 197 164 -255 205 156 -255 82 82 -205 32 32 -131 8 8 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/include/battle_tower.h b/include/battle_tower.h index d8a3dc9a8..e1655f2c6 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -42,5 +42,6 @@ void sub_81628A0(union BattleTowerRecord *); void sub_8162614(u16 trainerId, u8); void ConvertBattleFrontierTrainerSpeechToString(u16 *words); void GetFrontierTrainerName(u8 *dest, u16 trainerIdx); +void GetEreaderTrainerName(u8 *dest); #endif //GUARD_BATTLE_TOWER_H diff --git a/include/cable_club.h b/include/cable_club.h index 734a4f070..8be376721 100644 --- a/include/cable_club.h +++ b/include/cable_club.h @@ -1,6 +1,8 @@ #ifndef GUARD_CABLE_CLUB_H #define GUARD_CABLE_CLUB_H +#include "task.h" + // Exported type declarations // Exported RAM declarations @@ -11,5 +13,6 @@ void sub_80B37D4(TaskFunc taskFunc); u8 sub_80B3050(void); void sub_80B360C(void); bool32 sub_80B2AF4(u16 *arg0, u16 *arg1); +void sub_80B3AF8(u8 taskId); #endif //GUARD_CABLE_CLUB_H diff --git a/include/constants/flags.h b/include/constants/flags.h index 641d74f19..6c1400410 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -199,7 +199,7 @@ #define FLAG_0x0C4 0xC4 #define FLAG_0x0C5 0xC5 #define FLAG_0x0C6 0xC6 -#define FLAG_0x0C7 0xC7 +#define FLAG_RUSTURF_TUNNEL_OPENED 0xC7 #define FLAG_0x0C8 0xC8 #define FLAG_0x0C9 0xC9 #define FLAG_0x0CA 0xCA @@ -532,10 +532,10 @@ #define FLAG_0x210 0x210 #define FLAG_0x211 0x211 #define FLAG_0x212 0x212 -#define FLAG_0x213 0x213 -#define FLAG_0x214 0x214 -#define FLAG_0x215 0x215 -#define FLAG_0x216 0x216 +#define FLAG_HIDDEN_ITEM_1F 0x213 +#define FLAG_HIDDEN_ITEM_20 0x214 +#define FLAG_HIDDEN_ITEM_21 0x215 +#define FLAG_HIDDEN_ITEM_22 0x216 #define FLAG_0x217 0x217 #define FLAG_0x218 0x218 #define FLAG_0x219 0x219 @@ -597,7 +597,7 @@ #define FLAG_0x251 0x251 #define FLAG_0x252 0x252 #define FLAG_0x253 0x253 -#define FLAG_0x254 0x254 +#define FLAG_HIDDEN_ITEM_BLACK_GLASSES 0x254 #define FLAG_0x255 0x255 #define FLAG_0x256 0x256 #define FLAG_0x257 0x257 @@ -790,10 +790,10 @@ #define FLAG_0x312 0x312 #define FLAG_0x313 0x313 #define FLAG_0x314 0x314 -#define FLAG_0x315 0x315 -#define FLAG_0x316 0x316 -#define FLAG_0x317 0x317 -#define FLAG_0x318 0x318 +#define FLAG_HIDE_FANCLUB_OLD_LADY 0x315 +#define FLAG_HIDE_FANCLUB_BOY 0x316 +#define FLAG_HIDE_FANCLUB_LITTLE_BOY 0x317 +#define FLAG_HIDE_FANCLUB_LADY 0x318 #define FLAG_0x319 0x319 #define FLAG_0x31A 0x31A #define FLAG_0x31B 0x31B @@ -932,8 +932,8 @@ #define FLAG_0x3A0 0x3A0 #define FLAG_0x3A1 0x3A1 #define FLAG_0x3A2 0x3A2 -#define FLAG_0x3A3 0x3A3 -#define FLAG_0x3A4 0x3A4 +#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3 +#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 0x3A4 #define FLAG_0x3A5 0x3A5 #define FLAG_0x3A6 0x3A6 #define FLAG_0x3A7 0x3A7 diff --git a/include/constants/heal_locations.h b/include/constants/heal_locations.h new file mode 100644 index 000000000..64c8956a9 --- /dev/null +++ b/include/constants/heal_locations.h @@ -0,0 +1,27 @@ +#ifndef GUARD_CONSTANTS_HEAL_LOCATIONS_H +#define GUARD_CONSTANTS_HEAL_LOCATIONS_H + +#define HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 1 +#define HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F 2 +#define HEAL_LOCATION_PETALBURG_CITY 3 +#define HEAL_LOCATION_SLATEPORT_CITY 4 +#define HEAL_LOCATION_MAUVILLE_CITY 5 +#define HEAL_LOCATION_RUSTBORO_CITY 6 +#define HEAL_LOCATION_FORTREE_CITY 7 +#define HEAL_LOCATION_LILYCOVE_CITY 8 +#define HEAL_LOCATION_MOSSDEEP_CITY 9 +#define HEAL_LOCATION_SOOTOPOLIS_CITY 10 +#define HEAL_LOCATION_EVER_GRANDE_CITY_1 11 +#define HEAL_LOCATION_LITTLEROOT_TOWN_1 12 +#define HEAL_LOCATION_LITTLEROOT_TOWN_2 13 +#define HEAL_LOCATION_OLDALE_TOWN 14 +#define HEAL_LOCATION_DEWFORD_TOWN 15 +#define HEAL_LOCATION_LAVARIDGE_TOWN 16 +#define HEAL_LOCATION_FALLARBOR_TOWN 17 +#define HEAL_LOCATION_VERDANTURF_TOWN 18 +#define HEAL_LOCATION_PACIFIDLOG_TOWN 19 +#define HEAL_LOCATION_EVER_GRANDE_CITY_2 20 +#define HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR 21 +#define HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST 22 + +#endif // GUARD_CONSTANTS_HEAL_LOCATIONS_H diff --git a/include/constants/vars.h b/include/constants/vars.h index ed4a7797b..7cf232efe 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -49,13 +49,13 @@ #define VAR_RECYCLE_GOODS 0x4020 #define VAR_REPEL_STEP_COUNT 0x4021 #define VAR_ICE_STEP_COUNT 0x4022 -#define VAR_FIRST_POKE 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip +#define VAR_STARTER_MON 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip #define VAR_MIRAGE_RND_H 0x4024 #define VAR_MIRAGE_RND_L 0x4025 #define VAR_SECRET_BASE_MAP 0x4026 -#define VAR_0x4027 0x4027 -#define VAR_0x4028 0x4028 -#define VAR_0x4029 0x4029 +#define VAR_CYCLING_ROAD_RECORD_COLLISIONS 0x4027 +#define VAR_CYCLING_ROAD_RECORD_TIME_L 0x4028 +#define VAR_CYCLING_ROAD_RECORD_TIME_H 0x4029 #define VAR_HAPPINESS_STEP_COUNTER 0x402A #define VAR_POISON_STEP_COUNTER 0x402B #define VAR_RESET_RTC_ENABLE 0x402C @@ -81,8 +81,8 @@ #define VAR_ALTERING_CAVE_WILD_SET 0x403E #define VAR_0x403F 0x403F #define VAR_DAYS 0x4040 -#define VAR_0x4041 0x4041 -#define VAR_0x4042 0x4042 +#define VAR_FANCLUB_UNKNOWN_1 0x4041 +#define VAR_FANCLUB_UNKNOWN_2 0x4042 #define VAR_DEPT_STORE_FLOOR 0x4043 #define VAR_0x4044 0x4044 #define VAR_POKELOT_PRIZE 0x4045 @@ -165,12 +165,12 @@ #define VAR_0x4092 0x4092 #define VAR_0x4093 0x4093 #define VAR_0x4094 0x4094 -#define VAR_0x4095 0x4095 +#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095 #define VAR_0x4096 0x4096 #define VAR_0x4097 0x4097 #define VAR_0x4098 0x4098 #define VAR_0x4099 0x4099 -#define VAR_0x409A 0x409A +#define VAR_RUSTURF_TUNNEL_STATE 0x409A #define VAR_0x409B 0x409B #define VAR_0x409C 0x409C #define VAR_0x409D 0x409D @@ -185,7 +185,7 @@ #define VAR_0x40A6 0x40A6 #define VAR_0x40A7 0x40A7 #define VAR_0x40A8 0x40A8 -#define VAR_0x40A9 0x40A9 +#define VAR_CYCLING_CHALLENGE_STATE 0x40A9 #define VAR_0x40AA 0x40AA #define VAR_0x40AB 0x40AB #define VAR_0x40AC 0x40AC @@ -196,7 +196,7 @@ #define VAR_0x40B1 0x40B1 #define VAR_0x40B2 0x40B2 #define VAR_WEATHER_INSTITUTE_STATE 0x40B3 -#define VAR_PORTHOLE 0x40B4 +#define VAR_PORTHOLE_STATE 0x40B4 #define VAR_0x40B5 0x40B5 #define VAR_0x40B6 0x40B6 #define VAR_0x40B7 0x40B7 @@ -210,7 +210,7 @@ #define VAR_0x40BF 0x40BF #define VAR_0x40C0 0x40C0 #define VAR_0x40C1 0x40C1 -#define VAR_0x40C2 0x40C2 +#define VAR_PACIFIDLOG_TM_RECEIVED_DAY 0x40C2 #define VAR_0x40C3 0x40C3 #define VAR_0x40C4 0x40C4 #define VAR_0x40C5 0x40C5 diff --git a/include/data/pokemon/level_up_learnset_pointers.h b/include/data/pokemon/level_up_learnset_pointers.h index a56b1c09f..0f648526c 100644 --- a/include/data/pokemon/level_up_learnset_pointers.h +++ b/include/data/pokemon/level_up_learnset_pointers.h @@ -1,420 +1,420 @@ #ifndef POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H #define POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H -const u16 *const gLevelUpLearnsets[] = +const u16 *const gLevelUpLearnsets[NUM_SPECIES] = { - gBulbasaurLevelUpLearnset, - gBulbasaurLevelUpLearnset, - gIvysaurLevelUpLearnset, - gVenusaurLevelUpLearnset, - gCharmanderLevelUpLearnset, - gCharmeleonLevelUpLearnset, - gCharizardLevelUpLearnset, - gSquirtleLevelUpLearnset, - gWartortleLevelUpLearnset, - gBlastoiseLevelUpLearnset, - gCaterpieLevelUpLearnset, - gMetapodLevelUpLearnset, - gButterfreeLevelUpLearnset, - gWeedleLevelUpLearnset, - gKakunaLevelUpLearnset, - gBeedrillLevelUpLearnset, - gPidgeyLevelUpLearnset, - gPidgeottoLevelUpLearnset, - gPidgeotLevelUpLearnset, - gRattataLevelUpLearnset, - gRaticateLevelUpLearnset, - gSpearowLevelUpLearnset, - gFearowLevelUpLearnset, - gEkansLevelUpLearnset, - gArbokLevelUpLearnset, - gPikachuLevelUpLearnset, - gRaichuLevelUpLearnset, - gSandshrewLevelUpLearnset, - gSandslashLevelUpLearnset, - gNidoranFLevelUpLearnset, - gNidorinaLevelUpLearnset, - gNidoqueenLevelUpLearnset, - gNidoranMLevelUpLearnset, - gNidorinoLevelUpLearnset, - gNidokingLevelUpLearnset, - gClefairyLevelUpLearnset, - gClefableLevelUpLearnset, - gVulpixLevelUpLearnset, - gNinetalesLevelUpLearnset, - gJigglypuffLevelUpLearnset, - gWigglytuffLevelUpLearnset, - gZubatLevelUpLearnset, - gGolbatLevelUpLearnset, - gOddishLevelUpLearnset, - gGloomLevelUpLearnset, - gVileplumeLevelUpLearnset, - gParasLevelUpLearnset, - gParasectLevelUpLearnset, - gVenonatLevelUpLearnset, - gVenomothLevelUpLearnset, - gDiglettLevelUpLearnset, - gDugtrioLevelUpLearnset, - gMeowthLevelUpLearnset, - gPersianLevelUpLearnset, - gPsyduckLevelUpLearnset, - gGolduckLevelUpLearnset, - gMankeyLevelUpLearnset, - gPrimeapeLevelUpLearnset, - gGrowlitheLevelUpLearnset, - gArcanineLevelUpLearnset, - gPoliwagLevelUpLearnset, - gPoliwhirlLevelUpLearnset, - gPoliwrathLevelUpLearnset, - gAbraLevelUpLearnset, - gKadabraLevelUpLearnset, - gAlakazamLevelUpLearnset, - gMachopLevelUpLearnset, - gMachokeLevelUpLearnset, - gMachampLevelUpLearnset, - gBellsproutLevelUpLearnset, - gWeepinbellLevelUpLearnset, - gVictreebelLevelUpLearnset, - gTentacoolLevelUpLearnset, - gTentacruelLevelUpLearnset, - gGeodudeLevelUpLearnset, - gGravelerLevelUpLearnset, - gGolemLevelUpLearnset, - gPonytaLevelUpLearnset, - gRapidashLevelUpLearnset, - gSlowpokeLevelUpLearnset, - gSlowbroLevelUpLearnset, - gMagnemiteLevelUpLearnset, - gMagnetonLevelUpLearnset, - gFarfetchdLevelUpLearnset, - gDoduoLevelUpLearnset, - gDodrioLevelUpLearnset, - gSeelLevelUpLearnset, - gDewgongLevelUpLearnset, - gGrimerLevelUpLearnset, - gMukLevelUpLearnset, - gShellderLevelUpLearnset, - gCloysterLevelUpLearnset, - gGastlyLevelUpLearnset, - gHaunterLevelUpLearnset, - gGengarLevelUpLearnset, - gOnixLevelUpLearnset, - gDrowzeeLevelUpLearnset, - gHypnoLevelUpLearnset, - gKrabbyLevelUpLearnset, - gKinglerLevelUpLearnset, - gVoltorbLevelUpLearnset, - gElectrodeLevelUpLearnset, - gExeggcuteLevelUpLearnset, - gExeggutorLevelUpLearnset, - gCuboneLevelUpLearnset, - gMarowakLevelUpLearnset, - gHitmonleeLevelUpLearnset, - gHitmonchanLevelUpLearnset, - gLickitungLevelUpLearnset, - gKoffingLevelUpLearnset, - gWeezingLevelUpLearnset, - gRhyhornLevelUpLearnset, - gRhydonLevelUpLearnset, - gChanseyLevelUpLearnset, - gTangelaLevelUpLearnset, - gKangaskhanLevelUpLearnset, - gHorseaLevelUpLearnset, - gSeadraLevelUpLearnset, - gGoldeenLevelUpLearnset, - gSeakingLevelUpLearnset, - gStaryuLevelUpLearnset, - gStarmieLevelUpLearnset, - gMrmimeLevelUpLearnset, - gScytherLevelUpLearnset, - gJynxLevelUpLearnset, - gElectabuzzLevelUpLearnset, - gMagmarLevelUpLearnset, - gPinsirLevelUpLearnset, - gTaurosLevelUpLearnset, - gMagikarpLevelUpLearnset, - gGyaradosLevelUpLearnset, - gLaprasLevelUpLearnset, - gDittoLevelUpLearnset, - gEeveeLevelUpLearnset, - gVaporeonLevelUpLearnset, - gJolteonLevelUpLearnset, - gFlareonLevelUpLearnset, - gPorygonLevelUpLearnset, - gOmanyteLevelUpLearnset, - gOmastarLevelUpLearnset, - gKabutoLevelUpLearnset, - gKabutopsLevelUpLearnset, - gAerodactylLevelUpLearnset, - gSnorlaxLevelUpLearnset, - gArticunoLevelUpLearnset, - gZapdosLevelUpLearnset, - gMoltresLevelUpLearnset, - gDratiniLevelUpLearnset, - gDragonairLevelUpLearnset, - gDragoniteLevelUpLearnset, - gMewtwoLevelUpLearnset, - gMewLevelUpLearnset, - gChikoritaLevelUpLearnset, - gBayleefLevelUpLearnset, - gMeganiumLevelUpLearnset, - gCyndaquilLevelUpLearnset, - gQuilavaLevelUpLearnset, - gTyphlosionLevelUpLearnset, - gTotodileLevelUpLearnset, - gCroconawLevelUpLearnset, - gFeraligatrLevelUpLearnset, - gSentretLevelUpLearnset, - gFurretLevelUpLearnset, - gHoothootLevelUpLearnset, - gNoctowlLevelUpLearnset, - gLedybaLevelUpLearnset, - gLedianLevelUpLearnset, - gSpinarakLevelUpLearnset, - gAriadosLevelUpLearnset, - gCrobatLevelUpLearnset, - gChinchouLevelUpLearnset, - gLanturnLevelUpLearnset, - gPichuLevelUpLearnset, - gCleffaLevelUpLearnset, - gIgglybuffLevelUpLearnset, - gTogepiLevelUpLearnset, - gTogeticLevelUpLearnset, - gNatuLevelUpLearnset, - gXatuLevelUpLearnset, - gMareepLevelUpLearnset, - gFlaaffyLevelUpLearnset, - gAmpharosLevelUpLearnset, - gBellossomLevelUpLearnset, - gMarillLevelUpLearnset, - gAzumarillLevelUpLearnset, - gSudowoodoLevelUpLearnset, - gPolitoedLevelUpLearnset, - gHoppipLevelUpLearnset, - gSkiploomLevelUpLearnset, - gJumpluffLevelUpLearnset, - gAipomLevelUpLearnset, - gSunkernLevelUpLearnset, - gSunfloraLevelUpLearnset, - gYanmaLevelUpLearnset, - gWooperLevelUpLearnset, - gQuagsireLevelUpLearnset, - gEspeonLevelUpLearnset, - gUmbreonLevelUpLearnset, - gMurkrowLevelUpLearnset, - gSlowkingLevelUpLearnset, - gMisdreavusLevelUpLearnset, - gUnownLevelUpLearnset, - gWobbuffetLevelUpLearnset, - gGirafarigLevelUpLearnset, - gPinecoLevelUpLearnset, - gForretressLevelUpLearnset, - gDunsparceLevelUpLearnset, - gGligarLevelUpLearnset, - gSteelixLevelUpLearnset, - gSnubbullLevelUpLearnset, - gGranbullLevelUpLearnset, - gQwilfishLevelUpLearnset, - gScizorLevelUpLearnset, - gShuckleLevelUpLearnset, - gHeracrossLevelUpLearnset, - gSneaselLevelUpLearnset, - gTeddiursaLevelUpLearnset, - gUrsaringLevelUpLearnset, - gSlugmaLevelUpLearnset, - gMagcargoLevelUpLearnset, - gSwinubLevelUpLearnset, - gPiloswineLevelUpLearnset, - gCorsolaLevelUpLearnset, - gRemoraidLevelUpLearnset, - gOctilleryLevelUpLearnset, - gDelibirdLevelUpLearnset, - gMantineLevelUpLearnset, - gSkarmoryLevelUpLearnset, - gHoundourLevelUpLearnset, - gHoundoomLevelUpLearnset, - gKingdraLevelUpLearnset, - gPhanpyLevelUpLearnset, - gDonphanLevelUpLearnset, - gPorygon2LevelUpLearnset, - gStantlerLevelUpLearnset, - gSmeargleLevelUpLearnset, - gTyrogueLevelUpLearnset, - gHitmontopLevelUpLearnset, - gSmoochumLevelUpLearnset, - gElekidLevelUpLearnset, - gMagbyLevelUpLearnset, - gMiltankLevelUpLearnset, - gBlisseyLevelUpLearnset, - gRaikouLevelUpLearnset, - gEnteiLevelUpLearnset, - gSuicuneLevelUpLearnset, - gLarvitarLevelUpLearnset, - gPupitarLevelUpLearnset, - gTyranitarLevelUpLearnset, - gLugiaLevelUpLearnset, - gHoOhLevelUpLearnset, - gCelebiLevelUpLearnset, - gSpecies252LevelUpLearnset, - gSpecies253LevelUpLearnset, - gSpecies254LevelUpLearnset, - gSpecies255LevelUpLearnset, - gSpecies256LevelUpLearnset, - gSpecies257LevelUpLearnset, - gSpecies258LevelUpLearnset, - gSpecies259LevelUpLearnset, - gSpecies260LevelUpLearnset, - gSpecies261LevelUpLearnset, - gSpecies262LevelUpLearnset, - gSpecies263LevelUpLearnset, - gSpecies264LevelUpLearnset, - gSpecies265LevelUpLearnset, - gSpecies266LevelUpLearnset, - gSpecies267LevelUpLearnset, - gSpecies268LevelUpLearnset, - gSpecies269LevelUpLearnset, - gSpecies270LevelUpLearnset, - gSpecies271LevelUpLearnset, - gSpecies272LevelUpLearnset, - gSpecies273LevelUpLearnset, - gSpecies274LevelUpLearnset, - gSpecies275LevelUpLearnset, - gSpecies276LevelUpLearnset, - gTreeckoLevelUpLearnset, - gGrovyleLevelUpLearnset, - gSceptileLevelUpLearnset, - gTorchicLevelUpLearnset, - gCombuskenLevelUpLearnset, - gBlazikenLevelUpLearnset, - gMudkipLevelUpLearnset, - gMarshtompLevelUpLearnset, - gSwampertLevelUpLearnset, - gPoochyenaLevelUpLearnset, - gMightyenaLevelUpLearnset, - gZigzagoonLevelUpLearnset, - gLinooneLevelUpLearnset, - gWurmpleLevelUpLearnset, - gSilcoonLevelUpLearnset, - gBeautiflyLevelUpLearnset, - gCascoonLevelUpLearnset, - gDustoxLevelUpLearnset, - gLotadLevelUpLearnset, - gLombreLevelUpLearnset, - gLudicoloLevelUpLearnset, - gSeedotLevelUpLearnset, - gNuzleafLevelUpLearnset, - gShiftryLevelUpLearnset, - gNincadaLevelUpLearnset, - gNinjaskLevelUpLearnset, - gShedinjaLevelUpLearnset, - gTaillowLevelUpLearnset, - gSwellowLevelUpLearnset, - gShroomishLevelUpLearnset, - gBreloomLevelUpLearnset, - gSpindaLevelUpLearnset, - gWingullLevelUpLearnset, - gPelipperLevelUpLearnset, - gSurskitLevelUpLearnset, - gMasquerainLevelUpLearnset, - gWailmerLevelUpLearnset, - gWailordLevelUpLearnset, - gSkittyLevelUpLearnset, - gDelcattyLevelUpLearnset, - gKecleonLevelUpLearnset, - gBaltoyLevelUpLearnset, - gClaydolLevelUpLearnset, - gNosepassLevelUpLearnset, - gTorkoalLevelUpLearnset, - gSableyeLevelUpLearnset, - gBarboachLevelUpLearnset, - gWhiscashLevelUpLearnset, - gLuvdiscLevelUpLearnset, - gCorphishLevelUpLearnset, - gCrawdauntLevelUpLearnset, - gFeebasLevelUpLearnset, - gMiloticLevelUpLearnset, - gCarvanhaLevelUpLearnset, - gSharpedoLevelUpLearnset, - gTrapinchLevelUpLearnset, - gVibravaLevelUpLearnset, - gFlygonLevelUpLearnset, - gMakuhitaLevelUpLearnset, - gHariyamaLevelUpLearnset, - gElectrikeLevelUpLearnset, - gManectricLevelUpLearnset, - gNumelLevelUpLearnset, - gCameruptLevelUpLearnset, - gSphealLevelUpLearnset, - gSealeoLevelUpLearnset, - gWalreinLevelUpLearnset, - gCacneaLevelUpLearnset, - gCacturneLevelUpLearnset, - gSnoruntLevelUpLearnset, - gGlalieLevelUpLearnset, - gLunatoneLevelUpLearnset, - gSolrockLevelUpLearnset, - gAzurillLevelUpLearnset, - gSpoinkLevelUpLearnset, - gGrumpigLevelUpLearnset, - gPlusleLevelUpLearnset, - gMinunLevelUpLearnset, - gMawileLevelUpLearnset, - gMedititeLevelUpLearnset, - gMedichamLevelUpLearnset, - gSwabluLevelUpLearnset, - gAltariaLevelUpLearnset, - gWynautLevelUpLearnset, - gDuskullLevelUpLearnset, - gDusclopsLevelUpLearnset, - gRoseliaLevelUpLearnset, - gSlakothLevelUpLearnset, - gVigorothLevelUpLearnset, - gSlakingLevelUpLearnset, - gGulpinLevelUpLearnset, - gSwalotLevelUpLearnset, - gTropiusLevelUpLearnset, - gWhismurLevelUpLearnset, - gLoudredLevelUpLearnset, - gExploudLevelUpLearnset, - gClamperlLevelUpLearnset, - gHuntailLevelUpLearnset, - gGorebyssLevelUpLearnset, - gAbsolLevelUpLearnset, - gShuppetLevelUpLearnset, - gBanetteLevelUpLearnset, - gSeviperLevelUpLearnset, - gZangooseLevelUpLearnset, - gRelicanthLevelUpLearnset, - gAronLevelUpLearnset, - gLaironLevelUpLearnset, - gAggronLevelUpLearnset, - gCastformLevelUpLearnset, - gVolbeatLevelUpLearnset, - gIllumiseLevelUpLearnset, - gLileepLevelUpLearnset, - gCradilyLevelUpLearnset, - gAnorithLevelUpLearnset, - gArmaldoLevelUpLearnset, - gRaltsLevelUpLearnset, - gKirliaLevelUpLearnset, - gGardevoirLevelUpLearnset, - gBagonLevelUpLearnset, - gShelgonLevelUpLearnset, - gSalamenceLevelUpLearnset, - gBeldumLevelUpLearnset, - gMetangLevelUpLearnset, - gMetagrossLevelUpLearnset, - gRegirockLevelUpLearnset, - gRegiceLevelUpLearnset, - gRegisteelLevelUpLearnset, - gKyogreLevelUpLearnset, - gGroudonLevelUpLearnset, - gRayquazaLevelUpLearnset, - gLatiasLevelUpLearnset, - gLatiosLevelUpLearnset, - gJirachiLevelUpLearnset, - gDeoxysLevelUpLearnset, - gChimechoLevelUpLearnset + [SPECIES_NONE] = sBulbasaurLevelUpLearnset, + [SPECIES_BULBASAUR] = sBulbasaurLevelUpLearnset, + [SPECIES_IVYSAUR] = sIvysaurLevelUpLearnset, + [SPECIES_VENUSAUR] = sVenusaurLevelUpLearnset, + [SPECIES_CHARMANDER] = sCharmanderLevelUpLearnset, + [SPECIES_CHARMELEON] = sCharmeleonLevelUpLearnset, + [SPECIES_CHARIZARD] = sCharizardLevelUpLearnset, + [SPECIES_SQUIRTLE] = sSquirtleLevelUpLearnset, + [SPECIES_WARTORTLE] = sWartortleLevelUpLearnset, + [SPECIES_BLASTOISE] = sBlastoiseLevelUpLearnset, + [SPECIES_CATERPIE] = sCaterpieLevelUpLearnset, + [SPECIES_METAPOD] = sMetapodLevelUpLearnset, + [SPECIES_BUTTERFREE] = sButterfreeLevelUpLearnset, + [SPECIES_WEEDLE] = sWeedleLevelUpLearnset, + [SPECIES_KAKUNA] = sKakunaLevelUpLearnset, + [SPECIES_BEEDRILL] = sBeedrillLevelUpLearnset, + [SPECIES_PIDGEY] = sPidgeyLevelUpLearnset, + [SPECIES_PIDGEOTTO] = sPidgeottoLevelUpLearnset, + [SPECIES_PIDGEOT] = sPidgeotLevelUpLearnset, + [SPECIES_RATTATA] = sRattataLevelUpLearnset, + [SPECIES_RATICATE] = sRaticateLevelUpLearnset, + [SPECIES_SPEAROW] = sSpearowLevelUpLearnset, + [SPECIES_FEAROW] = sFearowLevelUpLearnset, + [SPECIES_EKANS] = sEkansLevelUpLearnset, + [SPECIES_ARBOK] = sArbokLevelUpLearnset, + [SPECIES_PIKACHU] = sPikachuLevelUpLearnset, + [SPECIES_RAICHU] = sRaichuLevelUpLearnset, + [SPECIES_SANDSHREW] = sSandshrewLevelUpLearnset, + [SPECIES_SANDSLASH] = sSandslashLevelUpLearnset, + [SPECIES_NIDORAN_F] = sNidoranFLevelUpLearnset, + [SPECIES_NIDORINA] = sNidorinaLevelUpLearnset, + [SPECIES_NIDOQUEEN] = sNidoqueenLevelUpLearnset, + [SPECIES_NIDORAN_M] = sNidoranMLevelUpLearnset, + [SPECIES_NIDORINO] = sNidorinoLevelUpLearnset, + [SPECIES_NIDOKING] = sNidokingLevelUpLearnset, + [SPECIES_CLEFAIRY] = sClefairyLevelUpLearnset, + [SPECIES_CLEFABLE] = sClefableLevelUpLearnset, + [SPECIES_VULPIX] = sVulpixLevelUpLearnset, + [SPECIES_NINETALES] = sNinetalesLevelUpLearnset, + [SPECIES_JIGGLYPUFF] = sJigglypuffLevelUpLearnset, + [SPECIES_WIGGLYTUFF] = sWigglytuffLevelUpLearnset, + [SPECIES_ZUBAT] = sZubatLevelUpLearnset, + [SPECIES_GOLBAT] = sGolbatLevelUpLearnset, + [SPECIES_ODDISH] = sOddishLevelUpLearnset, + [SPECIES_GLOOM] = sGloomLevelUpLearnset, + [SPECIES_VILEPLUME] = sVileplumeLevelUpLearnset, + [SPECIES_PARAS] = sParasLevelUpLearnset, + [SPECIES_PARASECT] = sParasectLevelUpLearnset, + [SPECIES_VENONAT] = sVenonatLevelUpLearnset, + [SPECIES_VENOMOTH] = sVenomothLevelUpLearnset, + [SPECIES_DIGLETT] = sDiglettLevelUpLearnset, + [SPECIES_DUGTRIO] = sDugtrioLevelUpLearnset, + [SPECIES_MEOWTH] = sMeowthLevelUpLearnset, + [SPECIES_PERSIAN] = sPersianLevelUpLearnset, + [SPECIES_PSYDUCK] = sPsyduckLevelUpLearnset, + [SPECIES_GOLDUCK] = sGolduckLevelUpLearnset, + [SPECIES_MANKEY] = sMankeyLevelUpLearnset, + [SPECIES_PRIMEAPE] = sPrimeapeLevelUpLearnset, + [SPECIES_GROWLITHE] = sGrowlitheLevelUpLearnset, + [SPECIES_ARCANINE] = sArcanineLevelUpLearnset, + [SPECIES_POLIWAG] = sPoliwagLevelUpLearnset, + [SPECIES_POLIWHIRL] = sPoliwhirlLevelUpLearnset, + [SPECIES_POLIWRATH] = sPoliwrathLevelUpLearnset, + [SPECIES_ABRA] = sAbraLevelUpLearnset, + [SPECIES_KADABRA] = sKadabraLevelUpLearnset, + [SPECIES_ALAKAZAM] = sAlakazamLevelUpLearnset, + [SPECIES_MACHOP] = sMachopLevelUpLearnset, + [SPECIES_MACHOKE] = sMachokeLevelUpLearnset, + [SPECIES_MACHAMP] = sMachampLevelUpLearnset, + [SPECIES_BELLSPROUT] = sBellsproutLevelUpLearnset, + [SPECIES_WEEPINBELL] = sWeepinbellLevelUpLearnset, + [SPECIES_VICTREEBEL] = sVictreebelLevelUpLearnset, + [SPECIES_TENTACOOL] = sTentacoolLevelUpLearnset, + [SPECIES_TENTACRUEL] = sTentacruelLevelUpLearnset, + [SPECIES_GEODUDE] = sGeodudeLevelUpLearnset, + [SPECIES_GRAVELER] = sGravelerLevelUpLearnset, + [SPECIES_GOLEM] = sGolemLevelUpLearnset, + [SPECIES_PONYTA] = sPonytaLevelUpLearnset, + [SPECIES_RAPIDASH] = sRapidashLevelUpLearnset, + [SPECIES_SLOWPOKE] = sSlowpokeLevelUpLearnset, + [SPECIES_SLOWBRO] = sSlowbroLevelUpLearnset, + [SPECIES_MAGNEMITE] = sMagnemiteLevelUpLearnset, + [SPECIES_MAGNETON] = sMagnetonLevelUpLearnset, + [SPECIES_FARFETCHD] = sFarfetchdLevelUpLearnset, + [SPECIES_DODUO] = sDoduoLevelUpLearnset, + [SPECIES_DODRIO] = sDodrioLevelUpLearnset, + [SPECIES_SEEL] = sSeelLevelUpLearnset, + [SPECIES_DEWGONG] = sDewgongLevelUpLearnset, + [SPECIES_GRIMER] = sGrimerLevelUpLearnset, + [SPECIES_MUK] = sMukLevelUpLearnset, + [SPECIES_SHELLDER] = sShellderLevelUpLearnset, + [SPECIES_CLOYSTER] = sCloysterLevelUpLearnset, + [SPECIES_GASTLY] = sGastlyLevelUpLearnset, + [SPECIES_HAUNTER] = sHaunterLevelUpLearnset, + [SPECIES_GENGAR] = sGengarLevelUpLearnset, + [SPECIES_ONIX] = sOnixLevelUpLearnset, + [SPECIES_DROWZEE] = sDrowzeeLevelUpLearnset, + [SPECIES_HYPNO] = sHypnoLevelUpLearnset, + [SPECIES_KRABBY] = sKrabbyLevelUpLearnset, + [SPECIES_KINGLER] = sKinglerLevelUpLearnset, + [SPECIES_VOLTORB] = sVoltorbLevelUpLearnset, + [SPECIES_ELECTRODE] = sElectrodeLevelUpLearnset, + [SPECIES_EXEGGCUTE] = sExeggcuteLevelUpLearnset, + [SPECIES_EXEGGUTOR] = sExeggutorLevelUpLearnset, + [SPECIES_CUBONE] = sCuboneLevelUpLearnset, + [SPECIES_MAROWAK] = sMarowakLevelUpLearnset, + [SPECIES_HITMONLEE] = sHitmonleeLevelUpLearnset, + [SPECIES_HITMONCHAN] = sHitmonchanLevelUpLearnset, + [SPECIES_LICKITUNG] = sLickitungLevelUpLearnset, + [SPECIES_KOFFING] = sKoffingLevelUpLearnset, + [SPECIES_WEEZING] = sWeezingLevelUpLearnset, + [SPECIES_RHYHORN] = sRhyhornLevelUpLearnset, + [SPECIES_RHYDON] = sRhydonLevelUpLearnset, + [SPECIES_CHANSEY] = sChanseyLevelUpLearnset, + [SPECIES_TANGELA] = sTangelaLevelUpLearnset, + [SPECIES_KANGASKHAN] = sKangaskhanLevelUpLearnset, + [SPECIES_HORSEA] = sHorseaLevelUpLearnset, + [SPECIES_SEADRA] = sSeadraLevelUpLearnset, + [SPECIES_GOLDEEN] = sGoldeenLevelUpLearnset, + [SPECIES_SEAKING] = sSeakingLevelUpLearnset, + [SPECIES_STARYU] = sStaryuLevelUpLearnset, + [SPECIES_STARMIE] = sStarmieLevelUpLearnset, + [SPECIES_MR_MIME] = sMrmimeLevelUpLearnset, + [SPECIES_SCYTHER] = sScytherLevelUpLearnset, + [SPECIES_JYNX] = sJynxLevelUpLearnset, + [SPECIES_ELECTABUZZ] = sElectabuzzLevelUpLearnset, + [SPECIES_MAGMAR] = sMagmarLevelUpLearnset, + [SPECIES_PINSIR] = sPinsirLevelUpLearnset, + [SPECIES_TAUROS] = sTaurosLevelUpLearnset, + [SPECIES_MAGIKARP] = sMagikarpLevelUpLearnset, + [SPECIES_GYARADOS] = sGyaradosLevelUpLearnset, + [SPECIES_LAPRAS] = sLaprasLevelUpLearnset, + [SPECIES_DITTO] = sDittoLevelUpLearnset, + [SPECIES_EEVEE] = sEeveeLevelUpLearnset, + [SPECIES_VAPOREON] = sVaporeonLevelUpLearnset, + [SPECIES_JOLTEON] = sJolteonLevelUpLearnset, + [SPECIES_FLAREON] = sFlareonLevelUpLearnset, + [SPECIES_PORYGON] = sPorygonLevelUpLearnset, + [SPECIES_OMANYTE] = sOmanyteLevelUpLearnset, + [SPECIES_OMASTAR] = sOmastarLevelUpLearnset, + [SPECIES_KABUTO] = sKabutoLevelUpLearnset, + [SPECIES_KABUTOPS] = sKabutopsLevelUpLearnset, + [SPECIES_AERODACTYL] = sAerodactylLevelUpLearnset, + [SPECIES_SNORLAX] = sSnorlaxLevelUpLearnset, + [SPECIES_ARTICUNO] = sArticunoLevelUpLearnset, + [SPECIES_ZAPDOS] = sZapdosLevelUpLearnset, + [SPECIES_MOLTRES] = sMoltresLevelUpLearnset, + [SPECIES_DRATINI] = sDratiniLevelUpLearnset, + [SPECIES_DRAGONAIR] = sDragonairLevelUpLearnset, + [SPECIES_DRAGONITE] = sDragoniteLevelUpLearnset, + [SPECIES_MEWTWO] = sMewtwoLevelUpLearnset, + [SPECIES_MEW] = sMewLevelUpLearnset, + [SPECIES_CHIKORITA] = sChikoritaLevelUpLearnset, + [SPECIES_BAYLEEF] = sBayleefLevelUpLearnset, + [SPECIES_MEGANIUM] = sMeganiumLevelUpLearnset, + [SPECIES_CYNDAQUIL] = sCyndaquilLevelUpLearnset, + [SPECIES_QUILAVA] = sQuilavaLevelUpLearnset, + [SPECIES_TYPHLOSION] = sTyphlosionLevelUpLearnset, + [SPECIES_TOTODILE] = sTotodileLevelUpLearnset, + [SPECIES_CROCONAW] = sCroconawLevelUpLearnset, + [SPECIES_FERALIGATR] = sFeraligatrLevelUpLearnset, + [SPECIES_SENTRET] = sSentretLevelUpLearnset, + [SPECIES_FURRET] = sFurretLevelUpLearnset, + [SPECIES_HOOTHOOT] = sHoothootLevelUpLearnset, + [SPECIES_NOCTOWL] = sNoctowlLevelUpLearnset, + [SPECIES_LEDYBA] = sLedybaLevelUpLearnset, + [SPECIES_LEDIAN] = sLedianLevelUpLearnset, + [SPECIES_SPINARAK] = sSpinarakLevelUpLearnset, + [SPECIES_ARIADOS] = sAriadosLevelUpLearnset, + [SPECIES_CROBAT] = sCrobatLevelUpLearnset, + [SPECIES_CHINCHOU] = sChinchouLevelUpLearnset, + [SPECIES_LANTURN] = sLanturnLevelUpLearnset, + [SPECIES_PICHU] = sPichuLevelUpLearnset, + [SPECIES_CLEFFA] = sCleffaLevelUpLearnset, + [SPECIES_IGGLYBUFF] = sIgglybuffLevelUpLearnset, + [SPECIES_TOGEPI] = sTogepiLevelUpLearnset, + [SPECIES_TOGETIC] = sTogeticLevelUpLearnset, + [SPECIES_NATU] = sNatuLevelUpLearnset, + [SPECIES_XATU] = sXatuLevelUpLearnset, + [SPECIES_MAREEP] = sMareepLevelUpLearnset, + [SPECIES_FLAAFFY] = sFlaaffyLevelUpLearnset, + [SPECIES_AMPHAROS] = sAmpharosLevelUpLearnset, + [SPECIES_BELLOSSOM] = sBellossomLevelUpLearnset, + [SPECIES_MARILL] = sMarillLevelUpLearnset, + [SPECIES_AZUMARILL] = sAzumarillLevelUpLearnset, + [SPECIES_SUDOWOODO] = sSudowoodoLevelUpLearnset, + [SPECIES_POLITOED] = sPolitoedLevelUpLearnset, + [SPECIES_HOPPIP] = sHoppipLevelUpLearnset, + [SPECIES_SKIPLOOM] = sSkiploomLevelUpLearnset, + [SPECIES_JUMPLUFF] = sJumpluffLevelUpLearnset, + [SPECIES_AIPOM] = sAipomLevelUpLearnset, + [SPECIES_SUNKERN] = sSunkernLevelUpLearnset, + [SPECIES_SUNFLORA] = sSunfloraLevelUpLearnset, + [SPECIES_YANMA] = sYanmaLevelUpLearnset, + [SPECIES_WOOPER] = sWooperLevelUpLearnset, + [SPECIES_QUAGSIRE] = sQuagsireLevelUpLearnset, + [SPECIES_ESPEON] = sEspeonLevelUpLearnset, + [SPECIES_UMBREON] = sUmbreonLevelUpLearnset, + [SPECIES_MURKROW] = sMurkrowLevelUpLearnset, + [SPECIES_SLOWKING] = sSlowkingLevelUpLearnset, + [SPECIES_MISDREAVUS] = sMisdreavusLevelUpLearnset, + [SPECIES_UNOWN] = sUnownLevelUpLearnset, + [SPECIES_WOBBUFFET] = sWobbuffetLevelUpLearnset, + [SPECIES_GIRAFARIG] = sGirafarigLevelUpLearnset, + [SPECIES_PINECO] = sPinecoLevelUpLearnset, + [SPECIES_FORRETRESS] = sForretressLevelUpLearnset, + [SPECIES_DUNSPARCE] = sDunsparceLevelUpLearnset, + [SPECIES_GLIGAR] = sGligarLevelUpLearnset, + [SPECIES_STEELIX] = sSteelixLevelUpLearnset, + [SPECIES_SNUBBULL] = sSnubbullLevelUpLearnset, + [SPECIES_GRANBULL] = sGranbullLevelUpLearnset, + [SPECIES_QWILFISH] = sQwilfishLevelUpLearnset, + [SPECIES_SCIZOR] = sScizorLevelUpLearnset, + [SPECIES_SHUCKLE] = sShuckleLevelUpLearnset, + [SPECIES_HERACROSS] = sHeracrossLevelUpLearnset, + [SPECIES_SNEASEL] = sSneaselLevelUpLearnset, + [SPECIES_TEDDIURSA] = sTeddiursaLevelUpLearnset, + [SPECIES_URSARING] = sUrsaringLevelUpLearnset, + [SPECIES_SLUGMA] = sSlugmaLevelUpLearnset, + [SPECIES_MAGCARGO] = sMagcargoLevelUpLearnset, + [SPECIES_SWINUB] = sSwinubLevelUpLearnset, + [SPECIES_PILOSWINE] = sPiloswineLevelUpLearnset, + [SPECIES_CORSOLA] = sCorsolaLevelUpLearnset, + [SPECIES_REMORAID] = sRemoraidLevelUpLearnset, + [SPECIES_OCTILLERY] = sOctilleryLevelUpLearnset, + [SPECIES_DELIBIRD] = sDelibirdLevelUpLearnset, + [SPECIES_MANTINE] = sMantineLevelUpLearnset, + [SPECIES_SKARMORY] = sSkarmoryLevelUpLearnset, + [SPECIES_HOUNDOUR] = sHoundourLevelUpLearnset, + [SPECIES_HOUNDOOM] = sHoundoomLevelUpLearnset, + [SPECIES_KINGDRA] = sKingdraLevelUpLearnset, + [SPECIES_PHANPY] = sPhanpyLevelUpLearnset, + [SPECIES_DONPHAN] = sDonphanLevelUpLearnset, + [SPECIES_PORYGON2] = sPorygon2LevelUpLearnset, + [SPECIES_STANTLER] = sStantlerLevelUpLearnset, + [SPECIES_SMEARGLE] = sSmeargleLevelUpLearnset, + [SPECIES_TYROGUE] = sTyrogueLevelUpLearnset, + [SPECIES_HITMONTOP] = sHitmontopLevelUpLearnset, + [SPECIES_SMOOCHUM] = sSmoochumLevelUpLearnset, + [SPECIES_ELEKID] = sElekidLevelUpLearnset, + [SPECIES_MAGBY] = sMagbyLevelUpLearnset, + [SPECIES_MILTANK] = sMiltankLevelUpLearnset, + [SPECIES_BLISSEY] = sBlisseyLevelUpLearnset, + [SPECIES_RAIKOU] = sRaikouLevelUpLearnset, + [SPECIES_ENTEI] = sEnteiLevelUpLearnset, + [SPECIES_SUICUNE] = sSuicuneLevelUpLearnset, + [SPECIES_LARVITAR] = sLarvitarLevelUpLearnset, + [SPECIES_PUPITAR] = sPupitarLevelUpLearnset, + [SPECIES_TYRANITAR] = sTyranitarLevelUpLearnset, + [SPECIES_LUGIA] = sLugiaLevelUpLearnset, + [SPECIES_HO_OH] = sHoOhLevelUpLearnset, + [SPECIES_CELEBI] = sCelebiLevelUpLearnset, + [SPECIES_OLD_UNOWN_B] = sSpecies252LevelUpLearnset, + [SPECIES_OLD_UNOWN_C] = sSpecies253LevelUpLearnset, + [SPECIES_OLD_UNOWN_D] = sSpecies254LevelUpLearnset, + [SPECIES_OLD_UNOWN_E] = sSpecies255LevelUpLearnset, + [SPECIES_OLD_UNOWN_F] = sSpecies256LevelUpLearnset, + [SPECIES_OLD_UNOWN_G] = sSpecies257LevelUpLearnset, + [SPECIES_OLD_UNOWN_H] = sSpecies258LevelUpLearnset, + [SPECIES_OLD_UNOWN_I] = sSpecies259LevelUpLearnset, + [SPECIES_OLD_UNOWN_J] = sSpecies260LevelUpLearnset, + [SPECIES_OLD_UNOWN_K] = sSpecies261LevelUpLearnset, + [SPECIES_OLD_UNOWN_L] = sSpecies262LevelUpLearnset, + [SPECIES_OLD_UNOWN_M] = sSpecies263LevelUpLearnset, + [SPECIES_OLD_UNOWN_N] = sSpecies264LevelUpLearnset, + [SPECIES_OLD_UNOWN_O] = sSpecies265LevelUpLearnset, + [SPECIES_OLD_UNOWN_P] = sSpecies266LevelUpLearnset, + [SPECIES_OLD_UNOWN_Q] = sSpecies267LevelUpLearnset, + [SPECIES_OLD_UNOWN_R] = sSpecies268LevelUpLearnset, + [SPECIES_OLD_UNOWN_S] = sSpecies269LevelUpLearnset, + [SPECIES_OLD_UNOWN_T] = sSpecies270LevelUpLearnset, + [SPECIES_OLD_UNOWN_U] = sSpecies271LevelUpLearnset, + [SPECIES_OLD_UNOWN_V] = sSpecies272LevelUpLearnset, + [SPECIES_OLD_UNOWN_W] = sSpecies273LevelUpLearnset, + [SPECIES_OLD_UNOWN_X] = sSpecies274LevelUpLearnset, + [SPECIES_OLD_UNOWN_Y] = sSpecies275LevelUpLearnset, + [SPECIES_OLD_UNOWN_Z] = sSpecies276LevelUpLearnset, + [SPECIES_TREECKO] = sTreeckoLevelUpLearnset, + [SPECIES_GROVYLE] = sGrovyleLevelUpLearnset, + [SPECIES_SCEPTILE] = sSceptileLevelUpLearnset, + [SPECIES_TORCHIC] = sTorchicLevelUpLearnset, + [SPECIES_COMBUSKEN] = sCombuskenLevelUpLearnset, + [SPECIES_BLAZIKEN] = sBlazikenLevelUpLearnset, + [SPECIES_MUDKIP] = sMudkipLevelUpLearnset, + [SPECIES_MARSHTOMP] = sMarshtompLevelUpLearnset, + [SPECIES_SWAMPERT] = sSwampertLevelUpLearnset, + [SPECIES_POOCHYENA] = sPoochyenaLevelUpLearnset, + [SPECIES_MIGHTYENA] = sMightyenaLevelUpLearnset, + [SPECIES_ZIGZAGOON] = sZigzagoonLevelUpLearnset, + [SPECIES_LINOONE] = sLinooneLevelUpLearnset, + [SPECIES_WURMPLE] = sWurmpleLevelUpLearnset, + [SPECIES_SILCOON] = sSilcoonLevelUpLearnset, + [SPECIES_BEAUTIFLY] = sBeautiflyLevelUpLearnset, + [SPECIES_CASCOON] = sCascoonLevelUpLearnset, + [SPECIES_DUSTOX] = sDustoxLevelUpLearnset, + [SPECIES_LOTAD] = sLotadLevelUpLearnset, + [SPECIES_LOMBRE] = sLombreLevelUpLearnset, + [SPECIES_LUDICOLO] = sLudicoloLevelUpLearnset, + [SPECIES_SEEDOT] = sSeedotLevelUpLearnset, + [SPECIES_NUZLEAF] = sNuzleafLevelUpLearnset, + [SPECIES_SHIFTRY] = sShiftryLevelUpLearnset, + [SPECIES_NINCADA] = sNincadaLevelUpLearnset, + [SPECIES_NINJASK] = sNinjaskLevelUpLearnset, + [SPECIES_SHEDINJA] = sShedinjaLevelUpLearnset, + [SPECIES_TAILLOW] = sTaillowLevelUpLearnset, + [SPECIES_SWELLOW] = sSwellowLevelUpLearnset, + [SPECIES_SHROOMISH] = sShroomishLevelUpLearnset, + [SPECIES_BRELOOM] = sBreloomLevelUpLearnset, + [SPECIES_SPINDA] = sSpindaLevelUpLearnset, + [SPECIES_WINGULL] = sWingullLevelUpLearnset, + [SPECIES_PELIPPER] = sPelipperLevelUpLearnset, + [SPECIES_SURSKIT] = sSurskitLevelUpLearnset, + [SPECIES_MASQUERAIN] = sMasquerainLevelUpLearnset, + [SPECIES_WAILMER] = sWailmerLevelUpLearnset, + [SPECIES_WAILORD] = sWailordLevelUpLearnset, + [SPECIES_SKITTY] = sSkittyLevelUpLearnset, + [SPECIES_DELCATTY] = sDelcattyLevelUpLearnset, + [SPECIES_KECLEON] = sKecleonLevelUpLearnset, + [SPECIES_BALTOY] = sBaltoyLevelUpLearnset, + [SPECIES_CLAYDOL] = sClaydolLevelUpLearnset, + [SPECIES_NOSEPASS] = sNosepassLevelUpLearnset, + [SPECIES_TORKOAL] = sTorkoalLevelUpLearnset, + [SPECIES_SABLEYE] = sSableyeLevelUpLearnset, + [SPECIES_BARBOACH] = sBarboachLevelUpLearnset, + [SPECIES_WHISCASH] = sWhiscashLevelUpLearnset, + [SPECIES_LUVDISC] = sLuvdiscLevelUpLearnset, + [SPECIES_CORPHISH] = sCorphishLevelUpLearnset, + [SPECIES_CRAWDAUNT] = sCrawdauntLevelUpLearnset, + [SPECIES_FEEBAS] = sFeebasLevelUpLearnset, + [SPECIES_MILOTIC] = sMiloticLevelUpLearnset, + [SPECIES_CARVANHA] = sCarvanhaLevelUpLearnset, + [SPECIES_SHARPEDO] = sSharpedoLevelUpLearnset, + [SPECIES_TRAPINCH] = sTrapinchLevelUpLearnset, + [SPECIES_VIBRAVA] = sVibravaLevelUpLearnset, + [SPECIES_FLYGON] = sFlygonLevelUpLearnset, + [SPECIES_MAKUHITA] = sMakuhitaLevelUpLearnset, + [SPECIES_HARIYAMA] = sHariyamaLevelUpLearnset, + [SPECIES_ELECTRIKE] = sElectrikeLevelUpLearnset, + [SPECIES_MANECTRIC] = sManectricLevelUpLearnset, + [SPECIES_NUMEL] = sNumelLevelUpLearnset, + [SPECIES_CAMERUPT] = sCameruptLevelUpLearnset, + [SPECIES_SPHEAL] = sSphealLevelUpLearnset, + [SPECIES_SEALEO] = sSealeoLevelUpLearnset, + [SPECIES_WALREIN] = sWalreinLevelUpLearnset, + [SPECIES_CACNEA] = sCacneaLevelUpLearnset, + [SPECIES_CACTURNE] = sCacturneLevelUpLearnset, + [SPECIES_SNORUNT] = sSnoruntLevelUpLearnset, + [SPECIES_GLALIE] = sGlalieLevelUpLearnset, + [SPECIES_LUNATONE] = sLunatoneLevelUpLearnset, + [SPECIES_SOLROCK] = sSolrockLevelUpLearnset, + [SPECIES_AZURILL] = sAzurillLevelUpLearnset, + [SPECIES_SPOINK] = sSpoinkLevelUpLearnset, + [SPECIES_GRUMPIG] = sGrumpigLevelUpLearnset, + [SPECIES_PLUSLE] = sPlusleLevelUpLearnset, + [SPECIES_MINUN] = sMinunLevelUpLearnset, + [SPECIES_MAWILE] = sMawileLevelUpLearnset, + [SPECIES_MEDITITE] = sMedititeLevelUpLearnset, + [SPECIES_MEDICHAM] = sMedichamLevelUpLearnset, + [SPECIES_SWABLU] = sSwabluLevelUpLearnset, + [SPECIES_ALTARIA] = sAltariaLevelUpLearnset, + [SPECIES_WYNAUT] = sWynautLevelUpLearnset, + [SPECIES_DUSKULL] = sDuskullLevelUpLearnset, + [SPECIES_DUSCLOPS] = sDusclopsLevelUpLearnset, + [SPECIES_ROSELIA] = sRoseliaLevelUpLearnset, + [SPECIES_SLAKOTH] = sSlakothLevelUpLearnset, + [SPECIES_VIGOROTH] = sVigorothLevelUpLearnset, + [SPECIES_SLAKING] = sSlakingLevelUpLearnset, + [SPECIES_GULPIN] = sGulpinLevelUpLearnset, + [SPECIES_SWALOT] = sSwalotLevelUpLearnset, + [SPECIES_TROPIUS] = sTropiusLevelUpLearnset, + [SPECIES_WHISMUR] = sWhismurLevelUpLearnset, + [SPECIES_LOUDRED] = sLoudredLevelUpLearnset, + [SPECIES_EXPLOUD] = sExploudLevelUpLearnset, + [SPECIES_CLAMPERL] = sClamperlLevelUpLearnset, + [SPECIES_HUNTAIL] = sHuntailLevelUpLearnset, + [SPECIES_GOREBYSS] = sGorebyssLevelUpLearnset, + [SPECIES_ABSOL] = sAbsolLevelUpLearnset, + [SPECIES_SHUPPET] = sShuppetLevelUpLearnset, + [SPECIES_BANETTE] = sBanetteLevelUpLearnset, + [SPECIES_SEVIPER] = sSeviperLevelUpLearnset, + [SPECIES_ZANGOOSE] = sZangooseLevelUpLearnset, + [SPECIES_RELICANTH] = sRelicanthLevelUpLearnset, + [SPECIES_ARON] = sAronLevelUpLearnset, + [SPECIES_LAIRON] = sLaironLevelUpLearnset, + [SPECIES_AGGRON] = sAggronLevelUpLearnset, + [SPECIES_CASTFORM] = sCastformLevelUpLearnset, + [SPECIES_VOLBEAT] = sVolbeatLevelUpLearnset, + [SPECIES_ILLUMISE] = sIllumiseLevelUpLearnset, + [SPECIES_LILEEP] = sLileepLevelUpLearnset, + [SPECIES_CRADILY] = sCradilyLevelUpLearnset, + [SPECIES_ANORITH] = sAnorithLevelUpLearnset, + [SPECIES_ARMALDO] = sArmaldoLevelUpLearnset, + [SPECIES_RALTS] = sRaltsLevelUpLearnset, + [SPECIES_KIRLIA] = sKirliaLevelUpLearnset, + [SPECIES_GARDEVOIR] = sGardevoirLevelUpLearnset, + [SPECIES_BAGON] = sBagonLevelUpLearnset, + [SPECIES_SHELGON] = sShelgonLevelUpLearnset, + [SPECIES_SALAMENCE] = sSalamenceLevelUpLearnset, + [SPECIES_BELDUM] = sBeldumLevelUpLearnset, + [SPECIES_METANG] = sMetangLevelUpLearnset, + [SPECIES_METAGROSS] = sMetagrossLevelUpLearnset, + [SPECIES_REGIROCK] = sRegirockLevelUpLearnset, + [SPECIES_REGICE] = sRegiceLevelUpLearnset, + [SPECIES_REGISTEEL] = sRegisteelLevelUpLearnset, + [SPECIES_KYOGRE] = sKyogreLevelUpLearnset, + [SPECIES_GROUDON] = sGroudonLevelUpLearnset, + [SPECIES_RAYQUAZA] = sRayquazaLevelUpLearnset, + [SPECIES_LATIAS] = sLatiasLevelUpLearnset, + [SPECIES_LATIOS] = sLatiosLevelUpLearnset, + [SPECIES_JIRACHI] = sJirachiLevelUpLearnset, + [SPECIES_DEOXYS] = sDeoxysLevelUpLearnset, + [SPECIES_CHIMECHO] = sChimechoLevelUpLearnset, }; #endif //POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H diff --git a/include/data/pokemon/level_up_learnsets.h b/include/data/pokemon/level_up_learnsets.h index 4035dc66a..062873aee 100644 --- a/include/data/pokemon/level_up_learnsets.h +++ b/include/data/pokemon/level_up_learnsets.h @@ -4,7 +4,7 @@ #define LEVEL_UP_MOVE(lvl, move) ((lvl << 9) | move) #define LEVEL_UP_END 0xffff -const u16 gBulbasaurLevelUpLearnset[] = { +static const u16 sBulbasaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_LEECH_SEED), @@ -19,7 +19,7 @@ const u16 gBulbasaurLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gIvysaurLevelUpLearnset[] = { +static const u16 sIvysaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), @@ -36,7 +36,7 @@ const u16 gIvysaurLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVenusaurLevelUpLearnset[] = { +static const u16 sVenusaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), @@ -54,7 +54,7 @@ const u16 gVenusaurLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCharmanderLevelUpLearnset[] = { +static const u16 sCharmanderLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_EMBER), @@ -68,7 +68,7 @@ const u16 gCharmanderLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCharmeleonLevelUpLearnset[] = { +static const u16 sCharmeleonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -83,7 +83,7 @@ const u16 gCharmeleonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCharizardLevelUpLearnset[] = { +static const u16 sCharizardLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -100,7 +100,7 @@ const u16 gCharizardLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSquirtleLevelUpLearnset[] = { +static const u16 sSquirtleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_BUBBLE), @@ -115,7 +115,7 @@ const u16 gSquirtleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWartortleLevelUpLearnset[] = { +static const u16 sWartortleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), @@ -132,7 +132,7 @@ const u16 gWartortleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBlastoiseLevelUpLearnset[] = { +static const u16 sBlastoiseLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), @@ -150,19 +150,19 @@ const u16 gBlastoiseLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCaterpieLevelUpLearnset[] = { +static const u16 sCaterpieLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_END }; -const u16 gMetapodLevelUpLearnset[] = { +static const u16 sMetapodLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -const u16 gButterfreeLevelUpLearnset[] = { +static const u16 sButterfreeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE(10, MOVE_CONFUSION), LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), @@ -177,19 +177,19 @@ const u16 gButterfreeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWeedleLevelUpLearnset[] = { +static const u16 sWeedleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_END }; -const u16 gKakunaLevelUpLearnset[] = { +static const u16 sKakunaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -const u16 gBeedrillLevelUpLearnset[] = { +static const u16 sBeedrillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(10, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), @@ -202,7 +202,7 @@ const u16 gBeedrillLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPidgeyLevelUpLearnset[] = { +static const u16 sPidgeyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 9, MOVE_GUST), @@ -215,7 +215,7 @@ const u16 gPidgeyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPidgeottoLevelUpLearnset[] = { +static const u16 sPidgeottoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_GUST), @@ -230,7 +230,7 @@ const u16 gPidgeottoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPidgeotLevelUpLearnset[] = { +static const u16 sPidgeotLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_GUST), @@ -246,7 +246,7 @@ const u16 gPidgeotLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRattataLevelUpLearnset[] = { +static const u16 sRattataLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), @@ -258,7 +258,7 @@ const u16 gRattataLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRaticateLevelUpLearnset[] = { +static const u16 sRaticateLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -271,7 +271,7 @@ const u16 gRaticateLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpearowLevelUpLearnset[] = { +static const u16 sSpearowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_LEER), @@ -284,7 +284,7 @@ const u16 gSpearowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFearowLevelUpLearnset[] = { +static const u16 sFearowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -298,7 +298,7 @@ const u16 gFearowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gEkansLevelUpLearnset[] = { +static const u16 sEkansLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 8, MOVE_POISON_STING), @@ -313,7 +313,7 @@ const u16 gEkansLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gArbokLevelUpLearnset[] = { +static const u16 sArbokLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), @@ -330,7 +330,7 @@ const u16 gArbokLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPikachuLevelUpLearnset[] = { +static const u16 sPikachuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), @@ -345,7 +345,7 @@ const u16 gPikachuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRaichuLevelUpLearnset[] = { +static const u16 sRaichuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -353,7 +353,7 @@ const u16 gRaichuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSandshrewLevelUpLearnset[] = { +static const u16 sSandshrewLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 6, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE(11, MOVE_SAND_ATTACK), @@ -366,7 +366,7 @@ const u16 gSandshrewLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSandslashLevelUpLearnset[] = { +static const u16 sSandslashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -381,7 +381,7 @@ const u16 gSandslashLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidoranFLevelUpLearnset[] = { +static const u16 sNidoranFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), @@ -395,7 +395,7 @@ const u16 gNidoranFLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidorinaLevelUpLearnset[] = { +static const u16 sNidorinaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), @@ -409,7 +409,7 @@ const u16 gNidorinaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidoqueenLevelUpLearnset[] = { +static const u16 sNidoqueenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), @@ -418,7 +418,7 @@ const u16 gNidoqueenLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidoranMLevelUpLearnset[] = { +static const u16 sNidoranMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), @@ -432,7 +432,7 @@ const u16 gNidoranMLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidorinoLevelUpLearnset[] = { +static const u16 sNidorinoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), @@ -446,7 +446,7 @@ const u16 gNidorinoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidokingLevelUpLearnset[] = { +static const u16 sNidokingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), @@ -455,7 +455,7 @@ const u16 gNidokingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gClefairyLevelUpLearnset[] = { +static const u16 sClefairyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_ENCORE), @@ -472,7 +472,7 @@ const u16 gClefairyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gClefableLevelUpLearnset[] = { +static const u16 sClefableLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), @@ -480,7 +480,7 @@ const u16 gClefableLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVulpixLevelUpLearnset[] = { +static const u16 sVulpixLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 9, MOVE_ROAR), @@ -495,7 +495,7 @@ const u16 gVulpixLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNinetalesLevelUpLearnset[] = { +static const u16 sNinetalesLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), @@ -504,7 +504,7 @@ const u16 gNinetalesLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJigglypuffLevelUpLearnset[] = { +static const u16 sJigglypuffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 9, MOVE_POUND), @@ -519,7 +519,7 @@ const u16 gJigglypuffLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWigglytuffLevelUpLearnset[] = { +static const u16 sWigglytuffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -527,7 +527,7 @@ const u16 gWigglytuffLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gZubatLevelUpLearnset[] = { +static const u16 sZubatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), LEVEL_UP_MOVE(11, MOVE_ASTONISH), @@ -541,7 +541,7 @@ const u16 gZubatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGolbatLevelUpLearnset[] = { +static const u16 sGolbatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -558,7 +558,7 @@ const u16 gGolbatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOddishLevelUpLearnset[] = { +static const u16 sOddishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 7, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), @@ -570,7 +570,7 @@ const u16 gOddishLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGloomLevelUpLearnset[] = { +static const u16 sGloomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), @@ -584,7 +584,7 @@ const u16 gGloomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVileplumeLevelUpLearnset[] = { +static const u16 sVileplumeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_AROMATHERAPY), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), @@ -593,7 +593,7 @@ const u16 gVileplumeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gParasLevelUpLearnset[] = { +static const u16 sParasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), @@ -606,7 +606,7 @@ const u16 gParasLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gParasectLevelUpLearnset[] = { +static const u16 sParasectLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), @@ -621,7 +621,7 @@ const u16 gParasectLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVenonatLevelUpLearnset[] = { +static const u16 sVenonatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), @@ -636,7 +636,7 @@ const u16 gVenonatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVenomothLevelUpLearnset[] = { +static const u16 sVenomothLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SILVER_WIND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -654,7 +654,7 @@ const u16 gVenomothLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDiglettLevelUpLearnset[] = { +static const u16 sDiglettLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_GROWL), @@ -667,7 +667,7 @@ const u16 gDiglettLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDugtrioLevelUpLearnset[] = { +static const u16 sDugtrioLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -683,7 +683,7 @@ const u16 gDugtrioLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMeowthLevelUpLearnset[] = { +static const u16 sMeowthLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE(11, MOVE_BITE), @@ -696,7 +696,7 @@ const u16 gMeowthLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPersianLevelUpLearnset[] = { +static const u16 sPersianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -710,7 +710,7 @@ const u16 gPersianLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPsyduckLevelUpLearnset[] = { +static const u16 sPsyduckLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -723,7 +723,7 @@ const u16 gPsyduckLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGolduckLevelUpLearnset[] = { +static const u16 sGolduckLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -738,7 +738,7 @@ const u16 gGolduckLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMankeyLevelUpLearnset[] = { +static const u16 sMankeyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 9, MOVE_LOW_KICK), @@ -752,7 +752,7 @@ const u16 gMankeyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPrimeapeLevelUpLearnset[] = { +static const u16 sPrimeapeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), @@ -769,7 +769,7 @@ const u16 gPrimeapeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGrowlitheLevelUpLearnset[] = { +static const u16 sGrowlitheLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 7, MOVE_EMBER), @@ -783,7 +783,7 @@ const u16 gGrowlitheLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gArcanineLevelUpLearnset[] = { +static const u16 sArcanineLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -792,7 +792,7 @@ const u16 gArcanineLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPoliwagLevelUpLearnset[] = { +static const u16 sPoliwagLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 7, MOVE_HYPNOSIS), LEVEL_UP_MOVE(13, MOVE_WATER_GUN), @@ -804,7 +804,7 @@ const u16 gPoliwagLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPoliwhirlLevelUpLearnset[] = { +static const u16 sPoliwhirlLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -818,7 +818,7 @@ const u16 gPoliwhirlLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPoliwrathLevelUpLearnset[] = { +static const u16 sPoliwrathLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), @@ -828,12 +828,12 @@ const u16 gPoliwrathLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAbraLevelUpLearnset[] = { +static const u16 sAbraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_END }; -const u16 gKadabraLevelUpLearnset[] = { +static const u16 sKadabraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -849,7 +849,7 @@ const u16 gKadabraLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAlakazamLevelUpLearnset[] = { +static const u16 sAlakazamLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -865,7 +865,7 @@ const u16 gAlakazamLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMachopLevelUpLearnset[] = { +static const u16 sMachopLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), @@ -881,7 +881,7 @@ const u16 gMachopLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMachokeLevelUpLearnset[] = { +static const u16 sMachokeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -898,7 +898,7 @@ const u16 gMachokeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMachampLevelUpLearnset[] = { +static const u16 sMachampLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -915,7 +915,7 @@ const u16 gMachampLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBellsproutLevelUpLearnset[] = { +static const u16 sBellsproutLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 6, MOVE_GROWTH), LEVEL_UP_MOVE(11, MOVE_WRAP), @@ -929,7 +929,7 @@ const u16 gBellsproutLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWeepinbellLevelUpLearnset[] = { +static const u16 sWeepinbellLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_WRAP), @@ -945,7 +945,7 @@ const u16 gWeepinbellLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVictreebelLevelUpLearnset[] = { +static const u16 sVictreebelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), @@ -953,7 +953,7 @@ const u16 gVictreebelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTentacoolLevelUpLearnset[] = { +static const u16 sTentacoolLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), LEVEL_UP_MOVE(12, MOVE_CONSTRICT), @@ -966,7 +966,7 @@ const u16 gTentacoolLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTentacruelLevelUpLearnset[] = { +static const u16 sTentacruelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), @@ -981,7 +981,7 @@ const u16 gTentacruelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGeodudeLevelUpLearnset[] = { +static const u16 sGeodudeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), @@ -996,7 +996,7 @@ const u16 gGeodudeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGravelerLevelUpLearnset[] = { +static const u16 sGravelerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), @@ -1013,7 +1013,7 @@ const u16 gGravelerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGolemLevelUpLearnset[] = { +static const u16 sGolemLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), @@ -1030,7 +1030,7 @@ const u16 gGolemLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPonytaLevelUpLearnset[] = { +static const u16 sPonytaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_GROWL), LEVEL_UP_MOVE( 9, MOVE_TAIL_WHIP), @@ -1044,7 +1044,7 @@ const u16 gPonytaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRapidashLevelUpLearnset[] = { +static const u16 sRapidashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -1062,7 +1062,7 @@ const u16 gRapidashLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlowpokeLevelUpLearnset[] = { +static const u16 sSlowpokeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -1076,7 +1076,7 @@ const u16 gSlowpokeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlowbroLevelUpLearnset[] = { +static const u16 sSlowbroLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -1092,7 +1092,7 @@ const u16 gSlowbroLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagnemiteLevelUpLearnset[] = { +static const u16 sMagnemiteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_THUNDER_SHOCK), @@ -1107,7 +1107,7 @@ const u16 gMagnemiteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagnetonLevelUpLearnset[] = { +static const u16 sMagnetonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), @@ -1124,7 +1124,7 @@ const u16 gMagnetonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFarfetchdLevelUpLearnset[] = { +static const u16 sFarfetchdLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(11, MOVE_LEER), @@ -1138,7 +1138,7 @@ const u16 gFarfetchdLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDoduoLevelUpLearnset[] = { +static const u16 sDoduoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 9, MOVE_PURSUIT), @@ -1151,7 +1151,7 @@ const u16 gDoduoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDodrioLevelUpLearnset[] = { +static const u16 sDodrioLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_PURSUIT), @@ -1166,7 +1166,7 @@ const u16 gDodrioLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeelLevelUpLearnset[] = { +static const u16 sSeelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 9, MOVE_GROWL), LEVEL_UP_MOVE(17, MOVE_ICY_WIND), @@ -1178,7 +1178,7 @@ const u16 gSeelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDewgongLevelUpLearnset[] = { +static const u16 sDewgongLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), @@ -1194,7 +1194,7 @@ const u16 gDewgongLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGrimerLevelUpLearnset[] = { +static const u16 sGrimerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -1208,7 +1208,7 @@ const u16 gGrimerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMukLevelUpLearnset[] = { +static const u16 sMukLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -1223,7 +1223,7 @@ const u16 gMukLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShellderLevelUpLearnset[] = { +static const u16 sShellderLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 9, MOVE_SUPERSONIC), @@ -1235,7 +1235,7 @@ const u16 gShellderLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCloysterLevelUpLearnset[] = { +static const u16 sCloysterLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), @@ -1245,7 +1245,7 @@ const u16 gCloysterLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGastlyLevelUpLearnset[] = { +static const u16 sGastlyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 8, MOVE_SPITE), @@ -1258,7 +1258,7 @@ const u16 gGastlyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHaunterLevelUpLearnset[] = { +static const u16 sHaunterLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_SPITE), @@ -1273,7 +1273,7 @@ const u16 gHaunterLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGengarLevelUpLearnset[] = { +static const u16 sGengarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_SPITE), @@ -1288,7 +1288,7 @@ const u16 gGengarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOnixLevelUpLearnset[] = { +static const u16 sOnixLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 9, MOVE_BIND), @@ -1303,7 +1303,7 @@ const u16 gOnixLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDrowzeeLevelUpLearnset[] = { +static const u16 sDrowzeeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE(10, MOVE_DISABLE), @@ -1317,7 +1317,7 @@ const u16 gDrowzeeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHypnoLevelUpLearnset[] = { +static const u16 sHypnoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -1333,7 +1333,7 @@ const u16 gHypnoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKrabbyLevelUpLearnset[] = { +static const u16 sKrabbyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 5, MOVE_LEER), LEVEL_UP_MOVE(12, MOVE_VICE_GRIP), @@ -1346,7 +1346,7 @@ const u16 gKrabbyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKinglerLevelUpLearnset[] = { +static const u16 sKinglerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), @@ -1361,7 +1361,7 @@ const u16 gKinglerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVoltorbLevelUpLearnset[] = { +static const u16 sVoltorbLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 8, MOVE_SCREECH), @@ -1376,7 +1376,7 @@ const u16 gVoltorbLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gElectrodeLevelUpLearnset[] = { +static const u16 sElectrodeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCREECH), @@ -1393,7 +1393,7 @@ const u16 gElectrodeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gExeggcuteLevelUpLearnset[] = { +static const u16 sExeggcuteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_UPROAR), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), @@ -1407,7 +1407,7 @@ const u16 gExeggcuteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gExeggutorLevelUpLearnset[] = { +static const u16 sExeggutorLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -1416,7 +1416,7 @@ const u16 gExeggutorLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCuboneLevelUpLearnset[] = { +static const u16 sCuboneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 9, MOVE_BONE_CLUB), @@ -1432,7 +1432,7 @@ const u16 gCuboneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMarowakLevelUpLearnset[] = { +static const u16 sMarowakLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), @@ -1451,7 +1451,7 @@ const u16 gMarowakLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHitmonleeLevelUpLearnset[] = { +static const u16 sHitmonleeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_REVENGE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 6, MOVE_MEDITATE), @@ -1468,7 +1468,7 @@ const u16 gHitmonleeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHitmonchanLevelUpLearnset[] = { +static const u16 sHitmonchanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_REVENGE), LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 7, MOVE_AGILITY), @@ -1484,7 +1484,7 @@ const u16 gHitmonchanLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLickitungLevelUpLearnset[] = { +static const u16 sLickitungLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), LEVEL_UP_MOVE(12, MOVE_DEFENSE_CURL), @@ -1498,7 +1498,7 @@ const u16 gLickitungLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKoffingLevelUpLearnset[] = { +static const u16 sKoffingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_SMOG), @@ -1512,7 +1512,7 @@ const u16 gKoffingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWeezingLevelUpLearnset[] = { +static const u16 sWeezingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SMOG), @@ -1528,7 +1528,7 @@ const u16 gWeezingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRhyhornLevelUpLearnset[] = { +static const u16 sRhyhornLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE(10, MOVE_STOMP), @@ -1542,7 +1542,7 @@ const u16 gRhyhornLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRhydonLevelUpLearnset[] = { +static const u16 sRhydonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_STOMP), @@ -1558,7 +1558,7 @@ const u16 gRhydonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gChanseyLevelUpLearnset[] = { +static const u16 sChanseyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -1574,7 +1574,7 @@ const u16 gChanseyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTangelaLevelUpLearnset[] = { +static const u16 sTangelaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_INGRAIN), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 4, MOVE_SLEEP_POWDER), @@ -1590,7 +1590,7 @@ const u16 gTangelaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKangaskhanLevelUpLearnset[] = { +static const u16 sKangaskhanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_BITE), @@ -1604,7 +1604,7 @@ const u16 gKangaskhanLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHorseaLevelUpLearnset[] = { +static const u16 sHorseaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), LEVEL_UP_MOVE(15, MOVE_LEER), @@ -1616,7 +1616,7 @@ const u16 gHorseaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeadraLevelUpLearnset[] = { +static const u16 sSeadraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -1631,7 +1631,7 @@ const u16 gSeadraLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGoldeenLevelUpLearnset[] = { +static const u16 sGoldeenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), @@ -1645,7 +1645,7 @@ const u16 gGoldeenLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeakingLevelUpLearnset[] = { +static const u16 sSeakingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), @@ -1660,7 +1660,7 @@ const u16 gSeakingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gStaryuLevelUpLearnset[] = { +static const u16 sStaryuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), @@ -1676,7 +1676,7 @@ const u16 gStaryuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gStarmieLevelUpLearnset[] = { +static const u16 sStarmieLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), LEVEL_UP_MOVE( 1, MOVE_RECOVER), @@ -1685,7 +1685,7 @@ const u16 gStarmieLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMrmimeLevelUpLearnset[] = { +static const u16 sMrmimeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BARRIER), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), LEVEL_UP_MOVE( 9, MOVE_SUBSTITUTE), @@ -1704,7 +1704,7 @@ const u16 gMrmimeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gScytherLevelUpLearnset[] = { +static const u16 sScytherLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), @@ -1719,7 +1719,7 @@ const u16 gScytherLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJynxLevelUpLearnset[] = { +static const u16 sJynxLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_LOVELY_KISS), @@ -1736,7 +1736,7 @@ const u16 gJynxLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gElectabuzzLevelUpLearnset[] = { +static const u16 sElectabuzzLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), @@ -1749,7 +1749,7 @@ const u16 gElectabuzzLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagmarLevelUpLearnset[] = { +static const u16 sMagmarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SMOG), @@ -1765,7 +1765,7 @@ const u16 gMagmarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPinsirLevelUpLearnset[] = { +static const u16 sPinsirLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 7, MOVE_BIND), @@ -1779,7 +1779,7 @@ const u16 gPinsirLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTaurosLevelUpLearnset[] = { +static const u16 sTaurosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 8, MOVE_RAGE), @@ -1792,14 +1792,14 @@ const u16 gTaurosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagikarpLevelUpLearnset[] = { +static const u16 sMagikarpLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE(15, MOVE_TACKLE), LEVEL_UP_MOVE(30, MOVE_FLAIL), LEVEL_UP_END }; -const u16 gGyaradosLevelUpLearnset[] = { +static const u16 sGyaradosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE(20, MOVE_BITE), LEVEL_UP_MOVE(25, MOVE_DRAGON_RAGE), @@ -1812,7 +1812,7 @@ const u16 gGyaradosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLaprasLevelUpLearnset[] = { +static const u16 sLaprasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SING), @@ -1828,12 +1828,12 @@ const u16 gLaprasLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDittoLevelUpLearnset[] = { +static const u16 sDittoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TRANSFORM), LEVEL_UP_END }; -const u16 gEeveeLevelUpLearnset[] = { +static const u16 sEeveeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -1846,7 +1846,7 @@ const u16 gEeveeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVaporeonLevelUpLearnset[] = { +static const u16 sVaporeonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -1861,7 +1861,7 @@ const u16 gVaporeonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJolteonLevelUpLearnset[] = { +static const u16 sJolteonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -1876,7 +1876,7 @@ const u16 gJolteonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFlareonLevelUpLearnset[] = { +static const u16 sFlareonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -1891,7 +1891,7 @@ const u16 gFlareonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPorygonLevelUpLearnset[] = { +static const u16 sPorygonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CONVERSION), @@ -1906,7 +1906,7 @@ const u16 gPorygonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOmanyteLevelUpLearnset[] = { +static const u16 sOmanyteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE(13, MOVE_BITE), @@ -1920,7 +1920,7 @@ const u16 gOmanyteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOmastarLevelUpLearnset[] = { +static const u16 sOmastarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -1936,7 +1936,7 @@ const u16 gOmastarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKabutoLevelUpLearnset[] = { +static const u16 sKabutoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE(13, MOVE_ABSORB), @@ -1950,7 +1950,7 @@ const u16 gKabutoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKabutopsLevelUpLearnset[] = { +static const u16 sKabutopsLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -1966,7 +1966,7 @@ const u16 gKabutopsLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAerodactylLevelUpLearnset[] = { +static const u16 sAerodactylLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 8, MOVE_AGILITY), LEVEL_UP_MOVE(15, MOVE_BITE), @@ -1978,7 +1978,7 @@ const u16 gAerodactylLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSnorlaxLevelUpLearnset[] = { +static const u16 sSnorlaxLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_AMNESIA), LEVEL_UP_MOVE(10, MOVE_DEFENSE_CURL), @@ -1995,7 +1995,7 @@ const u16 gSnorlaxLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gArticunoLevelUpLearnset[] = { +static const u16 sArticunoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(13, MOVE_MIST), @@ -2008,7 +2008,7 @@ const u16 gArticunoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gZapdosLevelUpLearnset[] = { +static const u16 sZapdosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE(13, MOVE_THUNDER_WAVE), @@ -2021,7 +2021,7 @@ const u16 gZapdosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMoltresLevelUpLearnset[] = { +static const u16 sMoltresLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE(13, MOVE_FIRE_SPIN), @@ -2034,7 +2034,7 @@ const u16 gMoltresLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDratiniLevelUpLearnset[] = { +static const u16 sDratiniLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), @@ -2048,7 +2048,7 @@ const u16 gDratiniLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDragonairLevelUpLearnset[] = { +static const u16 sDragonairLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), @@ -2064,7 +2064,7 @@ const u16 gDragonairLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDragoniteLevelUpLearnset[] = { +static const u16 sDragoniteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), @@ -2081,7 +2081,7 @@ const u16 gDragoniteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMewtwoLevelUpLearnset[] = { +static const u16 sMewtwoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE(11, MOVE_BARRIER), @@ -2096,7 +2096,7 @@ const u16 gMewtwoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMewLevelUpLearnset[] = { +static const u16 sMewLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE(10, MOVE_TRANSFORM), LEVEL_UP_MOVE(20, MOVE_MEGA_PUNCH), @@ -2106,7 +2106,7 @@ const u16 gMewLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gChikoritaLevelUpLearnset[] = { +static const u16 sChikoritaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 8, MOVE_RAZOR_LEAF), @@ -2120,7 +2120,7 @@ const u16 gChikoritaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBayleefLevelUpLearnset[] = { +static const u16 sBayleefLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), @@ -2136,7 +2136,7 @@ const u16 gBayleefLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMeganiumLevelUpLearnset[] = { +static const u16 sMeganiumLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), @@ -2152,7 +2152,7 @@ const u16 gMeganiumLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCyndaquilLevelUpLearnset[] = { +static const u16 sCyndaquilLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), @@ -2164,7 +2164,7 @@ const u16 gCyndaquilLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gQuilavaLevelUpLearnset[] = { +static const u16 sQuilavaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), @@ -2177,7 +2177,7 @@ const u16 gQuilavaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTyphlosionLevelUpLearnset[] = { +static const u16 sTyphlosionLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), @@ -2191,7 +2191,7 @@ const u16 gTyphlosionLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTotodileLevelUpLearnset[] = { +static const u16 sTotodileLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_RAGE), @@ -2204,7 +2204,7 @@ const u16 gTotodileLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCroconawLevelUpLearnset[] = { +static const u16 sCroconawLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_RAGE), @@ -2218,7 +2218,7 @@ const u16 gCroconawLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFeraligatrLevelUpLearnset[] = { +static const u16 sFeraligatrLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_RAGE), @@ -2233,7 +2233,7 @@ const u16 gFeraligatrLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSentretLevelUpLearnset[] = { +static const u16 sSentretLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), @@ -2246,7 +2246,7 @@ const u16 gSentretLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFurretLevelUpLearnset[] = { +static const u16 sFurretLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -2261,7 +2261,7 @@ const u16 gFurretLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoothootLevelUpLearnset[] = { +static const u16 sHoothootLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_FORESIGHT), @@ -2274,7 +2274,7 @@ const u16 gHoothootLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNoctowlLevelUpLearnset[] = { +static const u16 sNoctowlLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), @@ -2289,7 +2289,7 @@ const u16 gNoctowlLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLedybaLevelUpLearnset[] = { +static const u16 sLedybaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), LEVEL_UP_MOVE(15, MOVE_COMET_PUNCH), @@ -2303,7 +2303,7 @@ const u16 gLedybaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLedianLevelUpLearnset[] = { +static const u16 sLedianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), @@ -2318,7 +2318,7 @@ const u16 gLedianLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpinarakLevelUpLearnset[] = { +static const u16 sSpinarakLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 6, MOVE_SCARY_FACE), @@ -2332,7 +2332,7 @@ const u16 gSpinarakLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAriadosLevelUpLearnset[] = { +static const u16 sAriadosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), @@ -2348,7 +2348,7 @@ const u16 gAriadosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCrobatLevelUpLearnset[] = { +static const u16 sCrobatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -2365,7 +2365,7 @@ const u16 gCrobatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gChinchouLevelUpLearnset[] = { +static const u16 sChinchouLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), @@ -2379,7 +2379,7 @@ const u16 gChinchouLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLanturnLevelUpLearnset[] = { +static const u16 sLanturnLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -2394,7 +2394,7 @@ const u16 gLanturnLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPichuLevelUpLearnset[] = { +static const u16 sPichuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), @@ -2403,7 +2403,7 @@ const u16 gPichuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCleffaLevelUpLearnset[] = { +static const u16 sCleffaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 4, MOVE_ENCORE), @@ -2412,7 +2412,7 @@ const u16 gCleffaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gIgglybuffLevelUpLearnset[] = { +static const u16 sIgglybuffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), @@ -2421,7 +2421,7 @@ const u16 gIgglybuffLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTogepiLevelUpLearnset[] = { +static const u16 sTogepiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 6, MOVE_METRONOME), @@ -2435,7 +2435,7 @@ const u16 gTogepiLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTogeticLevelUpLearnset[] = { +static const u16 sTogeticLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 6, MOVE_METRONOME), @@ -2449,7 +2449,7 @@ const u16 gTogeticLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNatuLevelUpLearnset[] = { +static const u16 sNatuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(10, MOVE_NIGHT_SHADE), @@ -2461,7 +2461,7 @@ const u16 gNatuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gXatuLevelUpLearnset[] = { +static const u16 sXatuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(10, MOVE_NIGHT_SHADE), @@ -2473,7 +2473,7 @@ const u16 gXatuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMareepLevelUpLearnset[] = { +static const u16 sMareepLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 9, MOVE_THUNDER_SHOCK), @@ -2484,7 +2484,7 @@ const u16 gMareepLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFlaaffyLevelUpLearnset[] = { +static const u16 sFlaaffyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), @@ -2496,7 +2496,7 @@ const u16 gFlaaffyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAmpharosLevelUpLearnset[] = { +static const u16 sAmpharosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), @@ -2510,7 +2510,7 @@ const u16 gAmpharosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBellossomLevelUpLearnset[] = { +static const u16 sBellossomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), @@ -2520,7 +2520,7 @@ const u16 gBellossomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMarillLevelUpLearnset[] = { +static const u16 sMarillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 3, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), @@ -2533,7 +2533,7 @@ const u16 gMarillLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAzumarillLevelUpLearnset[] = { +static const u16 sAzumarillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -2549,7 +2549,7 @@ const u16 gAzumarillLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSudowoodoLevelUpLearnset[] = { +static const u16 sSudowoodoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_MIMIC), LEVEL_UP_MOVE( 9, MOVE_FLAIL), @@ -2562,7 +2562,7 @@ const u16 gSudowoodoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPolitoedLevelUpLearnset[] = { +static const u16 sPolitoedLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), @@ -2572,7 +2572,7 @@ const u16 gPolitoedLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoppipLevelUpLearnset[] = { +static const u16 sHoppipLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 5, MOVE_SYNTHESIS), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -2586,7 +2586,7 @@ const u16 gHoppipLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSkiploomLevelUpLearnset[] = { +static const u16 sSkiploomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -2603,7 +2603,7 @@ const u16 gSkiploomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJumpluffLevelUpLearnset[] = { +static const u16 sJumpluffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -2620,7 +2620,7 @@ const u16 gJumpluffLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAipomLevelUpLearnset[] = { +static const u16 sAipomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), @@ -2634,7 +2634,7 @@ const u16 gAipomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSunkernLevelUpLearnset[] = { +static const u16 sSunkernLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 6, MOVE_GROWTH), LEVEL_UP_MOVE(13, MOVE_MEGA_DRAIN), @@ -2646,7 +2646,7 @@ const u16 gSunkernLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSunfloraLevelUpLearnset[] = { +static const u16 sSunfloraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 6, MOVE_GROWTH), @@ -2659,7 +2659,7 @@ const u16 gSunfloraLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gYanmaLevelUpLearnset[] = { +static const u16 sYanmaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), @@ -2673,7 +2673,7 @@ const u16 gYanmaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWooperLevelUpLearnset[] = { +static const u16 sWooperLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE(11, MOVE_SLAM), @@ -2687,7 +2687,7 @@ const u16 gWooperLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gQuagsireLevelUpLearnset[] = { +static const u16 sQuagsireLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE(11, MOVE_SLAM), @@ -2701,7 +2701,7 @@ const u16 gQuagsireLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gEspeonLevelUpLearnset[] = { +static const u16 sEspeonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -2716,7 +2716,7 @@ const u16 gEspeonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gUmbreonLevelUpLearnset[] = { +static const u16 sUmbreonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -2731,7 +2731,7 @@ const u16 gUmbreonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMurkrowLevelUpLearnset[] = { +static const u16 sMurkrowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 9, MOVE_ASTONISH), LEVEL_UP_MOVE(14, MOVE_PURSUIT), @@ -2743,7 +2743,7 @@ const u16 gMurkrowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlowkingLevelUpLearnset[] = { +static const u16 sSlowkingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2757,7 +2757,7 @@ const u16 gSlowkingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMisdreavusLevelUpLearnset[] = { +static const u16 sMisdreavusLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 6, MOVE_SPITE), @@ -2771,12 +2771,12 @@ const u16 gMisdreavusLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gUnownLevelUpLearnset[] = { +static const u16 sUnownLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HIDDEN_POWER), LEVEL_UP_END }; -const u16 gWobbuffetLevelUpLearnset[] = { +static const u16 sWobbuffetLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_MIRROR_COAT), LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), @@ -2784,7 +2784,7 @@ const u16 gWobbuffetLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGirafarigLevelUpLearnset[] = { +static const u16 sGirafarigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_ASTONISH), @@ -2798,7 +2798,7 @@ const u16 gGirafarigLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPinecoLevelUpLearnset[] = { +static const u16 sPinecoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 8, MOVE_SELF_DESTRUCT), @@ -2811,7 +2811,7 @@ const u16 gPinecoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gForretressLevelUpLearnset[] = { +static const u16 sForretressLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), @@ -2825,7 +2825,7 @@ const u16 gForretressLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDunsparceLevelUpLearnset[] = { +static const u16 sDunsparceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE(11, MOVE_YAWN), @@ -2838,7 +2838,7 @@ const u16 gDunsparceLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGligarLevelUpLearnset[] = { +static const u16 sGligarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(13, MOVE_HARDEN), @@ -2850,7 +2850,7 @@ const u16 gGligarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSteelixLevelUpLearnset[] = { +static const u16 sSteelixLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 9, MOVE_BIND), @@ -2865,7 +2865,7 @@ const u16 gSteelixLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSnubbullLevelUpLearnset[] = { +static const u16 sSnubbullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), @@ -2879,7 +2879,7 @@ const u16 gSnubbullLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGranbullLevelUpLearnset[] = { +static const u16 sGranbullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), @@ -2893,7 +2893,7 @@ const u16 gGranbullLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gQwilfishLevelUpLearnset[] = { +static const u16 sQwilfishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPIKES), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), @@ -2906,7 +2906,7 @@ const u16 gQwilfishLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gScizorLevelUpLearnset[] = { +static const u16 sScizorLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), @@ -2921,7 +2921,7 @@ const u16 gScizorLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShuckleLevelUpLearnset[] = { +static const u16 sShuckleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 9, MOVE_WRAP), @@ -2932,7 +2932,7 @@ const u16 gShuckleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHeracrossLevelUpLearnset[] = { +static const u16 sHeracrossLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_HORN_ATTACK), @@ -2946,7 +2946,7 @@ const u16 gHeracrossLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSneaselLevelUpLearnset[] = { +static const u16 sSneaselLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_TAUNT), @@ -2962,7 +2962,7 @@ const u16 gSneaselLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTeddiursaLevelUpLearnset[] = { +static const u16 sTeddiursaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_LICK), @@ -2976,7 +2976,7 @@ const u16 gTeddiursaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gUrsaringLevelUpLearnset[] = { +static const u16 sUrsaringLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_LICK), @@ -2992,7 +2992,7 @@ const u16 gUrsaringLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlugmaLevelUpLearnset[] = { +static const u16 sSlugmaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 8, MOVE_EMBER), @@ -3005,7 +3005,7 @@ const u16 gSlugmaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagcargoLevelUpLearnset[] = { +static const u16 sMagcargoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -3020,7 +3020,7 @@ const u16 gMagcargoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwinubLevelUpLearnset[] = { +static const u16 sSwinubLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE(10, MOVE_POWDER_SNOW), @@ -3032,7 +3032,7 @@ const u16 gSwinubLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPiloswineLevelUpLearnset[] = { +static const u16 sPiloswineLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -3047,7 +3047,7 @@ const u16 gPiloswineLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCorsolaLevelUpLearnset[] = { +static const u16 sCorsolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_HARDEN), LEVEL_UP_MOVE(12, MOVE_BUBBLE), @@ -3061,7 +3061,7 @@ const u16 gCorsolaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRemoraidLevelUpLearnset[] = { +static const u16 sRemoraidLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE(11, MOVE_LOCK_ON), LEVEL_UP_MOVE(22, MOVE_PSYBEAM), @@ -3073,7 +3073,7 @@ const u16 gRemoraidLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOctilleryLevelUpLearnset[] = { +static const u16 sOctilleryLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE(11, MOVE_CONSTRICT), LEVEL_UP_MOVE(22, MOVE_PSYBEAM), @@ -3086,12 +3086,12 @@ const u16 gOctilleryLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDelibirdLevelUpLearnset[] = { +static const u16 sDelibirdLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_END }; -const u16 gMantineLevelUpLearnset[] = { +static const u16 sMantineLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), @@ -3104,7 +3104,7 @@ const u16 gMantineLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSkarmoryLevelUpLearnset[] = { +static const u16 sSkarmoryLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE(10, MOVE_SAND_ATTACK), @@ -3118,7 +3118,7 @@ const u16 gSkarmoryLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoundourLevelUpLearnset[] = { +static const u16 sHoundourLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 7, MOVE_HOWL), @@ -3132,7 +3132,7 @@ const u16 gHoundourLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoundoomLevelUpLearnset[] = { +static const u16 sHoundoomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_HOWL), @@ -3147,7 +3147,7 @@ const u16 gHoundoomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKingdraLevelUpLearnset[] = { +static const u16 sKingdraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -3162,7 +3162,7 @@ const u16 gKingdraLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPhanpyLevelUpLearnset[] = { +static const u16 sPhanpyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -3175,7 +3175,7 @@ const u16 gPhanpyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDonphanLevelUpLearnset[] = { +static const u16 sDonphanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -3188,7 +3188,7 @@ const u16 gDonphanLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPorygon2LevelUpLearnset[] = { +static const u16 sPorygon2LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CONVERSION), @@ -3203,7 +3203,7 @@ const u16 gPorygon2LevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gStantlerLevelUpLearnset[] = { +static const u16 sStantlerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 7, MOVE_LEER), LEVEL_UP_MOVE(13, MOVE_ASTONISH), @@ -3216,7 +3216,7 @@ const u16 gStantlerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSmeargleLevelUpLearnset[] = { +static const u16 sSmeargleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SKETCH), LEVEL_UP_MOVE(11, MOVE_SKETCH), LEVEL_UP_MOVE(21, MOVE_SKETCH), @@ -3230,12 +3230,12 @@ const u16 gSmeargleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTyrogueLevelUpLearnset[] = { +static const u16 sTyrogueLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gHitmontopLevelUpLearnset[] = { +static const u16 sHitmontopLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_REVENGE), LEVEL_UP_MOVE( 1, MOVE_ROLLING_KICK), LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), @@ -3250,7 +3250,7 @@ const u16 gHitmontopLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSmoochumLevelUpLearnset[] = { +static const u16 sSmoochumLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 9, MOVE_SWEET_KISS), @@ -3265,7 +3265,7 @@ const u16 gSmoochumLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gElekidLevelUpLearnset[] = { +static const u16 sElekidLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 9, MOVE_THUNDER_PUNCH), @@ -3277,7 +3277,7 @@ const u16 gElekidLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagbyLevelUpLearnset[] = { +static const u16 sMagbyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 7, MOVE_LEER), LEVEL_UP_MOVE(13, MOVE_SMOG), @@ -3290,7 +3290,7 @@ const u16 gMagbyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMiltankLevelUpLearnset[] = { +static const u16 sMiltankLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_GROWL), LEVEL_UP_MOVE( 8, MOVE_DEFENSE_CURL), @@ -3303,7 +3303,7 @@ const u16 gMiltankLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBlisseyLevelUpLearnset[] = { +static const u16 sBlisseyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), @@ -3319,7 +3319,7 @@ const u16 gBlisseyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRaikouLevelUpLearnset[] = { +static const u16 sRaikouLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(11, MOVE_THUNDER_SHOCK), @@ -3333,7 +3333,7 @@ const u16 gRaikouLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gEnteiLevelUpLearnset[] = { +static const u16 sEnteiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(11, MOVE_EMBER), @@ -3347,7 +3347,7 @@ const u16 gEnteiLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSuicuneLevelUpLearnset[] = { +static const u16 sSuicuneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(11, MOVE_BUBBLE_BEAM), @@ -3361,7 +3361,7 @@ const u16 gSuicuneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLarvitarLevelUpLearnset[] = { +static const u16 sLarvitarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 8, MOVE_SANDSTORM), @@ -3375,7 +3375,7 @@ const u16 gLarvitarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPupitarLevelUpLearnset[] = { +static const u16 sPupitarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SANDSTORM), @@ -3391,7 +3391,7 @@ const u16 gPupitarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTyranitarLevelUpLearnset[] = { +static const u16 sTyranitarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SANDSTORM), @@ -3407,7 +3407,7 @@ const u16 gTyranitarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLugiaLevelUpLearnset[] = { +static const u16 sLugiaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE(11, MOVE_SAFEGUARD), LEVEL_UP_MOVE(22, MOVE_GUST), @@ -3421,7 +3421,7 @@ const u16 gLugiaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoOhLevelUpLearnset[] = { +static const u16 sHoOhLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE(11, MOVE_SAFEGUARD), LEVEL_UP_MOVE(22, MOVE_GUST), @@ -3435,7 +3435,7 @@ const u16 gHoOhLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCelebiLevelUpLearnset[] = { +static const u16 sCelebiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_RECOVER), @@ -3448,132 +3448,132 @@ const u16 gCelebiLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpecies252LevelUpLearnset[] = { +static const u16 sSpecies252LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies253LevelUpLearnset[] = { +static const u16 sSpecies253LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies254LevelUpLearnset[] = { +static const u16 sSpecies254LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies255LevelUpLearnset[] = { +static const u16 sSpecies255LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies256LevelUpLearnset[] = { +static const u16 sSpecies256LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies257LevelUpLearnset[] = { +static const u16 sSpecies257LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies258LevelUpLearnset[] = { +static const u16 sSpecies258LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies259LevelUpLearnset[] = { +static const u16 sSpecies259LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies260LevelUpLearnset[] = { +static const u16 sSpecies260LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies261LevelUpLearnset[] = { +static const u16 sSpecies261LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies262LevelUpLearnset[] = { +static const u16 sSpecies262LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies263LevelUpLearnset[] = { +static const u16 sSpecies263LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies264LevelUpLearnset[] = { +static const u16 sSpecies264LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies265LevelUpLearnset[] = { +static const u16 sSpecies265LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies266LevelUpLearnset[] = { +static const u16 sSpecies266LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies267LevelUpLearnset[] = { +static const u16 sSpecies267LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies268LevelUpLearnset[] = { +static const u16 sSpecies268LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies269LevelUpLearnset[] = { +static const u16 sSpecies269LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies270LevelUpLearnset[] = { +static const u16 sSpecies270LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies271LevelUpLearnset[] = { +static const u16 sSpecies271LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies272LevelUpLearnset[] = { +static const u16 sSpecies272LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies273LevelUpLearnset[] = { +static const u16 sSpecies273LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies274LevelUpLearnset[] = { +static const u16 sSpecies274LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies275LevelUpLearnset[] = { +static const u16 sSpecies275LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies276LevelUpLearnset[] = { +static const u16 sSpecies276LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gTreeckoLevelUpLearnset[] = { +static const u16 sTreeckoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_ABSORB), @@ -3588,7 +3588,7 @@ const u16 gTreeckoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGrovyleLevelUpLearnset[] = { +static const u16 sGrovyleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -3606,7 +3606,7 @@ const u16 gGrovyleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSceptileLevelUpLearnset[] = { +static const u16 sSceptileLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -3624,7 +3624,7 @@ const u16 gSceptileLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTorchicLevelUpLearnset[] = { +static const u16 sTorchicLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), @@ -3639,7 +3639,7 @@ const u16 gTorchicLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCombuskenLevelUpLearnset[] = { +static const u16 sCombuskenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -3657,7 +3657,7 @@ const u16 gCombuskenLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBlazikenLevelUpLearnset[] = { +static const u16 sBlazikenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -3677,7 +3677,7 @@ const u16 gBlazikenLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMudkipLevelUpLearnset[] = { +static const u16 sMudkipLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_MUD_SLAP), @@ -3693,7 +3693,7 @@ const u16 gMudkipLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMarshtompLevelUpLearnset[] = { +static const u16 sMarshtompLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), @@ -3712,7 +3712,7 @@ const u16 gMarshtompLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwampertLevelUpLearnset[] = { +static const u16 sSwampertLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), @@ -3731,7 +3731,7 @@ const u16 gSwampertLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPoochyenaLevelUpLearnset[] = { +static const u16 sPoochyenaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_HOWL), LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), @@ -3747,7 +3747,7 @@ const u16 gPoochyenaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMightyenaLevelUpLearnset[] = { +static const u16 sMightyenaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HOWL), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -3766,7 +3766,7 @@ const u16 gMightyenaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gZigzagoonLevelUpLearnset[] = { +static const u16 sZigzagoonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -3782,7 +3782,7 @@ const u16 gZigzagoonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLinooneLevelUpLearnset[] = { +static const u16 sLinooneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -3800,20 +3800,20 @@ const u16 gLinooneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWurmpleLevelUpLearnset[] = { +static const u16 sWurmpleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 5, MOVE_POISON_STING), LEVEL_UP_END }; -const u16 gSilcoonLevelUpLearnset[] = { +static const u16 sSilcoonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -const u16 gBeautiflyLevelUpLearnset[] = { +static const u16 sBeautiflyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE(10, MOVE_ABSORB), LEVEL_UP_MOVE(13, MOVE_GUST), @@ -3827,13 +3827,13 @@ const u16 gBeautiflyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCascoonLevelUpLearnset[] = { +static const u16 sCascoonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -const u16 gDustoxLevelUpLearnset[] = { +static const u16 sDustoxLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE(10, MOVE_CONFUSION), LEVEL_UP_MOVE(13, MOVE_GUST), @@ -3847,7 +3847,7 @@ const u16 gDustoxLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLotadLevelUpLearnset[] = { +static const u16 sLotadLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 3, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_ABSORB), @@ -3858,7 +3858,7 @@ const u16 gLotadLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLombreLevelUpLearnset[] = { +static const u16 sLombreLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 3, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_ABSORB), @@ -3872,7 +3872,7 @@ const u16 gLombreLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLudicoloLevelUpLearnset[] = { +static const u16 sLudicoloLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -3880,7 +3880,7 @@ const u16 gLudicoloLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeedotLevelUpLearnset[] = { +static const u16 sSeedotLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BIDE), LEVEL_UP_MOVE( 3, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_GROWTH), @@ -3891,7 +3891,7 @@ const u16 gSeedotLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNuzleafLevelUpLearnset[] = { +static const u16 sNuzleafLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 3, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_GROWTH), @@ -3905,7 +3905,7 @@ const u16 gNuzleafLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShiftryLevelUpLearnset[] = { +static const u16 sShiftryLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_GROWTH), @@ -3913,7 +3913,7 @@ const u16 gShiftryLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNincadaLevelUpLearnset[] = { +static const u16 sNincadaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), @@ -3927,7 +3927,7 @@ const u16 gNincadaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNinjaskLevelUpLearnset[] = { +static const u16 sNinjaskLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), @@ -3946,7 +3946,7 @@ const u16 gNinjaskLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShedinjaLevelUpLearnset[] = { +static const u16 sShedinjaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), @@ -3960,7 +3960,7 @@ const u16 gShedinjaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTaillowLevelUpLearnset[] = { +static const u16 sTaillowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_FOCUS_ENERGY), @@ -3973,7 +3973,7 @@ const u16 gTaillowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwellowLevelUpLearnset[] = { +static const u16 sSwellowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -3988,7 +3988,7 @@ const u16 gSwellowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShroomishLevelUpLearnset[] = { +static const u16 sShroomishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 4, MOVE_TACKLE), LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), @@ -4002,7 +4002,7 @@ const u16 gShroomishLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBreloomLevelUpLearnset[] = { +static const u16 sBreloomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), @@ -4020,7 +4020,7 @@ const u16 gBreloomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpindaLevelUpLearnset[] = { +static const u16 sSpindaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_UPROAR), LEVEL_UP_MOVE(12, MOVE_FAINT_ATTACK), @@ -4035,7 +4035,7 @@ const u16 gSpindaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWingullLevelUpLearnset[] = { +static const u16 sWingullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), @@ -4047,7 +4047,7 @@ const u16 gWingullLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPelipperLevelUpLearnset[] = { +static const u16 sPelipperLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), @@ -4064,7 +4064,7 @@ const u16 gPelipperLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSurskitLevelUpLearnset[] = { +static const u16 sSurskitLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(13, MOVE_SWEET_SCENT), @@ -4076,7 +4076,7 @@ const u16 gSurskitLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMasquerainLevelUpLearnset[] = { +static const u16 sMasquerainLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), @@ -4092,7 +4092,7 @@ const u16 gMasquerainLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWailmerLevelUpLearnset[] = { +static const u16 sWailmerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 5, MOVE_GROWL), LEVEL_UP_MOVE(10, MOVE_WATER_GUN), @@ -4108,7 +4108,7 @@ const u16 gWailmerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWailordLevelUpLearnset[] = { +static const u16 sWailordLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -4127,7 +4127,7 @@ const u16 gWailordLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSkittyLevelUpLearnset[] = { +static const u16 sSkittyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), @@ -4143,7 +4143,7 @@ const u16 gSkittyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDelcattyLevelUpLearnset[] = { +static const u16 sDelcattyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ATTRACT), LEVEL_UP_MOVE( 1, MOVE_SING), @@ -4151,7 +4151,7 @@ const u16 gDelcattyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKecleonLevelUpLearnset[] = { +static const u16 sKecleonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THIEF), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -4168,7 +4168,7 @@ const u16 gKecleonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBaltoyLevelUpLearnset[] = { +static const u16 sBaltoyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 3, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_RAPID_SPIN), @@ -4183,7 +4183,7 @@ const u16 gBaltoyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gClaydolLevelUpLearnset[] = { +static const u16 sClaydolLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -4202,7 +4202,7 @@ const u16 gClaydolLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNosepassLevelUpLearnset[] = { +static const u16 sNosepassLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), @@ -4216,7 +4216,7 @@ const u16 gNosepassLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTorkoalLevelUpLearnset[] = { +static const u16 sTorkoalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 4, MOVE_SMOG), LEVEL_UP_MOVE( 7, MOVE_CURSE), @@ -4232,7 +4232,7 @@ const u16 gTorkoalLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSableyeLevelUpLearnset[] = { +static const u16 sSableyeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 5, MOVE_FORESIGHT), @@ -4249,7 +4249,7 @@ const u16 gSableyeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBarboachLevelUpLearnset[] = { +static const u16 sBarboachLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), LEVEL_UP_MOVE( 6, MOVE_WATER_SPORT), @@ -4264,7 +4264,7 @@ const u16 gBarboachLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWhiscashLevelUpLearnset[] = { +static const u16 sWhiscashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TICKLE), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), @@ -4282,7 +4282,7 @@ const u16 gWhiscashLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLuvdiscLevelUpLearnset[] = { +static const u16 sLuvdiscLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_CHARM), LEVEL_UP_MOVE(12, MOVE_WATER_GUN), @@ -4295,7 +4295,7 @@ const u16 gLuvdiscLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCorphishLevelUpLearnset[] = { +static const u16 sCorphishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_MOVE(10, MOVE_VICE_GRIP), @@ -4310,7 +4310,7 @@ const u16 gCorphishLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCrawdauntLevelUpLearnset[] = { +static const u16 sCrawdauntLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), @@ -4328,14 +4328,14 @@ const u16 gCrawdauntLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFeebasLevelUpLearnset[] = { +static const u16 sFeebasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE(15, MOVE_TACKLE), LEVEL_UP_MOVE(30, MOVE_FLAIL), LEVEL_UP_END }; -const u16 gMiloticLevelUpLearnset[] = { +static const u16 sMiloticLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 5, MOVE_WRAP), LEVEL_UP_MOVE(10, MOVE_WATER_SPORT), @@ -4350,7 +4350,7 @@ const u16 gMiloticLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCarvanhaLevelUpLearnset[] = { +static const u16 sCarvanhaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 7, MOVE_RAGE), @@ -4364,7 +4364,7 @@ const u16 gCarvanhaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSharpedoLevelUpLearnset[] = { +static const u16 sSharpedoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_RAGE), @@ -4382,7 +4382,7 @@ const u16 gSharpedoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTrapinchLevelUpLearnset[] = { +static const u16 sTrapinchLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(17, MOVE_FAINT_ATTACK), @@ -4394,7 +4394,7 @@ const u16 gTrapinchLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVibravaLevelUpLearnset[] = { +static const u16 sVibravaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), @@ -4410,7 +4410,7 @@ const u16 gVibravaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFlygonLevelUpLearnset[] = { +static const u16 sFlygonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), @@ -4426,7 +4426,7 @@ const u16 gFlygonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMakuhitaLevelUpLearnset[] = { +static const u16 sMakuhitaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), @@ -4443,7 +4443,7 @@ const u16 gMakuhitaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHariyamaLevelUpLearnset[] = { +static const u16 sHariyamaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -4462,7 +4462,7 @@ const u16 gHariyamaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gElectrikeLevelUpLearnset[] = { +static const u16 sElectrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 9, MOVE_LEER), @@ -4477,7 +4477,7 @@ const u16 gElectrikeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gManectricLevelUpLearnset[] = { +static const u16 sManectricLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -4495,7 +4495,7 @@ const u16 gManectricLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNumelLevelUpLearnset[] = { +static const u16 sNumelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(11, MOVE_EMBER), @@ -4509,7 +4509,7 @@ const u16 gNumelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCameruptLevelUpLearnset[] = { +static const u16 sCameruptLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -4526,7 +4526,7 @@ const u16 gCameruptLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSphealLevelUpLearnset[] = { +static const u16 sSphealLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -4542,7 +4542,7 @@ const u16 gSphealLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSealeoLevelUpLearnset[] = { +static const u16 sSealeoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -4559,7 +4559,7 @@ const u16 gSealeoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWalreinLevelUpLearnset[] = { +static const u16 sWalreinLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -4576,7 +4576,7 @@ const u16 gWalreinLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCacneaLevelUpLearnset[] = { +static const u16 sCacneaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_ABSORB), @@ -4593,7 +4593,7 @@ const u16 gCacneaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCacturneLevelUpLearnset[] = { +static const u16 sCacturneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -4612,7 +4612,7 @@ const u16 gCacturneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSnoruntLevelUpLearnset[] = { +static const u16 sSnoruntLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_DOUBLE_TEAM), @@ -4627,7 +4627,7 @@ const u16 gSnoruntLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGlalieLevelUpLearnset[] = { +static const u16 sGlalieLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), @@ -4645,7 +4645,7 @@ const u16 gGlalieLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLunatoneLevelUpLearnset[] = { +static const u16 sLunatoneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_CONFUSION), @@ -4659,7 +4659,7 @@ const u16 gLunatoneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSolrockLevelUpLearnset[] = { +static const u16 sSolrockLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_CONFUSION), @@ -4673,7 +4673,7 @@ const u16 gSolrockLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAzurillLevelUpLearnset[] = { +static const u16 sAzurillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 3, MOVE_CHARM), LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), @@ -4683,7 +4683,7 @@ const u16 gAzurillLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpoinkLevelUpLearnset[] = { +static const u16 sSpoinkLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 7, MOVE_PSYWAVE), LEVEL_UP_MOVE(10, MOVE_ODOR_SLEUTH), @@ -4698,7 +4698,7 @@ const u16 gSpoinkLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGrumpigLevelUpLearnset[] = { +static const u16 sGrumpigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), @@ -4716,7 +4716,7 @@ const u16 gGrumpigLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPlusleLevelUpLearnset[] = { +static const u16 sPlusleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), @@ -4731,7 +4731,7 @@ const u16 gPlusleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMinunLevelUpLearnset[] = { +static const u16 sMinunLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), @@ -4746,7 +4746,7 @@ const u16 gMinunLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMawileLevelUpLearnset[] = { +static const u16 sMawileLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 6, MOVE_FAKE_TEARS), LEVEL_UP_MOVE(11, MOVE_BITE), @@ -4762,7 +4762,7 @@ const u16 gMawileLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMedititeLevelUpLearnset[] = { +static const u16 sMedititeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BIDE), LEVEL_UP_MOVE( 4, MOVE_MEDITATE), LEVEL_UP_MOVE( 9, MOVE_CONFUSION), @@ -4777,7 +4777,7 @@ const u16 gMedititeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMedichamLevelUpLearnset[] = { +static const u16 sMedichamLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), @@ -4798,7 +4798,7 @@ const u16 gMedichamLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwabluLevelUpLearnset[] = { +static const u16 sSwabluLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 8, MOVE_ASTONISH), @@ -4813,7 +4813,7 @@ const u16 gSwabluLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAltariaLevelUpLearnset[] = { +static const u16 sAltariaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -4832,7 +4832,7 @@ const u16 gAltariaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWynautLevelUpLearnset[] = { +static const u16 sWynautLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -4843,7 +4843,7 @@ const u16 gWynautLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDuskullLevelUpLearnset[] = { +static const u16 sDuskullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE( 5, MOVE_DISABLE), @@ -4858,7 +4858,7 @@ const u16 gDuskullLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDusclopsLevelUpLearnset[] = { +static const u16 sDusclopsLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BIND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), @@ -4876,7 +4876,7 @@ const u16 gDusclopsLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRoseliaLevelUpLearnset[] = { +static const u16 sRoseliaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 5, MOVE_GROWTH), LEVEL_UP_MOVE( 9, MOVE_POISON_STING), @@ -4895,7 +4895,7 @@ const u16 gRoseliaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlakothLevelUpLearnset[] = { +static const u16 sSlakothLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 7, MOVE_ENCORE), @@ -4908,7 +4908,7 @@ const u16 gSlakothLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVigorothLevelUpLearnset[] = { +static const u16 sVigorothLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -4924,7 +4924,7 @@ const u16 gVigorothLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlakingLevelUpLearnset[] = { +static const u16 sSlakingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -4940,7 +4940,7 @@ const u16 gSlakingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGulpinLevelUpLearnset[] = { +static const u16 sGulpinLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 6, MOVE_YAWN), LEVEL_UP_MOVE( 9, MOVE_POISON_GAS), @@ -4955,7 +4955,7 @@ const u16 gGulpinLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwalotLevelUpLearnset[] = { +static const u16 sSwalotLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), @@ -4974,7 +4974,7 @@ const u16 gSwalotLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTropiusLevelUpLearnset[] = { +static const u16 sTropiusLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 7, MOVE_GROWTH), @@ -4989,7 +4989,7 @@ const u16 gTropiusLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWhismurLevelUpLearnset[] = { +static const u16 sWhismurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 5, MOVE_UPROAR), LEVEL_UP_MOVE(11, MOVE_ASTONISH), @@ -5004,7 +5004,7 @@ const u16 gWhismurLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLoudredLevelUpLearnset[] = { +static const u16 sLoudredLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_UPROAR), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -5022,7 +5022,7 @@ const u16 gLoudredLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gExploudLevelUpLearnset[] = { +static const u16 sExploudLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_UPROAR), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -5041,7 +5041,7 @@ const u16 gExploudLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gClamperlLevelUpLearnset[] = { +static const u16 sClamperlLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CLAMP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), @@ -5049,7 +5049,7 @@ const u16 gClamperlLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHuntailLevelUpLearnset[] = { +static const u16 sHuntailLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), LEVEL_UP_MOVE( 8, MOVE_BITE), LEVEL_UP_MOVE(15, MOVE_SCREECH), @@ -5061,7 +5061,7 @@ const u16 gHuntailLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGorebyssLevelUpLearnset[] = { +static const u16 sGorebyssLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), LEVEL_UP_MOVE( 8, MOVE_CONFUSION), LEVEL_UP_MOVE(15, MOVE_AGILITY), @@ -5073,7 +5073,7 @@ const u16 gGorebyssLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAbsolLevelUpLearnset[] = { +static const u16 sAbsolLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 5, MOVE_LEER), LEVEL_UP_MOVE( 9, MOVE_TAUNT), @@ -5088,7 +5088,7 @@ const u16 gAbsolLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShuppetLevelUpLearnset[] = { +static const u16 sShuppetLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), LEVEL_UP_MOVE( 8, MOVE_SCREECH), LEVEL_UP_MOVE(13, MOVE_NIGHT_SHADE), @@ -5102,7 +5102,7 @@ const u16 gShuppetLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBanetteLevelUpLearnset[] = { +static const u16 sBanetteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), @@ -5119,7 +5119,7 @@ const u16 gBanetteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeviperLevelUpLearnset[] = { +static const u16 sSeviperLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 7, MOVE_LICK), LEVEL_UP_MOVE(10, MOVE_BITE), @@ -5133,7 +5133,7 @@ const u16 gSeviperLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gZangooseLevelUpLearnset[] = { +static const u16 sZangooseLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 4, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), @@ -5148,7 +5148,7 @@ const u16 gZangooseLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRelicanthLevelUpLearnset[] = { +static const u16 sRelicanthLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), @@ -5163,7 +5163,7 @@ const u16 gRelicanthLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAronLevelUpLearnset[] = { +static const u16 sAronLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), @@ -5179,7 +5179,7 @@ const u16 gAronLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLaironLevelUpLearnset[] = { +static const u16 sLaironLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), @@ -5198,7 +5198,7 @@ const u16 gLaironLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAggronLevelUpLearnset[] = { +static const u16 sAggronLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), @@ -5217,7 +5217,7 @@ const u16 gAggronLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCastformLevelUpLearnset[] = { +static const u16 sCastformLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_WATER_GUN), LEVEL_UP_MOVE(10, MOVE_EMBER), @@ -5229,7 +5229,7 @@ const u16 gCastformLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVolbeatLevelUpLearnset[] = { +static const u16 sVolbeatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 9, MOVE_DOUBLE_TEAM), @@ -5243,7 +5243,7 @@ const u16 gVolbeatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gIllumiseLevelUpLearnset[] = { +static const u16 sIllumiseLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 9, MOVE_CHARM), @@ -5257,7 +5257,7 @@ const u16 gIllumiseLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLileepLevelUpLearnset[] = { +static const u16 sLileepLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 8, MOVE_CONSTRICT), LEVEL_UP_MOVE(15, MOVE_ACID), @@ -5271,7 +5271,7 @@ const u16 gLileepLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCradilyLevelUpLearnset[] = { +static const u16 sCradilyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_ACID), @@ -5288,7 +5288,7 @@ const u16 gCradilyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAnorithLevelUpLearnset[] = { +static const u16 sAnorithLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_MOVE(13, MOVE_MUD_SPORT), @@ -5302,7 +5302,7 @@ const u16 gAnorithLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gArmaldoLevelUpLearnset[] = { +static const u16 sArmaldoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), @@ -5319,7 +5319,7 @@ const u16 gArmaldoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRaltsLevelUpLearnset[] = { +static const u16 sRaltsLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_CONFUSION), LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), @@ -5333,7 +5333,7 @@ const u16 gRaltsLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKirliaLevelUpLearnset[] = { +static const u16 sKirliaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), @@ -5350,7 +5350,7 @@ const u16 gKirliaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGardevoirLevelUpLearnset[] = { +static const u16 sGardevoirLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), @@ -5367,7 +5367,7 @@ const u16 gGardevoirLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBagonLevelUpLearnset[] = { +static const u16 sBagonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 5, MOVE_BITE), LEVEL_UP_MOVE( 9, MOVE_LEER), @@ -5382,7 +5382,7 @@ const u16 gBagonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShelgonLevelUpLearnset[] = { +static const u16 sShelgonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -5401,7 +5401,7 @@ const u16 gShelgonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSalamenceLevelUpLearnset[] = { +static const u16 sSalamenceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -5421,12 +5421,12 @@ const u16 gSalamenceLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBeldumLevelUpLearnset[] = { +static const u16 sBeldumLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), LEVEL_UP_END }; -const u16 gMetangLevelUpLearnset[] = { +static const u16 sMetangLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(20, MOVE_CONFUSION), LEVEL_UP_MOVE(20, MOVE_METAL_CLAW), @@ -5440,7 +5440,7 @@ const u16 gMetangLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMetagrossLevelUpLearnset[] = { +static const u16 sMetagrossLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), @@ -5457,7 +5457,7 @@ const u16 gMetagrossLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRegirockLevelUpLearnset[] = { +static const u16 sRegirockLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), LEVEL_UP_MOVE(17, MOVE_CURSE), @@ -5470,7 +5470,7 @@ const u16 gRegirockLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRegiceLevelUpLearnset[] = { +static const u16 sRegiceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 9, MOVE_ICY_WIND), LEVEL_UP_MOVE(17, MOVE_CURSE), @@ -5483,7 +5483,7 @@ const u16 gRegiceLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRegisteelLevelUpLearnset[] = { +static const u16 sRegisteelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 9, MOVE_METAL_CLAW), LEVEL_UP_MOVE(17, MOVE_CURSE), @@ -5497,7 +5497,7 @@ const u16 gRegisteelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKyogreLevelUpLearnset[] = { +static const u16 sKyogreLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), @@ -5512,7 +5512,7 @@ const u16 gKyogreLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGroudonLevelUpLearnset[] = { +static const u16 sGroudonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), @@ -5527,7 +5527,7 @@ const u16 gGroudonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRayquazaLevelUpLearnset[] = { +static const u16 sRayquazaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), @@ -5542,7 +5542,7 @@ const u16 gRayquazaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLatiasLevelUpLearnset[] = { +static const u16 sLatiasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 5, MOVE_WISH), LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), @@ -5557,7 +5557,7 @@ const u16 gLatiasLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLatiosLevelUpLearnset[] = { +static const u16 sLatiosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 5, MOVE_MEMENTO), LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), @@ -5572,7 +5572,7 @@ const u16 gLatiosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJirachiLevelUpLearnset[] = { +static const u16 sJirachiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WISH), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 5, MOVE_REST), @@ -5588,7 +5588,7 @@ const u16 gJirachiLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDeoxysLevelUpLearnset[] = { +static const u16 sDeoxysLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 5, MOVE_NIGHT_SHADE), @@ -5604,7 +5604,7 @@ const u16 gDeoxysLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gChimechoLevelUpLearnset[] = { +static const u16 sChimechoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 6, MOVE_GROWL), LEVEL_UP_MOVE( 9, MOVE_ASTONISH), diff --git a/include/data2.h b/include/data2.h index d71958201..af830a4c4 100644 --- a/include/data2.h +++ b/include/data2.h @@ -1,6 +1,8 @@ #ifndef GUARD_DATA2_H #define GUARD_DATA2_H +#define MOVE_NAME_LENGTH 12 + struct MonCoords { // This would use a bitfield, but some function @@ -13,10 +15,9 @@ extern struct MonCoords gTrainerBackPicCoords[]; extern struct MonCoords gTrainerFrontPicCoords[]; extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -extern const u8 gMoveNames[][13]; +extern const u8 gMoveNames[][MOVE_NAME_LENGTH + 1]; extern struct CompressedSpriteSheet gUnknown_0831C620; extern struct CompressedSpritePalette gUnknown_0831C628; extern const struct SpriteTemplate gUnknown_0831C688; - #endif // GUARD_DATA2_H diff --git a/include/decoration.h b/include/decoration.h index 76b2f2ec4..f613c25d2 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -73,5 +73,6 @@ void sub_8126B2C(u8 taskId); void sub_8127208(u8 taskId); void sub_8127250(u8 *dest, u8 decorCat); bool8 IsSelectedDecorInThePC(void); +u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u16 paletteTag); #endif //GUARD_DECORATION_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index a8f5caa28..c382ae4d8 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -185,6 +185,7 @@ bool8 FreezeEventObject(struct EventObject *eventObject); u8 GetMoveDirectionFastAnimNum(u8); u8 GetMoveDirectionFasterAnimNum(u8); u8 GetMoveDirectionFastestAnimNum(u8); +void CameraObjectSetFollowedObjectId(u8 objectId); void MovementType_None(struct Sprite *); void MovementType_LookAround(struct Sprite *); diff --git a/include/field_effect.h b/include/field_effect.h index 9c9501bfa..cdabd5c99 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -74,7 +74,10 @@ enum FieldEffectScriptIdx FLDEFF_USE_FLY_ANCIENT_TOMB, FLDEFF_PCTURN_ON, FLDEFF_HALL_OF_FAME_RECORD, - FLDEFF_USE_TELEPORT + FLDEFF_USE_TELEPORT, + FLDEFF_64, + FLDEFF_65, + FLDEFF_66, }; extern s32 gFieldEffectArguments[8]; diff --git a/include/field_region_map.h b/include/field_region_map.h new file mode 100644 index 000000000..d50f1265c --- /dev/null +++ b/include/field_region_map.h @@ -0,0 +1,6 @@ +#ifndef GUARD_FIELD_REGION_MAP_H +#define GUARD_FIELD_REGION_MAP_H + +void FieldInitRegionMap(MainCallback callback); + +#endif // GUARD_FIELD_REGION_MAP_H diff --git a/include/field_screen.h b/include/field_screen.h index 268b9312e..bf1502405 100644 --- a/include/field_screen.h +++ b/include/field_screen.h @@ -15,5 +15,6 @@ void sub_80AC3D0(void); void sub_80AC3E4(void); void PreservePaletteInWeather(u8); void sub_80AF128(void); +void sub_80AB104(u8); #endif //GUARD_FIELD_SCREEN_H diff --git a/include/global.h b/include/global.h index 7153ef260..2015d47cc 100644 --- a/include/global.h +++ b/include/global.h @@ -163,6 +163,16 @@ enum OPTIONS_BATTLE_STYLE_SET }; +struct Coords8 { + s8 x; + s8 y; +}; + +struct UCoords8 { + u8 x; + u8 y; +}; + struct Coords16 { s16 x; @@ -344,7 +354,8 @@ struct BattleFrontier /*0xCA9*/ u8 field_CA9_f:1; // 0x80 /*0xCAA*/ u16 field_CAA[4]; /*0xCB2*/ u16 field_CB2; - /*0xCB4*/ u16 field_CB4[30]; + /*0xCB4*/ u16 field_CB4[22]; + /*0xCE0*/ u16 field_CE0[4][2]; /*0xCF0*/ u16 field_CF0[2]; /*0xCF4*/ u16 field_CF4[2]; /*0xCF8*/ u16 field_CF8[2]; @@ -355,24 +366,21 @@ struct BattleFrontier /*0xD09*/ u8 filler_D09; /*0xD0A*/ u8 filler_D0A; /*0xD0B*/ u8 filler_D0B; - /*0xD0C*/ u8 filler_D0C; - /*0xD0D*/ u8 filler_D0D; - /*0xD0E*/ u8 filler_D0E; - /*0xD0F*/ u8 filler_D0F; + /*0xD0C*/ u16 field_D0C[2]; /*0xD10*/ u8 filler_D10; /*0xD11*/ u8 filler_D11; /*0xD12*/ u8 filler_D12; /*0xD13*/ u8 filler_D13; /*0xD14*/ u16 field_D14[2]; - /*0xD18*/ u8 field_D18[0xB8]; + /*0xD18*/ u8 field_D18[0xB0]; + /*0xDC8*/ u16 field_DC8[2]; + /*0xDCC*/ u8 filler_DCC[4]; /*0xDD0*/ u16 field_DD0[2]; /*0xDD4*/ u16 field_DD4[2]; /*0xDD8*/ u16 field_DD8; - /*0xDDA*/ u16 field_DDA; - /*0xDDC*/ u16 field_DDC; + /*0xDDA*/ u16 field_DDA[2]; /*0xDDE*/ u16 field_DDE[2]; - /*0xDE2*/ u16 field_DE2; - /*0xDE4*/ u16 field_DE4; + /*0xDE2*/ u16 field_DE2[2]; /*0xDE6*/ u16 field_DE6; /*0xDE8*/ u16 field_DE8; /*0xDEA*/ u16 field_DEA[2]; @@ -387,11 +395,9 @@ struct BattleFrontier /*0xDFE*/ u16 field_DFE; /*0xE00*/ u16 field_E00; /*0xE02*/ u16 field_E02; - /*0xE04*/ u16 field_E04; - /*0xE06*/ u16 field_E06; + /*0xE04*/ u16 field_E04[2]; /*0xE08*/ u16 field_E08[9]; - /*0xE1A*/ u16 field_E1A; - /*0xE1C*/ u16 field_E1C; + /*0xE1A*/ u16 field_E1A[2]; /*0xE1E*/ u16 field_E1E[7]; /*0xE2C*/ struct PyramidBag pyramidBag; /*0xE58*/ u16 field_E58; diff --git a/include/heal_location.h b/include/heal_location.h index 1f966f1ae..46f0d785a 100644 --- a/include/heal_location.h +++ b/include/heal_location.h @@ -1,13 +1,6 @@ #ifndef GUARD_HEAL_LOCATION_H #define GUARD_HEAL_LOCATION_H -// Exported type declarations - -struct UnkStruct_0859F534 { - const union AffineAnimCmd *const *const affineAnims; - void (* callback)(struct Sprite *sprite); -}; - struct HealLocation { s8 group; @@ -16,10 +9,8 @@ struct HealLocation u16 y; }; -// Exported RAM declarations - -// Exported ROM declarations - -const struct HealLocation *GetHealLocationPointer(u32 loc); +u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum); +const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum); +const struct HealLocation *GetHealLocation(u32 index); -#endif //GUARD_HEAL_LOCATION_H +#endif // GUARD_HEAL_LOCATION_H diff --git a/include/match_call.h b/include/match_call.h index 9698e7cd3..1f431bfaf 100644 --- a/include/match_call.h +++ b/include/match_call.h @@ -10,4 +10,6 @@ enum { MATCH_CALL_TYPE_GYMLEADER_ELITEFOUR }; +s32 GetRematchIdxByTrainerIdx(s32 trainerIdx); + #endif //GUARD_MATCH_CALL_H diff --git a/include/menu.h b/include/menu.h index 888d898b6..4cc43dd4c 100644 --- a/include/menu.h +++ b/include/menu.h @@ -51,7 +51,7 @@ void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); void reset_temp_tile_data_buffers(void); void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode); bool8 free_temp_tile_data_buffers_if_possible(void); -struct WindowTemplate sub_8198A50(u8, u8, u8, u8, u8, u8, u16); +struct WindowTemplate CreateWindowTemplate(u8, u8, u8, u8, u8, u8, u16); void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); void copy_decompressed_tile_data_to_vram_autofree(u8 bgId, const void *src, int size, u16 offset, u8 mode); s8 ProcessMenuInputNoWrap_(void); @@ -84,5 +84,6 @@ void sub_819A344(u8 a0, u8 *dest, u8 color); void RemoveMapNamePopUpWindow(void); u8 GetMapNamePopUpWindowId(void); u8 AddMapNamePopUpWindow(void); +void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing); #endif // GUARD_MENU_H diff --git a/include/party_menu.h b/include/party_menu.h index 6e1344213..cb2c38891 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -34,6 +34,8 @@ struct Struct203CEC8 extern struct Struct203CEC8 gUnknown_0203CEC8; +extern const u16 gUnknown_0861500C[]; + bool8 pokemon_has_move(struct Pokemon *, u16); void sub_81B58A8(void); void DoWallyTutorialBagMenu(void); @@ -54,5 +56,6 @@ void sub_81B8518(u8 unused); u8 sub_81B1360(void); void sub_81B8904(u8 arg0, void (*callback)(void)); void OpenPartyMenuInBattle(u8 caseId); +u16 ItemIdToBattleMoveId(u16 itemId); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 9fcfdba96..990331e86 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -9,5 +9,7 @@ struct BoxPokemon *GetBoxedMonPtr(u8, u8); void SetBoxMonNickFromAnyBox(u8, u8, u8 *); void CompactPartySlots(void); u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); +bool8 CheckFreePokemonStorageSpace(void); +u8 StorageGetCurrentBox(void); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index fd8c35f56..f71e5d97d 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -8,5 +8,6 @@ // Exported ROM declarations void sub_8018438(void); +u16 mevent_081445C0(u8); #endif //GUARD_rom_8011DC0_H diff --git a/include/script_menu.h b/include/script_menu.h index 0555d0f78..c50bef00f 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -9,8 +9,9 @@ bool8 ScriptMenu_YesNo(u8 var1, u8 var2); bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount); bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3); bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void); -u8 convert_pixel_width_to_tile_width(s32); +s32 convert_pixel_width_to_tile_width(s32); u8 CreateWindowFromRect(u8, u8, u8, u8); void sub_80E2A78(u8); +u32 display_text_and_get_width(const u8*, u32); #endif //GUARD_SCRIPT_MENU_H diff --git a/include/strings.h b/include/strings.h index 4736fdc5d..528f70f69 100644 --- a/include/strings.h +++ b/include/strings.h @@ -462,4 +462,304 @@ extern const u8 gText_TotalRecordWLD[]; extern const u8 gText_PlayersBattleResults[]; extern const u8 gText_WinLoseDraw[]; +extern const u8 gText_99TimesPlus[]; +extern const u8 gText_1MinutePlus[]; +extern const u8 gText_SpaceSeconds[]; +extern const u8 gText_SpaceTimes[]; + +extern const u8 gText_BigGuy[]; +extern const u8 gText_BigGirl[]; +extern const u8 gText_Son[]; +extern const u8 gText_Daughter[]; + +extern const u8 gText_1F[]; +extern const u8 gText_2F[]; +extern const u8 gText_3F[]; +extern const u8 gText_4F[]; +extern const u8 gText_5F[]; +extern const u8 gText_6F[]; +extern const u8 gText_7F[]; +extern const u8 gText_8F[]; +extern const u8 gText_9F[]; +extern const u8 gText_10F[]; +extern const u8 gText_11F[]; +extern const u8 gText_B1F[]; +extern const u8 gText_B2F[]; +extern const u8 gText_B3F[]; +extern const u8 gText_B4F[]; +extern const u8 gText_Rooftop[]; +extern const u8 gText_ElevatorNowOn[]; + +extern const u8 gText_Exit[]; + +extern const u8 gText_BlueFlute[]; +extern const u8 gText_YellowFlute[]; +extern const u8 gText_RedFlute[]; +extern const u8 gText_WhiteFlute[]; +extern const u8 gText_BlackFlute[]; +extern const u8 gText_PrettyChair[]; +extern const u8 gText_PrettyDesk[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_0Pts[]; +extern const u8 gText_10Pts[]; +extern const u8 gText_20Pts[]; +extern const u8 gText_30Pts[]; +extern const u8 gText_40Pts[]; +extern const u8 gText_50Pts[]; +extern const u8 gText_60Pts[]; +extern const u8 gText_70Pts[]; +extern const u8 gText_80Pts[]; +extern const u8 gText_90Pts[]; +extern const u8 gText_100Pts[]; +extern const u8 gText_QuestionMark[]; + +extern const u8 gText_KissPoster16BP[]; +extern const u8 gText_KissCushion32BP[]; +extern const u8 gText_SmoochumDoll32BP[]; +extern const u8 gText_TogepiDoll48BP[]; +extern const u8 gText_MeowthDoll48BP[]; +extern const u8 gText_ClefairyDoll48BP[]; +extern const u8 gText_DittoDoll48BP[]; +extern const u8 gText_CyndaquilDoll80BP[]; +extern const u8 gText_ChikoritaDoll80BP[]; +extern const u8 gText_TotodileDoll80BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_LaprasDoll128BP[]; +extern const u8 gText_SnorlaxDoll128BP[]; +extern const u8 gText_VenusaurDoll256BP[]; +extern const u8 gText_CharizardDoll256BP[]; +extern const u8 gText_BlastoiseDoll256BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_Protein1BP[]; +extern const u8 gText_Calcium1BP[]; +extern const u8 gText_Iron1BP[]; +extern const u8 gText_Zinc1BP[]; +extern const u8 gText_Carbos1BP[]; +extern const u8 gText_HpUp1BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_Leftovers48BP[]; +extern const u8 gText_WhiteHerb48BP[]; +extern const u8 gText_QuickClaw48BP[]; +extern const u8 gText_MentalHerb48BP[]; +extern const u8 gText_BrightPowder64BP[]; +extern const u8 gText_ChoiceBand64BP[]; +extern const u8 gText_KingsRock64BP[]; +extern const u8 gText_FocusBand64BP[]; +extern const u8 gText_ScopeLens64BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_EnergyPowder50[]; +extern const u8 gText_EnergyRoot80[]; +extern const u8 gText_HealPowder50[]; +extern const u8 gText_RevivalHerb300[]; +extern const u8 gText_Protein1000[]; +extern const u8 gText_Iron1000[]; +extern const u8 gText_Carbos1000[]; +extern const u8 gText_Calcium1000[]; +extern const u8 gText_Zinc1000[]; +extern const u8 gText_HPUp1000[]; +extern const u8 gText_PPUp3000[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_BattleTower2[]; +extern const u8 gText_BattleDome[]; +extern const u8 gText_BattlePalace[]; +extern const u8 gText_BattleArena[]; +extern const u8 gText_BattleFactory[]; +extern const u8 gText_BattlePike[]; +extern const u8 gText_BattlePyramid[]; +extern const u8 gText_RankingHall[]; +extern const u8 gText_ExchangeService[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_Softboiled16BP[]; +extern const u8 gText_SeismicToss24BP[]; +extern const u8 gText_DreamEater24BP[]; +extern const u8 gText_MegaPunch24BP[]; +extern const u8 gText_MegaKick48BP[]; +extern const u8 gText_BodySlam48BP[]; +extern const u8 gText_RockSlide48BP[]; +extern const u8 gText_Counter48BP[]; +extern const u8 gText_ThunderWave48BP[]; +extern const u8 gText_SwordsDance48BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_DefenseCurl16BP[]; +extern const u8 gText_Snore24BP[]; +extern const u8 gText_MudSlap24BP[]; +extern const u8 gText_Swift24BP[]; +extern const u8 gText_IcyWind24BP[]; +extern const u8 gText_Endure48BP[]; +extern const u8 gText_PsychUp48BP[]; +extern const u8 gText_IcePunch48BP[]; +extern const u8 gText_ThunderPunch48BP[]; +extern const u8 gText_FirePunch48BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_SlateportCity[]; +extern const u8 gText_BattleFrontier[]; +extern const u8 gText_SouthernIsland[]; +extern const u8 gText_NavelRock[]; +extern const u8 gText_BirthIsland[]; +extern const u8 gText_FarawayIsland[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_BattleTrainers[]; +extern const u8 gText_BattleBasics[]; +extern const u8 gText_PokemonNature[]; +extern const u8 gText_PokemonMoves[]; +extern const u8 gText_Underpowered[]; +extern const u8 gText_WhenInDanger[]; +extern const u8 gText_Exit[]; + +extern const u8 BattleFrontier_Lounge2_Text_260971[]; +extern const u8 BattleFrontier_Lounge2_Text_260A1E[]; +extern const u8 BattleFrontier_Lounge2_Text_260AE7[]; +extern const u8 BattleFrontier_Lounge2_Text_2619AC[]; +extern const u8 BattleFrontier_Lounge2_Text_261A91[]; +extern const u8 BattleFrontier_Lounge2_Text_261B0C[]; +extern const u8 BattleFrontier_Lounge2_Text_261B95[]; +extern const u8 BattleFrontier_Lounge2_Text_261B95[]; +extern const u8 BattleFrontier_Lounge2_Text_261B95[]; +extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; +extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; +extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; +extern const u8 BattleFrontier_Lounge2_Text_260BC4[]; +extern const u8 BattleFrontier_Lounge2_Text_260C6D[]; +extern const u8 BattleFrontier_Lounge2_Text_260D3A[]; +extern const u8 BattleFrontier_Lounge2_Text_260E1E[]; +extern const u8 BattleFrontier_Lounge2_Text_260EC7[]; +extern const u8 BattleFrontier_Lounge2_Text_260F74[]; +extern const u8 BattleFrontier_Lounge2_Text_2614E6[]; +extern const u8 BattleFrontier_Lounge2_Text_261591[]; +extern const u8 BattleFrontier_Lounge2_Text_26166F[]; +extern const u8 BattleFrontier_Lounge2_Text_261282[]; +extern const u8 BattleFrontier_Lounge2_Text_261329[]; +extern const u8 BattleFrontier_Lounge2_Text_261403[]; +extern const u8 BattleFrontier_Lounge2_Text_261026[]; +extern const u8 BattleFrontier_Lounge2_Text_2610CC[]; +extern const u8 BattleFrontier_Lounge2_Text_261194[]; +extern const u8 BattleFrontier_Lounge2_Text_26174D[]; +extern const u8 BattleFrontier_Lounge2_Text_2617F9[]; +extern const u8 BattleFrontier_Lounge2_Text_2618C4[]; + +extern const u8 BattleFrontier_Lounge5_Text_26468D[]; +extern const u8 BattleFrontier_Lounge5_Text_2646E5[]; +extern const u8 BattleFrontier_Lounge5_Text_264741[]; +extern const u8 BattleFrontier_Lounge5_Text_2647A4[]; +extern const u8 BattleFrontier_Lounge5_Text_2647FC[]; +extern const u8 BattleFrontier_Lounge5_Text_264858[]; +extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; +extern const u8 BattleFrontier_Lounge5_Text_264916[]; +extern const u8 BattleFrontier_Lounge5_Text_264972[]; +extern const u8 BattleFrontier_Lounge5_Text_2649D5[]; +extern const u8 BattleFrontier_Lounge5_Text_264A3F[]; +extern const u8 BattleFrontier_Lounge5_Text_264A9B[]; +extern const u8 BattleFrontier_Lounge5_Text_264AF3[]; +extern const u8 BattleFrontier_Lounge5_Text_264B5D[]; +extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; +extern const u8 BattleFrontier_Lounge5_Text_264BC3[]; +extern const u8 BattleFrontier_Lounge5_Text_264C36[]; +extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; +extern const u8 BattleFrontier_Lounge5_Text_264C95[]; +extern const u8 BattleFrontier_Lounge5_Text_264D01[]; +extern const u8 BattleFrontier_Lounge5_Text_264D6B[]; +extern const u8 BattleFrontier_Lounge5_Text_264DD7[]; +extern const u8 BattleFrontier_Lounge5_Text_264E33[]; +extern const u8 BattleFrontier_Lounge5_Text_264E8F[]; +extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; + +extern const u8 BattleFrontier_Lounge3_Text_262261[]; +extern const u8 BattleFrontier_Lounge3_Text_26230D[]; +extern const u8 BattleFrontier_Lounge3_Text_2623B9[]; +extern const u8 BattleFrontier_Lounge3_Text_262464[]; +extern const u8 BattleFrontier_Lounge3_Text_26250E[]; +extern const u8 BattleFrontier_Lounge3_Text_2625B8[]; +extern const u8 BattleFrontier_Lounge3_Text_26266A[]; +extern const u8 BattleFrontier_Lounge3_Text_26271C[]; +extern const u8 BattleFrontier_Lounge3_Text_2627C9[]; +extern const u8 BattleFrontier_Lounge3_Text_262876[]; +extern const u8 BattleFrontier_Lounge3_Text_26291A[]; +extern const u8 BattleFrontier_Lounge3_Text_2629BC[]; + +extern const u8 BattleFrontier_Lounge3_Text_262C04[]; +extern const u8 BattleFrontier_Lounge3_Text_262C90[]; +extern const u8 BattleFrontier_Lounge3_Text_262D1C[]; +extern const u8 BattleFrontier_Lounge3_Text_262DA7[]; +extern const u8 BattleFrontier_Lounge3_Text_262E34[]; +extern const u8 BattleFrontier_Lounge3_Text_262EC1[]; +extern const u8 BattleFrontier_Lounge3_Text_262F56[]; +extern const u8 BattleFrontier_Lounge3_Text_262FEB[]; +extern const u8 BattleFrontier_Lounge3_Text_263078[]; +extern const u8 BattleFrontier_Lounge3_Text_263105[]; +extern const u8 BattleFrontier_Lounge3_Text_26318C[]; +extern const u8 BattleFrontier_Lounge3_Text_263211[]; + +extern const u8 gText_BP[]; + +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260201[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260287[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E[]; + +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C[]; + +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260397[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260436[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C[]; + +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260542[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260575[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260613[]; + +extern const u8 BattleFrontier_Lounge7_Text_265E30[]; +extern const u8 BattleFrontier_Lounge7_Text_265E5B[]; +extern const u8 BattleFrontier_Lounge7_Text_265E8A[]; +extern const u8 BattleFrontier_Lounge7_Text_265EC0[]; +extern const u8 BattleFrontier_Lounge7_Text_265EED[]; +extern const u8 BattleFrontier_Lounge7_Text_265F1C[]; +extern const u8 BattleFrontier_Lounge7_Text_265F47[]; +extern const u8 BattleFrontier_Lounge7_Text_265F77[]; +extern const u8 BattleFrontier_Lounge7_Text_265FAA[]; +extern const u8 BattleFrontier_Lounge7_Text_265FDD[]; + +extern const u8 BattleFrontier_Lounge7_Text_26600A[]; +extern const u8 BattleFrontier_Lounge7_Text_26603E[]; +extern const u8 BattleFrontier_Lounge7_Text_266070[]; +extern const u8 BattleFrontier_Lounge7_Text_2660A6[]; +extern const u8 BattleFrontier_Lounge7_Text_2660D0[]; +extern const u8 BattleFrontier_Lounge7_Text_2660FF[]; +extern const u8 BattleFrontier_Lounge7_Text_26612D[]; +extern const u8 BattleFrontier_Lounge7_Text_26615F[]; +extern const u8 BattleFrontier_Lounge7_Text_266185[]; +extern const u8 BattleFrontier_Lounge7_Text_2661B5[]; + +extern const u8 gText_YourPartnerHasRetired[]; + +extern const u8 gText_Wallace[]; +extern const u8 gText_Steven[]; +extern const u8 gText_Brawly[]; +extern const u8 gText_Winona[]; +extern const u8 gText_Phoebe[]; +extern const u8 gText_Glacia[]; + #endif //GUARD_STRINGS_H diff --git a/include/tv.h b/include/tv.h index 17be8c43c..554bbad85 100644 --- a/include/tv.h +++ b/include/tv.h @@ -48,5 +48,6 @@ void PutPokemonTodayCaughtOnAir(void); void TV_PutSecretBaseVisitOnTheAir(void); void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlayer, u16 speciesOpponent); void UpdateTVScreensOnMap(int, int); +void TV_PrintIntToStringVar(u8 varIdx, int value); #endif //GUARD_TV_H diff --git a/include/wallclock.h b/include/wallclock.h index 48697c19f..208af9324 100644 --- a/include/wallclock.h +++ b/include/wallclock.h @@ -1,6 +1,7 @@ #ifndef GUARD_WALLCLOCK_H #define GUARD_WALLCLOCK_H -void Cb2_StartWallClock(void); +void CB2_StartWallClock(void); +void CB2_ViewWallClock(void); #endif //GUARD_WALLCLOCK_H diff --git a/ld_script.txt b/ld_script.txt index f5bfdd598..ea17676bf 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -180,7 +180,7 @@ SECTIONS { src/time_events.o(.text); src/birch_pc.o(.text); src/hof_pc.o(.text); - asm/field_specials.o(.text); + src/field_specials.o(.text); src/battle_records.o(.text); asm/pokedex_area_screen.o(.text); src/evolution_scene.o(.text); @@ -469,7 +469,7 @@ SECTIONS { src/pokeblock.o(.rodata); src/fldeff_flash.o(.rodata); src/time_events.o(.rodata); - data/field_specials.o(.rodata); + src/field_specials.o(.rodata); src/battle_records.o(.rodata); data/pokedex_area_screen.o(.rodata); src/evolution_scene.o(.rodata); @@ -530,6 +530,7 @@ SECTIONS { src/fossil_specials.o(.rodata); src/fldeff_groundshake.o(.rodata); src/berry_fix_program.o(.rodata); + src/pokemon_summary_screen.o(.rodata); data/pokemon_summary_screen.o(.rodata); data/pokenav.o(.rodata); src/match_call.o(.rodata); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 5c0b78240..7f5a4fb48 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7230,7 +7230,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) PREPARE_STAT_BUFFER(gBattleTextBuff1, statId) - if ((statValue << 0x18) < 0) // stat decrease + if (statValue <= -1) // Stat decrease. { if (gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer && !certain && gCurrentMove != MOVE_CURSE) diff --git a/src/battle_setup.c b/src/battle_setup.c index e478af936..2955a33fc 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -900,7 +900,7 @@ static void CB2_GiveStarter(void) { u16 starterMon; - *GetVarPointer(VAR_FIRST_POKE) = gSpecialVar_Result; + *GetVarPointer(VAR_STARTER_MON) = gSpecialVar_Result; starterMon = GetStarterPokemon(gSpecialVar_Result); ScriptGiveMon(starterMon, 5, 0, 0, 0, 0); ResetTasks(); diff --git a/src/clock.c b/src/clock.c index ccbb0c24b..91eb5f16d 100644 --- a/src/clock.c +++ b/src/clock.c @@ -88,6 +88,6 @@ static void ReturnFromStartWallClock(void) void StartWallClock(void) { - SetMainCallback2(Cb2_StartWallClock); + SetMainCallback2(CB2_StartWallClock); gMain.savedCallback = ReturnFromStartWallClock; } diff --git a/src/credits.c b/src/credits.c index 168f3e8a3..a88e4b549 100644 --- a/src/credits.c +++ b/src/credits.c @@ -2285,7 +2285,7 @@ static void sub_81772B8(struct Sprite *sprite) static void sub_8177388(void) { - u16 starter = SpeciesToNationalPokedexNum(GetStarterPokemon(VarGet(VAR_FIRST_POKE))); + u16 starter = SpeciesToNationalPokedexNum(GetStarterPokemon(VarGet(VAR_STARTER_MON))); u16 page; u16 dexNum; u16 j; diff --git a/src/data/heal_locations.h b/src/data/heal_locations.h new file mode 100644 index 000000000..613bcebe8 --- /dev/null +++ b/src/data/heal_locations.h @@ -0,0 +1,25 @@ +static const struct HealLocation sHealLocations[] = +{ + {MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), 4, 2}, + {MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_2F), 4, 2}, + {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), 20, 17}, + {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), 19, 20}, + {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), 22, 6}, + {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), 16, 39}, + {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), 5, 7}, + {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), 24, 15}, + {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), 28, 17}, + {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), 43, 32}, + {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 27, 49}, + {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 5, 9}, + {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 14, 9}, + {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 6, 17}, + {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 2, 11}, + {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), 9, 7}, + {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), 14, 8}, + {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), 16, 4}, + {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), 8, 16}, + {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 18, 6}, + {MAP_GROUP(SOUTHERN_ISLAND_EXTERIOR), MAP_NUM(SOUTHERN_ISLAND_EXTERIOR), 15, 20}, + {MAP_GROUP(BATTLE_FRONTIER_OUTSIDE_EAST), MAP_NUM(BATTLE_FRONTIER_OUTSIDE_EAST), 3, 52}, +}; diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h new file mode 100644 index 000000000..f8830c593 --- /dev/null +++ b/src/data/text/move_descriptions.h @@ -0,0 +1,714 @@ +static const u8 sNullMoveDescription[] = _(""); +static const u8 sPoundMoveDescription[] = _("Pounds the foe with\nforelegs or tail."); +static const u8 sKarateChopMoveDescription[] = _("A chopping attack with a\nhigh critical-hit ratio."); +static const u8 sDoubleSlapMoveDescription[] = _("Repeatedly slaps the foe\n2 to 5 times."); +static const u8 sCometPunchMoveDescription[] = _("Repeatedly punches the foe\n2 to 5 times."); +static const u8 sMegaPunchMoveDescription[] = _("A strong punch thrown with\nincredible power."); +static const u8 sPayDayMoveDescription[] = _("Throws coins at the foe.\nMoney is recovered after."); +static const u8 sFirePunchMoveDescription[] = _("A fiery punch that may burn\nthe foe."); +static const u8 sIcePunchMoveDescription[] = _("An icy punch that may\nfreeze the foe."); +static const u8 sThunderPunchMoveDescription[] = _("An electrified punch that\nmay paralyze the foe."); +static const u8 sScratchMoveDescription[] = _("Scratches the foe with\nsharp claws."); +static const u8 sViceGripMoveDescription[] = _("Grips the foe with large and\npowerful pincers."); +static const u8 sGuillotineMoveDescription[] = _("A powerful pincer attack\nthat may cause fainting."); +static const u8 sRazorWindMoveDescription[] = _("A 2-turn move that strikes\nthe foe on the 2nd turn."); +static const u8 sSwordsDanceMoveDescription[] = _("A fighting dance that\nsharply raises ATTACK."); +static const u8 sCutMoveDescription[] = _("Cuts the foe with sharp\nscythes, claws, etc."); +static const u8 sGustMoveDescription[] = _("Strikes the foe with a gust\nof wind whipped up by wings."); +static const u8 sWingAttackMoveDescription[] = _("Strikes the foe with wings\nspread wide."); +static const u8 sWhirlwindMoveDescription[] = _("Blows away the foe with\nwind and ends the battle."); +static const u8 sFlyMoveDescription[] = _("Flies up on the first turn,\nthen strikes the next turn."); +static const u8 sBindMoveDescription[] = _("Binds and squeezes the foe\nfor 2 to 5 turns."); +static const u8 sSlamMoveDescription[] = _("Slams the foe with a long\ntail, vine, etc."); +static const u8 sVineWhipMoveDescription[] = _("Strikes the foe with\nslender, whiplike vines."); +static const u8 sStompMoveDescription[] = _("Stomps the enemy with a big\nfoot. May cause flinching."); +static const u8 sDoubleKickMoveDescription[] = _("A double-kicking attack\nthat strikes the foe twice."); +static const u8 sMegaKickMoveDescription[] = _("An extremely powerful kick\nwith intense force."); +static const u8 sJumpKickMoveDescription[] = _("A strong jumping kick. May\nmiss and hurt the kicker."); +static const u8 sRollingKickMoveDescription[] = _("A fast kick delivered from\na rapid spin."); +static const u8 sSandAttackMoveDescription[] = _("Reduces the foe’s accuracy\nby hurling sand in its face."); +static const u8 sHeadbuttMoveDescription[] = _("A ramming attack that may\ncause flinching."); +static const u8 sHornAttackMoveDescription[] = _("Jabs the foe with sharp\nhorns."); +static const u8 sFuryAttackMoveDescription[] = _("Jabs the foe 2 to 5 times\nwith sharp horns, etc."); +static const u8 sHornDrillMoveDescription[] = _("A one-hit KO attack that\nuses a horn like a drill."); +static const u8 sTackleMoveDescription[] = _("Charges the foe with a full-\nbody tackle."); +static const u8 sBodySlamMoveDescription[] = _("A full-body slam that may\ncause paralysis."); +static const u8 sWrapMoveDescription[] = _("Wraps and squeezes the foe\n2 to 5 times with vines, etc."); +static const u8 sTakeDownMoveDescription[] = _("A reckless charge attack\nthat also hurts the user."); +static const u8 sThrashMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user."); +static const u8 sDoubleEdgeMoveDescription[] = _("A life-risking tackle that\nalso hurts the user."); +static const u8 sTailWhipMoveDescription[] = _("Wags the tail to lower the\nfoe’s DEFENSE."); +static const u8 sPoisonStingMoveDescription[] = _("A toxic attack with barbs,\netc., that may poison."); +static const u8 sTwineedleMoveDescription[] = _("Stingers on the forelegs\njab the foe twice."); +static const u8 sPinMissileMoveDescription[] = _("Sharp pins are fired to\nstrike 2 to 5 times."); +static const u8 sLeerMoveDescription[] = _("Frightens the foe with a\nleer to lower DEFENSE."); +static const u8 sBiteMoveDescription[] = _("Bites with vicious fangs.\nMay cause flinching."); +static const u8 sGrowlMoveDescription[] = _("Growls cutely to reduce the\nfoe’s ATTACK."); +static const u8 sRoarMoveDescription[] = _("Makes the foe flee to end\nthe battle."); +static const u8 sSingMoveDescription[] = _("A soothing song lulls the\nfoe into a deep slumber."); +static const u8 sSupersonicMoveDescription[] = _("Emits bizarre sound waves\nthat may confuse the foe."); +static const u8 sSonicBoomMoveDescription[] = _("Launches shock waves that\nalways inflict 20 HP damage."); +static const u8 sDisableMoveDescription[] = _("Psychically disables one of\nthe foe’s moves."); +static const u8 sAcidMoveDescription[] = _("Sprays a hide-melting acid.\nMay lower DEFENSE."); +static const u8 sEmberMoveDescription[] = _("A weak fire attack that may\ninflict a burn."); +static const u8 sFlamethrowerMoveDescription[] = _("A powerful fire attack that\nmay inflict a burn."); +static const u8 sMistMoveDescription[] = _("Creates a mist that stops\nreduction of abilities."); +static const u8 sWaterGunMoveDescription[] = _("Squirts water to attack\nthe foe."); +static const u8 sHydroPumpMoveDescription[] = _("Blasts water at high power\nto strike the foe."); +static const u8 sSurfMoveDescription[] = _("Creates a huge wave, then\ncrashes it down on the foe."); +static const u8 sIceBeamMoveDescription[] = _("Blasts the foe with an icy\nbeam that may freeze it."); +static const u8 sBlizzardMoveDescription[] = _("Hits the foe with an icy\nstorm that may freeze it."); +static const u8 sPsybeamMoveDescription[] = _("Fires a peculiar ray that\nmay confuse the foe."); +static const u8 sBubbleBeamMoveDescription[] = _("Forcefully sprays bubbles\nthat may lower SPEED."); +static const u8 sAuroraBeamMoveDescription[] = _("Fires a rainbow-colored\nbeam that may lower ATTACK."); +static const u8 sHyperBeamMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); +static const u8 sPeckMoveDescription[] = _("Attacks the foe with a\njabbing beak, etc."); +static const u8 sDrillPeckMoveDescription[] = _("A corkscrewing attack with\nthe beak acting as a drill."); +static const u8 sSubmissionMoveDescription[] = _("A reckless body slam that\nalso hurts the user."); +static const u8 sLowKickMoveDescription[] = _("A kick that inflicts more\ndamage on heavier foes."); +static const u8 sCounterMoveDescription[] = _("Retaliates any physical hit\nwith double the power."); +static const u8 sSeismicTossMoveDescription[] = _("Inflicts damage identical\nto the user’s level."); +static const u8 sStrengthMoveDescription[] = _("Builds enormous power,\nthen slams the foe."); +static const u8 sAbsorbMoveDescription[] = _("An attack that absorbs\nhalf the damage inflicted."); +static const u8 sMegaDrainMoveDescription[] = _("An attack that absorbs\nhalf the damage inflicted."); +static const u8 sLeechSeedMoveDescription[] = _("Plants a seed on the foe to\nsteal HP on every turn."); +static const u8 sGrowthMoveDescription[] = _("Forces the body to grow\nand heightens SP. ATK."); +static const u8 sRazorLeafMoveDescription[] = _("Cuts the enemy with leaves.\nHigh critical-hit ratio."); +static const u8 sSolarBeamMoveDescription[] = _("Absorbs light in one turn,\nthen attacks next turn."); +static const u8 sPoisonPowderMoveDescription[] = _("Scatters a toxic powder\nthat may poison the foe."); +static const u8 sStunSporeMoveDescription[] = _("Scatters a powder that may\nparalyze the foe."); +static const u8 sSleepPowderMoveDescription[] = _("Scatters a powder that may\ncause the foe to sleep."); +static const u8 sPetalDanceMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user."); +static const u8 sStringShotMoveDescription[] = _("Binds the foe with string\nto reduce its SPEED."); +static const u8 sDragonRageMoveDescription[] = _("Launches shock waves that\nalways inflict 40 HP damage."); +static const u8 sFireSpinMoveDescription[] = _("Traps the foe in a ring of\nfire for 2 to 5 turns."); +static const u8 sThunderShockMoveDescription[] = _("An electrical attack that\nmay paralyze the foe."); +static const u8 sThunderboltMoveDescription[] = _("A strong electrical attack\nthat may paralyze the foe."); +static const u8 sThunderWaveMoveDescription[] = _("A weak jolt of electricity\nthat paralyzes the foe."); +static const u8 sThunderMoveDescription[] = _("A lightning attack that may\ncause paralysis."); +static const u8 sRockThrowMoveDescription[] = _("Throws small rocks to\nstrike the foe."); +static const u8 sEarthquakeMoveDescription[] = _("A powerful quake, but has\nno effect on flying foes."); +static const u8 sFissureMoveDescription[] = _("A one-hit KO move that\ndrops the foe in a fissure."); +static const u8 sDigMoveDescription[] = _("Digs underground the first\nturn and strikes next turn."); +static const u8 sToxicMoveDescription[] = _("Poisons the foe with an\nintensifying toxin."); +static const u8 sConfusionMoveDescription[] = _("A psychic attack that may\ncause confusion."); +static const u8 sPsychicMoveDescription[] = _("A powerful psychic attack\nthat may lower SP. DEF."); +static const u8 sHypnosisMoveDescription[] = _("A hypnotizing move that\nmay induce sleep."); +static const u8 sMeditateMoveDescription[] = _("Meditates in a peaceful\nfashion to raise ATTACK."); +static const u8 sAgilityMoveDescription[] = _("Relaxes the body to sharply\nboost SPEED."); +static const u8 sQuickAttackMoveDescription[] = _("An extremely fast attack\nthat always strikes first."); +static const u8 sRageMoveDescription[] = _("Raises the user’s ATTACK\nevery time it is hit."); +static const u8 sTeleportMoveDescription[] = _("A psychic move for fleeing\nfrom battle instantly."); +static const u8 sNightShadeMoveDescription[] = _("Inflicts damage identical\nto the user’s level."); +static const u8 sMimicMoveDescription[] = _("Copies a move used by the\nfoe during one battle."); +static const u8 sScreechMoveDescription[] = _("Emits a screech to sharply\nreduce the foe’s DEFENSE."); +static const u8 sDoubleTeamMoveDescription[] = _("Creates illusory copies to\nraise evasiveness."); +static const u8 sRecoverMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP."); +static const u8 sHardenMoveDescription[] = _("Stiffens the body’s \nmuscles to raise DEFENSE."); +static const u8 sMinimizeMoveDescription[] = _("Minimizes the user’s size\nto raise evasiveness."); +static const u8 sSmokescreenMoveDescription[] = _("Lowers the foe’s accuracy\nusing smoke, ink, etc."); +static const u8 sConfuseRayMoveDescription[] = _("A sinister ray that\nconfuses the foe."); +static const u8 sWithdrawMoveDescription[] = _("Withdraws the body into its\nhard shell to raise DEFENSE."); +static const u8 sDefenseCurlMoveDescription[] = _("Curls up to conceal weak\nspots and raise DEFENSE."); +static const u8 sBarrierMoveDescription[] = _("Creates a barrier that\nsharply raises DEFENSE."); +static const u8 sLightScreenMoveDescription[] = _("Creates a wall of light that\nlowers SP. ATK damage."); +static const u8 sHazeMoveDescription[] = _("Creates a black haze that\neliminates all stat changes."); +static const u8 sReflectMoveDescription[] = _("Creates a wall of light that\nweakens physical attacks."); +static const u8 sFocusEnergyMoveDescription[] = _("Focuses power to raise the\ncritical-hit ratio."); +static const u8 sBideMoveDescription[] = _("Endures attack for 2\nturns to retaliate double."); +static const u8 sMetronomeMoveDescription[] = _("Waggles a finger to use any\nPOKéMON move at random."); +static const u8 sMirrorMoveMoveDescription[] = _("Counters the foe’s attack\nwith the same move."); +static const u8 sSelfDestructMoveDescription[] = _("Inflicts severe damage but\nmakes the user faint."); +static const u8 sEggBombMoveDescription[] = _("An egg is forcibly hurled at\nthe foe."); +static const u8 sLickMoveDescription[] = _("Licks with a long tongue to\ninjure. May also paralyze."); +static const u8 sSmogMoveDescription[] = _("An exhaust-gas attack\nthat may also poison."); +static const u8 sSludgeMoveDescription[] = _("Sludge is hurled to inflict\ndamage. May also poison."); +static const u8 sBoneClubMoveDescription[] = _("Clubs the foe with a bone.\nMay cause flinching."); +static const u8 sFireBlastMoveDescription[] = _("Incinerates everything it\nstrikes. May cause a burn."); +static const u8 sWaterfallMoveDescription[] = _("Charges the foe with speed\nto climb waterfalls."); +static const u8 sClampMoveDescription[] = _("Traps and squeezes the\nfoe for 2 to 5 turns."); +static const u8 sSwiftMoveDescription[] = _("Sprays star-shaped rays\nthat never miss."); +static const u8 sSkullBashMoveDescription[] = _("Tucks in the head, then\nattacks on the next turn."); +static const u8 sSpikeCannonMoveDescription[] = _("Launches sharp spikes that\nstrike 2 to 5 times."); +static const u8 sConstrictMoveDescription[] = _("Constricts to inflict pain.\nMay lower SPEED."); +static const u8 sAmnesiaMoveDescription[] = _("Forgets about something\nand sharply raises SP. DEF."); +static const u8 sKinesisMoveDescription[] = _("Distracts the foe.\nMay lower accuracy."); +static const u8 sSoftBoiledMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP."); +static const u8 sHiJumpKickMoveDescription[] = _("A jumping knee kick. If it\nmisses, the user is hurt."); +static const u8 sGlareMoveDescription[] = _("Intimidates and frightens\nthe foe into paralysis."); +static const u8 sDreamEaterMoveDescription[] = _("Takes one half the damage\ninflicted on a sleeping foe."); +static const u8 sPoisonGasMoveDescription[] = _("Envelops the foe in a toxic\ngas that may poison."); +static const u8 sBarrageMoveDescription[] = _("Hurls round objects at the\nfoe 2 to 5 times."); +static const u8 sLeechLifeMoveDescription[] = _("An attack that steals half\nthe damage inflicted."); +static const u8 sLovelyKissMoveDescription[] = _("Demands a kiss with a scary\nface that induces sleep."); +static const u8 sSkyAttackMoveDescription[] = _("Searches out weak spots,\nthen strikes the next turn."); +static const u8 sTransformMoveDescription[] = _("Alters the user’s cells to\nbecome a copy of the foe."); +static const u8 sBubbleMoveDescription[] = _("An attack using bubbles.\nMay lower the foe’s SPEED."); +static const u8 sDizzyPunchMoveDescription[] = _("A rhythmic punch that may\nconfuse the foe."); +static const u8 sSporeMoveDescription[] = _("Scatters a cloud of spores\nthat always induce sleep."); +static const u8 sFlashMoveDescription[] = _("Looses a powerful blast of\nlight that cuts accuracy."); +static const u8 sPsywaveMoveDescription[] = _("Attacks with a psychic\nwave of varying intensity."); +static const u8 sSplashMoveDescription[] = _("It’s just a splash...\nHas no effect whatsoever."); +static const u8 sAcidArmorMoveDescription[] = _("Liquifies the user’s body\nto sharply raise DEFENSE."); +static const u8 sCrabhammerMoveDescription[] = _("Hammers with a pincer. Has a\nhigh critical-hit ratio."); +static const u8 sExplosionMoveDescription[] = _("Inflicts severe damage but\nmakes the user faint."); +static const u8 sFurySwipesMoveDescription[] = _("Rakes the foe with sharp\nclaws, etc., 2 to 5 times."); +static const u8 sBonemerangMoveDescription[] = _("Throws a bone boomerang\nthat strikes twice."); +static const u8 sRestMoveDescription[] = _("The user sleeps for 2 turns,\nrestoring HP and status."); +static const u8 sRockSlideMoveDescription[] = _("Large boulders are hurled.\nMay cause flinching."); +static const u8 sHyperFangMoveDescription[] = _("Attacks with sharp fangs.\nMay cause flinching."); +static const u8 sSharpenMoveDescription[] = _("Reduces the polygon count\nand raises ATTACK."); +static const u8 sConversionMoveDescription[] = _("Changes the user’s type\ninto a known move’s type."); +static const u8 sTriAttackMoveDescription[] = _("Fires three types of beams\nat the same time."); +static const u8 sSuperFangMoveDescription[] = _("Attacks with sharp fangs\nand cuts half the foe’s HP."); +static const u8 sSlashMoveDescription[] = _("Slashes with claws, etc. Has\na high critical-hit ratio."); +static const u8 sSubstituteMoveDescription[] = _("Creates a decoy using 1/4\nof the user’s maximum HP."); +static const u8 sStruggleMoveDescription[] = _("Used only if all PP are gone.\nAlso hurts the user a little."); +static const u8 sSketchMoveDescription[] = _("Copies the foe’s last move\npermanently."); +static const u8 sTripleKickMoveDescription[] = _("Kicks the foe 3 times in a\nrow with rising intensity."); +static const u8 sThiefMoveDescription[] = _("While attacking, it may\nsteal the foe’s held item."); +static const u8 sSpiderWebMoveDescription[] = _("Ensnares the foe to stop it\nfrom fleeing or switching."); +static const u8 sMindReaderMoveDescription[] = _("Senses the foe’s action to\nensure the next move’s hit."); +static const u8 sNightmareMoveDescription[] = _("Inflicts 1/4 damage on a\nsleeping foe every turn."); +static const u8 sFlameWheelMoveDescription[] = _("A fiery charge attack that\nmay inflict a burn."); +static const u8 sSnoreMoveDescription[] = _("A loud attack that can be\nused only while asleep."); +static const u8 sCurseMoveDescription[] = _("A move that functions\ndifferently for GHOSTS."); +static const u8 sFlailMoveDescription[] = _("Inflicts more damage when\nthe user’s HP is down."); +static const u8 sConversion2MoveDescription[] = _("Makes the user resistant\nto the last attack’s type."); +static const u8 sAeroblastMoveDescription[] = _("Launches a vacuumed blast.\nHigh critical-hit ratio."); +static const u8 sCottonSporeMoveDescription[] = _("Spores cling to the foe,\nsharply reducing SPEED."); +static const u8 sReversalMoveDescription[] = _("Inflicts more damage when\nthe user’s HP is down."); +static const u8 sSpiteMoveDescription[] = _("Spitefully cuts the PP\nof the foe’s last move."); +static const u8 sPowderSnowMoveDescription[] = _("Blasts the foe with a snowy\ngust. May cause freezing."); +static const u8 sProtectMoveDescription[] = _("Evades attack, but may fail\nif used in succession."); +static const u8 sMachPunchMoveDescription[] = _("A punch is thrown at wicked\nspeed to strike first."); +static const u8 sScaryFaceMoveDescription[] = _("Frightens with a scary face\nto sharply reduce SPEED."); +static const u8 sFaintAttackMoveDescription[] = _("Draws the foe close, then\nstrikes without fail."); +static const u8 sSweetKissMoveDescription[] = _("Demands a kiss with a cute\nlook. May cause confusion."); +static const u8 sBellyDrumMoveDescription[] = _("Maximizes ATTACK while\nsacrificing HP."); +static const u8 sSludgeBombMoveDescription[] = _("Sludge is hurled to inflict\ndamage. May also poison."); +static const u8 sMudSlapMoveDescription[] = _("Hurls mud in the foe’s face\nto reduce its accuracy."); +static const u8 sOctazookaMoveDescription[] = _("Fires a lump of ink to\ndamage and cut accuracy."); +static const u8 sSpikesMoveDescription[] = _("Sets spikes that hurt a \nfoe switching in."); +static const u8 sZapCannonMoveDescription[] = _("Powerful and sure to cause\nparalysis, but inaccurate."); +static const u8 sForesightMoveDescription[] = _("Negates the foe’s efforts\nto heighten evasiveness."); +static const u8 sDestinyBondMoveDescription[] = _("If the user faints, the foe\nis also made to faint."); +static const u8 sPerishSongMoveDescription[] = _("Any POKéMON hearing this\nsong faints in 3 turns."); +static const u8 sIcyWindMoveDescription[] = _("A chilling attack that\nlowers the foe’s SPEED."); +static const u8 sDetectMoveDescription[] = _("Evades attack, but may fail\nif used in succession."); +static const u8 sBoneRushMoveDescription[] = _("Strikes the foe with a bone\nin hand 2 to 5 times."); +static const u8 sLockOnMoveDescription[] = _("Locks on to the foe to\nensure the next move hits."); +static const u8 sOutrageMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user."); +static const u8 sSandstormMoveDescription[] = _("Causes a sandstorm that\nrages for several turns."); +static const u8 sGigaDrainMoveDescription[] = _("An attack that steals half\nthe damage inflicted."); +static const u8 sEndureMoveDescription[] = _("Endures any attack for\n1 turn, leaving at least 1HP."); +static const u8 sCharmMoveDescription[] = _("Charms the foe and sharply\nreduces its ATTACK."); +static const u8 sRolloutMoveDescription[] = _("An attack lasting 5 turns\nwith rising intensity."); +static const u8 sFalseSwipeMoveDescription[] = _("An attack that leaves the\nfoe with at least 1 HP."); +static const u8 sSwaggerMoveDescription[] = _("Confuses the foe, but also\nsharply raises ATTACK."); +static const u8 sMilkDrinkMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP."); +static const u8 sSparkMoveDescription[] = _("An electrified tackle that\nmay paralyze the foe."); +static const u8 sFuryCutterMoveDescription[] = _("An attack that intensifies\non each successive hit."); +static const u8 sSteelWingMoveDescription[] = _("Strikes the foe with hard\nwings spread wide."); +static const u8 sMeanLookMoveDescription[] = _("Fixes the foe with a mean\nlook that prevents escape."); +static const u8 sAttractMoveDescription[] = _("Makes the opposite gender\nless likely to attack."); +static const u8 sSleepTalkMoveDescription[] = _("Uses an available move\nrandomly while asleep."); +static const u8 sHealBellMoveDescription[] = _("Chimes soothingly to heal\nall status abnormalities."); +static const u8 sReturnMoveDescription[] = _("An attack that increases\nin power with friendship."); +static const u8 sPresentMoveDescription[] = _("A gift in the form of a\nbomb. May restore HP."); +static const u8 sFrustrationMoveDescription[] = _("An attack that is stronger\nif the TRAINER is disliked."); +static const u8 sSafeguardMoveDescription[] = _("A mystical force prevents\nall status problems."); +static const u8 sPainSplitMoveDescription[] = _("Adds the user and foe’s HP,\nthen shares them equally."); +static const u8 sSacredFireMoveDescription[] = _("A mystical fire attack that\nmay inflict a burn."); +static const u8 sMagnitudeMoveDescription[] = _("A ground-shaking attack\nof random intensity."); +static const u8 sDynamicPunchMoveDescription[] = _("Powerful and sure to cause\nconfusion, but inaccurate."); +static const u8 sMegahornMoveDescription[] = _("A brutal ramming attack\nusing out-thrust horns."); +static const u8 sDragonBreathMoveDescription[] = _("Strikes the foe with an\nincredible blast of breath."); +static const u8 sBatonPassMoveDescription[] = _("Switches out the user while\nkeeping effects in play."); +static const u8 sEncoreMoveDescription[] = _("Makes the foe repeat its\nlast move over 2 to 6 turns."); +static const u8 sPursuitMoveDescription[] = _("Inflicts bad damage if used\non a foe switching out."); +static const u8 sRapidSpinMoveDescription[] = _("Spins the body at high\nspeed to strike the foe."); +static const u8 sSweetScentMoveDescription[] = _("Allures the foe to reduce\nevasiveness."); +static const u8 sIronTailMoveDescription[] = _("Attacks with a rock-hard\ntail. May lower DEFENSE."); +static const u8 sMetalClawMoveDescription[] = _("A claw attack that may\nraise the user’s ATTACK."); +static const u8 sVitalThrowMoveDescription[] = _("Makes the user’s move last,\nbut it never misses."); +static const u8 sMorningSunMoveDescription[] = _("Restores HP. The amount\nvaries with the weather."); +static const u8 sSynthesisMoveDescription[] = _("Restores HP. The amount\nvaries with the weather."); +static const u8 sMoonlightMoveDescription[] = _("Restores HP. The amount\nvaries with the weather."); +static const u8 sHiddenPowerMoveDescription[] = _("The effectiveness varies\nwith the user."); +static const u8 sCrossChopMoveDescription[] = _("A double-chopping attack.\nHigh critical-hit ratio."); +static const u8 sTwisterMoveDescription[] = _("Whips up a vicious twister\nto tear at the foe."); +static const u8 sRainDanceMoveDescription[] = _("Boosts the power of WATER-\ntype moves for 5 turns."); +static const u8 sSunnyDayMoveDescription[] = _("Boosts the power of FIRE-\ntype moves for 5 turns."); +static const u8 sCrunchMoveDescription[] = _("Crunches with sharp fangs.\nMay lower SP. DEF."); +static const u8 sMirrorCoatMoveDescription[] = _("Counters the foe’s special\nattack at double the power."); +static const u8 sPsychUpMoveDescription[] = _("Copies the foe’s effect(s)\nand gives to the user."); +static const u8 sExtremeSpeedMoveDescription[] = _("An extremely fast and\npowerful attack."); +static const u8 sAncientPowerMoveDescription[] = _("An attack that may raise\nall stats."); +static const u8 sShadowBallMoveDescription[] = _("Hurls a black blob that may\nlower the foe’s SP. DEF."); +static const u8 sFutureSightMoveDescription[] = _("Heightens inner power to\nstrike 2 turns later."); +static const u8 sRockSmashMoveDescription[] = _("A rock-crushing attack\nthat may lower DEFENSE."); +static const u8 sWhirlpoolMoveDescription[] = _("Traps and hurts the foe in\na whirlpool for 2 to 5 turns."); +static const u8 sBeatUpMoveDescription[] = _("Summons party POKéMON to\njoin in the attack."); +static const u8 sFakeOutMoveDescription[] = _("A 1st-turn, 1st-strike move\nthat causes flinching."); +static const u8 sUproarMoveDescription[] = _("Causes an uproar for 2 to 5\nturns and prevents sleep."); +static const u8 sStockpileMoveDescription[] = _("Charges up power for up to\n3 turns."); +static const u8 sSpitUpMoveDescription[] = _("Releases stockpiled power\n(the more the better)."); +static const u8 sSwallowMoveDescription[] = _("Absorbs stockpiled power\nand restores HP."); +static const u8 sHeatWaveMoveDescription[] = _("Exhales a hot breath on the\nfoe. May inflict a burn."); +static const u8 sHailMoveDescription[] = _("Summons a hailstorm that\nstrikes every turn."); +static const u8 sTormentMoveDescription[] = _("Torments the foe and stops\nsuccessive use of a move."); +static const u8 sFlatterMoveDescription[] = _("Confuses the foe, but\nraises its SP. ATK."); +static const u8 sWillOWispMoveDescription[] = _("Inflicts a burn on the foe\nwith intense fire."); +static const u8 sMementoMoveDescription[] = _("The user faints and lowers\nthe foe’s abilities."); +static const u8 sFacadeMoveDescription[] = _("Boosts ATTACK when burned,\nparalyzed, or poisoned."); +static const u8 sFocusPunchMoveDescription[] = _("A powerful loyalty attack.\nThe user flinches if hit."); +static const u8 sSmellingSaltMoveDescription[] = _("Powerful against paralyzed\nfoes, but also heals them."); +static const u8 sFollowMeMoveDescription[] = _("Draws attention to make\nfoes attack only the user."); +static const u8 sNaturePowerMoveDescription[] = _("The type of attack varies\ndepending on the location."); +static const u8 sChargeMoveDescription[] = _("Charges power to boost the\nelectric move used next."); +static const u8 sTauntMoveDescription[] = _("Taunts the foe into only\nusing attack moves."); +static const u8 sHelpingHandMoveDescription[] = _("Boosts the power of the\nrecipient’s moves."); +static const u8 sTrickMoveDescription[] = _("Tricks the foe into trading\nheld items."); +static const u8 sRolePlayMoveDescription[] = _("Mimics the target and\ncopies its special ability."); +static const u8 sWishMoveDescription[] = _("A wish that restores HP.\nIt takes time to work."); +static const u8 sAssistMoveDescription[] = _("Attacks randomly with one\nof the partner’s moves."); +static const u8 sIngrainMoveDescription[] = _("Lays roots that restore HP.\nThe user can’t switch out."); +static const u8 sSuperpowerMoveDescription[] = _("Boosts strength sharply,\nbut lowers abilities."); +static const u8 sMagicCoatMoveDescription[] = _("Reflects special effects\nback to the attacker."); +static const u8 sRecycleMoveDescription[] = _("Recycles a used item for\none more use."); +static const u8 sRevengeMoveDescription[] = _("An attack that gains power\nif injured by the foe."); +static const u8 sBrickBreakMoveDescription[] = _("Destroys barriers such as\nREFLECT and causes damage."); +static const u8 sYawnMoveDescription[] = _("Lulls the foe into yawning,\nthen sleeping next turn."); +static const u8 sKnockOffMoveDescription[] = _("Knocks down the foe’s held\nitem to prevent its use."); +static const u8 sEndeavorMoveDescription[] = _("Gains power if the user’s HP\nis lower than the foe’s HP."); +static const u8 sEruptionMoveDescription[] = _("The higher the user’s HP,\nthe more damage caused."); +static const u8 sSkillSwapMoveDescription[] = _("The user swaps special\nabilities with the target."); +static const u8 sImprisonMoveDescription[] = _("Prevents foes from using\nmoves known by the user."); +static const u8 sRefreshMoveDescription[] = _("Heals poisoning, paralysis,\nor a burn."); +static const u8 sGrudgeMoveDescription[] = _("If the user faints, deletes\nall PP of foe’s last move."); +static const u8 sSnatchMoveDescription[] = _("Steals the effects of the\nmove the target uses next."); +static const u8 sSecretPowerMoveDescription[] = _("An attack with effects\nthat vary by location."); +static const u8 sDiveMoveDescription[] = _("Dives underwater the first\nturn and strikes next turn."); +static const u8 sArmThrustMoveDescription[] = _("Straight-arm punches that\nstrike the foe 2 to 5 times."); +static const u8 sCamouflageMoveDescription[] = _("Alters the POKéMON’s type\ndepending on the location."); +static const u8 sTailGlowMoveDescription[] = _("Flashes a light that sharply\nraises SP. ATK."); +static const u8 sLusterPurgeMoveDescription[] = _("Attacks with a burst of\nlight. May lower SP. DEF."); +static const u8 sMistBallMoveDescription[] = _("Attacks with a flurry of\ndown. May lower SP. ATK."); +static const u8 sFeatherDanceMoveDescription[] = _("Envelops the foe with down\nto sharply reduce ATTACK."); +static const u8 sTeeterDanceMoveDescription[] = _("Confuses all POKéMON on\nthe scene."); +static const u8 sBlazeKickMoveDescription[] = _("A kick with a high critical-\nhit ratio. May cause a burn."); +static const u8 sMudSportMoveDescription[] = _("Covers the user in mud to\nraise electrical resistance."); +static const u8 sIceBallMoveDescription[] = _("A 5-turn attack that gains\npower on successive hits."); +static const u8 sNeedleArmMoveDescription[] = _("Attacks with thorny arms.\nMay cause flinching."); +static const u8 sSlackOffMoveDescription[] = _("Slacks off and restores\nhalf the maximum HP."); +static const u8 sHyperVoiceMoveDescription[] = _("A loud attack that uses\nsound waves to injure."); +static const u8 sPoisonFangMoveDescription[] = _("A sharp-fanged attack.\nMay badly poison the foe."); +static const u8 sCrushClawMoveDescription[] = _("Tears at the foe with sharp\nclaws. May lower DEFENSE."); +static const u8 sBlastBurnMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); +static const u8 sHydroCannonMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); +static const u8 sMeteorMashMoveDescription[] = _("Fires a meteor-like punch.\nMay raise ATTACK."); +static const u8 sAstonishMoveDescription[] = _("An attack that may shock\nthe foe into flinching."); +static const u8 sWeatherBallMoveDescription[] = _("The move’s type and power\nchange with the weather."); +static const u8 sAromatherapyMoveDescription[] = _("Heals all status problems\nwith a soothing scent."); +static const u8 sFakeTearsMoveDescription[] = _("Feigns crying to sharply\nlower the foe’s SP. DEF."); +static const u8 sAirCutterMoveDescription[] = _("Hacks with razorlike wind.\nHigh critical-hit ratio."); +static const u8 sOverheatMoveDescription[] = _("Allows a full-power attack,\nbut sharply lowers SP. ATK."); +static const u8 sOdorSleuthMoveDescription[] = _("Negates the foe’s efforts\nto heighten evasiveness."); +static const u8 sRockTombMoveDescription[] = _("Stops the foe from moving\nwith rocks and cuts SPEED."); +static const u8 sSilverWindMoveDescription[] = _("A powdery attack that may\nraise abilities."); +static const u8 sMetalSoundMoveDescription[] = _("Emits a horrible screech\nthat sharply lowers SP. DEF."); +static const u8 sGrassWhistleMoveDescription[] = _("Lulls the foe into sleep\nwith a pleasant melody."); +static const u8 sTickleMoveDescription[] = _("Makes the foe laugh to\nlower ATTACK and DEFENSE."); +static const u8 sCosmicPowerMoveDescription[] = _("Raises DEFENSE and SP. DEF\nwith a mystic power."); +static const u8 sWaterSpoutMoveDescription[] = _("Inflicts more damage if the\nuser’s HP is high."); +static const u8 sSignalBeamMoveDescription[] = _("A strange beam attack that\nmay confuse the foe."); +static const u8 sShadowPunchMoveDescription[] = _("An unavoidable punch that\nis thrown from shadows."); +static const u8 sExtrasensoryMoveDescription[] = _("Attacks with a peculiar\npower. May cause flinching."); +static const u8 sSkyUppercutMoveDescription[] = _("An uppercut thrown as if\nleaping into the sky."); +static const u8 sSandTombMoveDescription[] = _("Traps and hurts the foe in\nquicksand for 2 to 5 turns."); +static const u8 sSheerColdMoveDescription[] = _("A chilling attack that\ncauses fainting if it hits."); +static const u8 sMuddyWaterMoveDescription[] = _("Attacks with muddy water.\nMay lower accuracy."); +static const u8 sBulletSeedMoveDescription[] = _("Shoots 2 to 5 seeds in a row\nto strike the foe."); +static const u8 sAerialAceMoveDescription[] = _("An extremely speedy and\nunavoidable attack."); +static const u8 sIcicleSpearMoveDescription[] = _("Attacks the foe by firing\n2 to 5 icicles in a row."); +static const u8 sIronDefenseMoveDescription[] = _("Hardens the body’s surface\nto sharply raise DEFENSE."); +static const u8 sBlockMoveDescription[] = _("Blocks the foe’s way to\nprevent escape."); +static const u8 sHowlMoveDescription[] = _("Howls to raise the spirit\nand boosts ATTACK."); +static const u8 sDragonClawMoveDescription[] = _("Slashes the foe with sharp\nclaws."); +static const u8 sFrenzyPlantMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); +static const u8 sBulkUpMoveDescription[] = _("Bulks up the body to boost\nboth ATTACK and DEFENSE."); +static const u8 sBounceMoveDescription[] = _("Bounces up, then down the\nnext turn. May paralyze."); +static const u8 sMudShotMoveDescription[] = _("Hurls mud at the foe and\nreduces SPEED."); +static const u8 sPoisonTailMoveDescription[] = _("Has a high critical-hit\nratio. May also poison."); +static const u8 sCovetMoveDescription[] = _("Cutely begs to obtain an\nitem held by the foe."); +static const u8 sVoltTackleMoveDescription[] = _("A life-risking tackle that\nslightly hurts the user."); +static const u8 sMagicalLeafMoveDescription[] = _("Attacks with a strange leaf\nthat cannot be evaded."); +static const u8 sWaterSportMoveDescription[] = _("The user becomes soaked to\nraise resistance to fire."); +static const u8 sCalmMindMoveDescription[] = _("Raises SP. ATK and SP. DEF\nby focusing the mind."); +static const u8 sLeafBladeMoveDescription[] = _("Slashes with a sharp leaf.\nHigh critical-hit ratio."); +static const u8 sDragonDanceMoveDescription[] = _("A mystical dance that ups\nATTACK and SPEED."); +static const u8 sRockBlastMoveDescription[] = _("Hurls boulders at the foe\n2 to 5 times in a row."); +static const u8 sShockWaveMoveDescription[] = _("A fast and unavoidable\nelectric attack."); +static const u8 sWaterPulseMoveDescription[] = _("Attacks with ultrasonic\nwaves. May confuse the foe."); +static const u8 sDoomDesireMoveDescription[] = _("Summons strong sunlight to\nattack 2 turns later."); +static const u8 sPsychoBoostMoveDescription[] = _("Allows a full-power attack,\nbut sharply lowers SP. ATK."); + +// MOVE_NONE is ignored in this table. Make sure to always subtract 1 before getting the right pointer. +const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] = +{ + [MOVE_POUND - 1] = sPoundMoveDescription, + [MOVE_KARATE_CHOP - 1] = sKarateChopMoveDescription, + [MOVE_DOUBLE_SLAP - 1] = sDoubleSlapMoveDescription, + [MOVE_COMET_PUNCH - 1] = sCometPunchMoveDescription, + [MOVE_MEGA_PUNCH - 1] = sMegaPunchMoveDescription, + [MOVE_PAY_DAY - 1] = sPayDayMoveDescription, + [MOVE_FIRE_PUNCH - 1] = sFirePunchMoveDescription, + [MOVE_ICE_PUNCH - 1] = sIcePunchMoveDescription, + [MOVE_THUNDER_PUNCH - 1] = sThunderPunchMoveDescription, + [MOVE_SCRATCH - 1] = sScratchMoveDescription, + [MOVE_VICE_GRIP - 1] = sViceGripMoveDescription, + [MOVE_GUILLOTINE - 1] = sGuillotineMoveDescription, + [MOVE_RAZOR_WIND - 1] = sRazorWindMoveDescription, + [MOVE_SWORDS_DANCE - 1] = sSwordsDanceMoveDescription, + [MOVE_CUT - 1] = sCutMoveDescription, + [MOVE_GUST - 1] = sGustMoveDescription, + [MOVE_WING_ATTACK - 1] = sWingAttackMoveDescription, + [MOVE_WHIRLWIND - 1] = sWhirlwindMoveDescription, + [MOVE_FLY - 1] = sFlyMoveDescription, + [MOVE_BIND - 1] = sBindMoveDescription, + [MOVE_SLAM - 1] = sSlamMoveDescription, + [MOVE_VINE_WHIP - 1] = sVineWhipMoveDescription, + [MOVE_STOMP - 1] = sStompMoveDescription, + [MOVE_DOUBLE_KICK - 1] = sDoubleKickMoveDescription, + [MOVE_MEGA_KICK - 1] = sMegaKickMoveDescription, + [MOVE_JUMP_KICK - 1] = sJumpKickMoveDescription, + [MOVE_ROLLING_KICK - 1] = sRollingKickMoveDescription, + [MOVE_SAND_ATTACK - 1] = sSandAttackMoveDescription, + [MOVE_HEADBUTT - 1] = sHeadbuttMoveDescription, + [MOVE_HORN_ATTACK - 1] = sHornAttackMoveDescription, + [MOVE_FURY_ATTACK - 1] = sFuryAttackMoveDescription, + [MOVE_HORN_DRILL - 1] = sHornDrillMoveDescription, + [MOVE_TACKLE - 1] = sTackleMoveDescription, + [MOVE_BODY_SLAM - 1] = sBodySlamMoveDescription, + [MOVE_WRAP - 1] = sWrapMoveDescription, + [MOVE_TAKE_DOWN - 1] = sTakeDownMoveDescription, + [MOVE_THRASH - 1] = sThrashMoveDescription, + [MOVE_DOUBLE_EDGE - 1] = sDoubleEdgeMoveDescription, + [MOVE_TAIL_WHIP - 1] = sTailWhipMoveDescription, + [MOVE_POISON_STING - 1] = sPoisonStingMoveDescription, + [MOVE_TWINEEDLE - 1] = sTwineedleMoveDescription, + [MOVE_PIN_MISSILE - 1] = sPinMissileMoveDescription, + [MOVE_LEER - 1] = sLeerMoveDescription, + [MOVE_BITE - 1] = sBiteMoveDescription, + [MOVE_GROWL - 1] = sGrowlMoveDescription, + [MOVE_ROAR - 1] = sRoarMoveDescription, + [MOVE_SING - 1] = sSingMoveDescription, + [MOVE_SUPERSONIC - 1] = sSupersonicMoveDescription, + [MOVE_SONIC_BOOM - 1] = sSonicBoomMoveDescription, + [MOVE_DISABLE - 1] = sDisableMoveDescription, + [MOVE_ACID - 1] = sAcidMoveDescription, + [MOVE_EMBER - 1] = sEmberMoveDescription, + [MOVE_FLAMETHROWER - 1] = sFlamethrowerMoveDescription, + [MOVE_MIST - 1] = sMistMoveDescription, + [MOVE_WATER_GUN - 1] = sWaterGunMoveDescription, + [MOVE_HYDRO_PUMP - 1] = sHydroPumpMoveDescription, + [MOVE_SURF - 1] = sSurfMoveDescription, + [MOVE_ICE_BEAM - 1] = sIceBeamMoveDescription, + [MOVE_BLIZZARD - 1] = sBlizzardMoveDescription, + [MOVE_PSYBEAM - 1] = sPsybeamMoveDescription, + [MOVE_BUBBLE_BEAM - 1] = sBubbleBeamMoveDescription, + [MOVE_AURORA_BEAM - 1] = sAuroraBeamMoveDescription, + [MOVE_HYPER_BEAM - 1] = sHyperBeamMoveDescription, + [MOVE_PECK - 1] = sPeckMoveDescription, + [MOVE_DRILL_PECK - 1] = sDrillPeckMoveDescription, + [MOVE_SUBMISSION - 1] = sSubmissionMoveDescription, + [MOVE_LOW_KICK - 1] = sLowKickMoveDescription, + [MOVE_COUNTER - 1] = sCounterMoveDescription, + [MOVE_SEISMIC_TOSS - 1] = sSeismicTossMoveDescription, + [MOVE_STRENGTH - 1] = sStrengthMoveDescription, + [MOVE_ABSORB - 1] = sAbsorbMoveDescription, + [MOVE_MEGA_DRAIN - 1] = sMegaDrainMoveDescription, + [MOVE_LEECH_SEED - 1] = sLeechSeedMoveDescription, + [MOVE_GROWTH - 1] = sGrowthMoveDescription, + [MOVE_RAZOR_LEAF - 1] = sRazorLeafMoveDescription, + [MOVE_SOLAR_BEAM - 1] = sSolarBeamMoveDescription, + [MOVE_POISON_POWDER - 1] = sPoisonPowderMoveDescription, + [MOVE_STUN_SPORE - 1] = sStunSporeMoveDescription, + [MOVE_SLEEP_POWDER - 1] = sSleepPowderMoveDescription, + [MOVE_PETAL_DANCE - 1] = sPetalDanceMoveDescription, + [MOVE_STRING_SHOT - 1] = sStringShotMoveDescription, + [MOVE_DRAGON_RAGE - 1] = sDragonRageMoveDescription, + [MOVE_FIRE_SPIN - 1] = sFireSpinMoveDescription, + [MOVE_THUNDER_SHOCK - 1] = sThunderShockMoveDescription, + [MOVE_THUNDERBOLT - 1] = sThunderboltMoveDescription, + [MOVE_THUNDER_WAVE - 1] = sThunderWaveMoveDescription, + [MOVE_THUNDER - 1] = sThunderMoveDescription, + [MOVE_ROCK_THROW - 1] = sRockThrowMoveDescription, + [MOVE_EARTHQUAKE - 1] = sEarthquakeMoveDescription, + [MOVE_FISSURE - 1] = sFissureMoveDescription, + [MOVE_DIG - 1] = sDigMoveDescription, + [MOVE_TOXIC - 1] = sToxicMoveDescription, + [MOVE_CONFUSION - 1] = sConfusionMoveDescription, + [MOVE_PSYCHIC - 1] = sPsychicMoveDescription, + [MOVE_HYPNOSIS - 1] = sHypnosisMoveDescription, + [MOVE_MEDITATE - 1] = sMeditateMoveDescription, + [MOVE_AGILITY - 1] = sAgilityMoveDescription, + [MOVE_QUICK_ATTACK - 1] = sQuickAttackMoveDescription, + [MOVE_RAGE - 1] = sRageMoveDescription, + [MOVE_TELEPORT - 1] = sTeleportMoveDescription, + [MOVE_NIGHT_SHADE - 1] = sNightShadeMoveDescription, + [MOVE_MIMIC - 1] = sMimicMoveDescription, + [MOVE_SCREECH - 1] = sScreechMoveDescription, + [MOVE_DOUBLE_TEAM - 1] = sDoubleTeamMoveDescription, + [MOVE_RECOVER - 1] = sRecoverMoveDescription, + [MOVE_HARDEN - 1] = sHardenMoveDescription, + [MOVE_MINIMIZE - 1] = sMinimizeMoveDescription, + [MOVE_SMOKESCREEN - 1] = sSmokescreenMoveDescription, + [MOVE_CONFUSE_RAY - 1] = sConfuseRayMoveDescription, + [MOVE_WITHDRAW - 1] = sWithdrawMoveDescription, + [MOVE_DEFENSE_CURL - 1] = sDefenseCurlMoveDescription, + [MOVE_BARRIER - 1] = sBarrierMoveDescription, + [MOVE_LIGHT_SCREEN - 1] = sLightScreenMoveDescription, + [MOVE_HAZE - 1] = sHazeMoveDescription, + [MOVE_REFLECT - 1] = sReflectMoveDescription, + [MOVE_FOCUS_ENERGY - 1] = sFocusEnergyMoveDescription, + [MOVE_BIDE - 1] = sBideMoveDescription, + [MOVE_METRONOME - 1] = sMetronomeMoveDescription, + [MOVE_MIRROR_MOVE - 1] = sMirrorMoveMoveDescription, + [MOVE_SELF_DESTRUCT - 1] = sSelfDestructMoveDescription, + [MOVE_EGG_BOMB - 1] = sEggBombMoveDescription, + [MOVE_LICK - 1] = sLickMoveDescription, + [MOVE_SMOG - 1] = sSmogMoveDescription, + [MOVE_SLUDGE - 1] = sSludgeMoveDescription, + [MOVE_BONE_CLUB - 1] = sBoneClubMoveDescription, + [MOVE_FIRE_BLAST - 1] = sFireBlastMoveDescription, + [MOVE_WATERFALL - 1] = sWaterfallMoveDescription, + [MOVE_CLAMP - 1] = sClampMoveDescription, + [MOVE_SWIFT - 1] = sSwiftMoveDescription, + [MOVE_SKULL_BASH - 1] = sSkullBashMoveDescription, + [MOVE_SPIKE_CANNON - 1] = sSpikeCannonMoveDescription, + [MOVE_CONSTRICT - 1] = sConstrictMoveDescription, + [MOVE_AMNESIA - 1] = sAmnesiaMoveDescription, + [MOVE_KINESIS - 1] = sKinesisMoveDescription, + [MOVE_SOFT_BOILED - 1] = sSoftBoiledMoveDescription, + [MOVE_HI_JUMP_KICK - 1] = sHiJumpKickMoveDescription, + [MOVE_GLARE - 1] = sGlareMoveDescription, + [MOVE_DREAM_EATER - 1] = sDreamEaterMoveDescription, + [MOVE_POISON_GAS - 1] = sPoisonGasMoveDescription, + [MOVE_BARRAGE - 1] = sBarrageMoveDescription, + [MOVE_LEECH_LIFE - 1] = sLeechLifeMoveDescription, + [MOVE_LOVELY_KISS - 1] = sLovelyKissMoveDescription, + [MOVE_SKY_ATTACK - 1] = sSkyAttackMoveDescription, + [MOVE_TRANSFORM - 1] = sTransformMoveDescription, + [MOVE_BUBBLE - 1] = sBubbleMoveDescription, + [MOVE_DIZZY_PUNCH - 1] = sDizzyPunchMoveDescription, + [MOVE_SPORE - 1] = sSporeMoveDescription, + [MOVE_FLASH - 1] = sFlashMoveDescription, + [MOVE_PSYWAVE - 1] = sPsywaveMoveDescription, + [MOVE_SPLASH - 1] = sSplashMoveDescription, + [MOVE_ACID_ARMOR - 1] = sAcidArmorMoveDescription, + [MOVE_CRABHAMMER - 1] = sCrabhammerMoveDescription, + [MOVE_EXPLOSION - 1] = sExplosionMoveDescription, + [MOVE_FURY_SWIPES - 1] = sFurySwipesMoveDescription, + [MOVE_BONEMERANG - 1] = sBonemerangMoveDescription, + [MOVE_REST - 1] = sRestMoveDescription, + [MOVE_ROCK_SLIDE - 1] = sRockSlideMoveDescription, + [MOVE_HYPER_FANG - 1] = sHyperFangMoveDescription, + [MOVE_SHARPEN - 1] = sSharpenMoveDescription, + [MOVE_CONVERSION - 1] = sConversionMoveDescription, + [MOVE_TRI_ATTACK - 1] = sTriAttackMoveDescription, + [MOVE_SUPER_FANG - 1] = sSuperFangMoveDescription, + [MOVE_SLASH - 1] = sSlashMoveDescription, + [MOVE_SUBSTITUTE - 1] = sSubstituteMoveDescription, + [MOVE_STRUGGLE - 1] = sStruggleMoveDescription, + [MOVE_SKETCH - 1] = sSketchMoveDescription, + [MOVE_TRIPLE_KICK - 1] = sTripleKickMoveDescription, + [MOVE_THIEF - 1] = sThiefMoveDescription, + [MOVE_SPIDER_WEB - 1] = sSpiderWebMoveDescription, + [MOVE_MIND_READER - 1] = sMindReaderMoveDescription, + [MOVE_NIGHTMARE - 1] = sNightmareMoveDescription, + [MOVE_FLAME_WHEEL - 1] = sFlameWheelMoveDescription, + [MOVE_SNORE - 1] = sSnoreMoveDescription, + [MOVE_CURSE - 1] = sCurseMoveDescription, + [MOVE_FLAIL - 1] = sFlailMoveDescription, + [MOVE_CONVERSION_2 - 1] = sConversion2MoveDescription, + [MOVE_AEROBLAST - 1] = sAeroblastMoveDescription, + [MOVE_COTTON_SPORE - 1] = sCottonSporeMoveDescription, + [MOVE_REVERSAL - 1] = sReversalMoveDescription, + [MOVE_SPITE - 1] = sSpiteMoveDescription, + [MOVE_POWDER_SNOW - 1] = sPowderSnowMoveDescription, + [MOVE_PROTECT - 1] = sProtectMoveDescription, + [MOVE_MACH_PUNCH - 1] = sMachPunchMoveDescription, + [MOVE_SCARY_FACE - 1] = sScaryFaceMoveDescription, + [MOVE_FAINT_ATTACK - 1] = sFaintAttackMoveDescription, + [MOVE_SWEET_KISS - 1] = sSweetKissMoveDescription, + [MOVE_BELLY_DRUM - 1] = sBellyDrumMoveDescription, + [MOVE_SLUDGE_BOMB - 1] = sSludgeBombMoveDescription, + [MOVE_MUD_SLAP - 1] = sMudSlapMoveDescription, + [MOVE_OCTAZOOKA - 1] = sOctazookaMoveDescription, + [MOVE_SPIKES - 1] = sSpikesMoveDescription, + [MOVE_ZAP_CANNON - 1] = sZapCannonMoveDescription, + [MOVE_FORESIGHT - 1] = sForesightMoveDescription, + [MOVE_DESTINY_BOND - 1] = sDestinyBondMoveDescription, + [MOVE_PERISH_SONG - 1] = sPerishSongMoveDescription, + [MOVE_ICY_WIND - 1] = sIcyWindMoveDescription, + [MOVE_DETECT - 1] = sDetectMoveDescription, + [MOVE_BONE_RUSH - 1] = sBoneRushMoveDescription, + [MOVE_LOCK_ON - 1] = sLockOnMoveDescription, + [MOVE_OUTRAGE - 1] = sOutrageMoveDescription, + [MOVE_SANDSTORM - 1] = sSandstormMoveDescription, + [MOVE_GIGA_DRAIN - 1] = sGigaDrainMoveDescription, + [MOVE_ENDURE - 1] = sEndureMoveDescription, + [MOVE_CHARM - 1] = sCharmMoveDescription, + [MOVE_ROLLOUT - 1] = sRolloutMoveDescription, + [MOVE_FALSE_SWIPE - 1] = sFalseSwipeMoveDescription, + [MOVE_SWAGGER - 1] = sSwaggerMoveDescription, + [MOVE_MILK_DRINK - 1] = sMilkDrinkMoveDescription, + [MOVE_SPARK - 1] = sSparkMoveDescription, + [MOVE_FURY_CUTTER - 1] = sFuryCutterMoveDescription, + [MOVE_STEEL_WING - 1] = sSteelWingMoveDescription, + [MOVE_MEAN_LOOK - 1] = sMeanLookMoveDescription, + [MOVE_ATTRACT - 1] = sAttractMoveDescription, + [MOVE_SLEEP_TALK - 1] = sSleepTalkMoveDescription, + [MOVE_HEAL_BELL - 1] = sHealBellMoveDescription, + [MOVE_RETURN - 1] = sReturnMoveDescription, + [MOVE_PRESENT - 1] = sPresentMoveDescription, + [MOVE_FRUSTRATION - 1] = sFrustrationMoveDescription, + [MOVE_SAFEGUARD - 1] = sSafeguardMoveDescription, + [MOVE_PAIN_SPLIT - 1] = sPainSplitMoveDescription, + [MOVE_SACRED_FIRE - 1] = sSacredFireMoveDescription, + [MOVE_MAGNITUDE - 1] = sMagnitudeMoveDescription, + [MOVE_DYNAMIC_PUNCH - 1] = sDynamicPunchMoveDescription, + [MOVE_MEGAHORN - 1] = sMegahornMoveDescription, + [MOVE_DRAGON_BREATH - 1] = sDragonBreathMoveDescription, + [MOVE_BATON_PASS - 1] = sBatonPassMoveDescription, + [MOVE_ENCORE - 1] = sEncoreMoveDescription, + [MOVE_PURSUIT - 1] = sPursuitMoveDescription, + [MOVE_RAPID_SPIN - 1] = sRapidSpinMoveDescription, + [MOVE_SWEET_SCENT - 1] = sSweetScentMoveDescription, + [MOVE_IRON_TAIL - 1] = sIronTailMoveDescription, + [MOVE_METAL_CLAW - 1] = sMetalClawMoveDescription, + [MOVE_VITAL_THROW - 1] = sVitalThrowMoveDescription, + [MOVE_MORNING_SUN - 1] = sMorningSunMoveDescription, + [MOVE_SYNTHESIS - 1] = sSynthesisMoveDescription, + [MOVE_MOONLIGHT - 1] = sMoonlightMoveDescription, + [MOVE_HIDDEN_POWER - 1] = sHiddenPowerMoveDescription, + [MOVE_CROSS_CHOP - 1] = sCrossChopMoveDescription, + [MOVE_TWISTER - 1] = sTwisterMoveDescription, + [MOVE_RAIN_DANCE - 1] = sRainDanceMoveDescription, + [MOVE_SUNNY_DAY - 1] = sSunnyDayMoveDescription, + [MOVE_CRUNCH - 1] = sCrunchMoveDescription, + [MOVE_MIRROR_COAT - 1] = sMirrorCoatMoveDescription, + [MOVE_PSYCH_UP - 1] = sPsychUpMoveDescription, + [MOVE_EXTREME_SPEED - 1] = sExtremeSpeedMoveDescription, + [MOVE_ANCIENT_POWER - 1] = sAncientPowerMoveDescription, + [MOVE_SHADOW_BALL - 1] = sShadowBallMoveDescription, + [MOVE_FUTURE_SIGHT - 1] = sFutureSightMoveDescription, + [MOVE_ROCK_SMASH - 1] = sRockSmashMoveDescription, + [MOVE_WHIRLPOOL - 1] = sWhirlpoolMoveDescription, + [MOVE_BEAT_UP - 1] = sBeatUpMoveDescription, + [MOVE_FAKE_OUT - 1] = sFakeOutMoveDescription, + [MOVE_UPROAR - 1] = sUproarMoveDescription, + [MOVE_STOCKPILE - 1] = sStockpileMoveDescription, + [MOVE_SPIT_UP - 1] = sSpitUpMoveDescription, + [MOVE_SWALLOW - 1] = sSwallowMoveDescription, + [MOVE_HEAT_WAVE - 1] = sHeatWaveMoveDescription, + [MOVE_HAIL - 1] = sHailMoveDescription, + [MOVE_TORMENT - 1] = sTormentMoveDescription, + [MOVE_FLATTER - 1] = sFlatterMoveDescription, + [MOVE_WILL_O_WISP - 1] = sWillOWispMoveDescription, + [MOVE_MEMENTO - 1] = sMementoMoveDescription, + [MOVE_FACADE - 1] = sFacadeMoveDescription, + [MOVE_FOCUS_PUNCH - 1] = sFocusPunchMoveDescription, + [MOVE_SMELLING_SALT - 1] = sSmellingSaltMoveDescription, + [MOVE_FOLLOW_ME - 1] = sFollowMeMoveDescription, + [MOVE_NATURE_POWER - 1] = sNaturePowerMoveDescription, + [MOVE_CHARGE - 1] = sChargeMoveDescription, + [MOVE_TAUNT - 1] = sTauntMoveDescription, + [MOVE_HELPING_HAND - 1] = sHelpingHandMoveDescription, + [MOVE_TRICK - 1] = sTrickMoveDescription, + [MOVE_ROLE_PLAY - 1] = sRolePlayMoveDescription, + [MOVE_WISH - 1] = sWishMoveDescription, + [MOVE_ASSIST - 1] = sAssistMoveDescription, + [MOVE_INGRAIN - 1] = sIngrainMoveDescription, + [MOVE_SUPERPOWER - 1] = sSuperpowerMoveDescription, + [MOVE_MAGIC_COAT - 1] = sMagicCoatMoveDescription, + [MOVE_RECYCLE - 1] = sRecycleMoveDescription, + [MOVE_REVENGE - 1] = sRevengeMoveDescription, + [MOVE_BRICK_BREAK - 1] = sBrickBreakMoveDescription, + [MOVE_YAWN - 1] = sYawnMoveDescription, + [MOVE_KNOCK_OFF - 1] = sKnockOffMoveDescription, + [MOVE_ENDEAVOR - 1] = sEndeavorMoveDescription, + [MOVE_ERUPTION - 1] = sEruptionMoveDescription, + [MOVE_SKILL_SWAP - 1] = sSkillSwapMoveDescription, + [MOVE_IMPRISON - 1] = sImprisonMoveDescription, + [MOVE_REFRESH - 1] = sRefreshMoveDescription, + [MOVE_GRUDGE - 1] = sGrudgeMoveDescription, + [MOVE_SNATCH - 1] = sSnatchMoveDescription, + [MOVE_SECRET_POWER - 1] = sSecretPowerMoveDescription, + [MOVE_DIVE - 1] = sDiveMoveDescription, + [MOVE_ARM_THRUST - 1] = sArmThrustMoveDescription, + [MOVE_CAMOUFLAGE - 1] = sCamouflageMoveDescription, + [MOVE_TAIL_GLOW - 1] = sTailGlowMoveDescription, + [MOVE_LUSTER_PURGE - 1] = sLusterPurgeMoveDescription, + [MOVE_MIST_BALL - 1] = sMistBallMoveDescription, + [MOVE_FEATHER_DANCE - 1] = sFeatherDanceMoveDescription, + [MOVE_TEETER_DANCE - 1] = sTeeterDanceMoveDescription, + [MOVE_BLAZE_KICK - 1] = sBlazeKickMoveDescription, + [MOVE_MUD_SPORT - 1] = sMudSportMoveDescription, + [MOVE_ICE_BALL - 1] = sIceBallMoveDescription, + [MOVE_NEEDLE_ARM - 1] = sNeedleArmMoveDescription, + [MOVE_SLACK_OFF - 1] = sSlackOffMoveDescription, + [MOVE_HYPER_VOICE - 1] = sHyperVoiceMoveDescription, + [MOVE_POISON_FANG - 1] = sPoisonFangMoveDescription, + [MOVE_CRUSH_CLAW - 1] = sCrushClawMoveDescription, + [MOVE_BLAST_BURN - 1] = sBlastBurnMoveDescription, + [MOVE_HYDRO_CANNON - 1] = sHydroCannonMoveDescription, + [MOVE_METEOR_MASH - 1] = sMeteorMashMoveDescription, + [MOVE_ASTONISH - 1] = sAstonishMoveDescription, + [MOVE_WEATHER_BALL - 1] = sWeatherBallMoveDescription, + [MOVE_AROMATHERAPY - 1] = sAromatherapyMoveDescription, + [MOVE_FAKE_TEARS - 1] = sFakeTearsMoveDescription, + [MOVE_AIR_CUTTER - 1] = sAirCutterMoveDescription, + [MOVE_OVERHEAT - 1] = sOverheatMoveDescription, + [MOVE_ODOR_SLEUTH - 1] = sOdorSleuthMoveDescription, + [MOVE_ROCK_TOMB - 1] = sRockTombMoveDescription, + [MOVE_SILVER_WIND - 1] = sSilverWindMoveDescription, + [MOVE_METAL_SOUND - 1] = sMetalSoundMoveDescription, + [MOVE_GRASS_WHISTLE - 1] = sGrassWhistleMoveDescription, + [MOVE_TICKLE - 1] = sTickleMoveDescription, + [MOVE_COSMIC_POWER - 1] = sCosmicPowerMoveDescription, + [MOVE_WATER_SPOUT - 1] = sWaterSpoutMoveDescription, + [MOVE_SIGNAL_BEAM - 1] = sSignalBeamMoveDescription, + [MOVE_SHADOW_PUNCH - 1] = sShadowPunchMoveDescription, + [MOVE_EXTRASENSORY - 1] = sExtrasensoryMoveDescription, + [MOVE_SKY_UPPERCUT - 1] = sSkyUppercutMoveDescription, + [MOVE_SAND_TOMB - 1] = sSandTombMoveDescription, + [MOVE_SHEER_COLD - 1] = sSheerColdMoveDescription, + [MOVE_MUDDY_WATER - 1] = sMuddyWaterMoveDescription, + [MOVE_BULLET_SEED - 1] = sBulletSeedMoveDescription, + [MOVE_AERIAL_ACE - 1] = sAerialAceMoveDescription, + [MOVE_ICICLE_SPEAR - 1] = sIcicleSpearMoveDescription, + [MOVE_IRON_DEFENSE - 1] = sIronDefenseMoveDescription, + [MOVE_BLOCK - 1] = sBlockMoveDescription, + [MOVE_HOWL - 1] = sHowlMoveDescription, + [MOVE_DRAGON_CLAW - 1] = sDragonClawMoveDescription, + [MOVE_FRENZY_PLANT - 1] = sFrenzyPlantMoveDescription, + [MOVE_BULK_UP - 1] = sBulkUpMoveDescription, + [MOVE_BOUNCE - 1] = sBounceMoveDescription, + [MOVE_MUD_SHOT - 1] = sMudShotMoveDescription, + [MOVE_POISON_TAIL - 1] = sPoisonTailMoveDescription, + [MOVE_COVET - 1] = sCovetMoveDescription, + [MOVE_VOLT_TACKLE - 1] = sVoltTackleMoveDescription, + [MOVE_MAGICAL_LEAF - 1] = sMagicalLeafMoveDescription, + [MOVE_WATER_SPORT - 1] = sWaterSportMoveDescription, + [MOVE_CALM_MIND - 1] = sCalmMindMoveDescription, + [MOVE_LEAF_BLADE - 1] = sLeafBladeMoveDescription, + [MOVE_DRAGON_DANCE - 1] = sDragonDanceMoveDescription, + [MOVE_ROCK_BLAST - 1] = sRockBlastMoveDescription, + [MOVE_SHOCK_WAVE - 1] = sShockWaveMoveDescription, + [MOVE_WATER_PULSE - 1] = sWaterPulseMoveDescription, + [MOVE_DOOM_DESIRE - 1] = sDoomDesireMoveDescription, + [MOVE_PSYCHO_BOOST - 1] = sPsychoBoostMoveDescription, +}; diff --git a/src/data/text/move_names.h b/src/data/text/move_names.h index 3df7c886b..9f540f1d6 100644 --- a/src/data/text/move_names.h +++ b/src/data/text/move_names.h @@ -1,4 +1,5 @@ -const u8 gMoveNames[][13] = { +const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] = +{ [MOVE_NONE] = _("-"), [MOVE_POUND] = _("POUND"), [MOVE_KARATE_CHOP] = _("KARATE CHOP"), diff --git a/src/field_region_map.c b/src/field_region_map.c index 34b6089df..f56548068 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -63,7 +63,7 @@ static const struct WindowTemplate gUnknown_085E5070[] = { // .text -void sub_817018C(MainCallback callback) +void FieldInitRegionMap(MainCallback callback) { SetVBlankCallback(NULL); sFieldRegionMapHandler = malloc(sizeof(*sFieldRegionMapHandler)); diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 39977808f..6f33b2c9b 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -272,7 +272,7 @@ bool8 sub_80FB59C(void) void Task_HandlePorthole(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 *var = GetVarPointer(VAR_PORTHOLE); + u16 *var = GetVarPointer(VAR_PORTHOLE_STATE); struct WarpData *location = &gSaveBlock1Ptr->location; switch (data[0]) diff --git a/src/field_specials.c b/src/field_specials.c new file mode 100644 index 000000000..897bcc8d7 --- /dev/null +++ b/src/field_specials.c @@ -0,0 +1,4329 @@ +#include "global.h" +#include "main.h" +#include "battle.h" +#include "battle_tower.h" +#include "cable_club.h" +#include "data2.h" +#include "decoration.h" +#include "diploma.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "fieldmap.h" +#include "field_camera.h" +#include "field_effect.h" +#include "field_message_box.h" +#include "field_player_avatar.h" +#include "field_region_map.h" +#include "field_screen.h" +#include "field_specials.h" +#include "field_weather.h" +#include "international_string_util.h" +#include "item_icon.h" +#include "link.h" +#include "list_menu.h" +#include "malloc.h" +#include "match_call.h" +#include "menu.h" +#include "overworld.h" +#include "party_menu.h" +#include "pokeblock.h" +#include "pokemon.h" +#include "pokemon_storage_system.h" +#include "random.h" +#include "rayquaza_scene.h" +#include "region_map.h" +#include "rom_8011DC0.h" +#include "rtc.h" +#include "script.h" +#include "script_menu.h" +#include "sound.h" +#include "starter_choose.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "tv.h" +#include "wallclock.h" +#include "window.h" +#include "constants/event_objects.h" +#include "constants/items.h" +#include "constants/maps.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "constants/moves.h" +#include "constants/vars.h" + +EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE; +EWRAM_DATA u8 gBikeCollisions = 0; +EWRAM_DATA u32 gBikeCyclingTimer = 0; +EWRAM_DATA u8 gUnknown_0203AB5C = 0; +EWRAM_DATA u8 gUnknown_0203AB5D = 0; +EWRAM_DATA u8 gUnknown_0203AB5E = 0; +EWRAM_DATA u16 gUnknown_0203AB60 = 0; +EWRAM_DATA u16 gUnknown_0203AB62 = 0; +EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL; +EWRAM_DATA u16 gUnknown_0203AB68 = 0; +EWRAM_DATA u16 gUnknown_0203AB6A = 0; +EWRAM_DATA u8 gUnknown_0203AB6C = 0; +EWRAM_DATA u8 gUnknown_0203AB6D = 0; +EWRAM_DATA u8 gUnknown_0203AB6E = 0; +EWRAM_DATA u8 gUnknown_0203AB6F = 0; +EWRAM_DATA u32 gUnknown_0203AB70 = 0; + +struct ListMenuTemplate gUnknown_030061D0; + +extern const u16 gEventObjectPalette8[]; +extern const u16 gEventObjectPalette17[]; +extern const u16 gEventObjectPalette33[]; +extern const u16 gEventObjectPalette34[]; + +extern void LoadPalette(const void *src, u32 offset, u16 size); // incorrect signature, needed to match +extern void BlendPalettes(u32, u8, u16); + +void UpdateMovedLilycoveFanClubMembers(void); +void sub_813BF60(void); +u16 GetNumMovedLilycoveFanClubMembers(void); + +static void RecordCyclingRoadResults(u32, u8); +static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum); +static void Task_PetalburgGym(u8); +static void PetalburgGymFunc(u8, u16); +static void Task_PCTurnOnEffect(u8); +static void PCTurnOnEffect_0(struct Task *); +static void PCTurnOnEffect_1(s16, s8, s8); +static void PCTurnOffEffect(void); +static void Task_LotteryCornerComputerEffect(u8); +static void LotteryCornerComputerEffect(struct Task *); +static void sub_81395BC(u8 taskId); +static void sub_8139620(u8 taskId); +static void sub_8139AF4(u8 taskId); +static void sub_8139C2C(u16 a1, u8 a2); +static void sub_8139C80(u8 taskId); +static void sub_813A2DC(u8 taskId); +static void sub_813AA60(u16 a0, u16 a1); +static void sub_813ACE8(u8 a0, u16 a1); +static void sub_813A42C(void); +static void sub_813A4EC(u8 taskId); +static void sub_813A694(u8 taskId); +static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list); +static void sub_813AC44(u16 a0, u16 a1); +static void sub_813AD34(u8 a0, u16 a1); +static void sub_813A570(u8 taskId); +static void sub_813A738(u8 taskId); +static void sub_813A600(u8 taskId); +static void sub_813A664(u8 taskId); +static void sub_813ABD4(u16 a0); +static void task_deoxys_sound(u8 taskId); +static void sub_813B0B4(u8 a0); +static void sub_813B160(u8 taskId); +static void sub_813B57C(u8 taskId); +static void sub_813B824(u8 taskId); +static void _fwalk(u8 taskId); +static u8 sub_813BF44(void); +static void sub_813BD84(void); +static u16 sub_813BB74(void); +static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b); + +void Special_ShowDiploma(void) +{ + SetMainCallback2(CB2_ShowDiploma); + ScriptContext2_Enable(); +} + +void Special_ViewWallClock(void) +{ + gMain.savedCallback = CB2_ReturnToField; + SetMainCallback2(CB2_ViewWallClock); + ScriptContext2_Enable(); +} + +void ResetCyclingRoadChallengeData(void) +{ + gBikeCyclingChallenge = FALSE; + gBikeCollisions = 0; + gBikeCyclingTimer = 0; +} + +void Special_BeginCyclingRoadChallenge(void) +{ + gBikeCyclingChallenge = TRUE; + gBikeCollisions = 0; + gBikeCyclingTimer = gMain.vblankCounter1; +} + +u16 GetPlayerAvatarBike(void) +{ + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE)) + return 1; + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE)) + return 2; + return 0; +} + +static void DetermineCyclingRoadResults(u32 numFrames, u8 numBikeCollisions) +{ + u8 result; + + if (numBikeCollisions < 100) + { + ConvertIntToDecimalStringN(gStringVar1, numBikeCollisions, STR_CONV_MODE_LEFT_ALIGN, 2); + StringAppend(gStringVar1, gText_SpaceTimes); + } + else + { + StringCopy(gStringVar1, gText_99TimesPlus); + } + + if (numFrames < 3600) + { + ConvertIntToDecimalStringN(gStringVar2, numFrames / 60, STR_CONV_MODE_RIGHT_ALIGN, 2); + gStringVar2[2] = CHAR_PERIOD; + ConvertIntToDecimalStringN(&gStringVar2[3], ((numFrames % 60) * 100) / 60, STR_CONV_MODE_LEADING_ZEROS, 2); + StringAppend(gStringVar2, gText_SpaceSeconds); + } + else + { + StringCopy(gStringVar2, gText_1MinutePlus); + } + + result = 0; + if (numBikeCollisions == 0) + { + result = 5; + } + else if (numBikeCollisions < 4) + { + result = 4; + } + else if (numBikeCollisions < 10) + { + result = 3; + } + else if (numBikeCollisions < 20) + { + result = 2; + } + else if (numBikeCollisions < 100) + { + result = 1; + } + + if (numFrames / 60 <= 10) + { + result += 5; + } + else if (numFrames / 60 <= 15) + { + result += 4; + } + else if (numFrames / 60 <= 20) + { + result += 3; + } + else if (numFrames / 60 <= 40) + { + result += 2; + } + else if (numFrames / 60 < 60) + { + result += 1; + } + + + gSpecialVar_Result = result; +} + +void FinishCyclingRoadChallenge(void) { + const u32 numFrames = gMain.vblankCounter1 - gBikeCyclingTimer; + + DetermineCyclingRoadResults(numFrames, gBikeCollisions); + RecordCyclingRoadResults(numFrames, gBikeCollisions); +} + +static void RecordCyclingRoadResults(u32 numFrames, u8 numBikeCollisions) { + u16 low = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_L); + u16 high = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_H); + u32 framesRecord = low + (high << 16); + + if (framesRecord > numFrames || framesRecord == 0) + { + VarSet(VAR_CYCLING_ROAD_RECORD_TIME_L, numFrames); + VarSet(VAR_CYCLING_ROAD_RECORD_TIME_H, numFrames >> 16); + VarSet(VAR_CYCLING_ROAD_RECORD_COLLISIONS, numBikeCollisions); + } +} + +u16 GetRecordedCyclingRoadResults(void) { + u16 low = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_L); + u16 high = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_H); + u32 framesRecord = low + (high << 16); + + if (framesRecord == 0) + { + return FALSE; + } + + DetermineCyclingRoadResults(framesRecord, VarGet(VAR_CYCLING_ROAD_RECORD_COLLISIONS)); + return TRUE; +} + +void UpdateCyclingRoadState(void) { + if (gUnknown_020322DC.mapNum == MAP_NUM(ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE) && gUnknown_020322DC.mapGroup == MAP_GROUP(ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE)) + { + return; + } + + if (VarGet(VAR_CYCLING_CHALLENGE_STATE) == 2 || VarGet(VAR_CYCLING_CHALLENGE_STATE) == 3) + { + VarSet(VAR_CYCLING_CHALLENGE_STATE, 0); + Overworld_SetSavedMusic(MUS_DUMMY); + } +} + +void SetSSTidalFlag(void) +{ + FlagSet(FLAG_SYS_CRUISE_MODE); + *GetVarPointer(VAR_CRUISE_STEP_COUNT) = 0; +} + +void ResetSSTidalFlag(void) +{ + FlagClear(FLAG_SYS_CRUISE_MODE); +} + +bool32 CountSSTidalStep(u16 delta) +{ + if (!FlagGet(FLAG_SYS_CRUISE_MODE) || (*GetVarPointer(VAR_CRUISE_STEP_COUNT) += delta) <= 0xcc) + { + return FALSE; + } + return TRUE; +} + +u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y) +{ + u16 *varCruiseStepCount = GetVarPointer(VAR_CRUISE_STEP_COUNT); + switch (*GetVarPointer(VAR_PORTHOLE_STATE)) + { + case 1: + case 8: + return 1; + case 3: + case 9: + return 4; + case 4: + case 5: + return 2; + case 6: + case 10: + return 3; + case 2: + if (*varCruiseStepCount < 60) + { + *mapNum = MAP_NUM(ROUTE134); + *x = *varCruiseStepCount + 19; + } + else if (*varCruiseStepCount < 140) + { + *mapNum = MAP_NUM(ROUTE133); + *x = *varCruiseStepCount - 60; + } + else + { + *mapNum = MAP_NUM(ROUTE132); + *x = *varCruiseStepCount - 140; + } + break; + case 7: + if (*varCruiseStepCount < 66) + { + *mapNum = MAP_NUM(ROUTE132); + *x = 65 - *varCruiseStepCount; + } + else if (*varCruiseStepCount < 146) { + *mapNum = MAP_NUM(ROUTE133); + *x = 145 - *varCruiseStepCount; + } + else + { + *mapNum = MAP_NUM(ROUTE134); + *x = 224 - *varCruiseStepCount; + } + break; + } + *mapGroup = MAP_GROUP(ROUTE132); + *y = 20; + return 0; +} + +bool32 is_tile_that_overrides_player_control(void) +{ + if (FlagGet(FLAG_0x088)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F2)) < 0xFA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +bool32 sub_8138120(void) +{ + if (FlagGet(FLAG_0x08A)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F3)) < 0xA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +bool32 sub_8138168(void) +{ + if (FlagGet(FLAG_0x072)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F5)) < 0xA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +bool32 sub_81381B0(void) +{ + if (FlagGet(FLAG_0x080)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F4)) < 0xFA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +bool32 sub_81381F8(void) +{ + if (FlagGet(FLAG_0x075)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F6)) < 0xFA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +u8 GetLinkPartnerNames(void) +{ + u8 i; + u8 j = 0; + u8 myLinkPlayerNumber = GetMultiplayerId(); + u8 nLinkPlayers = GetLinkPlayerCount(); + for (i = 0; i < nLinkPlayers; i++) + { + if (myLinkPlayerNumber != i) + { + StringCopy(gTVStringVarPtrs[j], gLinkPlayers[i].name); + j++; + } + } + return nLinkPlayers; +} + +void SpawnLinkPartnerEventObject(void) +{ + u8 j = 0; + s16 x = 0; + s16 y = 0; + u8 gUnknown_085B2B5C[] = {7, 9, 8, 10}; + s8 gUnknown_085B2B60[][2] = { + { 0, 1}, + { 1, 0}, + { 0, -1}, + {-1, 0} + }; + u8 myLinkPlayerNumber; + u8 playerFacingDirection; + u8 linkSpriteId; + u8 i; + + myLinkPlayerNumber = GetMultiplayerId(); + playerFacingDirection = GetPlayerFacingDirection(); + switch (playerFacingDirection) + { + case DIR_WEST: + j = 2; + x = gSaveBlock1Ptr->pos.x - 1; + y = gSaveBlock1Ptr->pos.y; + break; + case DIR_NORTH: + j = 1; + x = gSaveBlock1Ptr->pos.x; + y = gSaveBlock1Ptr->pos.y - 1; + break; + case DIR_EAST: + x = gSaveBlock1Ptr->pos.x + 1; + y = gSaveBlock1Ptr->pos.y; + break; + case DIR_SOUTH: + j = 3; + x = gSaveBlock1Ptr->pos.x; + y = gSaveBlock1Ptr->pos.y + 1; + } + for (i = 0; i < gSpecialVar_0x8004; i++) + { + if (myLinkPlayerNumber != i) + { + switch ((u8)gLinkPlayers[i].version) + { + case VERSION_RUBY: + case VERSION_SAPPHIRE: + if (gLinkPlayers[i].gender == 0) + linkSpriteId = EVENT_OBJ_GFX_LINK_RS_BRENDAN; + else + linkSpriteId = EVENT_OBJ_GFX_LINK_RS_MAY; + break; + case VERSION_EMERALD: + if (gLinkPlayers[i].gender == 0) + linkSpriteId = EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL; + else + linkSpriteId = EVENT_OBJ_GFX_RIVAL_MAY_NORMAL; + break; + default: + if (gLinkPlayers[i].gender == 0) + linkSpriteId = EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL; + else + linkSpriteId = EVENT_OBJ_GFX_RIVAL_MAY_NORMAL; + break; + } + SpawnSpecialEventObjectParameterized(linkSpriteId, gUnknown_085B2B5C[j], 0xf0 - i, gUnknown_085B2B60[j][0] + x + 7, gUnknown_085B2B60[j][1] + y + 7, 0); + LoadLinkPartnerEventObjectSpritePalette(linkSpriteId, 0xf0 - i, i); + j++; + if (j == 4) + { + j = 0; + } + } + } +} + +static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum) +{ + paletteNum += 6; + if (graphicsId == EVENT_OBJ_GFX_LINK_RS_BRENDAN || + graphicsId == EVENT_OBJ_GFX_LINK_RS_MAY || + graphicsId == EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL || + graphicsId == EVENT_OBJ_GFX_RIVAL_MAY_NORMAL) + { + u8 obj = GetEventObjectIdByLocalIdAndMap(localEventId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + if (obj != NUM_EVENT_OBJECTS) + { + u8 spriteId = gEventObjects[obj].spriteId; + struct Sprite *sprite = &gSprites[spriteId]; + sprite->oam.paletteNum = paletteNum; + + switch (graphicsId) + { + case EVENT_OBJ_GFX_LINK_RS_BRENDAN: + LoadPalette(gEventObjectPalette33, 0x100 + paletteNum * 16, 0x20); + break; + case EVENT_OBJ_GFX_LINK_RS_MAY: + LoadPalette(gEventObjectPalette34, 0x100 + paletteNum * 16, 0x20); + break; + case EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL: + LoadPalette(gEventObjectPalette8, 0x100 + paletteNum * 16, 0x20); + break; + case EVENT_OBJ_GFX_RIVAL_MAY_NORMAL: + LoadPalette(gEventObjectPalette17, 0x100 + paletteNum * 16, 0x20); + break; + } + } + } +} + +static const struct UCoords8 gUnknown_085B2B68[] = { + { 7, 22}, + {11, 19}, + {10, 16}, + {15, 16} +}; + +void MauvilleGymSpecial1(void) +{ + u8 i; + for (i = 0; i < ARRAY_COUNT(gUnknown_085B2B68); i++) + { + if (i == gSpecialVar_0x8004) + { + MapGridSetMetatileIdAt(gUnknown_085B2B68[i].x, gUnknown_085B2B68[i].y, 0x206); + } + else + { + MapGridSetMetatileIdAt(gUnknown_085B2B68[i].x, gUnknown_085B2B68[i].y, 0x205); + } + } +} + +void MauvilleGymSpecial2(void) +{ + int x, y; + for (y = 12; y < 24; y++) + { + for (x = 7; x < 16; x++) + { + switch (MapGridGetMetatileIdAt(x, y)) + { + case 0x220: + MapGridSetMetatileIdAt(x, y, 0x230); + break; + case 0x221: + MapGridSetMetatileIdAt(x, y, 0x231); + break; + case 0x228: + MapGridSetMetatileIdAt(x, y, 0x238); + break; + case 0x229: + MapGridSetMetatileIdAt(x, y, 0x239); + break; + case 0x230: + MapGridSetMetatileIdAt(x, y, 0x220); + break; + case 0x231: + MapGridSetMetatileIdAt(x, y, 0x221); + break; + case 0x238: + MapGridSetMetatileIdAt(x, y, 0xe28); + break; + case 0x239: + MapGridSetMetatileIdAt(x, y, 0xe29); + break; + case 0x222: + MapGridSetMetatileIdAt(x, y, 0x232); + break; + case 0x223: + MapGridSetMetatileIdAt(x, y, 0x233); + break; + case 0x22a: + MapGridSetMetatileIdAt(x, y, 0x23a); + break; + case 0x22b: + MapGridSetMetatileIdAt(x, y, 0x23b); + break; + case 0x232: + MapGridSetMetatileIdAt(x, y, 0x222); + break; + case 0x233: + MapGridSetMetatileIdAt(x, y, 0x223); + break; + case 0x23a: + MapGridSetMetatileIdAt(x, y, 0xe2a); + break; + case 0x23b: + MapGridSetMetatileIdAt(x, y, 0xe2b); + break; + case 0x240: + MapGridSetMetatileIdAt(x, y, 0xe42); + break; + case 0x248: + MapGridSetMetatileIdAt(x, y, 0x21a); + break; + case 0x241: + MapGridSetMetatileIdAt(x, y, 0xe43); + break; + case 0x249: + MapGridSetMetatileIdAt(x, y, 0x21a); + break; + case 0x242: + MapGridSetMetatileIdAt(x, y, 0xe40); + break; + case 0x21a: + if (MapGridGetMetatileIdAt(x, y - 1) == 0x240) + { + MapGridSetMetatileIdAt(x, y, 0xe48); + } + else + { + MapGridSetMetatileIdAt(x, y, 0xe49); + } + break; + case 0x243: + MapGridSetMetatileIdAt(x, y, 0xe41); + break; + case 0x251: + MapGridSetMetatileIdAt(x, y, 0xe50); + break; + case 0x250: + MapGridSetMetatileIdAt(x, y, 0x251); + break; + } + } + } +} + +void MauvilleGymSpecial3(void) +{ + int i, x, y; + const struct UCoords8 *switchCoords = gUnknown_085B2B68; + for (i = ARRAY_COUNT(gUnknown_085B2B68) - 1; i >= 0; i--) + { + MapGridSetMetatileIdAt(switchCoords->x, switchCoords->y, 0x206); + switchCoords++; + } + for (y = 12; y < 24; y++) + { + for (x = 7; x < 16; x++) + { + switch (MapGridGetMetatileIdAt(x, y)) + { + case 0x220: + MapGridSetMetatileIdAt(x, y, 0x230); + break; + case 0x221: + MapGridSetMetatileIdAt(x, y, 0x231); + break; + case 0x228: + MapGridSetMetatileIdAt(x, y, 0x238); + break; + case 0x229: + MapGridSetMetatileIdAt(x, y, 0x239); + break; + case 0x222: + MapGridSetMetatileIdAt(x, y, 0x232); + break; + case 0x223: + MapGridSetMetatileIdAt(x, y, 0x233); + break; + case 0x22a: + MapGridSetMetatileIdAt(x, y, 0x23a); + break; + case 0x22b: + MapGridSetMetatileIdAt(x, y, 0x23b); + break; + case 0x240: + MapGridSetMetatileIdAt(x, y, 0xe42); + break; + case 0x241: + MapGridSetMetatileIdAt(x, y, 0xe43); + break; + case 0x248: + case 0x249: + MapGridSetMetatileIdAt(x, y, 0x21a); + break; + case 0x250: + MapGridSetMetatileIdAt(x, y, 0x251); + break; + } + } + } +} + +static const u8 gUnknown_085B2B78[] = {0, 1, 1, 1, 1}; +static const u16 gUnknown_085B2B7E[] = {0x218, 0x219, 0x21a, 0x21b, 0x21c}; + +void PetalburgGymSpecial1(void) +{ + gUnknown_0203AB5C = 0; + gUnknown_0203AB5D = 0; + PlaySE(SE_KI_GASYAN); + CreateTask(Task_PetalburgGym, 8); +} + +static void Task_PetalburgGym(u8 taskId) +{ + if (gUnknown_085B2B78[gUnknown_0203AB5D] == gUnknown_0203AB5C) + { + PetalburgGymFunc(gSpecialVar_0x8004, gUnknown_085B2B7E[gUnknown_0203AB5D]); + gUnknown_0203AB5C = 0; + if ((++gUnknown_0203AB5D) == 5) + { + DestroyTask(taskId); + EnableBothScriptContexts(); + } + } + else + { + gUnknown_0203AB5C++; + } +} + +static void PetalburgGymFunc(u8 a0, u16 a1) +{ + u16 x[4]; + u16 y[4]; + u8 i; + u8 nDoors = 0; + switch (a0) + { + case 1: + nDoors = 2; + x[0] = 1; + x[1] = 7; + y[0] = 0x68; + y[1] = 0x68; + break; + case 2: + nDoors = 2; + x[0] = 1; + x[1] = 7; + y[0] = 0x4e; + y[1] = 0x4e; + break; + case 3: + nDoors = 2; + x[0] = 1; + x[1] = 7; + y[0] = 0x5b; + y[1] = 0x5b; + break; + case 4: + nDoors = 1; + x[0] = 7; + y[0] = 0x27; + break; + case 5: + nDoors = 2; + x[0] = 1; + x[1] = 7; + y[0] = 0x34; + y[1] = 0x34; + break; + case 6: + nDoors = 1; + x[0] = 1; + y[0] = 0x41; + break; + case 7: + nDoors = 1; + x[0] = 7; + y[0] = 0xd; + break; + case 8: + nDoors = 1; + x[0] = 1; + y[0] = 0x1a; + break; + } + for (i = 0; i < nDoors; i++) + { + MapGridSetMetatileIdAt(x[i] + 7, y[i] + 7, a1 | 0xc00); + MapGridSetMetatileIdAt(x[i] + 7, y[i] + 8, (a1 + 8) | 0xc00); + } + DrawWholeMapView(); +} + +void PetalburgGymSpecial2(void) +{ + PetalburgGymFunc(gSpecialVar_0x8004, gUnknown_085B2B7E[4]); +} + +void ShowFieldMessageStringVar4(void) +{ + ShowFieldMessage(gStringVar4); +} + +void StorePlayerCoordsInVars(void) +{ + gSpecialVar_0x8004 = gSaveBlock1Ptr->pos.x; + gSpecialVar_0x8005 = gSaveBlock1Ptr->pos.y; +} + +u8 GetPlayerTrainerIdOnesDigit(void) +{ + return (u16)((gSaveBlock2Ptr->playerTrainerId[1] << 8) | gSaveBlock2Ptr->playerTrainerId[0]) % 10; +} + +void GetPlayerBigGuyGirlString(void) +{ + if (gSaveBlock2Ptr->playerGender == MALE) + { + StringCopy(gStringVar1, gText_BigGuy); + } + else + { + StringCopy(gStringVar1, gText_BigGirl); + } +} + +void GetRivalSonDaughterString(void) +{ + if (gSaveBlock2Ptr->playerGender == MALE) + { + StringCopy(gStringVar1, gText_Daughter); + } + else + { + StringCopy(gStringVar1, gText_Son); + } +} + +u8 GetBattleOutcome(void) +{ + return gBattleOutcome; +} + +void CableCarWarp(void) +{ + if (gSpecialVar_0x8004 != 0) + { + Overworld_SetWarpDestination(MAP_GROUP(ROUTE112_CABLE_CAR_STATION), MAP_NUM(ROUTE112_CABLE_CAR_STATION), -1, 6, 4); + } + else + { + Overworld_SetWarpDestination(MAP_GROUP(MT_CHIMNEY_CABLE_CAR_STATION), MAP_NUM(MT_CHIMNEY_CABLE_CAR_STATION), -1, 6, 4); + } +} + +void SetFlagInVar(void) +{ + FlagSet(gSpecialVar_0x8004); +} + +u16 GetWeekCount(void) +{ + u16 weekCount = gLocalTime.days / 7; + if (weekCount > 9999) + { + weekCount = 9999; + } + return weekCount; +} + +u8 GetLeadMonFriendshipScore(void) +{ + struct Pokemon *pokemon = &gPlayerParty[GetLeadMonIndex()]; + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) == 255) + { + return 6; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 200) + { + return 5; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 150) + { + return 4; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 100) + { + return 3; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 50) + { + return 2; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 1) + { + return 1; + } + return 0; +} + +static void CB2_FieldShowRegionMap(void) +{ + FieldInitRegionMap(CB2_ReturnToFieldContinueScriptPlayMapMusic); +} + +void FieldShowRegionMap(void) +{ + SetMainCallback2(CB2_FieldShowRegionMap); +} + +void DoPCTurnOnEffect(void) +{ + if (FuncIsActiveTask(Task_PCTurnOnEffect) != TRUE) + { + u8 taskId = CreateTask(Task_PCTurnOnEffect, 8); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = taskId; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[4] = 0; + } +} + +static void Task_PCTurnOnEffect(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (task->data[0] == 0) + { + PCTurnOnEffect_0(task); + } +} + +static void PCTurnOnEffect_0(struct Task *task) +{ + u8 playerDirection; + s8 dx = 0; + s8 dy = 0; + if (task->data[3] == 6) + { + task->data[3] = 0; + playerDirection = GetPlayerFacingDirection(); + switch (playerDirection) + { + case DIR_NORTH: + dx = 0; + dy = -1; + break; + case DIR_WEST: + dx = -1; + dy = -1; + break; + case DIR_EAST: + dx = 1; + dy = -1; + break; + } + PCTurnOnEffect_1(task->data[4], dx, dy); + DrawWholeMapView(); + task->data[4] ^= 1; + if ((++task->data[2]) == 5) + { + DestroyTask(task->data[1]); + } + } + task->data[3]++; +} + +static void PCTurnOnEffect_1(s16 flag, s8 dx, s8 dy) +{ + u16 tileId = 0; + if (flag != 0) + { + if (gSpecialVar_0x8004 == 0) + { + tileId = 0x4; + } + else if (gSpecialVar_0x8004 == 1) + { + tileId = 0x25a; + } + else if (gSpecialVar_0x8004 == 2) + { + tileId = 0x259; + } + } + else + { + if (gSpecialVar_0x8004 == 0) + { + tileId = 0x5; + } + else if (gSpecialVar_0x8004 == 1) + { + tileId = 0x27f; + } + else if (gSpecialVar_0x8004 == 2) + { + tileId = 0x27e; + } + } + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + 7, gSaveBlock1Ptr->pos.y + dy + 7, tileId | 0xc00); +} + +void DoPCTurnOffEffect(void) +{ + PCTurnOffEffect(); +} + +static void PCTurnOffEffect(void) +{ + s8 dx = 0; + s8 dy = 0; + u16 tileId = 0; + u8 playerDirection = GetPlayerFacingDirection(); + switch (playerDirection) + { + case DIR_NORTH: + dx = 0; + dy = -1; + break; + case DIR_WEST: + dx = -1; + dy = -1; + break; + case DIR_EAST: + dx = 1; + dy = -1; + break; + } + if (gSpecialVar_0x8004 == 0) + { + tileId = 0x4; + } + else if (gSpecialVar_0x8004 == 1) + { + tileId = 0x25a; + } + else if (gSpecialVar_0x8004 == 2) + { + tileId = 0x259; + } + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + 7, gSaveBlock1Ptr->pos.y + dy + 7, tileId | 0xc00); + DrawWholeMapView(); +} + +void DoLotteryCornerComputerEffect(void) +{ + if (FuncIsActiveTask(Task_LotteryCornerComputerEffect) != TRUE) + { + u8 taskId = CreateTask(Task_LotteryCornerComputerEffect, 8); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = taskId; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[4] = 0; + } +} + +static void Task_LotteryCornerComputerEffect(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (task->data[0] == 0) + { + LotteryCornerComputerEffect(task); + } +} + +static void LotteryCornerComputerEffect(struct Task *task) +{ + if (task->data[3] == 6) + { + task->data[3] = 0; + if (task->data[4] != 0) + { + MapGridSetMetatileIdAt(18, 8, 0xe9d); + MapGridSetMetatileIdAt(18, 9, 0xea5); + } + else + { + MapGridSetMetatileIdAt(18, 8, 0xe58); + MapGridSetMetatileIdAt(18, 9, 0xe60); + } + DrawWholeMapView(); + task->data[4] ^= 1; + if ((++task->data[2]) == 5) + { + DestroyTask(task->data[1]); + } + } + task->data[3]++; +} + +void EndLotteryCornerComputerEffect(void) +{ + MapGridSetMetatileIdAt(18, 8, 0xe9d); + MapGridSetMetatileIdAt(18, 9, 0xea5); + DrawWholeMapView(); +} + +void SetTrickHouseEndRoomFlag(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_0x1F5; + *specVar = flag; + FlagSet(flag); +} + +void ResetTrickHouseEndRoomFlag(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_0x1F5; + *specVar = flag; + FlagClear(flag); +} + +bool8 CheckLeadMonCool(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_COOL) < 200) + { + return FALSE; + } + return TRUE; +} + +bool8 CheckLeadMonBeauty(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_BEAUTY) < 200) + { + return FALSE; + } + return TRUE; +} + +bool8 CheckLeadMonCute(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_CUTE) < 200) + { + return FALSE; + } + return TRUE; +} + +bool8 CheckLeadMonSmart(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SMART) < 200) + { + return FALSE; + } + return TRUE; +} + +bool8 CheckLeadMonTough(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_TOUGH) < 200) + { + return FALSE; + } + return TRUE; +} + +void IsGrassTypeInParty(void) +{ + u8 i; + u16 species; + struct Pokemon *pokemon; + for (i = 0; i < PARTY_SIZE; i++) + { + pokemon = &gPlayerParty[i]; + if (GetMonData(pokemon, MON_DATA_SANITY_BIT2) && !GetMonData(pokemon, MON_DATA_IS_EGG)) + { + species = GetMonData(pokemon, MON_DATA_SPECIES); + if (gBaseStats[species].type1 == TYPE_GRASS || gBaseStats[species].type2 == TYPE_GRASS) + { + gSpecialVar_Result = TRUE; + return; + } + } + } + gSpecialVar_Result = FALSE; +} + +void SpawnScriptEventObject(void) +{ + u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, 8, 0x7F, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + gEventObjects[obj].invisible = TRUE; + CameraObjectSetFollowedObjectId(gEventObjects[obj].spriteId); +} + +void RemoveScriptEventObject(void) +{ + CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId()); + RemoveEventObjectByLocalIdAndMap(0x7F, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); +} + +u8 GetPokeblockNameByMonNature(void) +{ + return CopyMonFavoritePokeblockName(GetNature(&gPlayerParty[GetLeadMonIndex()]), gStringVar1); +} + +void GetSecretBaseNearbyMapName(void) +{ + GetMapName(gStringVar1, VarGet(VAR_SECRET_BASE_MAP), 0); +} + +u16 GetBestBattleTowerStreak(void) +{ + return GetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK); +} + +void BufferEReaderTrainerName(void) +{ + GetEreaderTrainerName(gStringVar1); +} + +u16 GetSlotMachineId(void) +{ + static const u8 gUnknown_085B2B88[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; + static const u8 gUnknown_085B2B94[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5}; + static const u8 gUnknown_085B2BA0[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; + + u32 v0 = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + gUnknown_085B2B88[gSpecialVar_0x8004]; + if (GetPriceReduction(2)) + { + return gUnknown_085B2BA0[v0 % 12]; + } + return gUnknown_085B2B94[v0 % 12]; +} + +bool8 FoundAbandonedShipRoom1Key(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_HIDDEN_ITEM_1F; + *specVar = flag; + if (!FlagGet(flag)) + { + return FALSE; + } + return TRUE; +} + +bool8 FoundAbandonedShipRoom2Key(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_HIDDEN_ITEM_20; + *specVar = flag; + if (!FlagGet(flag)) + { + return FALSE; + } + return TRUE; +} + +bool8 FoundAbandonedShipRoom4Key(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_HIDDEN_ITEM_21; + *specVar = flag; + if (!FlagGet(flag)) + { + return FALSE; + } + return TRUE; +} + +bool8 FoundAbandonedShipRoom6Key(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_HIDDEN_ITEM_22; + *specVar = flag; + if (!FlagGet(flag)) + { + return FALSE; + } + return TRUE; +} + +bool8 LeadMonHasEffortRibbon(void) +{ + return GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_EFFORT_RIBBON, NULL); +} + +void GiveLeadMonEffortRibbon(void) +{ + bool8 ribbonSet; + struct Pokemon *leadMon; + IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS); + FlagSet(FLAG_SYS_RIBBON_GET); + ribbonSet = TRUE; + leadMon = &gPlayerParty[GetLeadMonIndex()]; + SetMonData(leadMon, MON_DATA_EFFORT_RIBBON, &ribbonSet); + if (GetRibbonCount(leadMon) > 4) + { + sub_80EE4DC(leadMon, 0x47); + } +} + +bool8 Special_AreLeadMonEVsMaxedOut(void) +{ + if (GetMonEVCount(&gPlayerParty[GetLeadMonIndex()]) >= 510) + { + return TRUE; + } + return FALSE; +} + +u8 TryUpdateRusturfTunnelState(void) +{ + if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(RUSTURF_TUNNEL)) + { + if (FlagGet(FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1)) + { + VarSet(VAR_RUSTURF_TUNNEL_STATE, 4); + return TRUE; + } + else if (FlagGet(FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2)) + { + VarSet(VAR_RUSTURF_TUNNEL_STATE, 5); + return TRUE; + } + } + return FALSE; +} + +void SetShoalItemFlag(u16 v0) +{ + FlagSet(FLAG_SYS_SHOAL_ITEM); +} + +void PutZigzagoonInPlayerParty(void) +{ + u16 monData; + CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, FALSE, 0); + monData = TRUE; + SetMonData(&gPlayerParty[0], MON_DATA_ALT_ABILITY, &monData); + monData = MOVE_TACKLE; + SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, &monData); + monData = MOVE_NONE; + SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, &monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, &monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, &monData); +} + +bool8 IsStarterInParty(void) +{ + u8 i; + u16 starter = GetStarterPokemon(VarGet(VAR_STARTER_MON)); + u8 partyCount = CalculatePlayerPartyCount(); + for (i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) == starter) + { + return TRUE; + } + } + return FALSE; +} + +bool8 ScriptCheckFreePokemonStorageSpace(void) +{ + return CheckFreePokemonStorageSpace(); +} + +bool8 IsPokerusInParty(void) +{ + if (!CheckPartyPokerus(gPlayerParty, 0x3f)) + { + return FALSE; + } + return TRUE; +} + +void sub_8139560(void) +{ + u8 taskId = CreateTask(sub_81395BC, 9); + gTasks[taskId].data[0] = gSpecialVar_0x8005; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = gSpecialVar_0x8006; + gTasks[taskId].data[3] = gSpecialVar_0x8007; + gTasks[taskId].data[4] = gSpecialVar_0x8004; + SetCameraPanningCallback(NULL); + PlaySE(SE_W070); +} + +static void sub_81395BC(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + data[1]++; + if (data[1] % data[3] == 0) + { + data[1] = 0; + data[2]--; + data[0] = -data[0]; + data[4] = -data[4]; + SetCameraPanning(data[0], data[4]); + if (data[2] == 0) + { + sub_8139620(taskId); + InstallCameraPanAheadCallback(); + } + } +} + +static void sub_8139620(u8 taskId) +{ + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +bool8 FoundBlackGlasses(void) +{ + return FlagGet(FLAG_HIDDEN_ITEM_BLACK_GLASSES); +} + +void SetRoute119Weather(void) +{ + if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0()) != TRUE) + { + SetSav1Weather(20); + } +} + +void SetRoute123Weather(void) +{ + if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0()) != TRUE) + { + SetSav1Weather(21); + } +} + +u8 GetLeadMonIndex(void) +{ + u8 i; + u8 partyCount = CalculatePlayerPartyCount(); + for (i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) != SPECIES_EGG && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) != 0) + { + return i; + } + } + return 0; +} + +u16 ScriptGetPartyMonSpecies(void) +{ + return GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES2, NULL); +} + +void nullsub_54(void) +{ + +} + +u16 GetDaysUntilPacifidlogTMAvailable(void) +{ + u16 tmReceivedDay = VarGet(VAR_PACIFIDLOG_TM_RECEIVED_DAY); + if (gLocalTime.days - tmReceivedDay >= 7) + { + return 0; + } + else if (gLocalTime.days < 0) + { + return 8; + } + return 7 - (gLocalTime.days - tmReceivedDay); +} + +u16 SetPacifidlogTMReceivedDay(void) +{ + VarSet(VAR_PACIFIDLOG_TM_RECEIVED_DAY, gLocalTime.days); + return gLocalTime.days; +} + +bool8 MonOTNameMatchesPlayer(void) +{ + if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_LANGUAGE) != GAME_LANGUAGE) + { + return TRUE; // huh? + } + + GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_NAME, gStringVar1); + if (!StringCompare(gSaveBlock2Ptr->playerName, gStringVar1)) + { + return FALSE; + } + return TRUE; +} + +void BufferLottoTicketNumber(void) +{ + if (gSpecialVar_Result >= 10000) + { + TV_PrintIntToStringVar(0, gSpecialVar_Result); + } + else if (gSpecialVar_Result >= 1000) + { + gStringVar1[0] = CHAR_0; + ConvertIntToDecimalStringN(gStringVar1 + 1, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + } + else if (gSpecialVar_Result >= 100) + { + gStringVar1[0] = CHAR_0; + gStringVar1[1] = CHAR_0; + ConvertIntToDecimalStringN(gStringVar1 + 2, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + } + else if (gSpecialVar_Result >= 10) + { + gStringVar1[0] = CHAR_0; + gStringVar1[1] = CHAR_0; + gStringVar1[2] = CHAR_0; + ConvertIntToDecimalStringN(gStringVar1 + 3, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + } + else + { + gStringVar1[0] = CHAR_0; + gStringVar1[1] = CHAR_0; + gStringVar1[2] = CHAR_0; + gStringVar1[3] = CHAR_0; + ConvertIntToDecimalStringN(gStringVar1 + 4, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + } +} + +u16 sub_813986C(void) +{ + switch (gSpecialVar_Result) + { + case 0: + return mevent_081445C0(3); + case 1: + return mevent_081445C0(4); + case 2: + return mevent_081445C0(0); + case 3: + return mevent_081445C0(1); + case 4: + return mevent_081445C0(2); + default: + return 0; + } +} + +bool8 sub_81398C0(void) +{ + if (gSpecialVar_0x8004 >= ITEM_TM01 && gSpecialVar_0x8004 <= ITEM_HM08) + { + StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(gSpecialVar_0x8004)]); + return TRUE; + } + + return FALSE; +} + +bool8 sub_813990C(void) +{ + u8 partyCount = CalculatePlayerPartyCount(); + u8 i; + + for (i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT1) == 1) + return TRUE; + } + + return FALSE; +} + +bool8 InMultiBattleRoom(void) +{ + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) && + VarGet(VAR_0x40CE) == 2) + return TRUE; + return FALSE; +} + +void sub_8139980(void) +{ + SetCameraPanningCallback(NULL); + SetCameraPanning(8, 0); +} + +const struct WindowTemplate gUnknown_085B2BAC = { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 1, + .width = 8, + .height = 4, + .paletteNum = 15, + .baseBlock = 8, +}; + +const u8 *const gElevatorFloorsTable[] = { + gText_B4F, + gText_B3F, + gText_B2F, + gText_B1F, + gText_1F, + gText_2F, + gText_3F, + gText_4F, + gText_5F, + gText_6F, + gText_7F, + gText_8F, + gText_9F, + gText_10F, + gText_11F, + gText_Rooftop +}; + +const u16 gUnknown_085B2BF4[] = { 0x0329, 0x032a, 0x032b, 0x0331, 0x0332, 0x0333, 0x0339, 0x033a, 0x033b }; +const u16 gUnknown_085B2C06[] = { 0x0329, 0x032b, 0x032a, 0x0331, 0x0333, 0x0332, 0x0339, 0x033b, 0x033a }; + +void SetDepartmentStoreFloorVar(void) +{ + u8 deptStoreFloor; + switch (gSaveBlock1Ptr->warp2.mapNum) + { + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): + deptStoreFloor = 4; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): + deptStoreFloor = 5; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): + deptStoreFloor = 6; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): + deptStoreFloor = 7; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): + deptStoreFloor = 8; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP): + deptStoreFloor = 15; + break; + default: + deptStoreFloor = 4; + break; + } + VarSet(VAR_DEPT_STORE_FLOOR, deptStoreFloor); +} + +u16 sub_81399F4(void) +{ + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 0; + + if (gSaveBlock1Ptr->warp2.mapGroup == 13) + { + switch (gSaveBlock1Ptr->warp2.mapNum) + { + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 0; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 1; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 2; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 3; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 4; + break; + } + } + + return gUnknown_0203AB62; +} + +void ShakeScreenInElevator(void) +{ + static const u8 gUnknown_085B2C18[] = { 0x08, 0x10, 0x18, 0x20, 0x26, 0x2e, 0x34, 0x38, 0x39 }; + + s16 *data = gTasks[CreateTask(sub_8139AF4, 9)].data; + u16 floorDelta; + + data[1] = 0; + data[2] = 0; + data[4] = 1; + + if (gSpecialVar_0x8005 > gSpecialVar_0x8006) + { + floorDelta = gSpecialVar_0x8005 - gSpecialVar_0x8006; + data[6] = 1; + } + else + { + floorDelta = gSpecialVar_0x8006 - gSpecialVar_0x8005; + data[6] = 0; + } + + if (floorDelta > 8) + floorDelta = 8; + + data[5] = gUnknown_085B2C18[floorDelta]; + + SetCameraPanningCallback(NULL); + sub_8139C2C(floorDelta, data[6]); + PlaySE(SE_ELEBETA); +} + +static void sub_8139AF4(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + data[1]++; + if (data[1] % 3 == 0) + { + data[1] = 0; + data[2]++; + data[4] = -data[4]; + SetCameraPanning(0, data[4]); + if (data[2] == data[5]) + { + PlaySE(SE_PINPON); + DestroyTask(taskId); + EnableBothScriptContexts(); + InstallCameraPanAheadCallback(); + } + } +} + +void sub_8139B60(void) +{ + int xPos; + + gUnknown_0203AB5E = AddWindow(&gUnknown_085B2BAC); + SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); + + xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64); + PrintTextOnWindow(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); + + xPos = GetStringCenterAlignXOffset(1, gElevatorFloorsTable[gSpecialVar_0x8005], 64); + PrintTextOnWindow(gUnknown_0203AB5E, 1, gElevatorFloorsTable[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); + + PutWindowTilemap(gUnknown_0203AB5E); + CopyWindowToVram(gUnknown_0203AB5E, 3); +} + +void sub_8139C10(void) +{ + sub_8198070(gUnknown_0203AB5E, TRUE); + RemoveWindow(gUnknown_0203AB5E); +} + +static void sub_8139C2C(u16 a1, u8 a2) +{ + static const u8 gUnknown_085B2C21[] = { 0x03, 0x06, 0x09, 0x0c, 0x0f, 0x12, 0x15, 0x18, 0x1b }; + + if (FuncIsActiveTask(sub_8139C80) != TRUE) + { + u8 taskId = CreateTask(sub_8139C80, 8); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = a2; + gTasks[taskId].data[3] = gUnknown_085B2C21[a1]; + } +} + +// Annoyingly close but compiler wants to add all the parts of the index into the arrays +// first and then shift by one, whereas we need each individual part to shift and then be added. +#ifdef NONMATCHING +static void sub_8139C80(u8 taskId) +{ + u8 x, y; + s16 *data = gTasks[taskId].data; + + if (data[1] == 6) + { + data[0]++; + if (data[2] == 0) + { + for (y = 0; y < 3; y++) + { + for (x = 0; x < 3; x++) + { + MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2BF4[y * 3 + data[0] % 3] | 0xC00); + } + } + } + else + { + for (y = 0; y < 3; y++) + { + for (x = 0; x < 3; x++) + { + MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2C06[y * 3 + data[0] % 3] | 0xC00); + } + } + } + DrawWholeMapView(); + data[1] = 0; + if (data[0] == data[3]) + { + DestroyTask(taskId); + } + } + data[1]++; +} +#else +NAKED +static void sub_8139C80(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x4\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + str r0, [sp]\n\ + lsls r0, 2\n\ + ldr r1, [sp]\n\ + adds r0, r1\n\ + lsls r0, 3\n\ + ldr r1, =gTasks + 0x8\n\ + adds r6, r0, r1\n\ + movs r2, 0x2\n\ + ldrsh r0, [r6, r2]\n\ + cmp r0, 0x6\n\ + bne _08139D7C\n\ + ldrh r0, [r6]\n\ + adds r0, 0x1\n\ + strh r0, [r6]\n\ + movs r1, 0x4\n\ + ldrsh r0, [r6, r1]\n\ + cmp r0, 0\n\ + bne _08139D10\n\ + movs r1, 0\n\ + ldr r2, =gUnknown_085B2BF4\n\ + mov r10, r2\n\ +_08139CBA:\n\ + movs r5, 0\n\ + adds r7, r1, 0x7\n\ + lsls r0, r1, 1\n\ + adds r2, r1, 0x1\n\ + mov r8, r2\n\ + adds r0, r1\n\ + lsls r0, 1\n\ + mov r9, r0\n\ +_08139CCA:\n\ + adds r4, r5, 0\n\ + adds r4, 0x8\n\ + movs r1, 0\n\ + ldrsh r0, [r6, r1]\n\ + movs r1, 0x3\n\ + bl __modsi3\n\ + lsls r0, 16\n\ + asrs r0, 15\n\ + add r0, r9\n\ + add r0, r10\n\ + ldrh r0, [r0]\n\ + movs r1, 0xC0\n\ + lsls r1, 4\n\ + adds r2, r1, 0\n\ + orrs r2, r0\n\ + adds r0, r4, 0\n\ + adds r1, r7, 0\n\ + bl MapGridSetMetatileIdAt\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x2\n\ + bls _08139CCA\n\ + mov r2, r8\n\ + lsls r0, r2, 24\n\ + lsrs r1, r0, 24\n\ + cmp r1, 0x2\n\ + bls _08139CBA\n\ + b _08139D62\n\ + .pool\n\ +_08139D10:\n\ + movs r1, 0\n\ + ldr r0, =gUnknown_085B2C06\n\ + mov r10, r0\n\ +_08139D16:\n\ + movs r5, 0\n\ + adds r7, r1, 0x7\n\ + lsls r0, r1, 1\n\ + adds r2, r1, 0x1\n\ + mov r8, r2\n\ + adds r0, r1\n\ + lsls r0, 1\n\ + mov r9, r0\n\ +_08139D26:\n\ + adds r4, r5, 0\n\ + adds r4, 0x8\n\ + movs r1, 0\n\ + ldrsh r0, [r6, r1]\n\ + movs r1, 0x3\n\ + bl __modsi3\n\ + lsls r0, 16\n\ + asrs r0, 15\n\ + add r0, r9\n\ + add r0, r10\n\ + ldrh r0, [r0]\n\ + movs r1, 0xC0\n\ + lsls r1, 4\n\ + adds r2, r1, 0\n\ + orrs r2, r0\n\ + adds r0, r4, 0\n\ + adds r1, r7, 0\n\ + bl MapGridSetMetatileIdAt\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x2\n\ + bls _08139D26\n\ + mov r2, r8\n\ + lsls r0, r2, 24\n\ + lsrs r1, r0, 24\n\ + cmp r1, 0x2\n\ + bls _08139D16\n\ +_08139D62:\n\ + bl DrawWholeMapView\n\ + movs r0, 0\n\ + strh r0, [r6, 0x2]\n\ + movs r0, 0\n\ + ldrsh r1, [r6, r0]\n\ + movs r2, 0x6\n\ + ldrsh r0, [r6, r2]\n\ + cmp r1, r0\n\ + bne _08139D7C\n\ + ldr r0, [sp]\n\ + bl DestroyTask\n\ +_08139D7C:\n\ + ldrh r0, [r6, 0x2]\n\ + adds r0, 0x1\n\ + strh r0, [r6, 0x2]\n\ + add sp, 0x4\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif // NAKED + +void sub_8139D98(void) +{ + u8 i; + u32 ivStorage[6]; + + ivStorage[0] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_HP_IV); + ivStorage[1] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_ATK_IV); + ivStorage[2] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_DEF_IV); + ivStorage[3] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPEED_IV); + ivStorage[4] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPATK_IV); + ivStorage[5] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPDEF_IV); + + gSpecialVar_0x8005 = 0; + + for (i = 0; i < ARRAY_COUNT(ivStorage); i++) + { + gSpecialVar_0x8005 += ivStorage[i]; + } + + gSpecialVar_0x8006 = 0; + gSpecialVar_0x8007 = ivStorage[0]; // HP IV + + for (i = 1; i < 6; i++) + { + if (ivStorage[gSpecialVar_0x8006] < ivStorage[i]) + { + gSpecialVar_0x8006 = i; + gSpecialVar_0x8007 = ivStorage[i]; + } + else if (ivStorage[gSpecialVar_0x8006] == ivStorage[i]) + { + u16 randomNumber = Random(); + if ((randomNumber & 1) != 0) + { + gSpecialVar_0x8006 = i; + gSpecialVar_0x8007 = ivStorage[i]; + } + } + } +} + +bool32 warp0_in_pokecenter(void) +{ + static const u16 gUnknown_085B2C2A[] = { 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a, 0x1a35, 0x193c, 0xffff }; + + int i; + u16 map = (gUnknown_020322DC.mapGroup << 8) + gUnknown_020322DC.mapNum; + + for (i = 0; gUnknown_085B2C2A[i] != 0xFFFF; i++) + { + if (gUnknown_085B2C2A[i] == map) + return TRUE; + } + + return FALSE; +} + +bool32 sub_8139ED0(void) +{ + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_HILL_ENTRANCE)) + { + return FALSE; + } + return TRUE; +} + +void UpdateFrontierManiac(u16 a0) +{ + u16 *var = GetVarPointer(VAR_FRONTIER_MANIAC_FACILITY); + *var += a0; + *var %= 10; +} + +void sub_8139F20(void) +{ + static const u8 *const gUnknown_085B2C50[][3] = { + { BattleFrontier_Lounge2_Text_260971, BattleFrontier_Lounge2_Text_260A1E, BattleFrontier_Lounge2_Text_260AE7 }, + { BattleFrontier_Lounge2_Text_2619AC, BattleFrontier_Lounge2_Text_261A91, BattleFrontier_Lounge2_Text_261B0C }, + { BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95 }, + { BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A }, + { BattleFrontier_Lounge2_Text_260BC4, BattleFrontier_Lounge2_Text_260C6D, BattleFrontier_Lounge2_Text_260D3A }, + { BattleFrontier_Lounge2_Text_260E1E, BattleFrontier_Lounge2_Text_260EC7, BattleFrontier_Lounge2_Text_260F74 }, + { BattleFrontier_Lounge2_Text_2614E6, BattleFrontier_Lounge2_Text_261591, BattleFrontier_Lounge2_Text_26166F }, + { BattleFrontier_Lounge2_Text_261282, BattleFrontier_Lounge2_Text_261329, BattleFrontier_Lounge2_Text_261403 }, + { BattleFrontier_Lounge2_Text_261026, BattleFrontier_Lounge2_Text_2610CC, BattleFrontier_Lounge2_Text_261194 }, + { BattleFrontier_Lounge2_Text_26174D, BattleFrontier_Lounge2_Text_2617F9, BattleFrontier_Lounge2_Text_2618C4 }, + }; + + static const u8 gUnknown_085B2CC8[][2] = { + { 0x15, 0x38 }, + { 0x15, 0x23 }, + { 0xff, 0xff }, + { 0xff, 0xff }, + { 0x02, 0x04 }, + { 0x07, 0x15 }, + { 0x07, 0x15 }, + { 0x0e, 0x1c }, + { 0x0d, 0x70 }, + { 0x07, 0x38 } + }; + + u8 i; + u16 unk = 0; + u16 var = VarGet(VAR_FRONTIER_MANIAC_FACILITY); + switch (var) + { + case 0: + case 1: + case 2: + case 3: + if (gSaveBlock2Ptr->frontier.field_CE0[var][0] >= gSaveBlock2Ptr->frontier.field_CE0[var][1]) + { + unk = gSaveBlock2Ptr->frontier.field_CE0[var][0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_CE0[var][1]; + } + break; + case 4: + if (gSaveBlock2Ptr->frontier.field_D0C[0] >= gSaveBlock2Ptr->frontier.field_D0C[1]) + { + unk = gSaveBlock2Ptr->frontier.field_D0C[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_D0C[1]; + } + break; + case 5: + if (gSaveBlock2Ptr->frontier.field_DE2[0] >= gSaveBlock2Ptr->frontier.field_DE2[1]) + { + unk = gSaveBlock2Ptr->frontier.field_DE2[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_DE2[1]; + } + break; + case 6: + if (gSaveBlock2Ptr->frontier.field_DC8[0] >= gSaveBlock2Ptr->frontier.field_DC8[1]) + { + unk = gSaveBlock2Ptr->frontier.field_DC8[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_DC8[1]; + } + break; + case 7: + if (gSaveBlock2Ptr->frontier.field_DDA[0] >= gSaveBlock2Ptr->frontier.field_DDA[1]) + { + unk = gSaveBlock2Ptr->frontier.field_DDA[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_DDA[1]; + } + break; + case 8: + if (gSaveBlock2Ptr->frontier.field_E04[0] >= gSaveBlock2Ptr->frontier.field_E04[1]) + { + unk = gSaveBlock2Ptr->frontier.field_E04[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_E04[1]; + } + break; + case 9: + if (gSaveBlock2Ptr->frontier.field_E1A[0] >= gSaveBlock2Ptr->frontier.field_E1A[1]) + { + unk = gSaveBlock2Ptr->frontier.field_E1A[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_E1A[1]; + } + break; + } + + for (i = 0; i < 2 && gUnknown_085B2CC8[var][i] < unk; i++); + + ShowFieldMessage(gUnknown_085B2C50[var][i]); +} + +void sub_813A080(void) +{ + static const u16 gUnknown_085B2CDC[] = { + 0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000 + }; + + u8 i; + u16 var = VarGet(VAR_0x40CE); + u8 chosenLevel = gSaveBlock2Ptr->frontier.chosenLvl; + + if (var == 2 && !FlagGet(FLAG_0x152)) + { + gSpecialVar_0x8005 = 5; + gSpecialVar_0x8006 = 4; + return; + } + + for (i = 0; i < 9; i++) + { + if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.field_CE0[var][chosenLevel]) + { + gSpecialVar_0x8005 = 4; + gSpecialVar_0x8006 = i + 5; + return; + } + } + + gSpecialVar_0x8005 = 4; + gSpecialVar_0x8006 = 12; +} + +void sub_813A128(void) +{ + u8 taskId = CreateTask(sub_813A2DC, 8); + struct Task *task = &gTasks[taskId]; + task->data[11] = gSpecialVar_0x8004; + + switch (gSpecialVar_0x8004) + { + case 0: + task->data[0] = 1; + task->data[1] = 1; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 1; + task->data[5] = 1; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 1: + task->data[0] = 5; + task->data[1] = 8; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 9; + task->data[5] = 10; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 2: + task->data[0] = 6; + task->data[1] = 12; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 7; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 3: + task->data[0] = 6; + task->data[1] = 11; + task->data[2] = 14; + task->data[3] = 1; + task->data[4] = 15; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 4: + task->data[0] = 6; + task->data[1] = 6; + task->data[2] = 14; + task->data[3] = 1; + task->data[4] = 15; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 5: + task->data[0] = 6; + task->data[1] = 7; + task->data[2] = 14; + task->data[3] = 1; + task->data[4] = 15; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 6: + task->data[0] = 6; + task->data[1] = 10; + task->data[2] = 14; + task->data[3] = 1; + task->data[4] = 15; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 7: + task->data[0] = 6; + task->data[1] = 12; + task->data[2] = 15; + task->data[3] = 1; + task->data[4] = 14; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 8: + task->data[0] = 6; + task->data[1] = 10; + task->data[2] = 17; + task->data[3] = 1; + task->data[4] = 11; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 9: + case 10: + task->data[0] = 6; + task->data[1] = 11; + task->data[2] = 15; + task->data[3] = 1; + task->data[4] = 14; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 11: + task->data[0] = 6; + task->data[1] = 7; + task->data[2] = 19; + task->data[3] = 1; + task->data[4] = 10; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 12: + task->data[0] = 6; + task->data[1] = 7; + task->data[2] = 17; + task->data[3] = 1; + task->data[4] = 12; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + default: + gSpecialVar_Result = 0x7F; + DestroyTask(taskId); + break; + } +} + +static const u8 *const gUnknown_085B2CF0[][16] = { + { + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_BlueFlute, + gText_YellowFlute, + gText_RedFlute, + gText_WhiteFlute, + gText_BlackFlute, + gText_PrettyChair, + gText_PrettyDesk, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_0Pts, + gText_10Pts, + gText_20Pts, + gText_30Pts, + gText_40Pts, + gText_50Pts, + gText_60Pts, + gText_70Pts, + gText_80Pts, + gText_90Pts, + gText_100Pts, + gText_QuestionMark, + NULL, + NULL, + NULL, + NULL + }, + { + gText_KissPoster16BP, + gText_KissCushion32BP, + gText_SmoochumDoll32BP, + gText_TogepiDoll48BP, + gText_MeowthDoll48BP, + gText_ClefairyDoll48BP, + gText_DittoDoll48BP, + gText_CyndaquilDoll80BP, + gText_ChikoritaDoll80BP, + gText_TotodileDoll80BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_LaprasDoll128BP, + gText_SnorlaxDoll128BP, + gText_VenusaurDoll256BP, + gText_CharizardDoll256BP, + gText_BlastoiseDoll256BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_Protein1BP, + gText_Calcium1BP, + gText_Iron1BP, + gText_Zinc1BP, + gText_Carbos1BP, + gText_HpUp1BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_Leftovers48BP, + gText_WhiteHerb48BP, + gText_QuickClaw48BP, + gText_MentalHerb48BP, + gText_BrightPowder64BP, + gText_ChoiceBand64BP, + gText_KingsRock64BP, + gText_FocusBand64BP, + gText_ScopeLens64BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_EnergyPowder50, + gText_EnergyRoot80, + gText_HealPowder50, + gText_RevivalHerb300, + gText_Protein1000, + gText_Iron1000, + gText_Carbos1000, + gText_Calcium1000, + gText_Zinc1000, + gText_HPUp1000, + gText_PPUp3000, + gText_Exit, + NULL, + NULL, + NULL, + NULL + }, + { + gText_BattleTower2, + gText_BattleDome, + gText_BattlePalace, + gText_BattleArena, + gText_BattleFactory, + gText_BattlePike, + gText_BattlePyramid, + gText_RankingHall, + gText_ExchangeService, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_Softboiled16BP, + gText_SeismicToss24BP, + gText_DreamEater24BP, + gText_MegaPunch24BP, + gText_MegaKick48BP, + gText_BodySlam48BP, + gText_RockSlide48BP, + gText_Counter48BP, + gText_ThunderWave48BP, + gText_SwordsDance48BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_DefenseCurl16BP, + gText_Snore24BP, + gText_MudSlap24BP, + gText_Swift24BP, + gText_IcyWind24BP, + gText_Endure48BP, + gText_PsychUp48BP, + gText_IcePunch48BP, + gText_ThunderPunch48BP, + gText_FirePunch48BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_SlateportCity, + gText_BattleFrontier, + gText_SouthernIsland, + gText_NavelRock, + gText_BirthIsland, + gText_FarawayIsland, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_BattleTrainers, + gText_BattleBasics, + gText_PokemonNature, + gText_PokemonMoves, + gText_Underpowered, + gText_WhenInDanger, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + } +}; + +static void sub_813A2DC(u8 taskId) +{ + u32 unk1; + u8 i, windowId; + struct WindowTemplate template; + struct Task *task = &gTasks[taskId]; + + ScriptContext2_Enable(); + gUnknown_0203AB68 = 0; + gUnknown_0203AB6C = 0x40; + sub_813AA60(task->data[11], 0); + sub_813ACE8(task->data[11], 0); + gUnknown_0203AB64 = AllocZeroed(task->data[1] * 8); + gUnknown_0203AB6A = 0; + sub_813A42C(); + + for (unk1 = 0, i = 0; i < task->data[1]; i++) + { + const u8 *text = gUnknown_085B2CF0[gSpecialVar_0x8004][i]; + gUnknown_0203AB64[i].name = text; + gUnknown_0203AB64[i].id = i; + unk1 = display_text_and_get_width(text, unk1); + } + + task->data[4] = convert_pixel_width_to_tile_width(unk1); + + if (task->data[2] + task->data[4] > 0x1D) + { + int unk2 = 0x1D - task->data[4]; + if (unk2 < 0) + { + task->data[2] = 0; + } + else + { + task->data[2] = unk2; + } + } + + template = CreateWindowTemplate(0, task->data[2], task->data[3], task->data[4], task->data[5], 0xF, 0x64); + windowId = AddWindow(&template); + task->data[13] = windowId; + SetStandardWindowBorderStyle(windowId, 0); + + gUnknown_030061D0.totalItems = task->data[1]; + gUnknown_030061D0.maxShowed = task->data[0]; + gUnknown_030061D0.windowId = task->data[13]; + + sub_813A694(taskId); + task->data[14] = ListMenuInit(&gUnknown_030061D0, task->data[7], task->data[8]); + schedule_bg_copy_tilemap_to_vram(0); + gTasks[taskId].func = sub_813A4EC; +} + +static void sub_813A42C(void) +{ + gUnknown_030061D0.items = gUnknown_0203AB64; + gUnknown_030061D0.moveCursorFunc = sub_813A46C; + gUnknown_030061D0.itemPrintFunc = NULL; + gUnknown_030061D0.totalItems = 1; + gUnknown_030061D0.maxShowed = 1; + gUnknown_030061D0.windowId = 0; + gUnknown_030061D0.header_X = 0; + gUnknown_030061D0.item_X = 8; + gUnknown_030061D0.cursor_X = 0; + gUnknown_030061D0.upText_Y = 1; + gUnknown_030061D0.cursorPal = 2; + gUnknown_030061D0.fillValue = 1; + gUnknown_030061D0.cursorShadowPal = 3; + gUnknown_030061D0.lettersSpacing = 0; + gUnknown_030061D0.itemVerticalPadding = 0; + gUnknown_030061D0.scrollMultiple = 0; + gUnknown_030061D0.fontId = 1; + gUnknown_030061D0.cursorKind = 0; +} + +static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list) +{ + u8 taskId; + PlaySE(SE_SELECT); + taskId = FindTaskIdByFunc(sub_813A4EC); + if (taskId != 0xFF) + { + u16 misc; + struct Task *task = &gTasks[taskId]; + ListMenuGetScrollAndRow(task->data[14], &misc, NULL); + gUnknown_0203AB68 = misc; + ListMenuGetCurrentItemArrayId(task->data[14], &misc); + sub_813AC44(task->data[11], gUnknown_0203AB6A); + sub_813AA60(task->data[11], misc); + sub_813AD34(task->data[11], misc); + gUnknown_0203AB6A = misc; + } +} + +// stupid r5<->r6 swap +#ifdef NONMATCHING +static void sub_813A4EC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + s32 itemId = ListMenuHandleInputGetItemId(task->data[14]); + + switch (itemId) + { + case LIST_NOTHING_CHOSEN: + break; + case LIST_B_PRESSED: + gSpecialVar_Result = 0x7F; + PlaySE(SE_SELECT); + sub_813A570(taskId); + break; + default: + gSpecialVar_Result = itemId; + PlaySE(SE_SELECT); + if (!task->data[6] || itemId == task->data[1] - 1) + { + sub_813A570(taskId); + } + else + { + sub_813A738(taskId); + task->func = sub_813A600; + EnableBothScriptContexts(); + } + break; + } +} +#else +NAKED +static void sub_813A4EC(u8 taskId) +{ + asm_unified("push {r4-r6,lr}\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 3\n\ + ldr r1, =gTasks\n\ + adds r6, r0, r1\n\ + ldrh r0, [r6, 0x24]\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + bl ListMenuHandleInputGetItemId\n\ + adds r4, r0, 0\n\ + movs r0, 0x2\n\ + negs r0, r0\n\ + cmp r4, r0\n\ + beq _0813A51C\n\ + adds r0, 0x1\n\ + cmp r4, r0\n\ + bne _0813A530\n\ + b _0813A566\n\ + .pool\n\ +_0813A51C:\n\ + ldr r1, =gSpecialVar_Result\n\ + movs r0, 0x7F\n\ + strh r0, [r1]\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + b _0813A54C\n\ + .pool\n\ +_0813A530:\n\ + ldr r0, =gSpecialVar_Result\n\ + strh r4, [r0]\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r1, 0x14\n\ + ldrsh r0, [r6, r1]\n\ + cmp r0, 0\n\ + beq _0813A54C\n\ + movs r1, 0xA\n\ + ldrsh r0, [r6, r1]\n\ + subs r0, 0x1\n\ + cmp r4, r0\n\ + bne _0813A558\n\ +_0813A54C:\n\ + adds r0, r5, 0\n\ + bl sub_813A570\n\ + b _0813A566\n\ + .pool\n\ +_0813A558:\n\ + adds r0, r5, 0\n\ + bl sub_813A738\n\ + ldr r0, =sub_813A600\n\ + str r0, [r6]\n\ + bl EnableBothScriptContexts\n\ +_0813A566:\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif // NONMATCHING + +static void sub_813A570(u8 taskId) +{ + u16 array; + struct Task *task = &gTasks[taskId]; + ListMenuGetCurrentItemArrayId(task->data[14], &array); + sub_813AC44(task->data[11], array); + sub_813A738(taskId); + DestroyListMenuTask(task->data[14], NULL, NULL); + Free(gUnknown_0203AB64); + sub_8198070(task->data[13], 1); + FillWindowPixelBuffer(task->data[13], 0); + CopyWindowToVram(task->data[13], 2); + RemoveWindow(task->data[13]); + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +static void sub_813A600(u8 taskId) +{ + switch (gTasks[taskId].data[6]) + { + case 1: + default: + break; + case 2: + gTasks[taskId].data[6] = 1; + gTasks[taskId].func = sub_813A664; + break; + } +} + +void sub_813A630(void) +{ + u8 taskId = FindTaskIdByFunc(sub_813A600); + if (taskId == 0xFF) + { + EnableBothScriptContexts(); + } + else + { + gTasks[taskId].data[6]++; + } +} + +static void sub_813A664(u8 taskId) +{ + ScriptContext2_Enable(); + sub_813A694(taskId); + gTasks[taskId].func = sub_813A4EC; +} + +static void sub_813A694(u8 taskId) +{ + static const struct ScrollArrowsTemplate gUnknown_085B3030 = { + .firstArrowType = 2, + .firstX = 0, + .firstY = 0, + .secondArrowType = 3, + .secondX = 0, + .secondY = 0, + .fullyUpThreshold = 0, + .fullyDownThreshold = 0, + .tileTag = 2000, + .palTag = 100, + .palNum = 0 + }; + + struct Task *task = &gTasks[taskId]; + struct ScrollArrowsTemplate template = gUnknown_085B3030; + if (task->data[0] != task->data[1]) + { + template.firstX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8; + template.firstY = 8; + template.secondX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8; + template.secondY = task->data[5] * 8 + 10; + template.fullyUpThreshold = 0; + template.fullyDownThreshold = task->data[1] - task->data[0]; + task->data[12] = AddScrollIndicatorArrowPair(&template, &gUnknown_0203AB68); + } +} + +static void sub_813A738(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (task->data[0] != task->data[1]) + { + RemoveScrollIndicatorArrowPair(task->data[12]); + } +} + +void nullsub_55(void) +{ + +} + +void sub_813A76C(void) +{ + u8 i; + for (i = 0; i < 2; i++) + { + if (gLinkPlayers[i].gender == MALE) + { + VarSet(VAR_OBJ_GFX_ID_F - i, EVENT_OBJ_GFX_BRENDAN_NORMAL); + } + else + { + VarSet(VAR_OBJ_GFX_ID_F - i, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL); + } + } +} + +void sub_813A7B8(void) +{ + static const u8 *const gUnknown_085B3040[] = { + BattleFrontier_Lounge5_Text_26468D, + BattleFrontier_Lounge5_Text_2646E5, + BattleFrontier_Lounge5_Text_264741, + BattleFrontier_Lounge5_Text_2647A4, + BattleFrontier_Lounge5_Text_2647FC, + BattleFrontier_Lounge5_Text_264858, + BattleFrontier_Lounge5_Text_2648BE, + BattleFrontier_Lounge5_Text_264916, + BattleFrontier_Lounge5_Text_264972, + BattleFrontier_Lounge5_Text_2649D5, + BattleFrontier_Lounge5_Text_264A3F, + BattleFrontier_Lounge5_Text_264A9B, + BattleFrontier_Lounge5_Text_264AF3, + BattleFrontier_Lounge5_Text_264B5D, + BattleFrontier_Lounge5_Text_2648BE, + BattleFrontier_Lounge5_Text_264BC3, + BattleFrontier_Lounge5_Text_264C36, + BattleFrontier_Lounge5_Text_2648BE, + BattleFrontier_Lounge5_Text_264C95, + BattleFrontier_Lounge5_Text_264D01, + BattleFrontier_Lounge5_Text_264D6B, + BattleFrontier_Lounge5_Text_264DD7, + BattleFrontier_Lounge5_Text_264E33, + BattleFrontier_Lounge5_Text_264E8F, + BattleFrontier_Lounge5_Text_2648BE, + }; + + u8 nature; + + if (gSpecialVar_0x8004 >= PARTY_SIZE) + { + gSpecialVar_0x8004 = 0; + } + + nature = GetNature(&gPlayerParty[gSpecialVar_0x8004]); + ShowFieldMessage(gUnknown_085B3040[nature]); +} + +void UpdateFrontierGambler(u16 a0) +{ + u16 *var = GetVarPointer(VAR_FRONTIER_GAMBLER_FACILITY); + *var += a0; + *var %= 12; +} + +void sub_813A820(void) +{ + static const u8 *const gUnknown_085B30A4[] = { + BattleFrontier_Lounge3_Text_262261, + BattleFrontier_Lounge3_Text_26230D, + BattleFrontier_Lounge3_Text_2623B9, + BattleFrontier_Lounge3_Text_262464, + BattleFrontier_Lounge3_Text_26250E, + BattleFrontier_Lounge3_Text_2625B8, + BattleFrontier_Lounge3_Text_26266A, + BattleFrontier_Lounge3_Text_26271C, + BattleFrontier_Lounge3_Text_2627C9, + BattleFrontier_Lounge3_Text_262876, + BattleFrontier_Lounge3_Text_26291A, + BattleFrontier_Lounge3_Text_2629BC, + }; + + u16 var = VarGet(VAR_FRONTIER_GAMBLER_FACILITY); + ShowFieldMessage(gUnknown_085B30A4[var]); + VarSet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F, var); +} + +void sub_813A854(void) +{ + static const u8 *const gUnknown_085B30D4[] = { + BattleFrontier_Lounge3_Text_262C04, + BattleFrontier_Lounge3_Text_262C90, + BattleFrontier_Lounge3_Text_262D1C, + BattleFrontier_Lounge3_Text_262DA7, + BattleFrontier_Lounge3_Text_262E34, + BattleFrontier_Lounge3_Text_262EC1, + BattleFrontier_Lounge3_Text_262F56, + BattleFrontier_Lounge3_Text_262FEB, + BattleFrontier_Lounge3_Text_263078, + BattleFrontier_Lounge3_Text_263105, + BattleFrontier_Lounge3_Text_26318C, + BattleFrontier_Lounge3_Text_263211, + }; + + ShowFieldMessage(gUnknown_085B30D4[VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F)]); +} + +void sub_813A878(u8 a0) +{ + static const u16 gUnknown_085B3104[] = {0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600}; + + u16 var1 = VarGet(VAR_0x40CE); + u16 var2 = VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F); + u16 var3 = VarGet(VAR_FRONTIER_FACILITY); + + if (VarGet(VAR_FRONTIER_GAMBLER_PLACED_BET_F) == 1) + { + if (gUnknown_085B3104[var2] == (var3 << 8) + var1) + { + if (a0 != 0) + { + VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2); + } + else + { + VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 3); + } + } + } +} + +void sub_813A8FC(void) +{ + u8 string[32]; + u32 x; + StringCopy(ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->frontier.frontierBattlePoints, STR_CONV_MODE_RIGHT_ALIGN, 4), gText_BP); + x = GetStringRightAlignXOffset(1, string, 48); + PrintTextOnWindow(gUnknown_0203AB6D, 1, string, x, 1, 0, NULL); +} + +void sub_813A958(void) +{ + static const struct WindowTemplate gUnknown_085B311C = { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 6, + .height = 2, + .paletteNum = 15, + .baseBlock = 8, + }; + + gUnknown_0203AB6D = AddWindow(&gUnknown_085B311C); + SetStandardWindowBorderStyle(gUnknown_0203AB6D, 0); + sub_813A8FC(); + CopyWindowToVram(gUnknown_0203AB6D, 2); +} + +void sub_813A988(void) +{ + sub_8198070(gUnknown_0203AB6D, TRUE); + RemoveWindow(gUnknown_0203AB6D); +} + +void sub_813A9A4(void) +{ + if (gSaveBlock2Ptr->frontier.frontierBattlePoints < gSpecialVar_0x8004) + { + gSaveBlock2Ptr->frontier.frontierBattlePoints = 0; + } + else + { + gSaveBlock2Ptr->frontier.frontierBattlePoints -= gSpecialVar_0x8004; + } +} + +void sub_813A9D0(void) +{ + if (gSaveBlock2Ptr->frontier.frontierBattlePoints + gSpecialVar_0x8004 > 0x270F) + { + gSaveBlock2Ptr->frontier.frontierBattlePoints = 0x270f; + } + else + { + gSaveBlock2Ptr->frontier.frontierBattlePoints = gSaveBlock2Ptr->frontier.frontierBattlePoints + gSpecialVar_0x8004; + } +} + +u16 sub_813AA04(void) +{ + return gSaveBlock2Ptr->frontier.frontierBattlePoints; +} + +void sub_813AA18(void) +{ + static const struct WindowTemplate gUnknown_085B3124 = { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 9, + .width = 4, + .height = 4, + .paletteNum = 15, + .baseBlock = 20, + }; + + gUnknown_0203AB6E = AddWindow(&gUnknown_085B3124); + SetStandardWindowBorderStyle(gUnknown_0203AB6E, 0); + CopyWindowToVram(gUnknown_0203AB6E, 2); +} + +void sub_813AA44(void) +{ + sub_8198070(gUnknown_0203AB6E, TRUE); + RemoveWindow(gUnknown_0203AB6E); +} + +static void sub_813AA60(u16 a0, u16 a1) +{ + static const u16 gUnknown_085B312C[] = { 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xffff }; + static const u16 gUnknown_085B3142[] = { 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xffff }; + static const u16 gUnknown_085B314E[] = { 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xffff }; + static const u16 gUnknown_085B315C[] = { 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xffff }; + + static const u8 *const gUnknown_085B3170[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260201, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260287, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E, + gText_Exit, + }; + + static const u8 *const gUnknown_085B319C[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + gText_Exit + }; + + static const u8 *const gUnknown_085B31B4[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_260397, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260436, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C, + gText_Exit + }; + + static const u8 *const gUnknown_085B31D0[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260542, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260575, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260613, + gText_Exit + }; + + if (a0 > 2 && a0 < 7) + { + FillWindowPixelRect(0, 0x11, 0, 0, 216, 32); + switch (a0) + { + case 3: + AddTextPrinterParameterized(0, 1, gUnknown_085B3170[a1], 0, NULL, 2, 1, 3); + if (gUnknown_085B312C[a1] == 0xFFFF) + { + sub_813ABD4(gUnknown_085B312C[a1]); + } + else + { + FreeSpriteTilesByTag(5500); + FreeSpritePaletteByTag(5500); + gUnknown_0203AB6C = AddDecorationIconObject(gUnknown_085B312C[a1], 33, 88, 0, 5500, 5500); + } + break; + case 4: + AddTextPrinterParameterized(0, 1, gUnknown_085B319C[a1], 0, NULL, 2, 1, 3); + if (gUnknown_085B3142[a1] == 0xFFFF) + { + sub_813ABD4(gUnknown_085B3142[a1]); + } + else + { + FreeSpriteTilesByTag(5500); + FreeSpritePaletteByTag(5500); + gUnknown_0203AB6C = AddDecorationIconObject(gUnknown_085B3142[a1], 33, 88, 0, 5500, 5500); + } + break; + case 5: + AddTextPrinterParameterized(0, 1, gUnknown_085B31B4[a1], 0, NULL, 2, 1, 3); + sub_813ABD4(gUnknown_085B314E[a1]); + break; + case 6: + AddTextPrinterParameterized(0, 1, gUnknown_085B31D0[a1], 0, NULL, 2, 1, 3); + sub_813ABD4(gUnknown_085B315C[a1]); + break; + } + } +} + +static void sub_813ABD4(u16 a0) +{ + FreeSpriteTilesByTag(5500); + FreeSpritePaletteByTag(5500); + gUnknown_0203AB6C = AddItemIconSprite(5500, 5500, a0); + + if (gUnknown_0203AB6C != MAX_SPRITES) + { + gSprites[gUnknown_0203AB6C].oam.priority = 0; + gSprites[gUnknown_0203AB6C].pos1.x = 36; + gSprites[gUnknown_0203AB6C].pos1.y = 92; + } +} + +static void sub_813AC44(u16 a0, u16 unused) +{ + if (gUnknown_0203AB6C != MAX_SPRITES) + { + switch (a0) + { + case 3 ... 6: + DestroySpriteAndFreeResources(&gSprites[gUnknown_0203AB6C]); + break; + } + gUnknown_0203AB6C = MAX_SPRITES; + } +} + +static const u16 gUnknown_085B31F8[] = { 0x0087, 0x0045, 0x008a, 0x0005, 0x0019, 0x0022, 0x009d, 0x0044, 0x0056, 0x000e }; +static const u16 gUnknown_085B320C[] = { 0x006f, 0x00ad, 0x00bd, 0x0081, 0x00c4, 0x00cb, 0x00f4, 0x0008, 0x0009, 0x0007 }; + +void sub_813AC7C(void) +{ + if (gSpecialVar_0x8005 != 0) + { + StringCopy(gStringVar1, gMoveNames[gUnknown_085B320C[gSpecialVar_0x8004]]); + } + else + { + StringCopy(gStringVar1, gMoveNames[gUnknown_085B31F8[gSpecialVar_0x8004]]); + } +} + +static void sub_813ACE8(u8 a0, u16 a1) +{ + static const struct WindowTemplate gUnknown_085B3220 = { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 7, + .width = 12, + .height = 6, + .paletteNum = 15, + .baseBlock = 28, + }; + + if (a0 == 9 || a0 == 10) + { + if (gSpecialVar_0x8006 == 0) + { + gUnknown_0203AB5E = AddWindow(&gUnknown_085B3220); + SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); + } + sub_813AD34(a0, a1); + } +} + +static void sub_813AD34(u8 a0, u16 a1) +{ + static const u8 *const gUnknown_085B3228[] = { + BattleFrontier_Lounge7_Text_265E30, + BattleFrontier_Lounge7_Text_265E5B, + BattleFrontier_Lounge7_Text_265E8A, + BattleFrontier_Lounge7_Text_265EC0, + BattleFrontier_Lounge7_Text_265EED, + BattleFrontier_Lounge7_Text_265F1C, + BattleFrontier_Lounge7_Text_265F47, + BattleFrontier_Lounge7_Text_265F77, + BattleFrontier_Lounge7_Text_265FAA, + BattleFrontier_Lounge7_Text_265FDD, + gText_Exit, + }; + + static const u8 *const gUnknown_085B3254[] = { + BattleFrontier_Lounge7_Text_26600A, + BattleFrontier_Lounge7_Text_26603E, + BattleFrontier_Lounge7_Text_266070, + BattleFrontier_Lounge7_Text_2660A6, + BattleFrontier_Lounge7_Text_2660D0, + BattleFrontier_Lounge7_Text_2660FF, + BattleFrontier_Lounge7_Text_26612D, + BattleFrontier_Lounge7_Text_26615F, + BattleFrontier_Lounge7_Text_266185, + BattleFrontier_Lounge7_Text_2661B5, + gText_Exit, + }; + + if (a0 == 9 || a0 == 10) + { + FillWindowPixelRect(gUnknown_0203AB5E, 0x11, 0, 0, 96, 48); + if (a0 == 10) + { + PrintTextOnWindow(gUnknown_0203AB5E, 1, gUnknown_085B3254[a1], 0, 1, 0, NULL); + } + else + { + PrintTextOnWindow(gUnknown_0203AB5E, 1, gUnknown_085B3228[a1], 0, 1, 0, NULL); + } + } +} + +void sub_813ADB8(void) +{ + sub_8198070(gUnknown_0203AB5E, TRUE); + RemoveWindow(gUnknown_0203AB5E); +} + +void sub_813ADD4(void) +{ + u16 scrollOffset, selectedRow; + u8 i; + u8 taskId = FindTaskIdByFunc(sub_813A600); + if (taskId != 0xFF) + { + struct Task *task = &gTasks[taskId]; + ListMenuGetScrollAndRow(task->data[14], &scrollOffset, &selectedRow); + SetStandardWindowBorderStyle(task->data[13], 0); + + for (i = 0; i < 6; i++) + { + sub_8199F74(task->data[13], 1, gUnknown_085B2CF0[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); + } + + PrintTextOnWindow(task->data[13], 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL); + PutWindowTilemap(task->data[13]); + CopyWindowToVram(task->data[13], 3); + } +} + +void sub_813AEB4(void) +{ + u8 i; + u16 temp1 = 0; + u16 temp2 = 0; + gSpecialVar_0x8005 = 0; + + temp1 = VarGet(VAR_TEMP_E); + temp2 = VarGet(VAR_TEMP_D); + + if (temp1 != 0) + { + i = 0; + do + { + if (gUnknown_0861500C[i] == gUnknown_085B320C[temp2]) + { + gSpecialVar_0x8005 = i; + break; + } + i++; + } while (i < 30); + } + else + { + i = 0; + do + { + if (gUnknown_0861500C[i] == gUnknown_085B31F8[temp2]) + { + gSpecialVar_0x8005 = i; + break; + } + i++; + } while (i < 30); + } +} + +void sub_813AF48(void) +{ + u8 taskId = FindTaskIdByFunc(sub_813A600); + if (taskId != 0xFF) + { + struct Task *task = &gTasks[taskId]; + DestroyListMenuTask(task->data[14], NULL, NULL); + Free(gUnknown_0203AB64); + sub_8198070(task->data[13], TRUE); + FillWindowPixelBuffer(task->data[13], 0); + ClearWindowTilemap(task->data[13]); + CopyWindowToVram(task->data[13], 2); + RemoveWindow(task->data[13]); + DestroyTask(taskId); + } +} + +void sub_813AFC8(void) +{ + CreateTask(task_deoxys_sound, 8); +} + +static const u16 gUnknown_085B3280[][16] = { + INCBIN_U16("graphics/misc/deoxys1.gbapal"), + INCBIN_U16("graphics/misc/deoxys2.gbapal"), + INCBIN_U16("graphics/misc/deoxys3.gbapal"), + INCBIN_U16("graphics/misc/deoxys4.gbapal"), + INCBIN_U16("graphics/misc/deoxys5.gbapal"), + INCBIN_U16("graphics/misc/deoxys6.gbapal"), + INCBIN_U16("graphics/misc/deoxys7.gbapal"), + INCBIN_U16("graphics/misc/deoxys8.gbapal"), + INCBIN_U16("graphics/misc/deoxys9.gbapal"), + INCBIN_U16("graphics/misc/deoxys10.gbapal"), + INCBIN_U16("graphics/misc/deoxys11.gbapal"), +}; + +static const u8 gUnknown_085B33E0[][2] = { + { 0x0f, 0x0c }, + { 0x0b, 0x0e }, + { 0x0f, 0x08 }, + { 0x13, 0x0e }, + { 0x0c, 0x0b }, + { 0x12, 0x0b }, + { 0x0f, 0x0e }, + { 0x0b, 0x0e }, + { 0x13, 0x0e }, + { 0x0f, 0x0f }, + { 0x0f, 0x0a }, +}; + +static void task_deoxys_sound(u8 taskId) +{ + static const u8 gUnknown_085B33F6[] = { 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03 }; + + if (FlagGet(FLAG_0x8D4) == TRUE) + { + gSpecialVar_Result = 3; + EnableBothScriptContexts(); + DestroyTask(taskId); + } + else + { + u16 temp1 = VarGet(VAR_0x4035); + u16 temp2 = VarGet(VAR_0x4034); + + VarSet(VAR_0x4034, 0); + if (temp1 != 0 && gUnknown_085B33F6[temp1 - 1] < temp2) + { + sub_813B0B4(0); + VarSet(VAR_0x4035, 0); + gSpecialVar_Result = 0; + DestroyTask(taskId); + } + else if (temp1 == 10) + { + FlagSet(FLAG_0x8D4); + gSpecialVar_Result = 2; + EnableBothScriptContexts(); + DestroyTask(taskId); + } + else + { + temp1++; + sub_813B0B4(temp1); + VarSet(VAR_0x4035, temp1); + gSpecialVar_Result = 1; + DestroyTask(taskId); + } + } +} + +static void sub_813B0B4(u8 a0) +{ + u8 eventObjectId; + LoadPalette(&gUnknown_085B3280[a0], 0x1A0, 8); + TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId); + + if (a0 == 0) + { + PlaySE(SE_W109); + } + else + { + PlaySE(SE_RG_DEOMOV); + } + + CreateTask(sub_813B160, 8); + + gFieldEffectArguments[0] = 1; + gFieldEffectArguments[1] = 58; + gFieldEffectArguments[2] = 26; + gFieldEffectArguments[3] = gUnknown_085B33E0[a0][0]; + gFieldEffectArguments[4] = gUnknown_085B33E0[a0][1]; + + if (a0 == 0) + { + gFieldEffectArguments[5] = 60; + } + else + { + gFieldEffectArguments[5] = 5; + } + + FieldEffectStart(FLDEFF_66); + Overworld_SetEventObjTemplateCoords(1, gUnknown_085B33E0[a0][0], gUnknown_085B33E0[a0][1]); +} + +static void sub_813B160(u8 taskId) +{ + if (FieldEffectActiveListContains(FLDEFF_66) == FALSE) + { + EnableBothScriptContexts(); + DestroyTask(taskId); + } +} + +void increment_var_x4026_on_birth_island_modulo_100(void) +{ + u16 var = VarGet(VAR_0x4034); + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BIRTH_ISLAND_EXTERIOR)) + { + var++; + if (var > 99) + { + VarSet(VAR_0x4034, 0); + } + else + { + VarSet(VAR_0x4034, var); + } + } +} + +void sub_813B1D0(void) +{ + LoadPalette(&gUnknown_085B3280[(u8)VarGet(VAR_0x4035)], 0x1A0, 8); + BlendPalettes(0x04000000, 16, 0); +} + +void set_unknown_box_id(u8 id) +{ + gUnknown_0203AB6F = id; +} + +u16 get_unknown_box_id(void) +{ + return gUnknown_0203AB6F; +} + +bool32 sub_813B21C(void) +{ + if (FlagGet(FLAG_SYS_STORAGE_UNKNOWN_FLAG) == FALSE) + { + if (StorageGetCurrentBox() != VarGet(VAR_STORAGE_UNKNOWN)) + { + FlagSet(FLAG_SYS_STORAGE_UNKNOWN_FLAG); + return TRUE; + } + } + return FALSE; +} + +bool8 sub_813B260(void) +{ + int box; + int i; + set_unknown_box_id(VarGet(VAR_STORAGE_UNKNOWN)); + box = StorageGetCurrentBox(); + do + { + for (i = 0; i < IN_BOX_COUNT; i++) + { + if (GetBoxMonData(GetBoxedMonPtr(box, i), MON_DATA_SPECIES, 0) == 0) + { + if (get_unknown_box_id() != box) + { + FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG); + } + VarSet(VAR_STORAGE_UNKNOWN, box); + return sub_813B21C(); + } + } + + if (++box == TOTAL_BOXES_COUNT) + { + box = 0; + } + } while (box != StorageGetCurrentBox()); + return FALSE; +} + +void sub_813B2E4(void) +{ + u16 randomValue = Random(); + VarSet(VAR_0x4038, 0); + + if (FlagGet(FLAG_0x1BE) == TRUE) + { + VarSet(VAR_0x4037, (randomValue & 7) + 1); + } + else if (FlagGet(FLAG_0x1BF) == TRUE) + { + VarSet(VAR_0x4037, (randomValue & 7) + 9); + } + else if ((randomValue & 1) == 0) + { + randomValue = Random(); + VarSet(VAR_0x4037, (randomValue & 7) + 1); + } + else + { + randomValue = Random(); + VarSet(VAR_0x4037, (randomValue & 7) + 9); + } +} + +bool32 sub_813B374(void) +{ + static const u8 gUnknown_085B3400[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c }; + + u16 var = VarGet(VAR_0x4037); + + GetMapName(gStringVar1, gUnknown_085B3400[var - 1], 0); + + if (var < 9) + { + return FALSE; + } + else + { + return TRUE; + } +} + +bool32 sub_813B3B0(void) +{ + static const u8 gUnknown_085B3410[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c }; + + u16 var1 = VarGet(VAR_0x4038); + u16 var2 = VarGet(VAR_0x4037); + + if (!var2) + { + return FALSE; + } + + if (++var1 > 999) + { + VarSet(VAR_0x4038, 0); + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER_MARINE_CAVE)) + { + switch (gSaveBlock1Ptr->location.mapNum) + { + case MAP_NUM(UNDERWATER_MARINE_CAVE): + case MAP_NUM(MARINE_CAVE_ENTRANCE): + case MAP_NUM(MARINE_CAVE_END): + case MAP_NUM(TERRA_CAVE_ENTRANCE): + case MAP_NUM(TERRA_CAVE_END): + VarSet(VAR_0x4039, 1); + return FALSE; + default: + break; + } + } + + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER3)) + { + switch (gSaveBlock1Ptr->location.mapNum) + { + case MAP_NUM(UNDERWATER3): + case MAP_NUM(UNDERWATER5): + case MAP_NUM(UNDERWATER6): + case MAP_NUM(UNDERWATER7): + VarSet(VAR_0x4039, 1); + return FALSE; + default: + break; + } + } + + if (gSaveBlock1Ptr->location.mapNum == gUnknown_085B3410[var2 - 1] && + gSaveBlock1Ptr->location.mapGroup == 0) + { + return TRUE; + } + else + { + VarSet(VAR_0x4037, 0); + return FALSE; + } + } + else + { + VarSet(VAR_0x4038, var1); + return FALSE; + } +} + +void sub_813B484(void) +{ + sub_80AB104(2); +} + +bool32 sub_813B490(void) +{ + static const u8 gUnknown_085B3420[][3] = { + { 0x02, 0x04, 0x01 }, + { 0x04, 0x04, 0x01 }, + { 0x05, 0x00, 0x01 }, + { 0x06, 0x03, 0x01 }, + { 0x08, 0x06, 0x01 }, + { 0x09, 0x0d, 0x01 }, + { 0x0a, 0x07, 0x01 }, + { 0x0b, 0x07, 0x01 }, + { 0x0c, 0x04, 0x01 }, + { 0x0e, 0x05, 0x01 }, + { 0x0f, 0x04, 0x01 }, + { 0x1a, 0x37, 0x01 } + }; + + u8 i; + for (i = 0; i < 12; i++) + { + if (gSaveBlock1Ptr->location.mapGroup == gUnknown_085B3420[i][0]) + { + if (gSaveBlock1Ptr->location.mapNum == gUnknown_085B3420[i][1]) + { + return gUnknown_085B3420[i][2]; + } + } + } + return TRUE; +} + +bool32 sub_813B4E0(void) +{ + int index = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); + if (index >= 0) + { + if (FlagGet(FLAG_MATCH_CALL_REGISTERED + index) == TRUE) + return TRUE; + } + return FALSE; +} + +bool32 sub_813B514(void) +{ + if (!VarGet(VAR_0x403F)) + { + return FALSE; + } + return TRUE; +} + +void sub_813B534(void) +{ + gUnknown_0203AB70 = gBattleTypeFlags; + gBattleTypeFlags = 0; + if (!gReceivedRemoteLinkPlayers) + { + CreateTask(sub_80B3AF8, 5); + } +} + +void sub_813B568(void) +{ + CreateTask(sub_813B57C, 5); +} + +static void sub_813B57C(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (!FuncIsActiveTask(sub_80B3AF8)) + { + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_800A520() == TRUE) + { + if (GetMultiplayerId() == 0) + { + gTasks[taskId].data[0]++; + } + else + { + SendBlock(bitmask_all_link_players_but_self(), &gSpecialVar_0x8004, 2); + gTasks[taskId].data[0]++; + } + } + break; + case 2: + if ((GetBlockReceivedStatus() & 2) != 0) + { + if (GetMultiplayerId() == 0) + { + gSpecialVar_0x8005 = gBlockRecvBuffer[1][0]; + ResetBlockReceivedFlag(1); + if (gSpecialVar_0x8004 == 1 && gSpecialVar_0x8005 == 1) + { + gSpecialVar_Result = 1; + } + else if (gSpecialVar_0x8004 == 0 && gSpecialVar_0x8005 == 1) + { + gSpecialVar_Result = 2; + } + else if (gSpecialVar_0x8004 == 1 && gSpecialVar_0x8005 == 0) + { + gSpecialVar_Result = 3; + } + else + { + gSpecialVar_Result = 0; + } + } + gTasks[taskId].data[0]++; + } + break; + case 3: + if (sub_800A520() == TRUE) + { + if (GetMultiplayerId() != 0) + { + gTasks[taskId].data[0]++; + } + else + { + SendBlock(bitmask_all_link_players_but_self(), &gSpecialVar_Result, 2); + gTasks[taskId].data[0]++; + } + } + break; + case 4: + if ((GetBlockReceivedStatus() & 1) != 0) + { + if (GetMultiplayerId() != 0) + { + gSpecialVar_Result = gBlockRecvBuffer[0][0]; + ResetBlockReceivedFlag(0); + gTasks[taskId].data[0]++; + } + else + { + gTasks[taskId].data[0]++; + } + } + break; + case 5: + if (GetMultiplayerId() == 0) + { + if (gSpecialVar_Result == 2) + { + ShowFieldAutoScrollMessage(gText_YourPartnerHasRetired); + } + } + else + { + if (gSpecialVar_Result == 3) + { + ShowFieldAutoScrollMessage(gText_YourPartnerHasRetired); + } + } + gTasks[taskId].data[0]++; + break; + case 6: + if (!IsTextPrinterActive(0)) + { + gTasks[taskId].data[0]++; + } + break; + case 7: + if (sub_800A520() == 1) + { + sub_800ADF8(); + gTasks[taskId].data[0]++; + } + break; + case 8: + if (sub_800A520() == 1) + { + gTasks[taskId].data[0]++; + } + break; + case 9: + if (gWirelessCommType == 0) + { + sub_800AC34(); + } + gBattleTypeFlags = gUnknown_0203AB70; + EnableBothScriptContexts(); + DestroyTask(taskId); + break; + } +} + +void sub_813B7D8(void) +{ + if (gSpecialVar_0x8004 == 0) + { + DoRayquazaScene(0, TRUE, CB2_ReturnToFieldContinueScriptPlayMapMusic); + } + else + { + DoRayquazaScene(1, FALSE, CB2_ReturnToFieldContinueScriptPlayMapMusic); + } +} + +void sub_813B80C(void) +{ + CreateTask(sub_813B824, 8); + PlaySE(SE_W017); +} + +static void sub_813B824(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + data[1]++; + if (data[1] == gSpecialVar_0x8005) + { + data[0]++; + data[1] = 0; + PlaySE(SE_W017); + } + + if (data[0] == gSpecialVar_0x8004 - 1) + { + DestroyTask(taskId); + } +} + +void sub_813B880(void) +{ + u8 taskId = CreateTask(_fwalk, 8); + gTasks[taskId].data[0] = 4; + gTasks[taskId].data[1] = 4; + gTasks[taskId].data[2] = 4; + gTasks[taskId].data[3] = 0; +} + +static void _fwalk(u8 taskId) +{ + u8 x, y; + s16 *data = gTasks[taskId].data; + + data[data[3]]--; + if (data[data[3]] == 0) + { + for (y = 0; y < 4; y++) + { + for (x = 0; x < 3; x++) + { + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + x + 6, gSaveBlock1Ptr->pos.y + y + 4, x + 0x201 + y * 8 + data[3] * 32); + } + } + DrawWholeMapView(); + data[3]++; + if (data[3] == 3) + { + DestroyTask(taskId); + EnableBothScriptContexts(); + } + } +} + +void sub_813B968(void) +{ + gSpecialVar_Result = gSpecialVar_0x8004 / 7; + gSpecialVar_Result -= (gSpecialVar_Result / 20) * 20; +} + +void sub_813B9A0(void) +{ + if (gSaveBlock1Ptr->lastHealLocation.mapGroup == MAP_GROUP(DEWFORD_TOWN) && gSaveBlock1Ptr->lastHealLocation.mapNum == MAP_NUM(DEWFORD_TOWN)) + { + Overworld_SetHealLocationWarp(3); + } +} + +bool32 sub_813B9C0(void) +{ + static const u16 gUnknown_085B3444[] = { + MAP_OLDALE_TOWN_POKEMON_CENTER_1F, + MAP_DEWFORD_TOWN_POKEMON_CENTER_1F, + MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F, + MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F, + MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F, + MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F, + MAP_PETALBURG_CITY_POKEMON_CENTER_1F, + MAP_SLATEPORT_CITY_POKEMON_CENTER_1F, + MAP_MAUVILLE_CITY_POKEMON_CENTER_1F, + MAP_RUSTBORO_CITY_POKEMON_CENTER_1F, + MAP_FORTREE_CITY_POKEMON_CENTER_1F, + MAP_LILYCOVE_CITY_POKEMON_CENTER_1F, + MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F, + MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F, + MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F, + MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F, + MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F, + MAP_SINGLE_BATTLE_COLOSSEUM, + MAP_TRADE_CENTER, + MAP_RECORD_CORNER, + MAP_DOUBLE_BATTLE_COLOSSEUM, + 0xffff + }; + + int i; + u16 map = (gSaveBlock1Ptr->location.mapGroup << 8) + gSaveBlock1Ptr->location.mapNum; + + for (i = 0; gUnknown_085B3444[i] != 0xFFFF; i++) + { + if (gUnknown_085B3444[i] == map) + { + return TRUE; + } + } + return FALSE; +} + +void ResetFanClub(void) +{ + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] = 0; + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = 0; +} + +void sub_813BA30(void) +{ + if (sub_813BF44() != 0) + { + UpdateMovedLilycoveFanClubMembers(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; + } +} + +void sub_813BA60(void) +{ + if (!((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> 7) & 1)) + { + sub_813BF60(); + sub_813BD84(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; + FlagClear(FLAG_HIDE_FANCLUB_OLD_LADY); + FlagClear(FLAG_HIDE_FANCLUB_BOY); + FlagClear(FLAG_HIDE_FANCLUB_LITTLE_BOY); + FlagClear(FLAG_HIDE_FANCLUB_LADY); + FlagClear(FLAG_0x2DA); + VarSet(VAR_LILYCOVE_FAN_CLUB_STATE, 1); + } +} + +u8 sub_813BADC(u8 a0) +{ + static const u8 gUnknown_085B3470[] = { 0x02, 0x01, 0x02, 0x01 }; + + if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2) + { + if ((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F) + gUnknown_085B3470[a0] > 19) + { + if (GetNumMovedLilycoveFanClubMembers() < 3) + { + sub_813BB74(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] &= 0xFF80; + } + else + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] = (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0xFF80) | 0x14; + } + } + else + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] += gUnknown_085B3470[a0]; + } + } + + return gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F; +} + +static u16 sub_813BB74(void) +{ + static const u8 gUnknown_085B3474[] = { 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }; + + u8 i; + u8 retVal = 0; + + for (i = 0; i < 8; i++) + { + if (!((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B3474[i]) & 1)) + { + retVal = i; + if ((Random() & 1) != 0) + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 1 << gUnknown_085B3474[retVal]; + return retVal; + } + } + } + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 1 << gUnknown_085B3474[retVal]; + return retVal; +} + +static u16 sub_813BC00(void) +{ + static const u8 gUnknown_085B347C[] = { 0x08, 0x0d, 0x0e, 0x0b, 0x0a, 0x0c, 0x0f, 0x09 }; + + u8 i; + u8 retVal = 0; + + if (GetNumMovedLilycoveFanClubMembers() == 1) + { + return 0; + } + + for (i = 0; i < 8; i++) + { + if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[i]) & 1) != 0) + { + retVal = i; + if ((Random() & 1) != 0) + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal]; + return retVal; + } + } + } + + if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[retVal]) & 1)) + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal]; + } + + return retVal; +} + +u16 GetNumMovedLilycoveFanClubMembers(void) +{ + u8 i; + u8 retVal = 0; + + for (i = 0; i < 8; i++) + { + if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> (i + 8)) & 1) != 0) + { + retVal++; + } + } + + return retVal; +} + +void UpdateMovedLilycoveFanClubMembers(void) +{ + u8 i = 0; + if (gSaveBlock2Ptr->playTimeHours < 999) + { + while (TRUE) + { + if (GetNumMovedLilycoveFanClubMembers() < 5) + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; + break; + } + else if (i == 8) + { + break; + } + else if (gSaveBlock2Ptr->playTimeHours - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] < 12) + { + return; + } + sub_813BC00(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] += 12; + i++; + } + } +} + +bool8 ShouldMoveLilycoveFanClubMember(void) +{ + return (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gSpecialVar_0x8004) & 1; +} + +static void sub_813BD84(void) +{ + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x2000; + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x100; + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x400; +} + +void BufferStreakTrainerText(void) +{ + u8 a = 0; + u8 b = 0; + switch (gSpecialVar_0x8004) + { + case 8: + break; + case 9: + break; + case 10: + a = 0; + b = 3; + break; + case 11: + a = 0; + b = 1; + break; + case 12: + a = 1; + b = 0; + break; + case 13: + a = 0; + b = 4; + break; + case 14: + a = 1; + b = 5; + break; + case 15: + break; + } + sub_813BE30(&gSaveBlock1Ptr->linkBattleRecords, a, b); +} + +static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b) +{ + struct LinkBattleRecord *record = &linkRecords->entries[a]; + if (record->name[0] == EOS) + { + switch (b) + { + case 0: + StringCopy(gStringVar1, gText_Wallace); + break; + case 1: + StringCopy(gStringVar1, gText_Steven); + break; + case 2: + StringCopy(gStringVar1, gText_Brawly); + break; + case 3: + StringCopy(gStringVar1, gText_Winona); + break; + case 4: + StringCopy(gStringVar1, gText_Phoebe); + break; + case 5: + StringCopy(gStringVar1, gText_Glacia); + break; + default: + StringCopy(gStringVar1, gText_Wallace); + break; + } + } + else + { + StringCopyN(gStringVar1, record->name, 7); + gStringVar1[7] = EOS; + ConvertInternationalString(gStringVar1, linkRecords->languages[a]); + } +} + +void sub_813BF10(void) +{ + if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2) + { + sub_813BA30(); + if (gBattleOutcome == 1) + { + sub_813BB74(); + } + else + { + sub_813BC00(); + } + } +} + +static bool8 sub_813BF44(void) +{ + return (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> 7) & 1; +} + +void sub_813BF60(void) +{ + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x80; +} + +u8 sub_813BF7C(void) +{ + return sub_813BADC(gSpecialVar_0x8004); +} diff --git a/src/heal_location.c b/src/heal_location.c index aa90fe1ae..b378e8e8c 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -1,83 +1,37 @@ - -// Includes #include "global.h" -#include "constants/maps.h" #include "heal_location.h" +#include "constants/maps.h" -#define HEAL_LOCATION(map, x, y) {MAP_GROUP(map), MAP_NUM(map), x, y} - -// Static type declarations - -// Static RAM declarations - -// Static ROM declarations - -// .rodata - -static const struct HealLocation sHealLocations[] = { - HEAL_LOCATION(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 4, 2), - HEAL_LOCATION(LITTLEROOT_TOWN_MAYS_HOUSE_2F, 4, 2), - HEAL_LOCATION(PETALBURG_CITY, 20, 17), - HEAL_LOCATION(SLATEPORT_CITY, 19, 20), - HEAL_LOCATION(MAUVILLE_CITY, 22, 6), - HEAL_LOCATION(RUSTBORO_CITY, 16, 39), - HEAL_LOCATION(FORTREE_CITY, 5, 7), - HEAL_LOCATION(LILYCOVE_CITY, 24, 15), - HEAL_LOCATION(MOSSDEEP_CITY, 28, 17), - HEAL_LOCATION(SOOTOPOLIS_CITY, 43, 32), - HEAL_LOCATION(EVER_GRANDE_CITY, 27, 49), - HEAL_LOCATION(LITTLEROOT_TOWN, 5, 9), - HEAL_LOCATION(LITTLEROOT_TOWN, 14, 9), - HEAL_LOCATION(OLDALE_TOWN, 6, 17), - HEAL_LOCATION(DEWFORD_TOWN, 2, 11), - HEAL_LOCATION(LAVARIDGE_TOWN, 9, 7), - HEAL_LOCATION(FALLARBOR_TOWN, 14, 8), - HEAL_LOCATION(VERDANTURF_TOWN, 16, 4), - HEAL_LOCATION(PACIFIDLOG_TOWN, 8, 16), - HEAL_LOCATION(EVER_GRANDE_CITY, 18, 6), - HEAL_LOCATION(SOUTHERN_ISLAND_EXTERIOR, 15, 20), - HEAL_LOCATION(BATTLE_FRONTIER_OUTSIDE_EAST, 3, 52) -}; - -#define NUM_HEAL_LOCATIONS (ARRAY_COUNT(sHealLocations)) - -// .text +#include "data/heal_locations.h" -static u32 GetHealLocationIndexFromMapGroupAndNum(u16 mapGroup, u16 mapNum) +u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum) { u32 i; - for (i = 0; i < NUM_HEAL_LOCATIONS; i++) + for (i = 0; i < ARRAY_COUNT(sHealLocations); i++) { if (sHealLocations[i].group == mapGroup && sHealLocations[i].map == mapNum) - { return i + 1; - } } return 0; } -const struct HealLocation *GetHealLocationPointerFromMapGroupAndNum(u16 mapGroup, u16 mapNum) +const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum) { - u32 loc; + u32 index = GetHealLocationIndexByMap(mapGroup, mapNum); - loc = GetHealLocationIndexFromMapGroupAndNum(mapGroup, mapNum); - if (loc == 0) - { + if (index == 0) return NULL; - } - return &sHealLocations[loc - 1]; + else + return &sHealLocations[index - 1]; } -const struct HealLocation *GetHealLocationPointer(u32 loc) +const struct HealLocation *GetHealLocation(u32 index) { - if (loc == 0) - { + if (index == 0) return NULL; - } - if (loc > NUM_HEAL_LOCATIONS) - { + else if (index > ARRAY_COUNT(sHealLocations)) return NULL; - } - return &sHealLocations[loc - 1]; + else + return &sHealLocations[index - 1]; } diff --git a/src/main_menu.c b/src/main_menu.c index 87673c9b2..3afe1abe5 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1965,7 +1965,7 @@ void sub_80323CC(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f) { struct WindowTemplate sp; - sp = sub_8198A50(0, a + 1, b + 1, 5, 4, f, d); + sp = CreateWindowTemplate(0, a + 1, b + 1, 5, 4, f, d); CreateYesNoMenu(&sp, c, e, 0); } diff --git a/src/match_call.c b/src/match_call.c index aa6945161..99eb6d65a 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -360,7 +360,7 @@ MATCHCALLDEF(sMomMatchCallHeader, 0, 0, FLAG_0x0D8, gMomMatchCallDesc, gMomMatch static const match_call_text_data_t sStevenTextScripts[] = { { gText_Steven_Pokenav_2B5B95, 0xffff, 0xffff }, - { gText_Steven_Pokenav_2B5C53, FLAG_0x0C7, 0xffff }, + { gText_Steven_Pokenav_2B5C53, FLAG_RUSTURF_TUNNEL_OPENED, 0xffff }, { gText_Steven_Pokenav_2B5CC9, FLAG_0x0D4, 0xffff }, { gText_Steven_Pokenav_2B5DB4, FLAG_0x070, 0xffff }, { gText_Steven_Pokenav_2B5E26, FLAG_0x4F6, 0xffff }, @@ -415,7 +415,7 @@ MATCHCALLDEF(sBrendanMatchCallHeader, 4, FEMALE, FLAG_0x0FD, gMayBrendanMatchCal static const match_call_text_data_t sWallyTextScripts[] = { { gText_Wally_Pokenav_2B4DE2, 0xFFFF, 0xFFFF }, - { gText_Wally_Pokenav_2B4E57, FLAG_0x0C7, 0xFFFF }, + { gText_Wally_Pokenav_2B4E57, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF }, { gText_Wally_Pokenav_2B4EA5, FLAG_0x4F3, 0xFFFF }, { gText_Wally_Pokenav_2B4F41, FLAG_0x097, 0xFFFF }, { gText_Wally_Pokenav_2B4FF3, FLAG_0x06F, 0xFFFF }, diff --git a/src/menu.c b/src/menu.c index 96dda3075..f4ffec023 100644 --- a/src/menu.c +++ b/src/menu.c @@ -120,7 +120,6 @@ extern void DrawWindowBorder(u8, u8, u8, u8, u8, u8); extern void sub_81980A8(u8, u8, u8, u8, u8, u8); extern u8 MoveMenuCursor(s8); extern u8 sub_8199134(s8, s8); -extern void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing); extern void sub_8198C78(void); extern void task_free_buf_after_copying_tile_data_to_vram(u8 taskId); @@ -1143,7 +1142,7 @@ void SetWindowTemplateFields(struct WindowTemplate *template, u8 bg, u8 left, u8 template->baseBlock = baseBlock; } -struct WindowTemplate sub_8198A50(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock) +struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock) { struct WindowTemplate template; SetWindowTemplateFields(&template, bg, left, top, width, height, paletteNum, baseBlock); diff --git a/src/overworld.c b/src/overworld.c index 772f8a057..d85af9e4d 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -689,7 +689,7 @@ void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused) void sub_8084CCC(u8 a1) { - const struct HealLocation *warp = GetHealLocationPointer(a1); + const struct HealLocation *warp = GetHealLocation(a1); if (warp) Overworld_SetWarpDestination(warp->group, warp->map, -1, warp->x, warp->y); @@ -702,7 +702,7 @@ void Overworld_SetWarpDestToLastHealLoc(void) void Overworld_SetHealLocationWarp(u8 healLocationId) { - const struct HealLocation *healLocation = GetHealLocationPointer(healLocationId); + const struct HealLocation *healLocation = GetHealLocation(healLocationId); if (healLocation != NULL) SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->group, healLocation->map, -1, healLocation->x, healLocation->y); @@ -761,7 +761,7 @@ void sub_8084F2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) void sub_8084F6C(u8 a1) { - const struct HealLocation *warp = GetHealLocationPointer(a1); + const struct HealLocation *warp = GetHealLocation(a1); if (warp) SetWarpData(&gSaveBlock1Ptr->warp1, warp->group, warp->map, -1, warp->x, warp->y); } diff --git a/src/pokemon.c b/src/pokemon.c index cd7e45758..7c010cd39 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2089,7 +2089,7 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon) s32 level = GetLevelFromBoxMonExp(boxMon); s32 i; - for (i = 0; gLevelUpLearnsets[species][i] != (u16)-1; i++) + for (i = 0; gLevelUpLearnsets[species][i] != LEVEL_UP_END; i++) { u16 moveLevel; u16 move; @@ -2101,7 +2101,7 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon) move = (gLevelUpLearnsets[species][i] & 0x1FF); - if (GiveMoveToBoxMon(boxMon, move) == (u16)-1) + if (GiveMoveToBoxMon(boxMon, move) == 0xFFFF) DeleteFirstMoveAndGiveMoveToBoxMon(boxMon, move); } } @@ -2123,7 +2123,7 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove) while ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) != (level << 9)) { sLearningMoveTableID++; - if (gLevelUpLearnsets[species][sLearningMoveTableID] == 0xFFFF) + if (gLevelUpLearnsets[species][sLearningMoveTableID] == LEVEL_UP_END) return 0; } } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 32d2bde4f..728b887f8 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -57,7 +57,6 @@ extern u8 gUnknown_0861CE7B[]; extern struct WindowTemplate gUnknown_0861CCEC; extern struct WindowTemplate gUnknown_0861CD14; extern const u8 *const gContestEffectDescriptionPointers[]; -extern const u8 *const gMoveDescriptionPointers[]; void sub_81C488C(u8 a); extern u8 sub_81221EC(); @@ -342,6 +341,10 @@ struct UnkSummaryStruct u8 unk_filler4[6]; }; +// const rom data +#include "data/text/move_descriptions.h" + +// code void sub_81BF8EC(u8 a, void *b, u8 c, u8 d, void *e) { u8 byte; diff --git a/src/region_map.c b/src/region_map.c index 5176d4996..3214ae185 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -22,6 +22,8 @@ #include "field_effect.h" #include "region_map.h" #include "constants/region_map_sections.h" +#include "heal_location.h" +#include "constants/heal_locations.h" #define MAP_WIDTH 28 #define MAP_HEIGHT 15 @@ -52,7 +54,7 @@ static EWRAM_DATA struct { /*0x88c*/ u8 unk_88c[0x1c0]; /*0xa4c*/ u8 unk_a4c[0x26]; /*0xa72*/ bool8 unk_a72; -} *gUnknown_0203A148 = NULL; // a74 +} *sFlyMap = NULL; // a74 static bool32 gUnknown_03001180; static bool32 gUnknown_03001184; @@ -242,23 +244,23 @@ static const u16 Unknown_085A1D48[] = INCBIN_U16("graphics/pokenav/fly_target_ic static const u8 sUnknown_085A1D68[] = INCBIN_U8("graphics/pokenav/fly_target_icons.4bpp.lz"); -static const u8 sUnknown_085A1E3C[][3] = { - {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 1}, - {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 14}, - {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 15}, - {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), 16}, - {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), 17}, - {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), 18}, - {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), 19}, - {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), 3}, - {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), 4}, - {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), 5}, - {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), 6}, - {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), 7}, - {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), 8}, - {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), 9}, - {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), 10}, - {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 11}, +static const u8 sMapHealLocations[][3] = { + {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F}, + {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), HEAL_LOCATION_OLDALE_TOWN}, + {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), HEAL_LOCATION_DEWFORD_TOWN}, + {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), HEAL_LOCATION_LAVARIDGE_TOWN}, + {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), HEAL_LOCATION_FALLARBOR_TOWN}, + {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), HEAL_LOCATION_VERDANTURF_TOWN}, + {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), HEAL_LOCATION_PACIFIDLOG_TOWN}, + {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), HEAL_LOCATION_PETALBURG_CITY}, + {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), HEAL_LOCATION_SLATEPORT_CITY}, + {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), HEAL_LOCATION_MAUVILLE_CITY}, + {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), HEAL_LOCATION_RUSTBORO_CITY}, + {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), HEAL_LOCATION_FORTREE_CITY}, + {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), HEAL_LOCATION_LILYCOVE_CITY}, + {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), HEAL_LOCATION_MOSSDEEP_CITY}, + {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), HEAL_LOCATION_SOOTOPOLIS_CITY}, + {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), HEAL_LOCATION_EVER_GRANDE_CITY_1}, {MAP_GROUP(ROUTE101), MAP_NUM(ROUTE101), 0}, {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), 0}, {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), 0}, @@ -1578,8 +1580,8 @@ void MCB2_FlyMap(void) SetGpuReg(REG_OFFSET_BG2HOFS, 0); SetGpuReg(REG_OFFSET_BG3HOFS, 0); SetGpuReg(REG_OFFSET_BG3VOFS, 0); - gUnknown_0203A148 = malloc(sizeof(*gUnknown_0203A148)); - if (gUnknown_0203A148 == NULL) + sFlyMap = malloc(sizeof(*sFlyMap)); + if (sFlyMap == NULL) { SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); } @@ -1608,11 +1610,11 @@ void MCB2_FlyMap(void) gMain.state++; break; case 4: - InitRegionMap(&gUnknown_0203A148->regionMap, FALSE); + InitRegionMap(&sFlyMap->regionMap, FALSE); CreateRegionMapCursor(0, 0); CreateRegionMapPlayerIcon(1, 1); - gUnknown_0203A148->mapSecId = gUnknown_0203A148->regionMap.mapSecId; - StringFill(gUnknown_0203A148->unk_a4c, CHAR_SPACE, 16); + sFlyMap->mapSecId = sFlyMap->regionMap.mapSecId; + StringFill(sFlyMap->unk_a4c, CHAR_SPACE, 16); gUnknown_03001180 = TRUE; sub_8124904(); gMain.state++; @@ -1664,7 +1666,7 @@ static void sub_81248C0(void) static void sub_81248D4(void) { - gUnknown_0203A148->unk_000(); + sFlyMap->unk_000(); AnimateSprites(); BuildOamBuffer(); do_scheduled_bg_tilemap_copies_to_vram(); @@ -1672,8 +1674,8 @@ static void sub_81248D4(void) static void sub_81248F4(void callback(void)) { - gUnknown_0203A148->unk_000 = callback; - gUnknown_0203A148->unk_004 = 0; + sFlyMap->unk_000 = callback; + sFlyMap->unk_004 = 0; } static void sub_8124904(void) @@ -1682,21 +1684,21 @@ static void sub_8124904(void) bool32 flag; const u8 *name; - if (gUnknown_0203A148->regionMap.iconDrawType > MAPSECTYPE_NONE && gUnknown_0203A148->regionMap.iconDrawType <= MAPSECTYPE_BATTLE_FRONTIER) + if (sFlyMap->regionMap.iconDrawType > MAPSECTYPE_NONE && sFlyMap->regionMap.iconDrawType <= MAPSECTYPE_BATTLE_FRONTIER) { flag = FALSE; for (i = 0; i < 1; i++) { - if (gUnknown_0203A148->regionMap.mapSecId == gUnknown_085A1EDC[i].mapSecId) + if (sFlyMap->regionMap.mapSecId == gUnknown_085A1EDC[i].mapSecId) { if (FlagGet(gUnknown_085A1EDC[i].flag)) { - StringLength(gUnknown_085A1EDC[i].name[gUnknown_0203A148->regionMap.posWithinMapSec]); + StringLength(gUnknown_085A1EDC[i].name[sFlyMap->regionMap.posWithinMapSec]); flag = TRUE; sub_8198070(0, FALSE); SetWindowBorderStyle(1, FALSE, 0x65, 0x0d); - PrintTextOnWindow(1, 1, gUnknown_0203A148->regionMap.mapSecName, 0, 1, 0, NULL); - name = gUnknown_085A1EDC[i].name[gUnknown_0203A148->regionMap.posWithinMapSec]; + PrintTextOnWindow(1, 1, sFlyMap->regionMap.mapSecName, 0, 1, 0, NULL); + name = gUnknown_085A1EDC[i].name[sFlyMap->regionMap.posWithinMapSec]; PrintTextOnWindow(1, 1, name, GetStringRightAlignXOffset(1, name, 0x60), 0x11, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); gUnknown_03001180 = TRUE; @@ -1715,7 +1717,7 @@ static void sub_8124904(void) { FillWindowPixelBuffer(0, 0x11); } - PrintTextOnWindow(0, 1, gUnknown_0203A148->regionMap.mapSecName, 0, 1, 0, NULL); + PrintTextOnWindow(0, 1, sFlyMap->regionMap.mapSecName, 0, 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); gUnknown_03001180 = FALSE; } @@ -1739,8 +1741,8 @@ static void sub_8124A70(void) { struct SpriteSheet sheet; - LZ77UnCompWram(sUnknown_085A1D68, gUnknown_0203A148->unk_88c); - sheet.data = gUnknown_0203A148->unk_88c; + LZ77UnCompWram(sUnknown_085A1D68, sFlyMap->unk_88c); + sheet.data = sFlyMap->unk_88c; sheet.size = 0x1c0; sheet.tag = 2; LoadSpriteSheet(&sheet); @@ -1829,7 +1831,7 @@ static void sub_8124BE4(void) static void sub_8124CBC(struct Sprite *sprite) { - if (gUnknown_0203A148->regionMap.mapSecId == sprite->data[0]) + if (sFlyMap->regionMap.mapSecId == sprite->data[0]) { if (++sprite->data[1] > 16) { @@ -1846,11 +1848,11 @@ static void sub_8124CBC(struct Sprite *sprite) static void sub_8124D14(void) { - switch (gUnknown_0203A148->unk_004) + switch (sFlyMap->unk_004) { case 0: BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - gUnknown_0203A148->unk_004++; + sFlyMap->unk_004++; break; case 1: if (!UpdatePaletteFade()) @@ -1863,7 +1865,7 @@ static void sub_8124D14(void) static void sub_8124D64(void) { - if (gUnknown_0203A148->unk_004 == 0) + if (sFlyMap->unk_004 == 0) { switch (sub_81230AC()) { @@ -1875,16 +1877,16 @@ static void sub_8124D64(void) sub_8124904(); break; case INPUT_EVENT_A_BUTTON: - if (gUnknown_0203A148->regionMap.iconDrawType == MAPSECTYPE_CITY_CANFLY || gUnknown_0203A148->regionMap.iconDrawType == MAPSECTYPE_BATTLE_FRONTIER) + if (sFlyMap->regionMap.iconDrawType == MAPSECTYPE_CITY_CANFLY || sFlyMap->regionMap.iconDrawType == MAPSECTYPE_BATTLE_FRONTIER) { m4aSongNumStart(SE_SELECT); - gUnknown_0203A148->unk_a72 = TRUE; + sFlyMap->unk_a72 = TRUE; sub_81248F4(sub_8124E0C); } break; case INPUT_EVENT_B_BUTTON: m4aSongNumStart(SE_SELECT); - gUnknown_0203A148->unk_a72 = FALSE; + sFlyMap->unk_a72 = FALSE; sub_81248F4(sub_8124E0C); break; } @@ -1893,40 +1895,40 @@ static void sub_8124D64(void) static void sub_8124E0C(void) { - switch (gUnknown_0203A148->unk_004) + switch (sFlyMap->unk_004) { case 0: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gUnknown_0203A148->unk_004++; + sFlyMap->unk_004++; break; case 1: if (!UpdatePaletteFade()) { FreeRegionMapIconResources(); - if (gUnknown_0203A148->unk_a72) + if (sFlyMap->unk_a72) { - switch (gUnknown_0203A148->regionMap.mapSecId) + switch (sFlyMap->regionMap.mapSecId) { case MAPSEC_SOUTHERN_ISLAND: - sub_8084CCC(0x15); + sub_8084CCC(HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR); break; case MAPSEC_BATTLE_FRONTIER: - sub_8084CCC(0x16); + sub_8084CCC(HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST); break; case MAPSEC_LITTLEROOT_TOWN: - sub_8084CCC(gSaveBlock2Ptr->playerGender == MALE ? 0x0C : 0x0D); + sub_8084CCC(gSaveBlock2Ptr->playerGender == MALE ? HEAL_LOCATION_LITTLEROOT_TOWN_1 : HEAL_LOCATION_LITTLEROOT_TOWN_2); break; case MAPSEC_EVER_GRANDE_CITY: - sub_8084CCC(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && gUnknown_0203A148->regionMap.posWithinMapSec == 0 ? 0x14 : 0x0B); + sub_8084CCC(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && sFlyMap->regionMap.posWithinMapSec == 0 ? HEAL_LOCATION_EVER_GRANDE_CITY_2 : HEAL_LOCATION_EVER_GRANDE_CITY_1); break; default: - if (sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2] != 0) + if (sMapHealLocations[sFlyMap->regionMap.mapSecId][2] != 0) { - sub_8084CCC(sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2]); + sub_8084CCC(sMapHealLocations[sFlyMap->regionMap.mapSecId][2]); } else { - warp1_set_2(sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][0], sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][1], -1); + warp1_set_2(sMapHealLocations[sFlyMap->regionMap.mapSecId][0], sMapHealLocations[sFlyMap->regionMap.mapSecId][1], -1); } break; } @@ -1936,10 +1938,10 @@ static void sub_8124E0C(void) { SetMainCallback2(sub_81B58A8); } - if (gUnknown_0203A148 != NULL) + if (sFlyMap != NULL) { - free(gUnknown_0203A148); - gUnknown_0203A148 = NULL; + free(sFlyMap); + sFlyMap = NULL; } FreeAllWindowBuffers(); } diff --git a/src/rotating_gate.c b/src/rotating_gate.c index 1f5ef165f..fcced6c8c 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -189,12 +189,6 @@ struct RotatingGatePuzzle u8 orientation; }; -struct Coords8 -{ - s8 deltaX; - s8 deltaY; -}; - // .rodata // Fortree static const struct RotatingGatePuzzle sRotatingGate_FortreePuzzleConfig[] = diff --git a/src/scrcmd.c b/src/scrcmd.c index a15ad666c..01d04704a 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1515,7 +1515,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) xText = (xWindow - xText - 1) * 8 + 3; yText = (yText - yWindow - 1) * 8; - winTemplate = sub_8198A50(0, xWindow, yWindow + 1, width, height, 0xF, 0x1); + winTemplate = CreateWindowTemplate(0, xWindow, yWindow + 1, width, height, 0xF, 0x1); gUnknown_03000F30 = AddWindow(&winTemplate); LoadUserWindowBorderGfx(gUnknown_03000F30, 0x214, 0xE0); NewMenuHelpers_DrawStdWindowFrame(gUnknown_03000F30, 0); diff --git a/src/wallclock.c b/src/wallclock.c index 9b96d416c..3d95d75ac 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -602,7 +602,7 @@ static void WallClockInit(void) ShowBg(3); } -void Cb2_StartWallClock(void) +void CB2_StartWallClock(void) { u8 taskId; u8 spriteId; @@ -644,7 +644,7 @@ void Cb2_StartWallClock(void) schedule_bg_copy_tilemap_to_vram(2); } -void Cb2_ViewWallClock(void) +void CB2_ViewWallClock(void) { u8 taskId; u8 spriteId; diff --git a/sym_common.txt b/sym_common.txt index 3fa302968..0158b7615 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -91,8 +91,7 @@ gUnknown_030061C0: @ 30061C0 gUnknown_030061C4: @ 30061C4 .space 0xC -gUnknown_030061D0: @ 30061D0 - .space 0x18 + .include "field_specials.o" gCB2_AfterEvolution: @ 30061E8 .space 0x4 diff --git a/sym_ewram.txt b/sym_ewram.txt index 9a08597a8..37a34b19a 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -603,55 +603,7 @@ gPlayerFacingPosition: @ 203AB40 .space 0x8 .include "src/pokeblock.o" - -gBikeCyclingChallenge: @ 203AB54 - .space 0x1 - -gBikeCollisions: @ 203AB55 - .space 0x3 - -gUnknown_0203AB58: @ 203AB58 - .space 0x4 - -gUnknown_0203AB5C: @ 203AB5C - .space 0x1 - -gUnknown_0203AB5D: @ 203AB5D - .space 0x1 - -gUnknown_0203AB5E: @ 203AB5E - .space 0x2 - -gUnknown_0203AB60: @ 203AB60 - .space 0x2 - -gUnknown_0203AB62: @ 203AB62 - .space 0x2 - -gUnknown_0203AB64: @ 203AB64 - .space 0x4 - -gUnknown_0203AB68: @ 203AB68 - .space 0x2 - -gUnknown_0203AB6A: @ 203AB6A - .space 0x2 - -gUnknown_0203AB6C: @ 203AB6C - .space 0x1 - -gUnknown_0203AB6D: @ 203AB6D - .space 0x1 - -gUnknown_0203AB6E: @ 203AB6E - .space 0x1 - -gUnknown_0203AB6F: @ 203AB6F - .space 0x1 - -gUnknown_0203AB70: @ 203AB70 - .space 0x4 - + .include "src/field_specials.o" .include "src/battle_records.o" gUnknown_0203AB7C: @ 203AB7C diff --git a/tools/aif2pcm/Makefile b/tools/aif2pcm/Makefile index 967930c59..e5cb6ad31 100644 --- a/tools/aif2pcm/Makefile +++ b/tools/aif2pcm/Makefile @@ -1,6 +1,6 @@ CC = gcc -CFLAGS = -Wall -Wextra -Wno-switch -Werror -std=c11 -O2 -s +CFLAGS = -Wall -Wextra -Wno-switch -Werror -std=c11 -O2 LIBS = -lm diff --git a/tools/aif2pcm/main.c b/tools/aif2pcm/main.c index fbb024a1d..51dbf1bb9 100644 --- a/tools/aif2pcm/main.c +++ b/tools/aif2pcm/main.c @@ -469,12 +469,12 @@ do { \ void aif2pcm(const char *aif_filename, const char *pcm_filename, bool compress) { struct Bytes *aif = read_bytearray(aif_filename); - AifData aif_data = {0}; + AifData aif_data = {0,0,0,0,0,0,0}; read_aif(aif, &aif_data); int header_size = 0x10; struct Bytes *pcm; - struct Bytes output = {0}; + struct Bytes output = {0,0}; if (compress) { diff --git a/tools/bin2c/Makefile b/tools/bin2c/Makefile index 4cc23a25a..73f78980e 100644 --- a/tools/bin2c/Makefile +++ b/tools/bin2c/Makefile @@ -1,6 +1,6 @@ CC = gcc -CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 .PHONY: clean diff --git a/tools/gbagfx/Makefile b/tools/gbagfx/Makefile index d791dabb5..6f11b1b3f 100644 --- a/tools/gbagfx/Makefile +++ b/tools/gbagfx/Makefile @@ -1,6 +1,6 @@ CC = gcc -CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK LIBS = -lpng -lz diff --git a/tools/mid2agb/Makefile b/tools/mid2agb/Makefile index f27f2cad4..7fd5d5fc8 100644 --- a/tools/mid2agb/Makefile +++ b/tools/mid2agb/Makefile @@ -1,6 +1,6 @@ CXX := g++ -CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror +CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror SRCS := agb.cpp error.cpp main.cpp midi.cpp tables.cpp diff --git a/tools/preproc/Makefile b/tools/preproc/Makefile index ec4a5f365..3d3275819 100644 --- a/tools/preproc/Makefile +++ b/tools/preproc/Makefile @@ -1,6 +1,6 @@ CXX := g++ -CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror +CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror SRCS := asm_file.cpp c_file.cpp charmap.cpp preproc.cpp string_parser.cpp \ utf8.cpp diff --git a/tools/ramscrgen/Makefile b/tools/ramscrgen/Makefile index cc6d458ba..9aa309aa1 100644 --- a/tools/ramscrgen/Makefile +++ b/tools/ramscrgen/Makefile @@ -1,6 +1,6 @@ CXX := g++ -CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror +CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror SRCS := main.cpp sym_file.cpp elf.cpp diff --git a/tools/rsfont/Makefile b/tools/rsfont/Makefile index a78beca50..582be7b88 100644 --- a/tools/rsfont/Makefile +++ b/tools/rsfont/Makefile @@ -1,6 +1,6 @@ CC = gcc -CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK LIBS = -lpng -lz diff --git a/tools/scaninc/Makefile b/tools/scaninc/Makefile index 3e1c031a8..367a3350b 100644 --- a/tools/scaninc/Makefile +++ b/tools/scaninc/Makefile @@ -1,6 +1,6 @@ CXX = g++ -CXXFLAGS = -Wall -Werror -std=c++11 -O2 -s +CXXFLAGS = -Wall -Werror -std=c++11 -O2 SRCS = scaninc.cpp c_file.cpp asm_file.cpp |