diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2019-10-24 17:22:11 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-24 17:22:11 -0400 |
commit | 7579fc65c12bd46c045d10eb8cd9a2320fd1f3f0 (patch) | |
tree | b8b08638a6d8ae195dbdc4b17d1e91a6d301b073 | |
parent | 6e36c229200e083ca005cbc448e99210d111f3b2 (diff) | |
parent | 4fae71a4b0723fac867cbeb439feb3fc71664f0e (diff) |
Merge pull request #132 from PikalaxALT/field_specials
Field specials
143 files changed, 4023 insertions, 6664 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s index bb696b4ab..5e342a50f 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -11209,7 +11209,7 @@ _080157E0: ands r1, r0 cmp r1, 0 beq _08015824 - bl sub_80803CC + bl ScrSpecial_GetTrainerBattleMode lsls r0, 24 lsrs r0, 24 cmp r0, 0x9 diff --git a/asm/battle_message.s b/asm/battle_message.s index bd1011f9a..a7a52f5f7 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -1802,7 +1802,7 @@ _080D8120: cmp r1, 0 beq _080D8134 mov r0, sp - bl sub_80E7460 + bl CopyEReaderTrainerName5 mov r4, sp b _080D8382 _080D8134: diff --git a/asm/battle_setup.s b/asm/battle_setup.s index e8e0071db..5b2dd8144 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -291,8 +291,8 @@ sub_807F868: @ 807F868 bx r0 thumb_func_end sub_807F868 - thumb_func_start sub_807F888 -sub_807F888: @ 807F888 + thumb_func_start ScrSpecial_StartOldManTutorialBattle +ScrSpecial_StartOldManTutorialBattle: @ 807F888 push {lr} ldr r0, _0807F8B4 @ =gEnemyParty movs r1, 0xD @@ -316,7 +316,7 @@ _0807F8B4: .4byte gEnemyParty _0807F8B8: .4byte gMain _0807F8BC: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic _0807F8C0: .4byte gBattleTypeFlags - thumb_func_end sub_807F888 + thumb_func_end ScrSpecial_StartOldManTutorialBattle thumb_func_start BattleSetup_StartScriptedWildBattle BattleSetup_StartScriptedWildBattle: @ 807F8C4 @@ -346,8 +346,8 @@ _0807F8FC: .4byte sub_807FBA0 _0807F900: .4byte gBattleTypeFlags thumb_func_end BattleSetup_StartScriptedWildBattle - thumb_func_start sub_807F904 -sub_807F904: @ 807F904 + thumb_func_start ScrSpecial_StartMarowakBattle +ScrSpecial_StartMarowakBattle: @ 807F904 push {lr} sub sp, 0xC bl ScriptContext2_Enable @@ -408,10 +408,10 @@ _0807F960: _0807F98C: .4byte gBattleTypeFlags _0807F990: .4byte gEnemyParty _0807F994: .4byte gUnknown_841D148 - thumb_func_end sub_807F904 + thumb_func_end ScrSpecial_StartMarowakBattle - thumb_func_start sub_807F998 -sub_807F998: @ 807F998 + thumb_func_start ScrSpecial_StartSouthernIslandBattle +ScrSpecial_StartSouthernIslandBattle: @ 807F998 push {lr} bl ScriptContext2_Enable ldr r1, _0807F9CC @ =gMain @@ -436,10 +436,10 @@ sub_807F998: @ 807F998 _0807F9CC: .4byte gMain _0807F9D0: .4byte sub_807FBA0 _0807F9D4: .4byte gBattleTypeFlags - thumb_func_end sub_807F998 + thumb_func_end ScrSpecial_StartSouthernIslandBattle - thumb_func_start sub_807F9D8 -sub_807F9D8: @ 807F9D8 + thumb_func_start Special_StartLegendaryBattle +Special_StartLegendaryBattle: @ 807F9D8 push {lr} bl ScriptContext2_Enable ldr r1, _0807FA0C @ =gMain @@ -508,10 +508,10 @@ _0807FA56: bl IncrementGameStat pop {r0} bx r0 - thumb_func_end sub_807F9D8 + thumb_func_end Special_StartLegendaryBattle - thumb_func_start sub_807FA68 -sub_807FA68: @ 807FA68 + thumb_func_start Special_StartGroudonKyogreBattle +Special_StartGroudonKyogreBattle: @ 807FA68 push {lr} bl ScriptContext2_Enable ldr r1, _0807FA90 @ =gMain @@ -547,10 +547,10 @@ _0807FAAA: bl IncrementGameStat pop {r0} bx r0 - thumb_func_end sub_807FA68 + thumb_func_end Special_StartGroudonKyogreBattle - thumb_func_start sub_807FABC -sub_807FABC: @ 807FABC + thumb_func_start Special_StartRegiBattle +Special_StartRegiBattle: @ 807FABC push {lr} bl ScriptContext2_Enable ldr r1, _0807FAEC @ =gMain @@ -574,7 +574,7 @@ sub_807FABC: @ 807FABC _0807FAEC: .4byte gMain _0807FAF0: .4byte sub_807FBA0 _0807FAF4: .4byte gBattleTypeFlags - thumb_func_end sub_807FABC + thumb_func_end Special_StartRegiBattle thumb_func_start sub_807FAF8 sub_807FAF8: @ 807FAF8 @@ -1717,14 +1717,14 @@ _080803C4: .4byte gSelectedEventObject _080803C8: .4byte gMapObjects thumb_func_end sub_8080398 - thumb_func_start sub_80803CC -sub_80803CC: @ 80803CC + thumb_func_start ScrSpecial_GetTrainerBattleMode +ScrSpecial_GetTrainerBattleMode: @ 80803CC ldr r0, _080803D4 @ =gUnknown_20386AC ldrb r0, [r0] bx lr .align 2, 0 _080803D4: .4byte gUnknown_20386AC - thumb_func_end sub_80803CC + thumb_func_end ScrSpecial_GetTrainerBattleMode thumb_func_start sub_80803D8 sub_80803D8: @ 80803D8 @@ -1817,7 +1817,7 @@ BattleSetup_StartTrainerBattle: @ 8080464 ldr r4, _080804A0 @ =gBattleTypeFlags movs r0, 0x8 str r0, [r4] - bl sub_80803CC + bl ScrSpecial_GetTrainerBattleMode lsls r0, 24 lsrs r0, 24 cmp r0, 0x9 @@ -1964,8 +1964,8 @@ _080805A6: _080805AC: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic thumb_func_end sub_8080558 - thumb_func_start sub_80805B0 -sub_80805B0: @ 80805B0 + thumb_func_start ScrSpecial_StartTrainerEyeRematch +ScrSpecial_StartTrainerEyeRematch: @ 80805B0 push {lr} ldr r1, _080805CC @ =gBattleTypeFlags movs r0, 0x8 @@ -1981,16 +1981,16 @@ sub_80805B0: @ 80805B0 _080805CC: .4byte gBattleTypeFlags _080805D0: .4byte gMain _080805D4: .4byte sub_8080558 - thumb_func_end sub_80805B0 + thumb_func_end ScrSpecial_StartTrainerEyeRematch - thumb_func_start sub_80805D8 -sub_80805D8: @ 80805D8 + thumb_func_start ScrSpecial_ShowTrainerIntroSpeech +ScrSpecial_ShowTrainerIntroSpeech: @ 80805D8 push {lr} bl sub_80806D8 bl ShowFieldMessage pop {r0} bx r0 - thumb_func_end sub_80805D8 + thumb_func_end ScrSpecial_ShowTrainerIntroSpeech thumb_func_start BattleSetup_GetScriptAddrAfterBattle BattleSetup_GetScriptAddrAfterBattle: @ 80805E8 @@ -2024,14 +2024,14 @@ _08080610: .4byte gUnknown_20386C8 _08080614: .4byte EventScript_1C555B thumb_func_end BattleSetup_GetTrainerPostBattleScript - thumb_func_start sub_8080618 -sub_8080618: @ 8080618 + thumb_func_start ScrSpecial_ShowTrainerNonBattlingSpeech +ScrSpecial_ShowTrainerNonBattlingSpeech: @ 8080618 push {lr} bl sub_8080734 bl ShowFieldMessage pop {r0} bx r0 - thumb_func_end sub_8080618 + thumb_func_end ScrSpecial_ShowTrainerNonBattlingSpeech thumb_func_start PlayTrainerEncounterMusic PlayTrainerEncounterMusic: @ 8080628 diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 08fefffbc..72cba63a3 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -358,8 +358,8 @@ _080E5C20: .4byte gSaveBlock2Ptr _080E5C24: .4byte 0x0000056c thumb_func_end sub_80E5B14 - thumb_func_start sub_80E5C28 -sub_80E5C28: @ 80E5C28 + thumb_func_start ChooseNextBattleTowerTrainer +ChooseNextBattleTowerTrainer: @ 80E5C28 push {r4-r7,lr} mov r7, r8 push {r7} @@ -637,7 +637,7 @@ _080E5E4C: .4byte 0x00000572 _080E5E50: .4byte gSaveBlock2Ptr _080E5E54: .4byte 0x0000056c _080E5E58: .4byte 0x00000571 - thumb_func_end sub_80E5C28 + thumb_func_end ChooseNextBattleTowerTrainer thumb_func_start sub_80E5E5C sub_80E5E5C: @ 80E5E5C @@ -651,14 +651,14 @@ sub_80E5E5C: @ 80E5E5C _080E5E6C: .4byte 0x00004010 thumb_func_end sub_80E5E5C - thumb_func_start sub_80E5E70 -sub_80E5E70: @ 80E5E70 + thumb_func_start SetEReaderTrainerGfxId +SetEReaderTrainerGfxId: @ 80E5E70 push {lr} movs r0, 0xC8 bl sub_80E5E5C pop {r0} bx r0 - thumb_func_end sub_80E5E70 + thumb_func_end SetEReaderTrainerGfxId thumb_func_start sub_80E5E7C sub_80E5E7C: @ 80E5E7C @@ -1700,8 +1700,8 @@ _080E6640: .4byte gUnknown_84020C4 _080E6644: .4byte 0x0000ffff thumb_func_end sub_80E6564 - thumb_func_start sub_80E6648 -sub_80E6648: @ 80E6648 + thumb_func_start CheckPartyBattleTowerBanlist +CheckPartyBattleTowerBanlist: @ 80E6648 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1854,7 +1854,7 @@ _080E6770: _080E6780: .4byte gSpecialVar_0x8004 _080E6784: .4byte gSaveBlock2Ptr _080E6788: .4byte 0x0000055c - thumb_func_end sub_80E6648 + thumb_func_end CheckPartyBattleTowerBanlist thumb_func_start sub_80E678C sub_80E678C: @ 80E678C @@ -1918,8 +1918,8 @@ _080E67F0: _080E67F8: .4byte gStringVar4 thumb_func_end sub_80E678C - thumb_func_start sub_80E67FC -sub_80E67FC: @ 80E67FC + thumb_func_start PrintBattleTowerTrainerGreeting +PrintBattleTowerTrainerGreeting: @ 80E67FC push {lr} ldr r0, _080E6818 @ =gSaveBlock2Ptr ldr r2, [r0] @@ -1962,7 +1962,7 @@ _080E684C: bx r0 .align 2, 0 _080E6850: .4byte 0xffffc154 - thumb_func_end sub_80E67FC + thumb_func_end PrintBattleTowerTrainerGreeting thumb_func_start sub_80E6854 sub_80E6854: @ 80E6854 @@ -2048,8 +2048,8 @@ _080E68F8: .4byte sub_80E6854 _080E68FC: .4byte sub_800FD9C thumb_func_end sub_80E68C4 - thumb_func_start sub_80E6900 -sub_80E6900: @ 80E6900 + thumb_func_start StartSpecialBattle +StartSpecialBattle: @ 80E6900 push {r4-r6,lr} sub sp, 0x4 ldr r0, _080E691C @ =gUnknown_203AAB8 @@ -2168,10 +2168,10 @@ _080E69FC: .4byte gBattleTypeFlags _080E6A00: .4byte 0x00000808 _080E6A04: .4byte gTrainerBattleOpponent_A _080E6A08: .4byte sub_80E68C4 - thumb_func_end sub_80E6900 + thumb_func_end StartSpecialBattle - thumb_func_start sub_80E6A0C -sub_80E6A0C: @ 80E6A0C + thumb_func_start SetBattleTowerProperty +SetBattleTowerProperty: @ 80E6A0C push {r4-r6,lr} ldr r1, _080E6A34 @ =gSaveBlock2Ptr ldr r0, [r1] @@ -2469,10 +2469,10 @@ _080E6C80: bx r0 .align 2, 0 _080E6C88: .4byte 0x0000055c - thumb_func_end sub_80E6A0C + thumb_func_end SetBattleTowerProperty - thumb_func_start sub_80E6C8C -sub_80E6C8C: @ 80E6C8C + thumb_func_start BattleTowerUtil +BattleTowerUtil: @ 80E6C8C push {r4,lr} ldr r1, _080E6CB4 @ =gSaveBlock2Ptr ldr r0, [r1] @@ -2652,10 +2652,10 @@ _080E6E08: bx r0 .align 2, 0 _080E6E10: .4byte 0x0000055c - thumb_func_end sub_80E6C8C + thumb_func_end BattleTowerUtil - thumb_func_start sub_80E6E14 -sub_80E6E14: @ 80E6E14 + thumb_func_start SetBattleTowerParty +SetBattleTowerParty: @ 80E6E14 push {r4,r5,lr} movs r2, 0 ldr r5, _080E6E3C @ =gUnknown_203B0D4 @@ -2671,7 +2671,7 @@ _080E6E1E: adds r2, 0x1 cmp r2, 0x2 ble _080E6E1E - bl sub_80A03D8 + bl ReducePlayerPartyToThree pop {r4,r5} pop {r0} bx r0 @@ -2679,7 +2679,7 @@ _080E6E1E: _080E6E3C: .4byte gUnknown_203B0D4 _080E6E40: .4byte gSaveBlock2Ptr _080E6E44: .4byte 0x0000056d - thumb_func_end sub_80E6E14 + thumb_func_end SetBattleTowerParty thumb_func_start sub_80E6E48 sub_80E6E48: @ 80E6E48 @@ -2858,8 +2858,8 @@ _080E6FB0: .4byte 0x0000056d _080E6FB4: .4byte gUnknown_2024220 thumb_func_end sub_80E6EE0 - thumb_func_start sub_80E6FB8 -sub_80E6FB8: @ 80E6FB8 + thumb_func_start SaveBattleTowerProgress +SaveBattleTowerProgress: @ 80E6FB8 push {r4,r5,lr} ldr r0, _080E703C @ =gSaveBlock2Ptr ldr r1, [r0] @@ -2933,15 +2933,15 @@ _080E7048: .4byte 0x00000564 _080E704C: .4byte gBattleOutcome _080E7050: .4byte 0x0000055d _080E7054: .4byte 0x0000055e - thumb_func_end sub_80E6FB8 + thumb_func_end SaveBattleTowerProgress - thumb_func_start sub_80E7058 -sub_80E7058: @ 80E7058 + thumb_func_start BattleTower_SoftReset +BattleTower_SoftReset: @ 80E7058 push {lr} bl DoSoftReset pop {r0} bx r0 - thumb_func_end sub_80E7058 + thumb_func_end BattleTower_SoftReset thumb_func_start sub_80E7064 sub_80E7064: @ 80E7064 @@ -3142,8 +3142,8 @@ _080E71C8: .4byte 0x0000ffff _080E71CC: .4byte 0x0000270f thumb_func_end sub_80E7188 - thumb_func_start sub_80E71D0 -sub_80E71D0: @ 80E71D0 + thumb_func_start DetermineBattleTowerPrize +DetermineBattleTowerPrize: @ 80E71D0 push {r4,r5,lr} ldr r4, _080E7214 @ =gSaveBlock2Ptr ldr r1, [r4] @@ -3201,10 +3201,10 @@ _080E7240: bx r0 .align 2, 0 _080E7248: .4byte gUnknown_84020DA - thumb_func_end sub_80E71D0 + thumb_func_end DetermineBattleTowerPrize - thumb_func_start sub_80E724C -sub_80E724C: @ 80E724C + thumb_func_start GiveBattleTowerPrize +GiveBattleTowerPrize: @ 80E724C push {r4-r6,lr} ldr r5, _080E7288 @ =gSaveBlock2Ptr ldr r1, [r5] @@ -3255,10 +3255,10 @@ _080E72AA: .align 2, 0 _080E72B0: .4byte gSpecialVar_Result _080E72B4: .4byte 0x0000055e - thumb_func_end sub_80E724C + thumb_func_end GiveBattleTowerPrize - thumb_func_start sub_80E72B8 -sub_80E72B8: @ 80E72B8 + thumb_func_start AwardBattleTowerRibbons +AwardBattleTowerRibbons: @ 80E72B8 push {r4-r7,lr} ldr r0, _080E7334 @ =gSaveBlock2Ptr ldr r0, [r0] @@ -3328,7 +3328,7 @@ _080E7338: .4byte 0x0000055c _080E733C: .4byte gSpecialVar_Result _080E7340: .4byte 0x0000056d _080E7344: .4byte gPlayerParty - thumb_func_end sub_80E72B8 + thumb_func_end AwardBattleTowerRibbons thumb_func_start sub_80E7348 sub_80E7348: @ 80E7348 @@ -3469,8 +3469,8 @@ _080E7458: .4byte gSaveBlock2Ptr _080E745C: .4byte 0x000004a1 thumb_func_end GetEreaderTrainerClassId - thumb_func_start sub_80E7460 -sub_80E7460: @ 80E7460 + thumb_func_start CopyEReaderTrainerName5 +CopyEReaderTrainerName5: @ 80E7460 push {r4,lr} adds r3, r0, 0 movs r2, 0 @@ -3495,7 +3495,7 @@ _080E746E: .align 2, 0 _080E7488: .4byte gSaveBlock2Ptr _080E748C: .4byte 0x000004a4 - thumb_func_end sub_80E7460 + thumb_func_end CopyEReaderTrainerName5 thumb_func_start ValidateEReaderTrainer ValidateEReaderTrainer: @ 80E7490 @@ -3594,8 +3594,8 @@ _080E752A: bx r0 thumb_func_end sub_80E7524 - thumb_func_start sub_80E7538 -sub_80E7538: @ 80E7538 + thumb_func_start PrintEReaderTrainerGreeting +PrintEReaderTrainerGreeting: @ 80E7538 push {lr} ldr r0, _080E754C @ =gSaveBlock2Ptr ldr r0, [r0] @@ -3607,7 +3607,7 @@ sub_80E7538: @ 80E7538 bx r0 .align 2, 0 _080E754C: .4byte gSaveBlock2Ptr - thumb_func_end sub_80E7538 + thumb_func_end PrintEReaderTrainerGreeting thumb_func_start sub_80E7550 sub_80E7550: @ 80E7550 @@ -3649,8 +3649,8 @@ _080E7594: .4byte gSaveBlock2Ptr _080E7598: .4byte 0x000004bc thumb_func_end sub_80E7550 - thumb_func_start sub_80E759C -sub_80E759C: @ 80E759C + thumb_func_start Dummy_TryEnableBravoTrainerBattleTower +Dummy_TryEnableBravoTrainerBattleTower: @ 80E759C push {lr} movs r0, 0x1 _080E75A0: @@ -3659,6 +3659,6 @@ _080E75A0: bge _080E75A0 pop {r0} bx r0 - thumb_func_end sub_80E759C + thumb_func_end Dummy_TryEnableBravoTrainerBattleTower .align 2, 0 @ Don't pad with nop. diff --git a/asm/cable_club.s b/asm/cable_club.s index 76346a28c..4c265b65f 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -1625,7 +1625,7 @@ _08081404: .align 2, 0 _0808140C: .4byte gBattleTypeFlags _08081410: - bl sub_80A03D8 + bl ReducePlayerPartyToThree ldr r1, _08081440 @ =gBattleTypeFlags movs r0, 0x4B _08081418: @@ -1848,7 +1848,7 @@ _080815D4: .align 2, 0 _080815DC: .4byte gBattleTypeFlags _080815E0: - bl sub_80A03D8 + bl ReducePlayerPartyToThree ldr r1, _08081610 @ =gBattleTypeFlags movs r0, 0x4B _080815E8: diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 26d7ac8bc..0daa8b2bc 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -576,8 +576,8 @@ _080BDB14: .4byte 0x00002cc4 _080BDB18: .4byte gStringVar4 thumb_func_end sub_80BDA7C - thumb_func_start sub_80BDB1C -sub_80BDB1C: @ 80BDB1C + thumb_func_start BufferRandomHobbyOrLifestyleString +BufferRandomHobbyOrLifestyleString: @ 80BDB1C push {lr} bl Random movs r1, 0x1 @@ -597,7 +597,7 @@ _080BDB2E: bx r0 .align 2, 0 _080BDB44: .4byte gStringVar2 - thumb_func_end sub_80BDB1C + thumb_func_end BufferRandomHobbyOrLifestyleString thumb_func_start sub_80BDB48 sub_80BDB48: @ 80BDB48 diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 842c9c33e..c265d7d01 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -366,9 +366,9 @@ sub_806CAC8: @ 806CAC8 bl IncrementGameStat bl MENewsJisanStepCounter bl IncrementRenewableHiddenItemStepCounter - bl sub_80CC918 - bl sub_80CB054 - bl sub_80CCFBC + bl RunMassageCooldownStepCounter + bl IncrementResortGorgeousStepCounter + bl BirthIslandDeoxysStepCounter mov r0, sp adds r1, r4, 0 adds r2, r6, 0 diff --git a/asm/field_specials.s b/asm/field_specials.s deleted file mode 100644 index 653923fda..000000000 --- a/asm/field_specials.s +++ /dev/null @@ -1,5732 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80CA618 -sub_80CA618: @ 80CA618 - push {lr} - bl sub_8112364 - ldr r0, _080CA62C @ =CB2_ShowDiploma - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_080CA62C: .4byte CB2_ShowDiploma - thumb_func_end sub_80CA618 - - thumb_func_start sub_80CA630 -sub_80CA630: @ 80CA630 - push {r4,lr} - ldr r0, _080CA65C @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CA644 - movs r0, 0x2 - bl SetPlayerAvatarTransitionFlags -_080CA644: - movs r4, 0x8D - lsls r4, 1 - adds r0, r4, 0 - bl Overworld_SetSavedMusic - adds r0, r4, 0 - bl Overworld_ChangeMusicTo - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA65C: .4byte gPlayerAvatar - thumb_func_end sub_80CA630 - - thumb_func_start nullsub_74 -nullsub_74: @ 80CA660 - bx lr - thumb_func_end nullsub_74 - - thumb_func_start sub_80CA664 -sub_80CA664: @ 80CA664 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080CA676 - movs r0, 0x1 - b _080CA688 -_080CA676: - movs r0, 0x2 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _080CA686 - movs r0, 0 - b _080CA688 -_080CA686: - movs r0, 0x2 -_080CA688: - pop {r1} - bx r1 - thumb_func_end sub_80CA664 - - thumb_func_start sub_80CA68C -sub_80CA68C: @ 80CA68C - push {lr} - ldr r0, _080CA698 @ =gStringVar4 - bl ShowFieldMessage - pop {r0} - bx r0 - .align 2, 0 -_080CA698: .4byte gStringVar4 - thumb_func_end sub_80CA68C - - thumb_func_start sub_80CA69C -sub_80CA69C: @ 80CA69C - ldr r1, _080CA6B0 @ =gSpecialVar_0x8004 - ldr r0, _080CA6B4 @ =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r2] - strh r0, [r1] - ldr r1, _080CA6B8 @ =gSpecialVar_0x8005 - ldrh r0, [r2, 0x2] - strh r0, [r1] - bx lr - .align 2, 0 -_080CA6B0: .4byte gSpecialVar_0x8004 -_080CA6B4: .4byte gSaveBlock1Ptr -_080CA6B8: .4byte gSpecialVar_0x8005 - thumb_func_end sub_80CA69C - - thumb_func_start sub_80CA6BC -sub_80CA6BC: @ 80CA6BC - push {lr} - ldr r0, _080CA6D8 @ =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 - .align 2, 0 -_080CA6D8: .4byte gSaveBlock2Ptr - thumb_func_end sub_80CA6BC - - thumb_func_start sub_80CA6DC -sub_80CA6DC: @ 80CA6DC - push {lr} - ldr r0, _080CA6F4 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _080CA700 - ldr r0, _080CA6F8 @ =gStringVar1 - ldr r1, _080CA6FC @ =gUnknown_8417FBB - bl StringCopy - b _080CA708 - .align 2, 0 -_080CA6F4: .4byte gSaveBlock2Ptr -_080CA6F8: .4byte gStringVar1 -_080CA6FC: .4byte gUnknown_8417FBB -_080CA700: - ldr r0, _080CA70C @ =gStringVar1 - ldr r1, _080CA710 @ =gUnknown_8417FC3 - bl StringCopy -_080CA708: - pop {r0} - bx r0 - .align 2, 0 -_080CA70C: .4byte gStringVar1 -_080CA710: .4byte gUnknown_8417FC3 - thumb_func_end sub_80CA6DC - - thumb_func_start sub_80CA714 -sub_80CA714: @ 80CA714 - push {lr} - ldr r0, _080CA72C @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _080CA738 - ldr r0, _080CA730 @ =gStringVar1 - ldr r1, _080CA734 @ =gUnknown_8417FD0 - bl StringCopy - b _080CA740 - .align 2, 0 -_080CA72C: .4byte gSaveBlock2Ptr -_080CA730: .4byte gStringVar1 -_080CA734: .4byte gUnknown_8417FD0 -_080CA738: - ldr r0, _080CA744 @ =gStringVar1 - ldr r1, _080CA748 @ =gUnknown_8417FCC - bl StringCopy -_080CA740: - pop {r0} - bx r0 - .align 2, 0 -_080CA744: .4byte gStringVar1 -_080CA748: .4byte gUnknown_8417FCC - thumb_func_end sub_80CA714 - - thumb_func_start Special_GetBattleOutcome -Special_GetBattleOutcome: @ 80CA74C - ldr r0, _080CA754 @ =gBattleOutcome - ldrb r0, [r0] - bx lr - .align 2, 0 -_080CA754: .4byte gBattleOutcome - thumb_func_end Special_GetBattleOutcome - - thumb_func_start Special_SetHiddenItemFlag -Special_SetHiddenItemFlag: @ 80CA758 - push {lr} - ldr r0, _080CA768 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_080CA768: .4byte gSpecialVar_0x8004 - thumb_func_end Special_SetHiddenItemFlag - - thumb_func_start sub_80CA76C -sub_80CA76C: @ 80CA76C - push {r4,lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, _080CA790 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xFF - bne _080CA794 - movs r0, 0x6 - b _080CA7E6 - .align 2, 0 -_080CA790: .4byte gPlayerParty -_080CA794: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xC7 - bls _080CA7A4 - movs r0, 0x5 - b _080CA7E6 -_080CA7A4: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x95 - bls _080CA7B4 - movs r0, 0x4 - b _080CA7E6 -_080CA7B4: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x63 - bls _080CA7C4 - movs r0, 0x3 - b _080CA7E6 -_080CA7C4: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x31 - bls _080CA7D4 - movs r0, 0x2 - b _080CA7E6 -_080CA7D4: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0 - bne _080CA7E4 - movs r0, 0 - b _080CA7E6 -_080CA7E4: - movs r0, 0x1 -_080CA7E6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80CA76C - - thumb_func_start sub_80CA7EC -sub_80CA7EC: @ 80CA7EC - push {lr} - bl sub_8112364 - ldr r1, _080CA800 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic - movs r0, 0x1 - bl sub_80BFF50 - pop {r0} - bx r0 - .align 2, 0 -_080CA800: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic - thumb_func_end sub_80CA7EC - - thumb_func_start sub_80CA804 -sub_80CA804: @ 80CA804 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _080CA850 @ =gBaseStats -_080CA80A: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _080CA854 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _080CA858 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080CA858 - 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 _080CA84C - ldrb r0, [r1, 0x7] - cmp r0, 0xC - bne _080CA858 -_080CA84C: - movs r0, 0x1 - b _080CA864 - .align 2, 0 -_080CA850: .4byte gBaseStats -_080CA854: .4byte gPlayerParty -_080CA858: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080CA80A - movs r0, 0 -_080CA864: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80CA804 - - thumb_func_start sub_80CA86C -sub_80CA86C: @ 80CA86C - push {r4,lr} - ldr r4, _080CA8A0 @ =sub_80CA8A8 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080CA89A - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CA8A4 @ =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] -_080CA89A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA8A0: .4byte sub_80CA8A8 -_080CA8A4: .4byte gTasks - thumb_func_end sub_80CA86C - - thumb_func_start sub_80CA8A8 -sub_80CA8A8: @ 80CA8A8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080CA8F4 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _080CA8E6 - ldrh r1, [r4] - movs r0, 0x1 - ands r0, r1 - bl sub_80CA8F8 - bl DrawWholeMapView - movs r0, 0 - strh r0, [r4, 0x2] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080CA8E6 - adds r0, r5, 0 - bl DestroyTask -_080CA8E6: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CA8F4: .4byte gTasks+0x8 - thumb_func_end sub_80CA8A8 - - thumb_func_start sub_80CA8F8 -sub_80CA8F8: @ 80CA8F8 - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - movs r4, 0 - movs r7, 0 - movs r5, 0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _080CA926 - cmp r0, 0x3 - bgt _080CA91C - cmp r0, 0x2 - beq _080CA922 - b _080CA92E -_080CA91C: - cmp r1, 0x4 - beq _080CA92A - b _080CA92E -_080CA922: - movs r7, 0 - b _080CA92C -_080CA926: - movs r7, 0xFF - b _080CA92C -_080CA92A: - movs r7, 0x1 -_080CA92C: - movs r5, 0xFF -_080CA92E: - cmp r6, 0 - beq _080CA954 - ldr r0, _080CA940 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _080CA944 - movs r4, 0x62 - b _080CA96E - .align 2, 0 -_080CA940: .4byte gSpecialVar_0x8004 -_080CA944: - cmp r0, 0x1 - beq _080CA94C - cmp r0, 0x2 - bne _080CA96E -_080CA94C: - ldr r4, _080CA950 @ =0x0000028f - b _080CA96E - .align 2, 0 -_080CA950: .4byte 0x0000028f -_080CA954: - ldr r0, _080CA960 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _080CA964 - movs r4, 0x63 - b _080CA96E - .align 2, 0 -_080CA960: .4byte gSpecialVar_0x8004 -_080CA964: - cmp r0, 0x1 - beq _080CA96C - cmp r0, 0x2 - bne _080CA96E -_080CA96C: - ldr r4, _080CA9A0 @ =0x0000028a -_080CA96E: - ldr r0, _080CA9A4 @ =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r7, 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 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CA9A0: .4byte 0x0000028a -_080CA9A4: .4byte gSaveBlock1Ptr - thumb_func_end sub_80CA8F8 - - thumb_func_start sub_80CA9A8 -sub_80CA9A8: @ 80CA9A8 - push {r4-r6,lr} - movs r4, 0 - movs r6, 0 - movs r5, 0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _080CA9D2 - cmp r0, 0x3 - bgt _080CA9C8 - cmp r0, 0x2 - beq _080CA9CE - b _080CA9DA -_080CA9C8: - cmp r1, 0x4 - beq _080CA9D6 - b _080CA9DA -_080CA9CE: - movs r6, 0 - b _080CA9D8 -_080CA9D2: - movs r6, 0xFF - b _080CA9D8 -_080CA9D6: - movs r6, 0x1 -_080CA9D8: - movs r5, 0xFF -_080CA9DA: - ldr r0, _080CA9E8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _080CA9EC - movs r4, 0x62 - b _080CA9F6 - .align 2, 0 -_080CA9E8: .4byte gSpecialVar_0x8004 -_080CA9EC: - cmp r0, 0x1 - beq _080CA9F4 - cmp r0, 0x2 - bne _080CA9F6 -_080CA9F4: - ldr r4, _080CAA2C @ =0x0000028f -_080CA9F6: - ldr r0, _080CAA30 @ =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 - .align 2, 0 -_080CAA2C: .4byte 0x0000028f -_080CAA30: .4byte gSaveBlock1Ptr - thumb_func_end sub_80CA9A8 - - thumb_func_start SpawnCameraObject -SpawnCameraObject: @ 80CAA34 - push {lr} - sub sp, 0x8 - ldr r0, _080CAA80 @ =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, 0x12 - movs r1, 0x8 - movs r2, 0x7F - bl SpawnSpecialFieldObjectParameterized - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CAA84 @ =gMapObjects - 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 - .align 2, 0 -_080CAA80: .4byte gSaveBlock1Ptr -_080CAA84: .4byte gMapObjects - thumb_func_end SpawnCameraObject - - thumb_func_start RemoveCameraObject -RemoveCameraObject: @ 80CAA88 - push {lr} - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, _080CAAA8 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveFieldObjectByLocalIdAndMap - pop {r0} - bx r0 - .align 2, 0 -_080CAAA8: .4byte gSaveBlock1Ptr - thumb_func_end RemoveCameraObject - - thumb_func_start sub_80CAAAC -sub_80CAAAC: @ 80CAAAC - push {lr} - ldr r0, _080CAAB8 @ =gStringVar1 - bl sub_80E7460 - pop {r0} - bx r0 - .align 2, 0 -_080CAAB8: .4byte gStringVar1 - thumb_func_end sub_80CAAAC - - thumb_func_start sub_80CAABC -sub_80CAABC: @ 80CAABC - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x16 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _080CAADC @ =gUnknown_83F5B1A - adds r0, r1 - ldrb r0, [r0] - pop {r1} - bx r1 - .align 2, 0 -_080CAADC: .4byte gUnknown_83F5B1A - thumb_func_end sub_80CAABC - - thumb_func_start LeadMonHasEffortRibbon -LeadMonHasEffortRibbon: @ 80CAAE0 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _080CAB04 @ =gPlayerParty - adds r0, r1 - movs r1, 0x47 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080CAB04: .4byte gPlayerParty - thumb_func_end LeadMonHasEffortRibbon - - thumb_func_start GivLeadMonEffortRibbon -GivLeadMonEffortRibbon: @ 80CAB08 - push {lr} - sub sp, 0x4 - movs r0, 0x2A - bl IncrementGameStat - ldr r0, _080CAB3C @ =0x0000083b - bl FlagSet - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _080CAB40 @ =gPlayerParty - adds r0, r1 - movs r1, 0x47 - mov r2, sp - bl SetMonData - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080CAB3C: .4byte 0x0000083b -_080CAB40: .4byte gPlayerParty - thumb_func_end GivLeadMonEffortRibbon - - thumb_func_start ScrSpecial_AreLeadMonEVsMaxedOut -ScrSpecial_AreLeadMonEVsMaxedOut: @ 80CAB44 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _080CAB68 @ =gPlayerParty - adds r0, r1 - bl GetMonEVCount - lsls r0, 16 - ldr r1, _080CAB6C @ =0x01fd0000 - cmp r0, r1 - bhi _080CAB70 - movs r0, 0 - b _080CAB72 - .align 2, 0 -_080CAB68: .4byte gPlayerParty -_080CAB6C: .4byte 0x01fd0000 -_080CAB70: - movs r0, 0x1 -_080CAB72: - pop {r1} - bx r1 - thumb_func_end ScrSpecial_AreLeadMonEVsMaxedOut - - thumb_func_start sub_80CAB78 -sub_80CAB78: @ 80CAB78 - push {r4-r6,lr} - ldr r0, _080CABB4 @ =0x00004031 - 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 _080CABC6 -_080CAB9A: - movs r0, 0x64 - muls r0, r4 - ldr r1, _080CABB8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, r6 - bne _080CABBC - movs r0, 0x1 - b _080CABC8 - .align 2, 0 -_080CABB4: .4byte 0x00004031 -_080CABB8: .4byte gPlayerParty -_080CABBC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _080CAB9A -_080CABC6: - movs r0, 0 -_080CABC8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80CAB78 - - thumb_func_start sub_80CABD0 -sub_80CABD0: @ 80CABD0 - push {r4-r6,lr} - movs r6, 0 -_080CABD4: - movs r4, 0 - lsls r5, r6, 24 -_080CABD8: - lsls r1, r4, 24 - lsrs r1, 24 - lsrs r0, r5, 24 - movs r2, 0xB - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - bne _080CABEC - movs r0, 0x1 - b _080CAC02 -_080CABEC: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _080CABD8 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0xD - bls _080CABD4 - movs r0, 0 -_080CAC02: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80CABD0 - - thumb_func_start sub_80CAC08 -sub_80CAC08: @ 80CAC08 - push {lr} - ldr r0, _080CAC1C @ =gPlayerParty - movs r1, 0x3F - bl CheckPartyPokerus - lsls r0, 24 - cmp r0, 0 - beq _080CAC20 - movs r0, 0x1 - b _080CAC22 - .align 2, 0 -_080CAC1C: .4byte gPlayerParty -_080CAC20: - movs r0, 0 -_080CAC22: - pop {r1} - bx r1 - thumb_func_end sub_80CAC08 - - thumb_func_start sub_80CAC28 -sub_80CAC28: @ 80CAC28 - push {lr} - ldr r0, _080CAC6C @ =sub_80CAC84 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CAC70 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080CAC74 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, _080CAC78 @ =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r1, 0xC] - ldr r0, _080CAC7C @ =gSpecialVar_0x8007 - ldrh r0, [r0] - strh r0, [r1, 0xE] - ldr r0, _080CAC80 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - strh r0, [r1, 0x10] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0xCF - bl PlaySE - pop {r0} - bx r0 - .align 2, 0 -_080CAC6C: .4byte sub_80CAC84 -_080CAC70: .4byte gTasks -_080CAC74: .4byte gSpecialVar_0x8005 -_080CAC78: .4byte gSpecialVar_0x8006 -_080CAC7C: .4byte gSpecialVar_0x8007 -_080CAC80: .4byte gSpecialVar_0x8004 - thumb_func_end sub_80CAC28 - - thumb_func_start sub_80CAC84 -sub_80CAC84: @ 80CAC84 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080CACE4 @ =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 _080CACDC - 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 _080CACDC - adds r0, r5, 0 - bl sub_80CACE8 - bl InstallCameraPanAheadCallback -_080CACDC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CACE4: .4byte gTasks+0x8 - thumb_func_end sub_80CAC84 - - thumb_func_start sub_80CACE8 -sub_80CACE8: @ 80CACE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80CACE8 - - thumb_func_start GetLeadMonIndex -GetLeadMonIndex: @ 80CACFC - push {r4-r6,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _080CAD4A -_080CAD0C: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _080CAD3C @ =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 _080CAD40 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _080CAD40 - adds r0, r5, 0 - b _080CAD4C - .align 2, 0 -_080CAD3C: .4byte gPlayerParty -_080CAD40: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _080CAD0C -_080CAD4A: - movs r0, 0 -_080CAD4C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLeadMonIndex - - thumb_func_start sub_80CAD54 -sub_80CAD54: @ 80CAD54 - push {lr} - ldr r0, _080CAD74 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080CAD78 @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_080CAD74: .4byte gSpecialVar_0x8004 -_080CAD78: .4byte gPlayerParty - thumb_func_end sub_80CAD54 - - thumb_func_start sub_80CAD7C -sub_80CAD7C: @ 80CAD7C - push {r4,lr} - ldr r0, _080CADA8 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080CADAC @ =gPlayerParty - adds r0, r1 - ldr r4, _080CADB0 @ =gStringVar1 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - ldr r0, _080CADB4 @ =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r4, 0 - bl StringCompare - cmp r0, 0 - beq _080CADB8 - movs r0, 0x1 - b _080CADBA - .align 2, 0 -_080CADA8: .4byte gSpecialVar_0x8004 -_080CADAC: .4byte gPlayerParty -_080CADB0: .4byte gStringVar1 -_080CADB4: .4byte gSaveBlock2Ptr -_080CADB8: - movs r0, 0 -_080CADBA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80CAD7C - - thumb_func_start nullsub_75 -nullsub_75: @ 80CADC0 - bx lr - thumb_func_end nullsub_75 - - thumb_func_start sub_80CADC4 -sub_80CADC4: @ 80CADC4 - push {lr} - sub sp, 0x10 - movs r1, 0xFF - add r0, sp, 0xC - strb r1, [r0] - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x2 - add r2, sp, 0xC - movs r3, 0 - bl AddTextPrinterParameterized - bl sub_809D424 - add sp, 0x10 - pop {r0} - bx r0 - thumb_func_end sub_80CADC4 - - thumb_func_start Special_SetVermilionTrashCans -Special_SetVermilionTrashCans: @ 80CADEC - push {r4,r5,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - bl __umodsi3 - adds r0, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, _080CAE20 @ =gSpecialVar_0x8004 - strh r2, [r1] - ldr r0, _080CAE24 @ =gSpecialVar_0x8005 - strh r2, [r0] - ldrh r0, [r1] - subs r0, 0x1 - cmp r0, 0xE - bls _080CAE14 - b _080CB01C -_080CAE14: - lsls r0, 2 - ldr r1, _080CAE28 @ =_080CAE2C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080CAE20: .4byte gSpecialVar_0x8004 -_080CAE24: .4byte gSpecialVar_0x8005 -_080CAE28: .4byte _080CAE2C - .align 2, 0 -_080CAE2C: - .4byte _080CAE68 - .4byte _080CAE90 - .4byte _080CAE90 - .4byte _080CAE90 - .4byte _080CAEC8 - .4byte _080CAEE8 - .4byte _080CAF28 - .4byte _080CAF28 - .4byte _080CAF28 - .4byte _080CAF68 - .4byte _080CAF9C - .4byte _080CAFC4 - .4byte _080CAFC4 - .4byte _080CAFC4 - .4byte _080CAFF8 -_080CAE68: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080CAE84 - ldr r1, _080CAE80 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - adds r0, 0x1 - b _080CB01A - .align 2, 0 -_080CAE80: .4byte gSpecialVar_0x8005 -_080CAE84: - ldr r1, _080CAE8C @ =gSpecialVar_0x8005 - ldrh r0, [r1] - adds r0, 0x5 - b _080CB01A - .align 2, 0 -_080CAE8C: .4byte gSpecialVar_0x8005 -_080CAE90: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - bne _080CAEB4 - ldr r1, _080CAEB0 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - adds r0, 0x1 - b _080CB01A - .align 2, 0 -_080CAEB0: .4byte gSpecialVar_0x8005 -_080CAEB4: - cmp r2, 0x1 - beq _080CAEBA - b _080CB014 -_080CAEBA: - ldr r1, _080CAEC4 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - adds r0, 0x5 - b _080CB01A - .align 2, 0 -_080CAEC4: .4byte gSpecialVar_0x8005 -_080CAEC8: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CAEDA - b _080CB014 -_080CAEDA: - ldr r1, _080CAEE4 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - adds r0, 0x5 - b _080CB01A - .align 2, 0 -_080CAEE4: .4byte gSpecialVar_0x8005 -_080CAEE8: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - bne _080CAF0C - ldr r1, _080CAF08 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - subs r0, 0x5 - b _080CB01A - .align 2, 0 -_080CAF08: .4byte gSpecialVar_0x8005 -_080CAF0C: - cmp r2, 0x1 - bne _080CAF1C - ldr r1, _080CAF18 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - adds r0, 0x1 - b _080CB01A - .align 2, 0 -_080CAF18: .4byte gSpecialVar_0x8005 -_080CAF1C: - ldr r1, _080CAF24 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - adds r0, 0x5 - b _080CB01A - .align 2, 0 -_080CAF24: .4byte gSpecialVar_0x8005 -_080CAF28: - bl Random - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r2, r1, 16 - cmp r2, 0 - bne _080CAF48 - ldr r1, _080CAF44 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - subs r0, 0x5 - b _080CB01A - .align 2, 0 -_080CAF44: .4byte gSpecialVar_0x8005 -_080CAF48: - cmp r2, 0x1 - bne _080CAF58 - ldr r1, _080CAF54 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - adds r0, 0x1 - b _080CB01A - .align 2, 0 -_080CAF54: .4byte gSpecialVar_0x8005 -_080CAF58: - cmp r2, 0x2 - bne _080CB014 - ldr r1, _080CAF64 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - adds r0, 0x5 - b _080CB01A - .align 2, 0 -_080CAF64: .4byte gSpecialVar_0x8005 -_080CAF68: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - bne _080CAF8C - ldr r1, _080CAF88 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - subs r0, 0x5 - b _080CB01A - .align 2, 0 -_080CAF88: .4byte gSpecialVar_0x8005 -_080CAF8C: - cmp r2, 0x1 - bne _080CB014 - ldr r1, _080CAF98 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - adds r0, 0x5 - b _080CB01A - .align 2, 0 -_080CAF98: .4byte gSpecialVar_0x8005 -_080CAF9C: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080CAFB8 - ldr r1, _080CAFB4 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - subs r0, 0x5 - b _080CB01A - .align 2, 0 -_080CAFB4: .4byte gSpecialVar_0x8005 -_080CAFB8: - ldr r1, _080CAFC0 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - adds r0, 0x1 - b _080CB01A - .align 2, 0 -_080CAFC0: .4byte gSpecialVar_0x8005 -_080CAFC4: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - bne _080CAFE8 - ldr r1, _080CAFE4 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - subs r0, 0x5 - b _080CB01A - .align 2, 0 -_080CAFE4: .4byte gSpecialVar_0x8005 -_080CAFE8: - cmp r2, 0x1 - bne _080CB014 - ldr r1, _080CAFF4 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - adds r0, 0x1 - b _080CB01A - .align 2, 0 -_080CAFF4: .4byte gSpecialVar_0x8005 -_080CAFF8: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080CB014 - ldr r1, _080CB010 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - subs r0, 0x5 - b _080CB01A - .align 2, 0 -_080CB010: .4byte gSpecialVar_0x8005 -_080CB014: - ldr r1, _080CB040 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - subs r0, 0x1 -_080CB01A: - strh r0, [r1] -_080CB01C: - ldr r5, _080CB040 @ =gSpecialVar_0x8005 - ldrh r0, [r5] - cmp r0, 0xF - bls _080CB04C - ldr r0, _080CB044 @ =gSpecialVar_0x8004 - ldrh r4, [r0] - adds r0, r4, 0 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _080CB048 - cmp r0, 0 - bne _080CB048 - subs r0, r4, 0x1 - b _080CB04A - .align 2, 0 -_080CB040: .4byte gSpecialVar_0x8005 -_080CB044: .4byte gSpecialVar_0x8004 -_080CB048: - adds r0, r4, 0x1 -_080CB04A: - strh r0, [r5] -_080CB04C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end Special_SetVermilionTrashCans - - thumb_func_start sub_80CB054 -sub_80CB054: @ 80CB054 - push {r4-r6,lr} - ldr r5, _080CB08C @ =0x00004035 - adds r0, r5, 0 - bl VarGet - lsls r0, 16 - lsrs r4, r0, 16 - ldr r6, _080CB090 @ =0x00004036 - adds r0, r6, 0 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080CB0A0 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0xF9 - bls _080CB098 - ldr r1, _080CB094 @ =0x0000ffff - adds r0, r6, 0 - bl VarSet - adds r0, r5, 0 - movs r1, 0 - bl VarSet - b _080CB0A0 - .align 2, 0 -_080CB08C: .4byte 0x00004035 -_080CB090: .4byte 0x00004036 -_080CB094: .4byte 0x0000ffff -_080CB098: - adds r0, r5, 0 - adds r1, r4, 0 - bl VarSet -_080CB0A0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80CB054 - - thumb_func_start sub_80CB0A8 -sub_80CB0A8: @ 80CB0A8 - push {r4,lr} - ldr r4, _080CB10C @ =0x00004036 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080CB0C0 - ldr r0, _080CB110 @ =0x0000ffff - cmp r1, r0 - bne _080CB0EA -_080CB0C0: - bl sub_80CB124 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet - ldr r4, _080CB114 @ =0x0000403b - bl sub_80CB198 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet - ldr r0, _080CB118 @ =0x00004035 - movs r1, 0 - bl VarSet -_080CB0EA: - ldr r4, _080CB11C @ =gStringVar1 - ldr r0, _080CB10C @ =0x00004036 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xB - muls r1, r0 - ldr r0, _080CB120 @ =gSpeciesNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CB10C: .4byte 0x00004036 -_080CB110: .4byte 0x0000ffff -_080CB114: .4byte 0x0000403b -_080CB118: .4byte 0x00004035 -_080CB11C: .4byte gStringVar1 -_080CB120: .4byte gSpeciesNames - thumb_func_end sub_80CB0A8 - - thumb_func_start sub_80CB124 -sub_80CB124: @ 80CB124 - push {r4,r5,lr} - movs r5, 0 -_080CB128: - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, _080CB160 @ =0x0000019b - bl __umodsi3 - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl GetSetPokedexFlag - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _080CB18E - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x63 - bls _080CB128 - b _080CB176 - .align 2, 0 -_080CB160: .4byte 0x0000019b -_080CB164: - cmp r4, 0x1 - bne _080CB170 - ldr r4, _080CB16C @ =0x0000019b - b _080CB176 - .align 2, 0 -_080CB16C: .4byte 0x0000019b -_080CB170: - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_080CB176: - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl GetSetPokedexFlag - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080CB164 -_080CB18E: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80CB124 - - thumb_func_start sub_80CB198 -sub_80CB198: @ 80CB198 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _080CB1D0 - ldr r4, _080CB1CC @ =gUnknown_83F5B30 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 15 - adds r0, r4 - ldrh r0, [r0] - b _080CB1D2 - .align 2, 0 -_080CB1CC: .4byte gUnknown_83F5B30 -_080CB1D0: - movs r0, 0xB -_080CB1D2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80CB198 - - thumb_func_start Special_CheckAddCoins -Special_CheckAddCoins: @ 80CB1D8 -@ addcoins but it's a dry run - push {lr} - ldr r0, _080CB1F0 @ =gSpecialVar_Result - ldrh r1, [r0] - ldr r0, _080CB1F4 @ =gSpecialVar_0x8006 - ldrh r0, [r0] - adds r1, r0 - ldr r0, _080CB1F8 @ =0x0000270f - cmp r1, r0 - bgt _080CB1FC - movs r0, 0x1 - b _080CB1FE - .align 2, 0 -_080CB1F0: .4byte gSpecialVar_Result -_080CB1F4: .4byte gSpecialVar_0x8006 -_080CB1F8: .4byte 0x0000270f -_080CB1FC: - movs r0, 0 -_080CB1FE: - pop {r1} - bx r1 - thumb_func_end Special_CheckAddCoins - - thumb_func_start Special_GetElevatorFloor -Special_GetElevatorFloor: @ 80CB204 - push {r4,lr} - movs r3, 0x4 - ldr r0, _080CB22C @ =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x14 - ldrsb r1, [r2, r1] - adds r4, r0, 0 - cmp r1, 0x1 - bne _080CB2AA - ldrb r0, [r2, 0x15] - subs r0, 0x2A - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xF - bhi _080CB2AA - lsls r0, 2 - ldr r1, _080CB230 @ =_080CB234 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080CB22C: .4byte gSaveBlock1Ptr -_080CB230: .4byte _080CB234 - .align 2, 0 -_080CB234: - .4byte _080CB2A0 - .4byte _080CB2A4 - .4byte _080CB2AA - .4byte _080CB2A8 - .4byte _080CB2AA - .4byte _080CB274 - .4byte _080CB278 - .4byte _080CB27C - .4byte _080CB280 - .4byte _080CB284 - .4byte _080CB288 - .4byte _080CB28C - .4byte _080CB290 - .4byte _080CB294 - .4byte _080CB298 - .4byte _080CB29C -_080CB274: - movs r3, 0x4 - b _080CB2AA -_080CB278: - movs r3, 0x5 - b _080CB2AA -_080CB27C: - movs r3, 0x6 - b _080CB2AA -_080CB280: - movs r3, 0x7 - b _080CB2AA -_080CB284: - movs r3, 0x8 - b _080CB2AA -_080CB288: - movs r3, 0x9 - b _080CB2AA -_080CB28C: - movs r3, 0xA - b _080CB2AA -_080CB290: - movs r3, 0xB - b _080CB2AA -_080CB294: - movs r3, 0xC - b _080CB2AA -_080CB298: - movs r3, 0xD - b _080CB2AA -_080CB29C: - movs r3, 0xE - b _080CB2AA -_080CB2A0: - movs r3, 0x3 - b _080CB2AA -_080CB2A4: - movs r3, 0x2 - b _080CB2AA -_080CB2A8: - movs r3, 0 -_080CB2AA: - ldr r1, [r4] - movs r0, 0x14 - ldrsb r0, [r1, r0] - cmp r0, 0xA - bne _080CB2F2 - movs r0, 0x15 - ldrsb r0, [r1, r0] - cmp r0, 0x4 - bhi _080CB2F2 - lsls r0, 2 - ldr r1, _080CB2C8 @ =_080CB2CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080CB2C8: .4byte _080CB2CC - .align 2, 0 -_080CB2CC: - .4byte _080CB2E0 - .4byte _080CB2E4 - .4byte _080CB2E8 - .4byte _080CB2EC - .4byte _080CB2F0 -_080CB2E0: - movs r3, 0x4 - b _080CB2F2 -_080CB2E4: - movs r3, 0x5 - b _080CB2F2 -_080CB2E8: - movs r3, 0x6 - b _080CB2F2 -_080CB2EC: - movs r3, 0x7 - b _080CB2F2 -_080CB2F0: - movs r3, 0x8 -_080CB2F2: - ldr r1, [r4] - movs r0, 0x14 - ldrsb r0, [r1, r0] - cmp r0, 0x2 - bne _080CB314 - movs r0, 0x15 - ldrsb r0, [r1, r0] - cmp r0, 0x1 - blt _080CB314 - cmp r0, 0x9 - ble _080CB30E - cmp r0, 0xA - beq _080CB312 - b _080CB314 -_080CB30E: - movs r3, 0xF - b _080CB314 -_080CB312: - movs r3, 0x3 -_080CB314: - ldr r0, _080CB324 @ =0x0000403a - adds r1, r3, 0 - bl VarSet - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CB324: .4byte 0x0000403a - thumb_func_end Special_GetElevatorFloor - - thumb_func_start sub_80CB328 -sub_80CB328: @ 80CB328 - push {r4-r6,lr} - ldr r3, _080CB35C @ =gUnknown_2039A0E - movs r0, 0 - strh r0, [r3] - ldr r1, _080CB360 @ =gUnknown_2039A10 - strh r0, [r1] - ldr r0, _080CB364 @ =gSaveBlock1Ptr - ldr r5, [r0] - movs r2, 0x14 - ldrsb r2, [r5, r2] - adds r4, r3, 0 - adds r3, r1, 0 - adds r6, r0, 0 - cmp r2, 0x1 - bne _080CB40C - ldrb r0, [r5, 0x15] - subs r0, 0x2A - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xF - bhi _080CB40C - lsls r0, 2 - ldr r1, _080CB368 @ =_080CB36C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080CB35C: .4byte gUnknown_2039A0E -_080CB360: .4byte gUnknown_2039A10 -_080CB364: .4byte gSaveBlock1Ptr -_080CB368: .4byte _080CB36C - .align 2, 0 -_080CB36C: - .4byte _080CB3F6 - .4byte _080CB3FC - .4byte _080CB40C - .4byte _080CB404 - .4byte _080CB40C - .4byte _080CB3F0 - .4byte _080CB3E8 - .4byte _080CB3E2 - .4byte _080CB3DA - .4byte _080CB3D2 - .4byte _080CB3CA - .4byte _080CB3C2 - .4byte _080CB3BA - .4byte _080CB404 - .4byte _080CB3B2 - .4byte _080CB3AC -_080CB3AC: - movs r0, 0 - strh r0, [r4] - b _080CB40A -_080CB3B2: - movs r0, 0 - strh r0, [r4] - movs r0, 0x1 - b _080CB40A -_080CB3BA: - movs r0, 0 - strh r0, [r4] - movs r0, 0x3 - b _080CB40A -_080CB3C2: - movs r0, 0 - strh r0, [r4] - movs r0, 0x4 - b _080CB40A -_080CB3CA: - movs r0, 0x1 - strh r0, [r4] - movs r0, 0x4 - b _080CB40A -_080CB3D2: - movs r0, 0x2 - strh r0, [r4] - movs r0, 0x4 - b _080CB40A -_080CB3DA: - movs r0, 0x3 - strh r0, [r4] - movs r0, 0x4 - b _080CB40A -_080CB3E2: - movs r0, 0x4 - strh r0, [r4] - b _080CB40A -_080CB3E8: - movs r0, 0x5 - strh r0, [r4] - movs r0, 0x4 - b _080CB40A -_080CB3F0: - movs r0, 0x5 - strh r0, [r4] - b _080CB40A -_080CB3F6: - movs r0, 0 - strh r0, [r4] - b _080CB40A -_080CB3FC: - movs r0, 0 - strh r0, [r4] - movs r0, 0x1 - b _080CB40A -_080CB404: - movs r0, 0 - strh r0, [r4] - movs r0, 0x2 -_080CB40A: - strh r0, [r3] -_080CB40C: - ldr r1, [r6] - movs r0, 0x14 - ldrsb r0, [r1, r0] - cmp r0, 0xA - bne _080CB466 - movs r0, 0x15 - ldrsb r0, [r1, r0] - cmp r0, 0x4 - bhi _080CB466 - lsls r0, 2 - ldr r1, _080CB428 @ =_080CB42C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080CB428: .4byte _080CB42C - .align 2, 0 -_080CB42C: - .4byte _080CB45E - .4byte _080CB456 - .4byte _080CB44E - .4byte _080CB446 - .4byte _080CB440 -_080CB440: - movs r0, 0 - strh r0, [r4] - b _080CB464 -_080CB446: - movs r0, 0 - strh r0, [r4] - movs r0, 0x1 - b _080CB464 -_080CB44E: - movs r0, 0 - strh r0, [r4] - movs r0, 0x2 - b _080CB464 -_080CB456: - movs r0, 0 - strh r0, [r4] - movs r0, 0x3 - b _080CB464 -_080CB45E: - movs r0, 0 - strh r0, [r4] - movs r0, 0x4 -_080CB464: - strh r0, [r3] -_080CB466: - ldr r1, [r6] - movs r0, 0x14 - ldrsb r0, [r1, r0] - cmp r0, 0x2 - bne _080CB490 - movs r0, 0x15 - ldrsb r0, [r1, r0] - cmp r0, 0x1 - blt _080CB490 - cmp r0, 0x9 - ble _080CB482 - cmp r0, 0xA - beq _080CB488 - b _080CB490 -_080CB482: - movs r0, 0 - strh r0, [r4] - b _080CB48E -_080CB488: - movs r0, 0 - strh r0, [r4] - movs r0, 0x1 -_080CB48E: - strh r0, [r3] -_080CB490: - ldrh r0, [r3] - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80CB328 - - thumb_func_start sub_80CB498 -sub_80CB498: @ 80CB498 - push {r4-r6,lr} - ldr r0, _080CB4D0 @ =sub_80CB514 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080CB4D4 @ =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, _080CB4D8 @ =gSpecialVar_0x8005 - ldr r1, _080CB4DC @ =gSpecialVar_0x8006 - ldrh r2, [r0] - ldrh r0, [r1] - cmp r2, r0 - bls _080CB4E0 - subs r0, r2, r0 - lsls r0, 16 - lsrs r5, r0, 16 - strh r6, [r4, 0xC] - b _080CB4E8 - .align 2, 0 -_080CB4D0: .4byte sub_80CB514 -_080CB4D4: .4byte gTasks+0x8 -_080CB4D8: .4byte gSpecialVar_0x8005 -_080CB4DC: .4byte gSpecialVar_0x8006 -_080CB4E0: - subs r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - strh r3, [r4, 0xC] -_080CB4E8: - cmp r5, 0x8 - bls _080CB4EE - movs r5, 0x8 -_080CB4EE: - ldr r0, _080CB510 @ =gUnknown_83F5BB8 - 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_80CB658 - movs r0, 0x52 - bl PlaySE - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CB510: .4byte gUnknown_83F5BB8 - thumb_func_end sub_80CB498 - - thumb_func_start sub_80CB514 -sub_80CB514: @ 80CB514 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080CB57C @ =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 _080CB574 - 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 _080CB574 - movs r0, 0x42 - bl PlaySE - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - bl InstallCameraPanAheadCallback -_080CB574: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CB57C: .4byte gTasks+0x8 - thumb_func_end sub_80CB514 - - thumb_func_start sub_80CB580 -sub_80CB580: @ 80CB580 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - ldr r0, _080CB620 @ =sub_809D6D4 - bl sub_81119D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080CB614 - ldr r4, _080CB624 @ =gUnknown_2039A0C - ldr r0, _080CB628 @ =gUnknown_83F5B3C - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - ldr r5, _080CB62C @ =0x0000021d - adds r1, r5, 0 - movs r2, 0xD0 - bl TextWindow_SetStdFrame0_WithPal - ldrb r0, [r4] - movs r1, 0 - adds r2, r5, 0 - movs r3, 0xD - bl DrawStdFrameWithCustomTileAndPalette - ldrb r0, [r4] - ldr r2, _080CB630 @ =gUnknown_8418075 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - mov r8, r1 - str r1, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, _080CB634 @ =gUnknown_83F5B44 - ldr r0, _080CB638 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r5, [r0] - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - ldrb r1, [r4] - movs r3, 0x38 - subs r3, r0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x10 - str r0, [sp] - mov r0, r8 - str r0, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r1, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl AddTextPrinterParameterized - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram -_080CB614: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CB620: .4byte sub_809D6D4 -_080CB624: .4byte gUnknown_2039A0C -_080CB628: .4byte gUnknown_83F5B3C -_080CB62C: .4byte 0x0000021d -_080CB630: .4byte gUnknown_8418075 -_080CB634: .4byte gUnknown_83F5B44 -_080CB638: .4byte gSpecialVar_0x8005 - thumb_func_end sub_80CB580 - - thumb_func_start sub_80CB63C -sub_80CB63C: @ 80CB63C - push {r4,lr} - ldr r4, _080CB654 @ =gUnknown_2039A0C - ldrb r0, [r4] - movs r1, 0x1 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CB654: .4byte gUnknown_2039A0C - thumb_func_end sub_80CB63C - - thumb_func_start sub_80CB658 -sub_80CB658: @ 80CB658 - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, _080CB6A0 @ =sub_80CB6AC - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080CB698 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CB6A4 @ =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, _080CB6A8 @ =gUnknown_83F5BC1 - adds r0, r6, r0 - ldrb r0, [r0] - strh r0, [r1, 0xE] -_080CB698: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CB6A0: .4byte sub_80CB6AC -_080CB6A4: .4byte gTasks -_080CB6A8: .4byte gUnknown_83F5BC1 - thumb_func_end sub_80CB658 - - thumb_func_start sub_80CB6AC -sub_80CB6AC: @ 80CB6AC - 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, _080CB734 @ =gTasks+0x8 - adds r6, r0, r1 - movs r2, 0x2 - ldrsh r0, [r6, r2] - cmp r0, 0x6 - bne _080CB7A8 - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080CB73C - movs r1, 0 - ldr r2, _080CB738 @ =gUnknown_83F5B94 - mov r10, r2 -_080CB6E6: - 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 -_080CB6F6: - 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 _080CB6F6 - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _080CB6E6 - b _080CB78E - .align 2, 0 -_080CB734: .4byte gTasks+0x8 -_080CB738: .4byte gUnknown_83F5B94 -_080CB73C: - movs r1, 0 - ldr r0, _080CB7C0 @ =gUnknown_83F5BA6 - mov r10, r0 -_080CB742: - 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 -_080CB752: - 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 _080CB752 - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _080CB742 -_080CB78E: - 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 _080CB7A8 - ldr r0, [sp] - bl DestroyTask -_080CB7A8: - 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 - .align 2, 0 -_080CB7C0: .4byte gUnknown_83F5BA6 - thumb_func_end sub_80CB6AC - - thumb_func_start sub_80CB7C4 -sub_80CB7C4: @ 80CB7C4 - push {r4,r5,lr} - ldr r0, _080CB808 @ =sub_809D6D4 - bl sub_81119D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CB7D6 - b _080CB8F8 -_080CB7D6: - ldr r0, _080CB80C @ =sub_80CB904 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080CB810 @ =gTasks - adds r3, r0, r1 - ldr r0, _080CB814 @ =gSpecialVar_0x8004 - ldrh r4, [r0] - cmp r4, 0x3 - beq _080CB886 - cmp r4, 0x3 - bgt _080CB818 - cmp r4, 0x1 - beq _080CB842 - cmp r4, 0x1 - bgt _080CB870 - cmp r4, 0 - beq _080CB82A - b _080CB8EC - .align 2, 0 -_080CB808: .4byte sub_809D6D4 -_080CB80C: .4byte sub_80CB904 -_080CB810: .4byte gTasks -_080CB814: .4byte gSpecialVar_0x8004 -_080CB818: - cmp r4, 0x5 - beq _080CB8B4 - cmp r4, 0x5 - blt _080CB89E - cmp r4, 0x6 - beq _080CB8D2 - cmp r4, 0x63 - beq _080CB8F8 - b _080CB8EC -_080CB82A: - movs r0, 0x4 - strh r0, [r3, 0x8] - movs r0, 0x9 - strh r0, [r3, 0xA] - movs r1, 0x1 - strh r1, [r3, 0xC] - strh r1, [r3, 0xE] - movs r0, 0xC - strh r0, [r3, 0x10] - movs r0, 0x7 - strh r0, [r3, 0x12] - b _080CB8E6 -_080CB842: - movs r2, 0 - movs r0, 0x7 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - strh r4, [r3, 0xC] - strh r4, [r3, 0xE] - movs r0, 0x8 - strh r0, [r3, 0x10] - strh r1, [r3, 0x12] - strh r2, [r3, 0x14] - strh r5, [r3, 0x26] - ldr r0, _080CB868 @ =gUnknown_2039A0E - ldrh r0, [r0] - strh r0, [r3, 0x16] - ldr r0, _080CB86C @ =gUnknown_2039A10 - ldrh r0, [r0] - strh r0, [r3, 0x18] - b _080CB8F8 - .align 2, 0 -_080CB868: .4byte gUnknown_2039A0E -_080CB86C: .4byte gUnknown_2039A10 -_080CB870: - movs r1, 0 - movs r0, 0x4 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x8 - strh r0, [r3, 0x10] - strh r0, [r3, 0x12] - b _080CB8E6 -_080CB886: - movs r1, 0 - movs r0, 0x4 - strh r0, [r3, 0x8] - movs r0, 0x6 - strh r0, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x8 - strh r0, [r3, 0x10] - strh r0, [r3, 0x12] - b _080CB8E6 -_080CB89E: - movs r0, 0x4 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - movs r1, 0x1 - strh r1, [r3, 0xC] - strh r1, [r3, 0xE] - movs r0, 0x11 - strh r0, [r3, 0x10] - movs r0, 0x8 - strh r0, [r3, 0x12] - b _080CB8E6 -_080CB8B4: - movs r2, 0 - movs r0, 0x7 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0x10 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0x11 - strh r0, [r3, 0x10] - strh r1, [r3, 0x12] - strh r2, [r3, 0x14] - strh r5, [r3, 0x26] - b _080CB8F8 -_080CB8D2: - movs r1, 0 - movs r0, 0x3 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x8 - strh r0, [r3, 0x10] - strh r4, [r3, 0x12] -_080CB8E6: - strh r1, [r3, 0x14] - strh r5, [r3, 0x26] - b _080CB8F8 -_080CB8EC: - ldr r1, _080CB900 @ =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - adds r0, r5, 0 - bl DestroyTask -_080CB8F8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CB900: .4byte gSpecialVar_Result - thumb_func_end sub_80CB7C4 - - thumb_func_start sub_80CB904 -sub_80CB904: @ 80CB904 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _080CB934 @ =gTasks - adds r5, r0, r1 - bl ScriptContext2_Enable - ldr r0, _080CB938 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _080CB944 - ldr r0, _080CB93C @ =gUnknown_2039A18 - ldr r1, _080CB940 @ =gUnknown_2039A0E - ldrh r1, [r1] - strh r1, [r0] - b _080CB94A - .align 2, 0 -_080CB934: .4byte gTasks -_080CB938: .4byte gSpecialVar_0x8004 -_080CB93C: .4byte gUnknown_2039A18 -_080CB940: .4byte gUnknown_2039A0E -_080CB944: - ldr r1, _080CBA60 @ =gUnknown_2039A18 - movs r0, 0 - strh r0, [r1] -_080CB94A: - ldr r4, _080CBA64 @ =gUnknown_2039A14 - movs r1, 0xA - ldrsh r0, [r5, r1] - lsls r0, 3 - bl AllocZeroed - str r0, [r4] - bl sub_80CBA7C - movs r6, 0 - movs r4, 0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r3, r7, 2 - mov r10, r3 - add r1, sp, 0x18 - mov r9, r1 - cmp r6, r0 - bge _080CB9AE - ldr r2, _080CBA68 @ =gUnknown_83F5BCC - mov r8, r2 -_080CB974: - ldr r0, _080CBA64 @ =gUnknown_2039A14 - ldr r0, [r0] - lsls r3, r4, 3 - adds r3, r0 - lsls r2, r4, 2 - ldr r0, _080CBA6C @ =gSpecialVar_0x8004 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - adds r2, r0 - add r2, r8 - ldr r1, [r2] - str r1, [r3] - str r4, [r3, 0x4] - movs r0, 0x2 - movs r2, 0 - bl GetStringWidth - cmp r0, r6 - ble _080CB9A0 - adds r6, r0, 0 -_080CB9A0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r3, 0xA - ldrsh r0, [r5, r3] - cmp r4, r0 - blt _080CB974 -_080CB9AE: - adds r0, r6, 0 - adds r0, 0x9 - cmp r0, 0 - bge _080CB9B8 - adds r0, 0x7 -_080CB9B8: - asrs r0, 3 - adds r2, r0, 0x1 - strh r2, [r5, 0x10] - movs r1, 0xC - ldrsh r0, [r5, r1] - movs r3, 0x10 - ldrsh r1, [r5, r3] - adds r0, r1 - cmp r0, 0x1D - ble _080CB9D2 - movs r0, 0x1D - subs r0, r2 - strh r0, [r5, 0xC] -_080CB9D2: - ldrb r2, [r5, 0xC] - ldrb r3, [r5, 0xE] - ldrb r0, [r5, 0x10] - str r0, [sp] - ldrb r0, [r5, 0x12] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x38 - str r0, [sp, 0xC] - add r0, sp, 0x10 - movs r1, 0 - bl SetWindowTemplateFields - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - mov r0, r9 - bl AddWindow - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - movs r1, 0 - bl SetStdWindowBorderStyle - ldr r4, _080CBA70 @ =gUnknown_3005360 - ldrh r0, [r5, 0xA] - strh r0, [r4, 0xC] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0xE] - ldrh r0, [r5, 0x22] - strb r0, [r4, 0x10] - adds r0, r7, 0 - bl sub_80CBCC0 - ldrh r1, [r5, 0x16] - ldrh r2, [r5, 0x18] - adds r0, r4, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrh r0, [r5, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, _080CBA74 @ =gTasks - mov r2, r10 - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, _080CBA78 @ =sub_80CBB28 - str r1, [r0] - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CBA60: .4byte gUnknown_2039A18 -_080CBA64: .4byte gUnknown_2039A14 -_080CBA68: .4byte gUnknown_83F5BCC -_080CBA6C: .4byte gSpecialVar_0x8004 -_080CBA70: .4byte gUnknown_3005360 -_080CBA74: .4byte gTasks -_080CBA78: .4byte sub_80CBB28 - thumb_func_end sub_80CB904 - - thumb_func_start sub_80CBA7C -sub_80CBA7C: @ 80CBA7C - ldr r2, _080CBAD0 @ =gUnknown_3005360 - ldr r0, _080CBAD4 @ =gUnknown_2039A14 - ldr r0, [r0] - str r0, [r2] - ldr r0, _080CBAD8 @ =sub_80CBADC - str r0, [r2, 0x4] - movs r0, 0 - str r0, [r2, 0x8] - movs r1, 0 - movs r0, 0x1 - strh r0, [r2, 0xC] - strh r0, [r2, 0xE] - strb r1, [r2, 0x10] - strb r1, [r2, 0x11] - movs r0, 0x8 - strb r0, [r2, 0x12] - strb r1, [r2, 0x13] - movs r0, 0x20 - strb r0, [r2, 0x14] - movs r3, 0x1 - movs r0, 0x31 - strb r0, [r2, 0x15] - ldrb r1, [r2, 0x16] - subs r0, 0x39 - ands r0, r1 - orrs r0, r3 - movs r1, 0x39 - negs r1, r1 - ands r0, r1 - movs r3, 0x3F - ands r0, r3 - strb r0, [r2, 0x16] - ldrb r1, [r2, 0x17] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - ands r0, r3 - strb r0, [r2, 0x17] - bx lr - .align 2, 0 -_080CBAD0: .4byte gUnknown_3005360 -_080CBAD4: .4byte gUnknown_2039A14 -_080CBAD8: .4byte sub_80CBADC - thumb_func_end sub_80CBA7C - - thumb_func_start sub_80CBADC -sub_80CBADC: @ 80CBADC - push {r4,lr} - movs r0, 0x5 - bl PlaySE - ldr r0, _080CBB18 @ =sub_80CBB28 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _080CBB12 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _080CBB1C @ =gTasks - adds r0, r1 - ldrh r0, [r0, 0x24] - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080CBB20 @ =gUnknown_3005378 - adds r1, r4, 0 - movs r2, 0 - bl ListMenuGetScrollAndRow - ldr r1, _080CBB24 @ =gUnknown_2039A18 - ldrh r0, [r4] - strh r0, [r1] -_080CBB12: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CBB18: .4byte sub_80CBB28 -_080CBB1C: .4byte gTasks -_080CBB20: .4byte gUnknown_3005378 -_080CBB24: .4byte gUnknown_2039A18 - thumb_func_end sub_80CBADC - - thumb_func_start sub_80CBB28 -sub_80CBB28: @ 80CBB28 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080CBB54 @ =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - bl ListMenu_ProcessInput - adds r4, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _080CBB58 - adds r0, 0x1 - cmp r4, r0 - bne _080CBB6C - b _080CBBA2 - .align 2, 0 -_080CBB54: .4byte gTasks -_080CBB58: - ldr r1, _080CBB68 @ =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - b _080CBB88 - .align 2, 0 -_080CBB68: .4byte gSpecialVar_Result -_080CBB6C: - ldr r0, _080CBB90 @ =gSpecialVar_Result - strh r4, [r0] - movs r0, 0x5 - bl PlaySE - movs r1, 0x14 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _080CBB88 - movs r1, 0xA - ldrsh r0, [r6, r1] - subs r0, 0x1 - cmp r4, r0 - bne _080CBB94 -_080CBB88: - adds r0, r5, 0 - bl sub_80CBBAC - b _080CBBA2 - .align 2, 0 -_080CBB90: .4byte gSpecialVar_Result -_080CBB94: - adds r0, r5, 0 - bl sub_80CBD50 - ldr r0, _080CBBA8 @ =sub_80CBC2C - str r0, [r6] - bl EnableBothScriptContexts -_080CBBA2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CBBA8: .4byte sub_80CBC2C - thumb_func_end sub_80CBB28 - - thumb_func_start sub_80CBBAC -sub_80CBBAC: @ 80CBBAC - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _080CBC24 @ =gTasks - adds r4, r0 - adds r0, r5, 0 - bl sub_80CBD50 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldr r0, _080CBC28 @ =gUnknown_2039A14 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl ClearStdWindowAndFrameToTransparent - 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 - bl EnableBothScriptContexts - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CBC24: .4byte gTasks -_080CBC28: .4byte gUnknown_2039A14 - thumb_func_end sub_80CBBAC - - thumb_func_start sub_80CBC2C -sub_80CBC2C: @ 80CBC2C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CBC54 @ =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 _080CBC50 - cmp r0, 0x2 - bne _080CBC50 - movs r0, 0x1 - strh r0, [r1, 0x14] - ldr r0, _080CBC58 @ =sub_80CBC90 - str r0, [r1] -_080CBC50: - pop {r0} - bx r0 - .align 2, 0 -_080CBC54: .4byte gTasks -_080CBC58: .4byte sub_80CBC90 - thumb_func_end sub_80CBC2C - - thumb_func_start sub_80CBC5C -sub_80CBC5C: @ 80CBC5C - push {lr} - ldr r0, _080CBC74 @ =sub_80CBC2C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _080CBC78 - bl EnableBothScriptContexts - b _080CBC88 - .align 2, 0 -_080CBC74: .4byte sub_80CBC2C -_080CBC78: - ldr r0, _080CBC8C @ =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] -_080CBC88: - pop {r0} - bx r0 - .align 2, 0 -_080CBC8C: .4byte gTasks - thumb_func_end sub_80CBC5C - - thumb_func_start sub_80CBC90 -sub_80CBC90: @ 80CBC90 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - adds r0, r4, 0 - bl sub_80CBCC0 - ldr r1, _080CBCB8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080CBCBC @ =sub_80CBB28 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CBCB8: .4byte gTasks -_080CBCBC: .4byte sub_80CBB28 - thumb_func_end sub_80CBC90 - - thumb_func_start sub_80CBCC0 -sub_80CBCC0: @ 80CBCC0 - 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, _080CBD44 @ =gTasks - adds r4, r1, r0 - mov r1, sp - ldr r0, _080CBD48 @ =gUnknown_83F5D1C - 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 _080CBD3C - mov r2, sp - movs r3, 0x10 - ldrsh r1, [r4, r3] - lsls r1, 2 - movs r5, 0xC - ldrsh r0, [r4, r5] - 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] - lsls r1, 2 - movs r5, 0xC - ldrsh r0, [r4, r5] - 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, _080CBD4C @ =gUnknown_2039A18 - mov r0, sp - bl AddScrollIndicatorArrowPair - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] -_080CBD3C: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CBD44: .4byte gTasks -_080CBD48: .4byte gUnknown_83F5D1C -_080CBD4C: .4byte gUnknown_2039A18 - thumb_func_end sub_80CBCC0 - - thumb_func_start sub_80CBD50 -sub_80CBD50: @ 80CBD50 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080CBD7C @ =gTasks - adds r2, r1, r0 - movs r0, 0x8 - ldrsh r1, [r2, r0] - movs r3, 0xA - ldrsh r0, [r2, r3] - cmp r1, r0 - beq _080CBD76 - ldrh r0, [r2, 0x20] - lsls r0, 24 - lsrs r0, 24 - bl RemoveScrollIndicatorArrowPair -_080CBD76: - pop {r0} - bx r0 - .align 2, 0 -_080CBD7C: .4byte gTasks - thumb_func_end sub_80CBD50 - - thumb_func_start sub_80CBD80 -sub_80CBD80: @ 80CBD80 - push {lr} - movs r0, 0x16 - bl HelpSystem_SetSomeVariable2 - movs r0, 0x8 - bl SetPlayerAvatarTransitionFlags - pop {r0} - bx r0 - thumb_func_end sub_80CBD80 - - thumb_func_start GetStarterPokemon -GetStarterPokemon: @ 80CBD94 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x2 - bls _080CBDA0 - movs r1, 0 -_080CBDA0: - ldr r0, _080CBDAC @ =sStarterMon - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - pop {r1} - bx r1 - .align 2, 0 -_080CBDAC: .4byte sStarterMon - thumb_func_end GetStarterPokemon - - thumb_func_start ScrSpecial_GetStarter -ScrSpecial_GetStarter: @ 80CBDB0 - push {lr} - ldr r0, _080CBDC8 @ =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl GetStarterPokemon - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_080CBDC8: .4byte 0x00004031 - thumb_func_end ScrSpecial_GetStarter - - thumb_func_start sub_80CBDCC -sub_80CBDCC: @ 80CBDCC - push {lr} - ldr r0, _080CBDE4 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2 - bl GetSetPokedexFlag - pop {r0} - bx r0 - .align 2, 0 -_080CBDE4: .4byte gSpecialVar_0x8004 - thumb_func_end sub_80CBDCC - - thumb_func_start sub_80CBDE8 -sub_80CBDE8: @ 80CBDE8 - ldr r1, _080CBDF8 @ =gSelectedEventObject - movs r0, 0 - strb r0, [r1] - ldr r1, _080CBDFC @ =gSpecialVar_TextColor - movs r0, 0xFF - strh r0, [r1] - bx lr - .align 2, 0 -_080CBDF8: .4byte gSelectedEventObject -_080CBDFC: .4byte gSpecialVar_TextColor - thumb_func_end sub_80CBDE8 - - thumb_func_start ContextNpcGetTextColor -ContextNpcGetTextColor: @ 80CBE00 - push {lr} - ldr r0, _080CBE18 @ =gSpecialVar_TextColor - ldrh r0, [r0] - cmp r0, 0xFF - bne _080CBE44 - ldr r1, _080CBE1C @ =gSelectedEventObject - ldrb r0, [r1] - cmp r0, 0 - bne _080CBE20 - movs r0, 0x3 - b _080CBE48 - .align 2, 0 -_080CBE18: .4byte gSpecialVar_TextColor -_080CBE1C: .4byte gSelectedEventObject -_080CBE20: - ldr r2, _080CBE4C @ =gMapObjects - ldrb r1, [r1] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x5] - cmp r0, 0xEF - bls _080CBE40 - adds r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - bl VarGetFieldObjectGraphicsId - lsls r0, 24 - lsrs r0, 24 -_080CBE40: - bl GetColorFromTextColorTable -_080CBE44: - lsls r0, 24 - lsrs r0, 24 -_080CBE48: - pop {r1} - bx r1 - .align 2, 0 -_080CBE4C: .4byte gMapObjects - thumb_func_end ContextNpcGetTextColor - - thumb_func_start sub_80CBE50 -sub_80CBE50: @ 80CBE50 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, _080CBEA4 @ =gPlayerParty - adds r5, r1, r0 - ldr r6, _080CBEA8 @ =gStringVar1 - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r6, 0 - bl GetMonData - mov r4, sp - adds r0, r5, 0 - movs r1, 0x3 - mov r2, sp - bl GetMonData - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080CBEB0 - adds r0, r5, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - movs r1, 0xB - muls r0, r1 - ldr r1, _080CBEAC @ =gSpeciesNames - adds r0, r1 - adds r1, r6, 0 - bl StringCompare - cmp r0, 0 - bne _080CBEB0 - movs r0, 0 - b _080CBEB2 - .align 2, 0 -_080CBEA4: .4byte gPlayerParty -_080CBEA8: .4byte gStringVar1 -_080CBEAC: .4byte gSpeciesNames -_080CBEB0: - movs r0, 0x1 -_080CBEB2: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80CBE50 - - thumb_func_start sub_80CBEBC -sub_80CBEBC: @ 80CBEBC - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - bl sub_80CBE50 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80CBEBC - - thumb_func_start TV_PrintIntToStringVar -TV_PrintIntToStringVar: @ 80CBED4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl CountDigits - adds r3, r0, 0 - ldr r0, _080CBF00 @ =gUnknown_83F5AF8 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - lsls r3, 24 - lsrs r3, 24 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CBF00: .4byte gUnknown_83F5AF8 - thumb_func_end TV_PrintIntToStringVar - - thumb_func_start CountDigits -CountDigits: @ 80CBF04 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xA - bl __divsi3 - cmp r0, 0 - beq _080CBF90 - adds r0, r4, 0 - movs r1, 0x64 - bl __divsi3 - cmp r0, 0 - bne _080CBF22 - movs r0, 0x2 - b _080CBF9A -_080CBF22: - movs r1, 0xFA - lsls r1, 2 - adds r0, r4, 0 - bl __divsi3 - cmp r0, 0 - bne _080CBF34 - movs r0, 0x3 - b _080CBF9A -_080CBF34: - ldr r1, _080CBF44 @ =0x00002710 - adds r0, r4, 0 - bl __divsi3 - cmp r0, 0 - bne _080CBF48 - movs r0, 0x4 - b _080CBF9A - .align 2, 0 -_080CBF44: .4byte 0x00002710 -_080CBF48: - ldr r1, _080CBF58 @ =0x000186a0 - adds r0, r4, 0 - bl __divsi3 - cmp r0, 0 - bne _080CBF5C - movs r0, 0x5 - b _080CBF9A - .align 2, 0 -_080CBF58: .4byte 0x000186a0 -_080CBF5C: - ldr r1, _080CBF6C @ =0x000f4240 - adds r0, r4, 0 - bl __divsi3 - cmp r0, 0 - bne _080CBF70 - movs r0, 0x6 - b _080CBF9A - .align 2, 0 -_080CBF6C: .4byte 0x000f4240 -_080CBF70: - ldr r1, _080CBF80 @ =0x00989680 - adds r0, r4, 0 - bl __divsi3 - cmp r0, 0 - bne _080CBF84 - movs r0, 0x7 - b _080CBF9A - .align 2, 0 -_080CBF80: .4byte 0x00989680 -_080CBF84: - ldr r1, _080CBF94 @ =0x05f5e100 - adds r0, r4, 0 - bl __divsi3 - cmp r0, 0 - beq _080CBF98 -_080CBF90: - movs r0, 0x1 - b _080CBF9A - .align 2, 0 -_080CBF94: .4byte 0x05f5e100 -_080CBF98: - movs r0, 0x8 -_080CBF9A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CountDigits - - thumb_func_start sub_80CBFA0 -sub_80CBFA0: @ 80CBFA0 - push {r4,lr} - ldr r0, _080CBFC8 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080CBFCC @ =gPlayerParty - adds r0, r1 - ldr r4, _080CBFD0 @ =gStringVar1 - movs r1, 0x2 - adds r2, r4, 0 - bl GetMonData - ldr r0, _080CBFD4 @ =gStringVar3 - adds r1, r4, 0 - bl StringCompare - cmp r0, 0 - beq _080CBFD8 - movs r0, 0x1 - b _080CBFDA - .align 2, 0 -_080CBFC8: .4byte gSpecialVar_0x8004 -_080CBFCC: .4byte gPlayerParty -_080CBFD0: .4byte gStringVar1 -_080CBFD4: .4byte gStringVar3 -_080CBFD8: - movs r0, 0 -_080CBFDA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80CBFA0 - - thumb_func_start ChangeBoxPokemonNickname -ChangeBoxPokemonNickname: @ 80CBFE0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - ldr r0, _080CC050 @ =gSpecialVar_MonBoxId - ldrb r0, [r0] - ldr r1, _080CC054 @ =gSpecialVar_MonBoxPos - ldrb r1, [r1] - bl GetBoxedMonPtr - adds r6, r0, 0 - ldr r2, _080CC058 @ =gStringVar3 - movs r1, 0x2 - bl GetBoxMonData - ldr r0, _080CC05C @ =gStringVar2 - mov r8, r0 - adds r0, r6, 0 - movs r1, 0x2 - mov r2, r8 - bl GetBoxMonData - adds r0, r6, 0 - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r6, 0 - bl GetBoxMonGender - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - movs r1, 0 - movs r2, 0 - bl GetBoxMonData - str r0, [sp] - ldr r0, _080CC060 @ =ChangeBoxPokemonNickname_CB - str r0, [sp, 0x4] - movs r0, 0x3 - mov r1, r8 - adds r2, r5, 0 - adds r3, r4, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CC050: .4byte gSpecialVar_MonBoxId -_080CC054: .4byte gSpecialVar_MonBoxPos -_080CC058: .4byte gStringVar3 -_080CC05C: .4byte gStringVar2 -_080CC060: .4byte ChangeBoxPokemonNickname_CB - thumb_func_end ChangeBoxPokemonNickname - - thumb_func_start ChangeBoxPokemonNickname_CB -ChangeBoxPokemonNickname_CB: @ 80CC064 - push {lr} - ldr r0, _080CC07C @ =gSpecialVar_MonBoxId - ldrb r0, [r0] - ldr r1, _080CC080 @ =gSpecialVar_MonBoxPos - ldrb r1, [r1] - ldr r2, _080CC084 @ =gStringVar2 - bl SetBoxMonNickFromAnyBox - bl CB2_ReturnToFieldContinueScriptPlayMapMusic - pop {r0} - bx r0 - .align 2, 0 -_080CC07C: .4byte gSpecialVar_MonBoxId -_080CC080: .4byte gSpecialVar_MonBoxPos -_080CC084: .4byte gStringVar2 - thumb_func_end ChangeBoxPokemonNickname_CB - - thumb_func_start ChangePokemonNickname -ChangePokemonNickname: @ 80CC088 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - ldr r0, _080CC130 @ =gSpecialVar_0x8004 - mov r9, r0 - ldrh r0, [r0] - movs r1, 0x64 - mov r8, r1 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - ldr r6, _080CC134 @ =gPlayerParty - adds r0, r6 - ldr r2, _080CC138 @ =gStringVar3 - movs r1, 0x2 - bl GetMonData - mov r1, r9 - ldrh r0, [r1] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r6 - ldr r1, _080CC13C @ =gStringVar2 - mov r10, r1 - movs r1, 0x2 - mov r2, r10 - bl GetMonData - mov r1, r9 - ldrh r0, [r1] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r6 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - mov r1, r9 - ldrh r0, [r1] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r6 - bl GetMonGender - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r1, r9 - ldrh r0, [r1] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r6 - movs r1, 0 - movs r2, 0 - bl GetMonData - str r0, [sp] - ldr r0, _080CC140 @ =ChangePokemonNickname_CB - str r0, [sp, 0x4] - movs r0, 0x3 - mov r1, r10 - adds r2, r5, 0 - adds r3, r4, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CC130: .4byte gSpecialVar_0x8004 -_080CC134: .4byte gPlayerParty -_080CC138: .4byte gStringVar3 -_080CC13C: .4byte gStringVar2 -_080CC140: .4byte ChangePokemonNickname_CB - thumb_func_end ChangePokemonNickname - - thumb_func_start ChangePokemonNickname_CB -ChangePokemonNickname_CB: @ 80CC144 - push {lr} - ldr r0, _080CC164 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080CC168 @ =gPlayerParty - adds r0, r1 - ldr r2, _080CC16C @ =gStringVar2 - movs r1, 0x2 - bl SetMonData - bl CB2_ReturnToFieldContinueScriptPlayMapMusic - pop {r0} - bx r0 - .align 2, 0 -_080CC164: .4byte gSpecialVar_0x8004 -_080CC168: .4byte gPlayerParty -_080CC16C: .4byte gStringVar2 - thumb_func_end ChangePokemonNickname_CB - - thumb_func_start TV_CopyNicknameToStringVar1AndEnsureTerminated -TV_CopyNicknameToStringVar1AndEnsureTerminated: @ 80CC170 - push {r4,lr} - ldr r0, _080CC194 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080CC198 @ =gPlayerParty - adds r0, r1 - ldr r4, _080CC19C @ =gStringVar1 - movs r1, 0x2 - adds r2, r4, 0 - bl GetMonData - adds r0, r4, 0 - bl StringGetEnd10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CC194: .4byte gSpecialVar_0x8004 -_080CC198: .4byte gPlayerParty -_080CC19C: .4byte gStringVar1 - thumb_func_end TV_CopyNicknameToStringVar1AndEnsureTerminated - - thumb_func_start TV_CheckMonOTIDEqualsPlayerID -TV_CheckMonOTIDEqualsPlayerID: @ 80CC1A0 - push {r4,lr} - bl sub_80CC1E4 - adds r4, r0, 0 - ldr r0, _080CC1C8 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080CC1CC @ =gPlayerParty - adds r0, r1 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - cmp r4, r0 - bne _080CC1D4 - ldr r1, _080CC1D0 @ =gSpecialVar_Result - movs r0, 0 - b _080CC1D8 - .align 2, 0 -_080CC1C8: .4byte gSpecialVar_0x8004 -_080CC1CC: .4byte gPlayerParty -_080CC1D0: .4byte gSpecialVar_Result -_080CC1D4: - ldr r1, _080CC1E0 @ =gSpecialVar_Result - movs r0, 0x1 -_080CC1D8: - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CC1E0: .4byte gSpecialVar_Result - thumb_func_end TV_CheckMonOTIDEqualsPlayerID - - thumb_func_start sub_80CC1E4 -sub_80CC1E4: @ 80CC1E4 - ldr r0, _080CC200 @ =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r0, [r2, 0xD] - lsls r0, 24 - ldrb r1, [r2, 0xC] - lsls r1, 16 - orrs r0, r1 - ldrb r1, [r2, 0xB] - lsls r1, 8 - orrs r0, r1 - ldrb r1, [r2, 0xA] - orrs r0, r1 - bx lr - .align 2, 0 -_080CC200: .4byte gSaveBlock2Ptr - thumb_func_end sub_80CC1E4 - - thumb_func_start GetUnlockedSeviiAreas -GetUnlockedSeviiAreas: @ 80CC204 - push {r4,lr} - movs r4, 0 - ldr r0, _080CC2A4 @ =0x0000089b - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CC218 - movs r4, 0x1 -_080CC218: - ldr r0, _080CC2A8 @ =0x0000089c - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CC22A - movs r0, 0x2 - orrs r4, r0 -_080CC22A: - ldr r0, _080CC2AC @ =0x0000089d - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CC240 - movs r0, 0x4 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_080CC240: - ldr r0, _080CC2B0 @ =0x0000089e - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CC256 - movs r0, 0x8 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_080CC256: - ldr r0, _080CC2B4 @ =0x0000089f - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CC26C - movs r0, 0x10 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_080CC26C: - ldr r0, _080CC2B8 @ =0x000008a1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CC282 - movs r0, 0x20 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_080CC282: - movs r0, 0x8A - lsls r0, 4 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CC29A - movs r0, 0x40 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_080CC29A: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080CC2A4: .4byte 0x0000089b -_080CC2A8: .4byte 0x0000089c -_080CC2AC: .4byte 0x0000089d -_080CC2B0: .4byte 0x0000089e -_080CC2B4: .4byte 0x0000089f -_080CC2B8: .4byte 0x000008a1 - thumb_func_end GetUnlockedSeviiAreas - - thumb_func_start sub_80CC2BC -sub_80CC2BC: @ 80CC2BC - push {r4-r7,lr} - sub sp, 0x24 - movs r5, 0 - add r7, sp, 0xC - movs r1, 0 -_080CC2C6: - lsls r0, r5, 1 - add r0, sp - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080CC2C6 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _080CC318 -_080CC2E4: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080CC3BC @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r1, r5, 1 - add r1, sp - strh r0, [r1] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - lsls r1, r5, 2 - adds r1, r7, r1 - str r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _080CC2E4 -_080CC318: - ldr r4, _080CC3C0 @ =0x00004043 - mov r0, sp - ldrh r0, [r0] - ldr r1, [sp, 0xC] - bl SpeciesToMailSpecies - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet - adds r4, 0x1 - mov r0, sp - ldrh r0, [r0, 0x2] - ldr r1, [r7, 0x4] - bl SpeciesToMailSpecies - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet - adds r4, 0x1 - mov r0, sp - ldrh r0, [r0, 0x4] - ldr r1, [r7, 0x8] - bl SpeciesToMailSpecies - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet - adds r4, 0x1 - mov r0, sp - ldrh r0, [r0, 0x6] - ldr r1, [r7, 0xC] - bl SpeciesToMailSpecies - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet - adds r4, 0x1 - mov r0, sp - ldrh r0, [r0, 0x8] - ldr r1, [r7, 0x10] - bl SpeciesToMailSpecies - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet - adds r4, 0x1 - mov r0, sp - ldrh r0, [r0, 0xA] - ldr r1, [r7, 0x14] - bl SpeciesToMailSpecies - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet - ldr r0, _080CC3C4 @ =0x00004042 - ldr r1, _080CC3C8 @ =gSpecialVar_0x8004 - ldrh r1, [r1] - bl VarSet - add sp, 0x24 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CC3BC: .4byte gPlayerParty -_080CC3C0: .4byte 0x00004043 -_080CC3C4: .4byte 0x00004042 -_080CC3C8: .4byte gSpecialVar_0x8004 - thumb_func_end sub_80CC2BC - - thumb_func_start sub_80CC3CC -sub_80CC3CC: @ 80CC3CC - push {r4-r6,lr} - movs r5, 0 - ldr r4, _080CC3F8 @ =gSpecialVar_0x8004 - movs r0, 0xA - bl GetGameStat - strh r0, [r4] - movs r0, 0xD - bl GetGameStat - adds r6, r0, 0 - ldr r4, _080CC3FC @ =gSpecialVar_0x8006 - movs r0, 0x17 - bl GetGameStat - strh r0, [r4] - ldr r1, _080CC400 @ =0x0000ffff - cmp r6, r1 - bls _080CC408 - ldr r0, _080CC404 @ =gSpecialVar_0x8005 - strh r1, [r0] - b _080CC40C - .align 2, 0 -_080CC3F8: .4byte gSpecialVar_0x8004 -_080CC3FC: .4byte gSpecialVar_0x8006 -_080CC400: .4byte 0x0000ffff -_080CC404: .4byte gSpecialVar_0x8005 -_080CC408: - ldr r0, _080CC440 @ =gSpecialVar_0x8005 - strh r6, [r0] -_080CC40C: - adds r1, r0, 0 - ldr r0, _080CC444 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _080CC41A - movs r0, 0x1 - orrs r5, r0 -_080CC41A: - ldrh r0, [r1] - cmp r0, 0 - beq _080CC428 - movs r0, 0x2 - orrs r5, r0 - lsls r0, r5, 16 - lsrs r5, r0, 16 -_080CC428: - ldr r0, _080CC448 @ =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - beq _080CC438 - movs r0, 0x4 - orrs r5, r0 - lsls r0, r5, 16 - lsrs r5, r0, 16 -_080CC438: - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080CC440: .4byte gSpecialVar_0x8005 -_080CC444: .4byte gSpecialVar_0x8004 -_080CC448: .4byte gSpecialVar_0x8006 - thumb_func_end sub_80CC3CC - - thumb_func_start GetHiddenItemAttr -GetHiddenItemAttr: @ 80CC44C - push {lr} - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0 - bne _080CC45E - lsls r0, 16 - lsrs r0, 16 - b _080CC486 -_080CC45E: - cmp r1, 0x1 - bne _080CC470 - lsrs r0, 16 - movs r1, 0xFF - ands r0, r1 - movs r1, 0xFA - lsls r1, 2 - adds r0, r1 - b _080CC486 -_080CC470: - cmp r1, 0x2 - bne _080CC47C - lsrs r0, 24 - movs r1, 0x7F - ands r0, r1 - b _080CC486 -_080CC47C: - cmp r2, 0x3 - beq _080CC484 - movs r0, 0x1 - b _080CC486 -_080CC484: - lsrs r0, 31 -_080CC486: - pop {r1} - bx r1 - thumb_func_end GetHiddenItemAttr - - thumb_func_start sub_80CC48C -sub_80CC48C: @ 80CC48C - push {r4,r5,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _080CC4CA -_080CC49C: - movs r0, 0x64 - muls r0, r4 - ldr r1, _080CC4B8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - ldr r1, _080CC4BC @ =gSpecialVar_0x8004 - ldrh r1, [r1] - cmp r0, r1 - bne _080CC4C0 - movs r0, 0x1 - b _080CC4CC - .align 2, 0 -_080CC4B8: .4byte gPlayerParty -_080CC4BC: .4byte gSpecialVar_0x8004 -_080CC4C0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _080CC49C -_080CC4CA: - movs r0, 0 -_080CC4CC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80CC48C - - thumb_func_start sub_80CC4D4 -sub_80CC4D4: @ 80CC4D4 - push {r4-r7,lr} - movs r3, 0 - ldr r0, _080CC508 @ =gSaveBlock1Ptr - ldr r4, [r0] - movs r6, 0x4 - ldrsb r6, [r4, r6] - ldr r5, _080CC50C @ =gUnknown_83F5D32 - adds r0, r5, 0x2 - mov r12, r0 - adds r7, r5, 0x1 -_080CC4E8: - lsls r0, r3, 1 - adds r2, r0, r3 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r6, r0 - bne _080CC510 - movs r1, 0x5 - ldrsb r1, [r4, r1] - adds r0, r2, r7 - ldrb r0, [r0] - cmp r1, r0 - bne _080CC510 - mov r1, r12 - adds r0, r2, r1 - ldrb r0, [r0] - b _080CC51C - .align 2, 0 -_080CC508: .4byte gSaveBlock1Ptr -_080CC50C: .4byte gUnknown_83F5D32 -_080CC510: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xB - bls _080CC4E8 - movs r0, 0x1 -_080CC51C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80CC4D4 - - thumb_func_start sub_80CC524 -sub_80CC524: @ 80CC524 - push {lr} - movs r0, 0xB - movs r1, 0 - bl sub_8113550 - pop {r0} - bx r0 - thumb_func_end sub_80CC524 - - thumb_func_start sub_80CC534 -sub_80CC534: @ 80CC534 - push {r4-r6,lr} - movs r4, 0 - ldr r6, _080CC57C @ =gSaveBlock1Ptr - ldr r5, _080CC580 @ =gUnknown_83F5D58 -_080CC53C: - ldr r3, [r6] - movs r1, 0x4 - ldrsb r1, [r3, r1] - lsls r0, r4, 3 - adds r2, r0, r5 - ldrh r0, [r2] - cmp r1, r0 - bne _080CC58C - movs r0, 0x5 - ldrsb r0, [r3, r0] - ldrh r2, [r2, 0x2] - cmp r0, r2 - bne _080CC58C - ldr r5, _080CC584 @ =0x0000404d - adds r0, r5, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x23 - bne _080CC56A - cmp r4, 0x20 - beq _080CC596 -_080CC56A: - adds r0, r5, 0 - adds r1, r4, 0 - bl VarSet - ldr r0, _080CC588 @ =0x00000808 - bl FlagSet - b _080CC596 - .align 2, 0 -_080CC57C: .4byte gSaveBlock1Ptr -_080CC580: .4byte gUnknown_83F5D58 -_080CC584: .4byte 0x0000404d -_080CC588: .4byte 0x00000808 -_080CC58C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x32 - bls _080CC53C -_080CC596: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80CC534 - - thumb_func_start sub_80CC59C -sub_80CC59C: @ 80CC59C - push {r4-r7,lr} - sub sp, 0x8 - ldr r0, _080CC5F8 @ =0x0000404d - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r6, _080CC5FC @ =0xffffff00 - ldr r0, [sp, 0x4] - ands r0, r6 - ldr r4, _080CC600 @ =0xffff00ff - ands r0, r4 - str r0, [sp, 0x4] - ldr r0, _080CC604 @ =0x00000808 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080CC5C4 - b _080CC71E -_080CC5C4: - cmp r5, 0x5 - bne _080CC61C - ldr r0, _080CC608 @ =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r7, r0, 0 - cmp r1, 0xF - bne _080CC67C - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, 0 - beq _080CC5E2 - cmp r0, 0x3 - bne _080CC67C -_080CC5E2: - ldr r1, [sp, 0x4] - ands r1, r6 - movs r0, 0x66 - orrs r1, r0 - str r1, [sp, 0x4] - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, 0 - bne _080CC60C - lsls r0, r5, 8 - b _080CC610 - .align 2, 0 -_080CC5F8: .4byte 0x0000404d -_080CC5FC: .4byte 0xffffff00 -_080CC600: .4byte 0xffff00ff -_080CC604: .4byte 0x00000808 -_080CC608: .4byte gSaveBlock1Ptr -_080CC60C: - movs r0, 0xC0 - lsls r0, 3 -_080CC610: - ands r1, r4 - orrs r1, r0 - str r1, [sp, 0x4] - add r1, sp, 0x4 - movs r0, 0x23 - b _080CC66C -_080CC61C: - ldr r7, _080CC65C @ =gSaveBlock1Ptr - cmp r5, 0x3 - bne _080CC67C - ldr r1, [r7] - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r0, 0x3 - bne _080CC67C - ldrb r0, [r1, 0x5] - subs r0, 0x29 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080CC67C - ldr r1, _080CC660 @ =gUnknown_83F5D58 - ldrh r0, [r1, 0x18] - ldrh r1, [r1, 0x1A] - bl get_mapheader_by_bank_and_number - ldrb r0, [r0, 0x14] - add r1, sp, 0x4 - strb r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r6, r1, 0 - cmp r0, 0x29 - bne _080CC664 - strb r5, [r6, 0x1] - b _080CC668 - .align 2, 0 -_080CC65C: .4byte gSaveBlock1Ptr -_080CC660: .4byte gUnknown_83F5D58 -_080CC664: - movs r0, 0x4 - strb r0, [r6, 0x1] -_080CC668: - movs r0, 0x23 - adds r1, r6, 0 -_080CC66C: - bl sub_8113550 - ldr r0, _080CC678 @ =0x00000808 - bl FlagClear - b _080CC71E - .align 2, 0 -_080CC678: .4byte 0x00000808 -_080CC67C: - ldr r3, [r7] - movs r2, 0x4 - ldrsb r2, [r3, r2] - ldr r1, _080CC6D0 @ =gUnknown_83F5D58 - lsls r0, r5, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0x4] - cmp r2, r0 - bne _080CC71E - movs r0, 0x5 - ldrsb r0, [r3, r0] - ldrh r2, [r1, 0x6] - cmp r0, r2 - bne _080CC71E - ldrh r0, [r1] - ldrh r1, [r1, 0x2] - bl get_mapheader_by_bank_and_number - ldrb r1, [r0, 0x14] - add r0, sp, 0x4 - strb r1, [r0] - strb r5, [r0, 0x1] - adds r6, r0, 0 - cmp r5, 0x16 - bne _080CC6D4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0xF - bne _080CC6F6 - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0x1A - beq _080CC6FC - b _080CC6F6 - .align 2, 0 -_080CC6D0: .4byte gUnknown_83F5D58 -_080CC6D4: - cmp r5, 0x2A - bne _080CC6FC - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x43 - bne _080CC6F6 - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0xF - beq _080CC6FC -_080CC6F6: - ldrb r0, [r6, 0x1] - adds r0, 0x1 - strb r0, [r6, 0x1] -_080CC6FC: - movs r0, 0x23 - adds r1, r6, 0 - bl sub_8113550 - ldr r4, _080CC728 @ =0x00000808 - adds r0, r4, 0 - bl FlagClear - cmp r5, 0x23 - bne _080CC71E - ldr r0, _080CC72C @ =0x0000404d - movs r1, 0x20 - bl VarSet - adds r0, r4, 0 - bl FlagSet -_080CC71E: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CC728: .4byte 0x00000808 -_080CC72C: .4byte 0x0000404d - thumb_func_end sub_80CC59C - - thumb_func_start Special_BattleCardAction -Special_BattleCardAction: @ 80CC730 - push {lr} - ldr r0, _080CC744 @ =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080CC77C - lsls r0, 2 - ldr r1, _080CC748 @ =_080CC74C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080CC744: .4byte gSpecialVar_Result -_080CC748: .4byte _080CC74C - .align 2, 0 -_080CC74C: - .4byte _080CC760 - .4byte _080CC764 - .4byte _080CC768 - .4byte _080CC76C - .4byte _080CC770 -_080CC760: - movs r0, 0x3 - b _080CC772 -_080CC764: - movs r0, 0x4 - b _080CC772 -_080CC768: - movs r0, 0 - b _080CC772 -_080CC76C: - movs r0, 0x1 - b _080CC772 -_080CC770: - movs r0, 0x2 -_080CC772: - bl sub_81445C0 - lsls r0, 16 - lsrs r0, 16 - b _080CC78A -_080CC77C: - @ AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scr_tool.c", 3873) - ldr r0, _080CC790 @ =gUnknown_83F5EF0 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scr_tool.c" - ldr r1, _080CC794 @ =0x00000f21 - ldr r2, _080CC798 @ =gUnknown_83F5F24 "0" - movs r3, 0x1 - bl AGBAssert - movs r0, 0 -_080CC78A: - pop {r1} - bx r1 - .align 2, 0 -_080CC790: .4byte gUnknown_83F5EF0 -_080CC794: .4byte 0x00000f21 -_080CC798: .4byte gUnknown_83F5F24 - thumb_func_end Special_BattleCardAction - - thumb_func_start set_unknown_box_id -set_unknown_box_id: @ 80CC79C - ldr r1, _080CC7A4 @ =gUnknown_2039A1A - strb r0, [r1] - bx lr - .align 2, 0 -_080CC7A4: .4byte gUnknown_2039A1A - thumb_func_end set_unknown_box_id - - thumb_func_start get_unknown_box_id -get_unknown_box_id: @ 80CC7A8 - ldr r0, _080CC7B0 @ =gUnknown_2039A1A - ldrb r0, [r0] - bx lr - .align 2, 0 -_080CC7B0: .4byte gUnknown_2039A1A - thumb_func_end get_unknown_box_id - - thumb_func_start sub_80CC7B4 -sub_80CC7B4: @ 80CC7B4 - push {r4,r5,lr} - ldr r5, _080CC7E8 @ =0x00000843 - adds r0, r5, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080CC7F0 - bl StorageGetCurrentBox - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080CC7EC @ =0x00004037 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _080CC7F0 - adds r0, r5, 0 - bl FlagSet - movs r0, 0x1 - b _080CC7F2 - .align 2, 0 -_080CC7E8: .4byte 0x00000843 -_080CC7EC: .4byte 0x00004037 -_080CC7F0: - movs r0, 0 -_080CC7F2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80CC7B4 - - thumb_func_start sub_80CC7F8 -sub_80CC7F8: @ 80CC7F8 - push {r4-r7,lr} - ldr r0, _080CC850 @ =0x00004037 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl set_unknown_box_id - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r4, r0, 24 -_080CC810: - movs r5, 0 - lsls r6, r4, 24 - lsls r7, r4, 16 -_080CC816: - 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 _080CC858 - bl get_unknown_box_id - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - beq _080CC83E - ldr r0, _080CC854 @ =0x00000843 - bl FlagClear -_080CC83E: - ldr r0, _080CC850 @ =0x00004037 - lsrs r1, r7, 16 - bl VarSet - bl sub_80CC7B4 - lsls r0, 24 - lsrs r0, 24 - b _080CC874 - .align 2, 0 -_080CC850: .4byte 0x00004037 -_080CC854: .4byte 0x00000843 -_080CC858: - adds r5, 0x1 - cmp r5, 0x1D - ble _080CC816 - adds r4, 0x1 - cmp r4, 0xE - bne _080CC866 - movs r4, 0 -_080CC866: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080CC810 - movs r0, 0 -_080CC874: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80CC7F8 - - thumb_func_start sub_80CC87C -sub_80CC87C: @ 80CC87C - push {r4,lr} - ldr r0, _080CC8AC @ =gUnknown_2031DB4 - 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, _080CC8B0 @ =gUnknown_83F5F26 - ldrh r0, [r2] - ldr r1, _080CC8B4 @ =0x0000ffff - cmp r0, r1 - beq _080CC8C2 - adds r4, r1, 0 - adds r1, r2, 0 -_080CC8A0: - ldrh r0, [r2] - cmp r0, r3 - bne _080CC8B8 - movs r0, 0x1 - b _080CC8C4 - .align 2, 0 -_080CC8AC: .4byte gUnknown_2031DB4 -_080CC8B0: .4byte gUnknown_83F5F26 -_080CC8B4: .4byte 0x0000ffff -_080CC8B8: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _080CC8A0 -_080CC8C2: - movs r0, 0 -_080CC8C4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80CC87C - - thumb_func_start sub_80CC8CC -sub_80CC8CC: @ 80CC8CC - push {r4,lr} - ldr r1, _080CC8E4 @ =gSpecialVar_0x8004 - ldr r2, _080CC8E8 @ =0xfffffedf - adds r0, r2, 0 - ldrh r2, [r1] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x39 - bls _080CC8EC - movs r0, 0 - b _080CC908 - .align 2, 0 -_080CC8E4: .4byte gSpecialVar_0x8004 -_080CC8E8: .4byte 0xfffffedf -_080CC8EC: - ldr r4, _080CC910 @ =gStringVar1 - ldrh r0, [r1] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, _080CC914 @ =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 -_080CC908: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080CC910: .4byte gStringVar1 -_080CC914: .4byte gMoveNames - thumb_func_end sub_80CC8CC - - thumb_func_start sub_80CC918 -sub_80CC918: @ 80CC918 - push {r4,lr} - ldr r4, _080CC940 @ =0x00004025 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _080CC944 @ =0x000001f3 - cmp r1, r0 - bhi _080CC938 - adds r1, 0x1 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet -_080CC938: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CC940: .4byte 0x00004025 -_080CC944: .4byte 0x000001f3 - thumb_func_end sub_80CC918 - - thumb_func_start Special_DaisyMassageServices -Special_DaisyMassageServices: @ 80CC948 - push {lr} - ldr r0, _080CC968 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080CC96C @ =gPlayerParty - adds r0, r1 - movs r1, 0x6 - bl AdjustFriendship - ldr r0, _080CC970 @ =0x00004025 - movs r1, 0 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_080CC968: .4byte gSpecialVar_0x8004 -_080CC96C: .4byte gPlayerParty -_080CC970: .4byte 0x00004025 - thumb_func_end Special_DaisyMassageServices - - thumb_func_start sub_80CC974 -sub_80CC974: @ 80CC974 - push {r4-r6,lr} - ldr r0, _080CC9A8 @ =sub_80CCA18 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r5, r1, 3 - ldr r6, _080CC9AC @ =gTasks+0x8 - adds r4, r5, r6 - movs r0, 0x3 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CC9B4 - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, _080CC9B0 @ =sub_80CCAF4 - str r1, [r0] - b _080CCA08 - .align 2, 0 -_080CC9A8: .4byte sub_80CCA18 -_080CC9AC: .4byte gTasks+0x8 -_080CC9B0: .4byte sub_80CCAF4 -_080CC9B4: - ldr r0, _080CC9D8 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, _080CC9DC @ =0x00004f01 - cmp r1, r0 - bne _080CC9E8 - ldr r0, _080CC9E0 @ =gUnknown_83F61FB - ldrb r0, [r0] - strh r0, [r4] - movs r0, 0x8 - strh r0, [r4, 0x4] - ldr r0, _080CC9E4 @ =gUnknown_83F60D0 - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette - b _080CC9FC - .align 2, 0 -_080CC9D8: .4byte gSaveBlock1Ptr -_080CC9DC: .4byte 0x00004f01 -_080CC9E0: .4byte gUnknown_83F61FB -_080CC9E4: .4byte gUnknown_83F60D0 -_080CC9E8: - ldr r0, _080CCA10 @ =gUnknown_83F61F0 - ldrb r0, [r0] - strh r0, [r4] - movs r0, 0xB - strh r0, [r4, 0x4] - ldr r0, _080CCA14 @ =gUnknown_83F5F50 - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette -_080CC9FC: - movs r0, 0 - strh r0, [r4, 0x2] - movs r0, 0x7 - movs r1, 0x1 - bl sub_8059948 -_080CCA08: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CCA10: .4byte gUnknown_83F61F0 -_080CCA14: .4byte gUnknown_83F5F50 - thumb_func_end sub_80CC974 - - thumb_func_start sub_80CCA18 -sub_80CCA18: @ 80CCA18 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080CCAA4 @ =gTasks+0x8 - adds r4, r1, r0 - ldr r0, _080CCAA8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080CCAE6 - movs r0, 0x2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080CCAE6 - movs r0, 0x5 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080CCAE6 - ldr r0, _080CCAAC @ =gUnknown_2036E28 - ldrb r0, [r0] - cmp r0, 0x3 - beq _080CCAE6 - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _080CCAE6 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x4 - ldrsh r1, [r4, r3] - cmp r0, r1 - bne _080CCA78 - strh r2, [r4, 0x2] -_080CCA78: - ldr r0, _080CCAB0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, _080CCAB4 @ =0x00004f01 - cmp r1, r0 - bne _080CCAC0 - ldr r1, _080CCAB8 @ =gUnknown_83F61FB - movs r2, 0x2 - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4] - movs r3, 0x2 - ldrsh r0, [r4, r3] - lsls r0, 5 - ldr r1, _080CCABC @ =gUnknown_83F60D0 - adds r0, r1 - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette - b _080CCADE - .align 2, 0 -_080CCAA4: .4byte gTasks+0x8 -_080CCAA8: .4byte gPaletteFade -_080CCAAC: .4byte gUnknown_2036E28 -_080CCAB0: .4byte gSaveBlock1Ptr -_080CCAB4: .4byte 0x00004f01 -_080CCAB8: .4byte gUnknown_83F61FB -_080CCABC: .4byte gUnknown_83F60D0 -_080CCAC0: - ldr r1, _080CCAEC @ =gUnknown_83F61F0 - movs r2, 0x2 - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4] - movs r3, 0x2 - ldrsh r0, [r4, r3] - lsls r0, 5 - ldr r1, _080CCAF0 @ =gUnknown_83F5F50 - adds r0, r1 - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette -_080CCADE: - movs r0, 0x7 - movs r1, 0x1 - bl sub_8059948 -_080CCAE6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CCAEC: .4byte gUnknown_83F61F0 -_080CCAF0: .4byte gUnknown_83F5F50 - thumb_func_end sub_80CCA18 - - thumb_func_start sub_80CCAF4 -sub_80CCAF4: @ 80CCAF4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x4 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080CCB5A - ldr r0, _080CCB20 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, _080CCB24 @ =0x00004f01 - cmp r1, r0 - bne _080CCB2C - ldr r0, _080CCB28 @ =gUnknown_83F61D0 - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette - b _080CCB36 - .align 2, 0 -_080CCB20: .4byte gSaveBlock1Ptr -_080CCB24: .4byte 0x00004f01 -_080CCB28: .4byte gUnknown_83F61D0 -_080CCB2C: - ldr r0, _080CCB60 @ =gUnknown_83F60B0 - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette -_080CCB36: - movs r0, 0x7 - movs r1, 0x1 - bl sub_8059948 - ldr r0, _080CCB64 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080CCB54 - movs r0, 0x80 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes -_080CCB54: - adds r0, r4, 0 - bl DestroyTask -_080CCB5A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CCB60: .4byte gUnknown_83F60B0 -_080CCB64: .4byte gPaletteFade - thumb_func_end sub_80CCAF4 - - thumb_func_start sub_80CCB68 -sub_80CCB68: @ 80CCB68 - push {r4,lr} - ldr r4, _080CCB90 @ =sub_80CCA18 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CCB88 - adds r0, r4, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080CCB88: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CCB90: .4byte sub_80CCA18 - thumb_func_end sub_80CCB68 - - thumb_func_start sub_80CCB94 -sub_80CCB94: @ 80CCB94 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - movs r6, 0 - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _080CCBC0 @ =gSpecialVar_0x8007 - mov r1, r8 - strh r1, [r0] - movs r4, 0 - movs r0, 0x64 - mov r5, r8 - muls r5, r0 - ldr r0, _080CCBC4 @ =gPlayerParty - mov r9, r0 - b _080CCBCE - .align 2, 0 -_080CCBC0: .4byte gSpecialVar_0x8007 -_080CCBC4: .4byte gPlayerParty -_080CCBC8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080CCBCE: - cmp r4, 0x2 - bhi _080CCBEA - mov r1, r9 - adds r0, r5, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - ldr r1, _080CCC1C @ =gUnknown_83F6203 - adds r1, r4, r1 - ldrb r1, [r1] - cmp r0, r1 - bne _080CCBC8 - adds r7, r4, 0 -_080CCBEA: - cmp r4, 0x3 - beq _080CCC7A - movs r0, 0x64 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - ldr r1, _080CCC20 @ =gPlayerParty - adds r0, r1 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xFF - bne _080CCC7A - cmp r7, 0 - bne _080CCC34 - ldr r0, _080CCC24 @ =gStringVar2 - ldr r1, _080CCC28 @ =gMoveNames + 0x112A FRENZY PLANT - bl StringCopy - ldr r1, _080CCC2C @ =gSpecialVar_0x8005 - movs r0, 0xF - strh r0, [r1] - ldr r0, _080CCC30 @ =0x000002de - b _080CCC6E - .align 2, 0 -_080CCC1C: .4byte gUnknown_83F6203 -_080CCC20: .4byte gPlayerParty -_080CCC24: .4byte gStringVar2 -_080CCC28: .4byte gMoveNames + 0x112A -_080CCC2C: .4byte gSpecialVar_0x8005 -_080CCC30: .4byte 0x000002de -_080CCC34: - cmp r7, 0x1 - bne _080CCC5C - ldr r0, _080CCC4C @ =gStringVar2 - ldr r1, _080CCC50 @ =gMoveNames + 0xF97 BLAST BURN - bl StringCopy - ldr r1, _080CCC54 @ =gSpecialVar_0x8005 - movs r0, 0x10 - strh r0, [r1] - ldr r0, _080CCC58 @ =0x000002df - b _080CCC6E - .align 2, 0 -_080CCC4C: .4byte gStringVar2 -_080CCC50: .4byte gMoveNames + 0xF97 -_080CCC54: .4byte gSpecialVar_0x8005 -_080CCC58: .4byte 0x000002df -_080CCC5C: - ldr r0, _080CCC80 @ =gStringVar2 - ldr r1, _080CCC84 @ =gMoveNames + 0xFA4 HYDRO CANNON - bl StringCopy - ldr r1, _080CCC88 @ =gSpecialVar_0x8005 - movs r0, 0x11 - strh r0, [r1] - movs r0, 0xB8 - lsls r0, 2 -_080CCC6E: - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CCC8C -_080CCC7A: - movs r0, 0 - b _080CCCE4 - .align 2, 0 -_080CCC80: .4byte gStringVar2 -_080CCC84: .4byte gMoveNames + 0xFA4 -_080CCC88: .4byte gSpecialVar_0x8005 -_080CCC8C: - movs r0, 0x64 - mov r1, r8 - muls r1, r0 - ldr r0, _080CCCF0 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xD - bl GetMonData - cmp r0, 0 - beq _080CCCA8 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080CCCA8: - adds r0, r4, 0 - movs r1, 0xE - bl GetMonData - cmp r0, 0 - beq _080CCCBA - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080CCCBA: - adds r0, r4, 0 - movs r1, 0xF - bl GetMonData - cmp r0, 0 - beq _080CCCCC - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080CCCCC: - adds r0, r4, 0 - movs r1, 0x10 - bl GetMonData - cmp r0, 0 - beq _080CCCDE - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080CCCDE: - ldr r0, _080CCCF4 @ =gSpecialVar_0x8006 - strh r6, [r0] - movs r0, 0x1 -_080CCCE4: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080CCCF0: .4byte gPlayerParty -_080CCCF4: .4byte gSpecialVar_0x8006 - thumb_func_end sub_80CCB94 - - thumb_func_start sub_80CCCF8 -sub_80CCCF8: @ 80CCCF8 - push {r4,lr} - movs r4, 0 - ldr r0, _080CCD0C @ =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0xF - bne _080CCD14 - ldr r0, _080CCD10 @ =0x000002de - bl FlagSet - b _080CCD2C - .align 2, 0 -_080CCD0C: .4byte gSpecialVar_0x8005 -_080CCD10: .4byte 0x000002de -_080CCD14: - cmp r0, 0x10 - bne _080CCD24 - ldr r0, _080CCD20 @ =0x000002df - bl FlagSet - b _080CCD2C - .align 2, 0 -_080CCD20: .4byte 0x000002df -_080CCD24: - movs r0, 0xB8 - lsls r0, 2 - bl FlagSet -_080CCD2C: - ldr r0, _080CCD74 @ =0x000002de - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CCD40 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080CCD40: - ldr r0, _080CCD78 @ =0x000002df - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CCD54 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080CCD54: - movs r0, 0xB8 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CCD6A - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080CCD6A: - cmp r4, 0x3 - beq _080CCD7C - movs r0, 0 - b _080CCD7E - .align 2, 0 -_080CCD74: .4byte 0x000002de -_080CCD78: .4byte 0x000002df -_080CCD7C: - movs r0, 0x1 -_080CCD7E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80CCCF8 - - thumb_func_start sub_80CCD84 -sub_80CCD84: @ 80CCD84 - push {lr} - ldr r0, _080CCDB8 @ =0x000002e3 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080CCDC8 - ldr r0, _080CCDBC @ =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r1, [r2, 0x4] - ldr r0, _080CCDC0 @ =0x00003d03 - cmp r1, r0 - bne _080CCDC8 - ldr r1, [r2] - ldr r0, _080CCDC4 @ =0x00190018 - cmp r1, r0 - bne _080CCDC8 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080CCDC8 - movs r0, 0x1 - b _080CCDCA - .align 2, 0 -_080CCDB8: .4byte 0x000002e3 -_080CCDBC: .4byte gSaveBlock1Ptr -_080CCDC0: .4byte 0x00003d03 -_080CCDC4: .4byte 0x00190018 -_080CCDC8: - movs r0, 0 -_080CCDCA: - pop {r1} - bx r1 - thumb_func_end sub_80CCD84 - - thumb_func_start sub_80CCDD0 -sub_80CCDD0: @ 80CCDD0 - push {lr} - movs r2, 0xD6 - lsls r2, 2 - movs r0, 0x1F - movs r1, 0x1F - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - movs r0, 0x14 - bl PlaySE - ldr r0, _080CCDF8 @ =0x000002e3 - bl FlagSet - bl ScriptContext2_Disable - pop {r0} - bx r0 - .align 2, 0 -_080CCDF8: .4byte 0x000002e3 - thumb_func_end sub_80CCDD0 - - thumb_func_start sub_80CCDFC -sub_80CCDFC: @ 80CCDFC - push {lr} - ldr r0, _080CCE0C @ =task_deoxys_sound - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080CCE0C: .4byte task_deoxys_sound - thumb_func_end sub_80CCDFC - - thumb_func_start task_deoxys_sound -task_deoxys_sound: @ 80CCE10 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _080CCE30 @ =0x00000848 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CCE38 - ldr r1, _080CCE34 @ =gSpecialVar_Result - movs r0, 0x3 - b _080CCE9E - .align 2, 0 -_080CCE30: .4byte 0x00000848 -_080CCE34: .4byte gSpecialVar_Result -_080CCE38: - ldr r0, _080CCE80 @ =0x0000403e - mov r8, r0 - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, _080CCE84 @ =0x00004026 - 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 _080CCE90 - ldr r0, _080CCE88 @ =gUnknown_83F637C - subs r1, r5, 0x1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, r6 - bcs _080CCE90 - movs r0, 0 - bl sub_80CCEE8 - mov r0, r8 - movs r1, 0 - bl VarSet - ldr r1, _080CCE8C @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - b _080CCEA4 - .align 2, 0 -_080CCE80: .4byte 0x0000403e -_080CCE84: .4byte 0x00004026 -_080CCE88: .4byte gUnknown_83F637C -_080CCE8C: .4byte gSpecialVar_Result -_080CCE90: - cmp r5, 0xA - bne _080CCEB4 - ldr r0, _080CCEAC @ =0x00000848 - bl FlagSet - ldr r1, _080CCEB0 @ =gSpecialVar_Result - movs r0, 0x2 -_080CCE9E: - strh r0, [r1] - bl EnableBothScriptContexts -_080CCEA4: - adds r0, r7, 0 - bl DestroyTask - b _080CCED6 - .align 2, 0 -_080CCEAC: .4byte 0x00000848 -_080CCEB0: .4byte gSpecialVar_Result -_080CCEB4: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80CCEE8 - ldr r0, _080CCEE0 @ =0x0000403e - adds r1, r5, 0 - bl VarSet - ldr r1, _080CCEE4 @ =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - adds r0, r7, 0 - bl DestroyTask -_080CCED6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CCEE0: .4byte 0x0000403e -_080CCEE4: .4byte gSpecialVar_Result - thumb_func_end task_deoxys_sound - - thumb_func_start sub_80CCEE8 -sub_80CCEE8: @ 80CCEE8 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 5 - ldr r1, _080CCF24 @ =gUnknown_83F6206 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - movs r0, 0xA - bl sub_8083598 - ldr r0, _080CCF28 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - cmp r4, 0 - bne _080CCF2C - movs r0, 0xBD - bl PlaySE - b _080CCF32 - .align 2, 0 -_080CCF24: .4byte gUnknown_83F6206 -_080CCF28: .4byte gSaveBlock1Ptr -_080CCF2C: - movs r0, 0xFD - bl PlaySE -_080CCF32: - ldr r0, _080CCF64 @ =sub_80CCF98 - movs r1, 0x8 - bl CreateTask - ldr r3, _080CCF68 @ =gFieldEffectArguments - movs r0, 0x1 - str r0, [r3] - movs r0, 0x38 - str r0, [r3, 0x4] - movs r0, 0x2 - str r0, [r3, 0x8] - ldr r0, _080CCF6C @ =gUnknown_83F6366 - 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 _080CCF70 - movs r0, 0x3C - b _080CCF72 - .align 2, 0 -_080CCF64: .4byte sub_80CCF98 -_080CCF68: .4byte gFieldEffectArguments -_080CCF6C: .4byte gUnknown_83F6366 -_080CCF70: - movs r0, 0x5 -_080CCF72: - str r0, [r3, 0x14] - movs r0, 0x43 - bl FieldEffectStart - ldr r0, _080CCF94 @ =gUnknown_83F6366 - adds r1, r5, r0 - ldrb r1, [r1] - adds r0, 0x1 - adds r0, r5, r0 - ldrb r2, [r0] - movs r0, 0x1 - bl Overworld_SetMapObjTemplateCoords - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CCF94: .4byte gUnknown_83F6366 - thumb_func_end sub_80CCEE8 - - thumb_func_start sub_80CCF98 -sub_80CCF98: @ 80CCF98 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x43 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080CCFB4 - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_080CCFB4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CCF98 - - thumb_func_start sub_80CCFBC -sub_80CCFBC: @ 80CCFBC - push {r4,lr} - ldr r4, _080CCFEC @ =0x00004026 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _080CCFF0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, _080CCFF4 @ =0x00003802 MAP_BIRTH_ISLAND_EXTERIOR - cmp r1, r0 - bne _080CD000 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x63 - bls _080CCFF8 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - b _080CD000 - .align 2, 0 -_080CCFEC: .4byte 0x00004026 -_080CCFF0: .4byte gSaveBlock1Ptr -_080CCFF4: .4byte 0x00003802 -_080CCFF8: - adds r0, r4, 0 - adds r1, r2, 0 - bl VarSet -_080CD000: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CCFBC - - thumb_func_start sub_80CD008 -sub_80CD008: @ 80CD008 - push {lr} - ldr r0, _080CD02C @ =0x0000403e - bl VarGet - lsls r0, 24 - lsrs r0, 19 - ldr r1, _080CD030 @ =gUnknown_83F6206 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - movs r0, 0xA - bl sub_8083598 - pop {r0} - bx r0 - .align 2, 0 -_080CD02C: .4byte 0x0000403e -_080CD030: .4byte gUnknown_83F6206 - thumb_func_end sub_80CD008 - - thumb_func_start sub_80CD034 -sub_80CD034: @ 80CD034 - push {r4,r5,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _080CD06A -_080CD044: - movs r0, 0x64 - muls r0, r4 - ldr r1, _080CD05C @ =gPlayerParty - adds r0, r1 - movs r1, 0x4 - bl GetMonData - cmp r0, 0x1 - bne _080CD060 - movs r0, 0x1 - b _080CD06C - .align 2, 0 -_080CD05C: .4byte gPlayerParty -_080CD060: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _080CD044 -_080CD06A: - movs r0, 0 -_080CD06C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80CD034 - - thumb_func_start sub_80CD074 -sub_80CD074: @ 80CD074 - push {lr} - ldr r0, _080CD088 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, _080CD08C @ =0x00000a02 - cmp r1, r0 - beq _080CD090 - movs r0, 0x1 - b _080CD092 - .align 2, 0 -_080CD088: .4byte gSaveBlock1Ptr -_080CD08C: .4byte 0x00000a02 -_080CD090: - movs r0, 0 -_080CD092: - pop {r1} - bx r1 - thumb_func_end sub_80CD074 - - thumb_func_start sub_80CD098 -sub_80CD098: @ 80CD098 - push {lr} - sub sp, 0x4 - ldr r0, _080CD0CC @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x2 - beq _080CD0E8 - ldr r0, _080CD0D0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, 0x1B - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _080CD0D4 @ =gSpecialVar_0x8006 - ldrh r3, [r0] - cmp r3, 0 - bne _080CD0E0 - ldr r0, _080CD0D8 @ =gSpecialVar_0x8005 - ldrh r2, [r0] - str r3, [sp] - movs r0, 0 - movs r3, 0 - bl CreateTextCursorSpriteForOakSpeech - ldr r1, _080CD0DC @ =gUnknown_2039A1B - strb r0, [r1] - b _080CD0E8 - .align 2, 0 -_080CD0CC: .4byte gUnknown_203ADFA -_080CD0D0: .4byte gSpecialVar_0x8004 -_080CD0D4: .4byte gSpecialVar_0x8006 -_080CD0D8: .4byte gSpecialVar_0x8005 -_080CD0DC: .4byte gUnknown_2039A1B -_080CD0E0: - ldr r0, _080CD0F0 @ =gUnknown_2039A1B - ldrb r0, [r0] - bl sub_8006398 -_080CD0E8: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080CD0F0: .4byte gUnknown_2039A1B - thumb_func_end sub_80CD098 - - thumb_func_start sub_80CD0F4 -sub_80CD0F4: @ 80CD0F4 - push {r4-r7,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - cmp r6, r7 - bcs _080CD14A -_080CD104: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, _080CD138 @ =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - ldr r1, _080CD13C @ =gSpecialVar_0x8004 - ldrh r1, [r1] - cmp r0, r1 - bne _080CD140 - bl sub_80CC1E4 - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - cmp r4, r0 - bne _080CD140 - movs r0, 0x1 - b _080CD14C - .align 2, 0 -_080CD138: .4byte gPlayerParty -_080CD13C: .4byte gSpecialVar_0x8004 -_080CD140: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _080CD104 -_080CD14A: - movs r0, 0 -_080CD14C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80CD0F4 - - @ Determines which of Lorelei's doll collection to show - @ based on how many times you've entered the Hall of Fame. - thumb_func_start Special_ComputeLoreleiDollCollection -Special_ComputeLoreleiDollCollection: @ 80CD154 - push {r4,lr} - movs r0, 0xA - bl GetGameStat - adds r4, r0, 0 - cmp r4, 0x18 - bls _080CD1AE - movs r0, 0xA5 - bl FlagClear - cmp r4, 0x31 - bls _080CD172 - movs r0, 0xA6 - bl FlagClear -_080CD172: - cmp r4, 0x4A - bls _080CD17C - movs r0, 0xA7 - bl FlagClear -_080CD17C: - cmp r4, 0x63 - bls _080CD186 - movs r0, 0xA8 - bl FlagClear -_080CD186: - cmp r4, 0x7C - bls _080CD190 - movs r0, 0xA9 - bl FlagClear -_080CD190: - cmp r4, 0x95 - bls _080CD19A - movs r0, 0xAA - bl FlagClear -_080CD19A: - cmp r4, 0xAE - bls _080CD1A4 - movs r0, 0xAB - bl FlagClear -_080CD1A4: - cmp r4, 0xC7 - bls _080CD1AE - movs r0, 0xAC - bl FlagClear -_080CD1AE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end Special_ComputeLoreleiDollCollection - - thumb_func_start sub_80CD1B4 -sub_80CD1B4: @ 80CD1B4 - push {lr} - ldr r0, _080CD1C8 @ =sub_80CD1CC - movs r1, 0x8 - bl CreateTask - movs r0, 0x96 - bl PlaySE - pop {r0} - bx r0 - .align 2, 0 -_080CD1C8: .4byte sub_80CD1CC - thumb_func_end sub_80CD1B4 - - thumb_func_start sub_80CD1CC -sub_80CD1CC: @ 80CD1CC - 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, _080CD21C @ =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, _080CD220 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r1, r0 - bne _080CD200 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0 - strh r0, [r4, 0x2] - movs r0, 0x96 - bl PlaySE -_080CD200: - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, _080CD224 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _080CD214 - adds r0, r5, 0 - bl DestroyTask -_080CD214: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CD21C: .4byte gTasks+0x8 -_080CD220: .4byte gSpecialVar_0x8005 -_080CD224: .4byte gSpecialVar_0x8004 - thumb_func_end sub_80CD1CC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s index 3452841c4..ec892e0bb 100644 --- a/asm/fldeff_cut.s +++ b/asm/fldeff_cut.s @@ -33,7 +33,7 @@ sub_8097898: @ 8097898 ldr r4, _080978CC @ =gUnknown_2039874 movs r0, 0 strb r0, [r4] - bl sub_80CCD84 + bl CutMoveRuinValleyCheck lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -232,7 +232,7 @@ sub_8097A20: @ 8097A20 ldrb r0, [r0] cmp r0, 0x1 bne _08097A3C - bl sub_80CCDD0 + bl CutMoveOpenDottedHoleDoor b _08097A42 .align 2, 0 _08097A38: .4byte gUnknown_2039874 diff --git a/asm/learn_move.s b/asm/learn_move.s index a7a5b264d..36b88bc20 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -15,8 +15,8 @@ sub_80E4620: @ 80E4620 bx r0 thumb_func_end sub_80E4620 - thumb_func_start sub_80E4634 -sub_80E4634: @ 80E4634 + thumb_func_start DisplayMoveTutorMenu +DisplayMoveTutorMenu: @ 80E4634 push {lr} sub sp, 0x4 bl ScriptContext2_Enable @@ -35,7 +35,7 @@ sub_80E4634: @ 80E4634 bx r0 .align 2, 0 _080E465C: .4byte sub_80E4660 - thumb_func_end sub_80E4634 + thumb_func_end DisplayMoveTutorMenu thumb_func_start sub_80E4660 sub_80E4660: @ 80E4660 @@ -1653,7 +1653,7 @@ _080E53F4: movs r2, 0x2 movs r3, 0x2 bl sub_80E559C - ldr r1, _080E5440 @ =gUnknown_84886E8 + ldr r1, _080E5440 @ =gMoveDescriptionPointers subs r0, r5, 0x1 lsls r0, 2 adds r0, r1 @@ -1670,7 +1670,7 @@ _080E53F4: bx r0 .align 2, 0 _080E543C: .4byte gBattleMoves -_080E5440: .4byte gUnknown_84886E8 +_080E5440: .4byte gMoveDescriptionPointers thumb_func_end sub_80E5340 thumb_func_start sub_80E5444 diff --git a/asm/pokemon_size_record.s b/asm/pokemon_size_record.s index cb87652fa..e14bdc51d 100644 --- a/asm/pokemon_size_record.s +++ b/asm/pokemon_size_record.s @@ -323,8 +323,8 @@ sub_80A0904: @ 80A0904 _080A0914: .4byte 0x0000403d thumb_func_end sub_80A0904 - thumb_func_start sub_80A0918 -sub_80A0918: @ 80A0918 + thumb_func_start GetHeracrossSizeRecordInfo +GetHeracrossSizeRecordInfo: @ 80A0918 push {lr} ldr r0, _080A092C @ =0x0000403d bl GetVarPointer @@ -335,10 +335,10 @@ sub_80A0918: @ 80A0918 bx r0 .align 2, 0 _080A092C: .4byte 0x0000403d - thumb_func_end sub_80A0918 + thumb_func_end GetHeracrossSizeRecordInfo - thumb_func_start sub_80A0930 -sub_80A0930: @ 80A0930 + thumb_func_start CompareHeracrossSize +CompareHeracrossSize: @ 80A0930 push {r4,lr} ldr r0, _080A0950 @ =0x0000403d bl GetVarPointer @@ -355,7 +355,7 @@ sub_80A0930: @ 80A0930 .align 2, 0 _080A0950: .4byte 0x0000403d _080A0954: .4byte gSpecialVar_Result - thumb_func_end sub_80A0930 + thumb_func_end CompareHeracrossSize thumb_func_start sub_80A0958 sub_80A0958: @ 80A0958 @@ -369,8 +369,8 @@ sub_80A0958: @ 80A0958 _080A0968: .4byte 0x00004040 thumb_func_end sub_80A0958 - thumb_func_start sub_80A096C -sub_80A096C: @ 80A096C + thumb_func_start GetMagikarpSizeRecordInfo +GetMagikarpSizeRecordInfo: @ 80A096C push {lr} ldr r0, _080A0980 @ =0x00004040 bl GetVarPointer @@ -381,10 +381,10 @@ sub_80A096C: @ 80A096C bx r0 .align 2, 0 _080A0980: .4byte 0x00004040 - thumb_func_end sub_80A096C + thumb_func_end GetMagikarpSizeRecordInfo - thumb_func_start sub_80A0984 -sub_80A0984: @ 80A0984 + thumb_func_start CompareMagikarpSize +CompareMagikarpSize: @ 80A0984 push {r4,lr} ldr r0, _080A09A4 @ =0x00004040 bl GetVarPointer @@ -401,7 +401,7 @@ sub_80A0984: @ 80A0984 .align 2, 0 _080A09A4: .4byte 0x00004040 _080A09A8: .4byte gSpecialVar_Result - thumb_func_end sub_80A0984 + thumb_func_end CompareMagikarpSize thumb_func_start GiveGiftRibbonToParty GiveGiftRibbonToParty: @ 80A09AC diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 71e0e2e0e..ec0e9e53c 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1751,8 +1751,8 @@ _0808C69C: _0808C6A4: .4byte gPaletteFade thumb_func_end c3_0808C39C - thumb_func_start sub_808C6A8 -sub_808C6A8: @ 808C6A8 + thumb_func_start ShowPokemonStorageSystem +ShowPokemonStorageSystem: @ 808C6A8 push {lr} ldr r0, _0808C6D0 @ =c3_0808C39C movs r1, 0x50 @@ -1773,7 +1773,7 @@ sub_808C6A8: @ 808C6A8 .align 2, 0 _0808C6D0: .4byte c3_0808C39C _0808C6D4: .4byte gTasks - thumb_func_end sub_808C6A8 + thumb_func_end ShowPokemonStorageSystem thumb_func_start mapldr_0808C6D8 mapldr_0808C6D8: @ 808C6D8 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 8a01dcfb6..d9ef35bd4 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -6470,7 +6470,7 @@ _08137B1C: str r1, [sp, 0x4] str r6, [sp, 0x8] str r5, [sp, 0xC] - ldr r3, _08137BC8 @ =gUnknown_84886E8 + ldr r3, _08137BC8 @ =gMoveDescriptionPointers mov r4, r8 ldrb r1, [r4] lsls r1, 1 @@ -6502,7 +6502,7 @@ _08137BB8: .4byte 0x00003004 _08137BBC: .4byte gUnknown_8463FA4 _08137BC0: .4byte 0x0000316c _08137BC4: .4byte 0x00003188 -_08137BC8: .4byte gUnknown_84886E8 +_08137BC8: .4byte gMoveDescriptionPointers _08137BCC: .4byte 0x00003258 thumb_func_end sub_8137AF8 @@ -7652,7 +7652,7 @@ _081384C4: .4byte gEnemyParty _081384C8: .4byte gLinkPlayers _081384CC: .4byte 0x0000304c _081384D0: - bl sub_80CC1E4 + bl GetPlayerTrainerId adds r4, r0, 0 ldr r0, _0813851C @ =0x0000ffff ands r4, r0 diff --git a/asm/post_battle_event_funcs.s b/asm/post_battle_event_funcs.s index 20455093a..a96501d7b 100644 --- a/asm/post_battle_event_funcs.s +++ b/asm/post_battle_event_funcs.s @@ -106,8 +106,8 @@ _080CA3BC: .4byte 0x0000083b _080CA3C0: .4byte CB2_DoHallOfFameScreen thumb_func_end Special_HallOfFame - thumb_func_start sub_80CA3C4 -sub_80CA3C4: @ 80CA3C4 + thumb_func_start sp0C8_whiteout_maybe +sp0C8_whiteout_maybe: @ 80CA3C4 push {lr} ldr r0, _080CA3D4 @ =c2_whiteout bl SetMainCallback2 @@ -116,6 +116,6 @@ sub_80CA3C4: @ 80CA3C4 bx r1 .align 2, 0 _080CA3D4: .4byte c2_whiteout - thumb_func_end sub_80CA3C4 + thumb_func_end sp0C8_whiteout_maybe .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_pokemon_util_80A0058.s b/asm/script_pokemon_util_80A0058.s index 6b4cdd1a8..525293081 100644 --- a/asm/script_pokemon_util_80A0058.s +++ b/asm/script_pokemon_util_80A0058.s @@ -420,8 +420,8 @@ _080A0378: .4byte gSpecialVar_Result _080A037C: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic thumb_func_end sub_80A0350 - thumb_func_start sub_80A0380 -sub_80A0380: @ 80A0380 + thumb_func_start ChooseBattleTowerPlayerParty +ChooseBattleTowerPlayerParty: @ 80A0380 push {lr} ldr r1, _080A0394 @ =gMain ldr r0, _080A0398 @ =sub_80A039C @@ -433,7 +433,7 @@ sub_80A0380: @ 80A0380 .align 2, 0 _080A0394: .4byte gMain _080A0398: .4byte sub_80A039C - thumb_func_end sub_80A0380 + thumb_func_end ChooseBattleTowerPlayerParty thumb_func_start sub_80A039C sub_80A039C: @ 80A039C @@ -450,7 +450,7 @@ sub_80A039C: @ 80A039C _080A03B0: .4byte gUnknown_203B0D4 _080A03B4: .4byte gSpecialVar_Result _080A03B8: - bl sub_80A03D8 + bl ReducePlayerPartyToThree ldr r1, _080A03D0 @ =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] @@ -465,8 +465,8 @@ _080A03D0: .4byte gSpecialVar_Result _080A03D4: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic thumb_func_end sub_80A039C - thumb_func_start sub_80A03D8 -sub_80A03D8: @ 80A03D8 + thumb_func_start ReducePlayerPartyToThree +ReducePlayerPartyToThree: @ 80A03D8 push {r4-r7,lr} mov r7, r8 push {r7} @@ -530,6 +530,6 @@ _080A042C: _080A0454: .4byte gPlayerParty _080A0458: .4byte gUnknown_203B0D4 _080A045C: .4byte 0x05000096 - thumb_func_end sub_80A03D8 + thumb_func_end ReducePlayerPartyToThree .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_pokemon_util_80BF8FC.s b/asm/script_pokemon_util_80BF8FC.s index bf461b039..15d19e08b 100644 --- a/asm/script_pokemon_util_80BF8FC.s +++ b/asm/script_pokemon_util_80BF8FC.s @@ -36,8 +36,8 @@ _080BF934: .4byte sub_80BF97C _080BF938: .4byte gTasks thumb_func_end Special_ChooseMonFromParty - thumb_func_start sub_80BF93C -sub_80BF93C: @ 80BF93C + thumb_func_start SelectMoveTutorMon +SelectMoveTutorMon: @ 80BF93C push {lr} sub sp, 0x4 bl ScriptContext2_Enable @@ -65,7 +65,7 @@ sub_80BF93C: @ 80BF93C .align 2, 0 _080BF974: .4byte sub_80BF97C _080BF978: .4byte gTasks - thumb_func_end sub_80BF93C + thumb_func_end SelectMoveTutorMon thumb_func_start sub_80BF97C sub_80BF97C: @ 80BF97C @@ -100,8 +100,8 @@ _080BF9B4: .4byte gPaletteFade _080BF9B8: .4byte gTasks thumb_func_end sub_80BF97C - thumb_func_start Special_ChooseMoveToDelete -Special_ChooseMoveToDelete: @ 80BF9BC + thumb_func_start SelectMove +SelectMove: @ 80BF9BC push {r4,lr} sub sp, 0x4 ldr r0, _080BF9F0 @ =gPlayerParty @@ -132,7 +132,7 @@ _080BF9F8: .4byte gPlayerPartyCount _080BF9FC: .4byte CB2_ReturnToField _080BFA00: .4byte gFieldCallback _080BFA04: .4byte FieldCallback_ReturnToEventScript2 - thumb_func_end Special_ChooseMoveToDelete + thumb_func_end SelectMove thumb_func_start ScrSpecial_CountPokemonMoves ScrSpecial_CountPokemonMoves: @ 80BFA08 @@ -333,8 +333,8 @@ sub_80BFAA8: @ 80BFAA8 _080BFBA4: .4byte gPPUpGetMask thumb_func_end sub_80BFAA8 - thumb_func_start Special_DeleteSelectedMove -Special_DeleteSelectedMove: @ 80BFBA8 + thumb_func_start DeleteMonMove +DeleteMonMove: @ 80BFBA8 push {r4-r6,lr} mov r6, r8 push {r6} @@ -385,10 +385,10 @@ _080BFBFC: _080BFC08: .4byte gSpecialVar_0x8004 _080BFC0C: .4byte gPlayerParty _080BFC10: .4byte gSpecialVar_0x8005 - thumb_func_end Special_DeleteSelectedMove + thumb_func_end DeleteMonMove - thumb_func_start sub_80BFC14 -sub_80BFC14: @ 80BFC14 + thumb_func_start IsSelectedMonEgg +IsSelectedMonEgg: @ 80BFC14 push {lr} ldr r0, _080BFC38 @ =gSpecialVar_0x8004 ldrh r1, [r0] @@ -417,6 +417,6 @@ _080BFC48: bx r0 .align 2, 0 _080BFC4C: .4byte gSpecialVar_Result - thumb_func_end sub_80BFC14 + thumb_func_end IsSelectedMonEgg .align 2, 0 @ Don't pad with nop. diff --git a/asm/trade.s b/asm/trade.s index b5e8ee022..8dd3809f1 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -13779,8 +13779,8 @@ _08053A94: .4byte gUnknown_826D1E4 _08053A98: .4byte SpriteCallbackDummy thumb_func_end sub_8053A0C - thumb_func_start sub_8053A9C -sub_8053A9C: @ 8053A9C + thumb_func_start GetInGameTradeSpeciesInfo +GetInGameTradeSpeciesInfo: @ 8053A9C push {r4-r6,lr} ldr r0, _08053AD0 @ =gSpecialVar_0x8004 ldrh r0, [r0] @@ -13811,7 +13811,7 @@ _08053AD4: .4byte gUnknown_826CF8C _08053AD8: .4byte gStringVar1 _08053ADC: .4byte gSpeciesNames _08053AE0: .4byte gStringVar2 - thumb_func_end sub_8053A9C + thumb_func_end GetInGameTradeSpeciesInfo thumb_func_start sub_8053AE4 sub_8053AE4: @ 8053AE4 @@ -14078,8 +14078,8 @@ _08053CEE: _08053D28: .4byte gUnknown_826D1A8 thumb_func_end sub_8053CD4 - thumb_func_start sub_8053D2C -sub_8053D2C: @ 8053D2C + thumb_func_start GetTradeSpecies +GetTradeSpecies: @ 8053D2C push {r4-r6,lr} ldr r6, _08053D58 @ =gSpecialVar_0x8005 ldrh r0, [r6] @@ -14108,10 +14108,10 @@ _08053D62: pop {r4-r6} pop {r1} bx r1 - thumb_func_end sub_8053D2C + thumb_func_end GetTradeSpecies - thumb_func_start sub_8053D68 -sub_8053D68: @ 8053D68 + thumb_func_start CreateInGameTradePokemon +CreateInGameTradePokemon: @ 8053D68 push {lr} ldr r0, _08053D7C @ =gSpecialVar_0x8005 ldrb r0, [r0] @@ -14123,7 +14123,7 @@ sub_8053D68: @ 8053D68 .align 2, 0 _08053D7C: .4byte gSpecialVar_0x8005 _08053D80: .4byte gSpecialVar_0x8004 - thumb_func_end sub_8053D68 + thumb_func_end CreateInGameTradePokemon thumb_func_start sub_8053D84 sub_8053D84: @ 8053D84 @@ -14839,8 +14839,8 @@ _08054438: .4byte gWirelessCommType _0805443C: .4byte gMain thumb_func_end sub_80543C4 - thumb_func_start sub_8054440 -sub_8054440: @ 8054440 + thumb_func_start DoInGameTradeScene +DoInGameTradeScene: @ 8054440 push {lr} sub sp, 0x4 bl ScriptContext2_Enable @@ -14860,7 +14860,7 @@ sub_8054440: @ 8054440 bx r0 .align 2, 0 _0805446C: .4byte sub_8054470 - thumb_func_end sub_8054440 + thumb_func_end DoInGameTradeScene thumb_func_start sub_8054470 sub_8054470: @ 8054470 diff --git a/baserom.ips b/baserom.ips Binary files differindex 94d61ef1f..f619a0841 100644 --- a/baserom.ips +++ b/baserom.ips diff --git a/common_syms/field_specials.txt b/common_syms/field_specials.txt new file mode 100644 index 000000000..04599f921 --- /dev/null +++ b/common_syms/field_specials.txt @@ -0,0 +1,2 @@ +sFieldSpecialsListMenuTemplate +sFieldSpecialsListMenuScrollBuffer diff --git a/data/data_835B488.s b/data/data_835B488.s index b2b76476c..e49b310a6 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -807,7 +807,7 @@ gUnknown_83E0248:: @ 83E0248 .4byte gUnknown_841807D, NULL .4byte gUnknown_841808E, NULL .4byte gUnknown_841809C, NULL - .4byte gUnknown_8417929, NULL + .4byte gOtherText_Quit, NULL gUnknown_83E0268:: @ 83E0268 .4byte gUnknown_8417DFE, NULL diff --git a/data/data_83F5738.s b/data/data_83F5738.s index 1f9839561..da25ada76 100644 --- a/data/data_83F5738.s +++ b/data/data_83F5738.s @@ -1,3 +1,7 @@ +#include "constants/species.h" +#include "constants/items.h" + .include "asm/macros.inc" + .include "constants/constants.inc" .section .rodata .align 2 @@ -22,89 +26,6 @@ gUnknown_83F5864:: @ 83F5864 gUnknown_83F5A44:: @ 83F5A44 .incbin "baserom.gba", 0x3F5A44, 0xB4 -gUnknown_83F5AF8:: @ 83F5AF8 - .incbin "baserom.gba", 0x3F5AF8, 0x22 - -gUnknown_83F5B1A:: @ 83F5B1A - .incbin "baserom.gba", 0x3F5B1A, 0x16 - -gUnknown_83F5B30:: @ 83F5B30 - .incbin "baserom.gba", 0x3F5B30, 0xC - -gUnknown_83F5B3C:: @ 83F5B3C - .incbin "baserom.gba", 0x3F5B3C, 0x8 - -gUnknown_83F5B44:: @ 83F5B44 - .incbin "baserom.gba", 0x3F5B44, 0x50 - -gUnknown_83F5B94:: @ 83F5B94 - .incbin "baserom.gba", 0x3F5B94, 0x12 - -gUnknown_83F5BA6:: @ 83F5BA6 - .incbin "baserom.gba", 0x3F5BA6, 0x12 - -gUnknown_83F5BB8:: @ 83F5BB8 - .incbin "baserom.gba", 0x3F5BB8, 0x9 - -gUnknown_83F5BC1:: @ 83F5BC1 - .incbin "baserom.gba", 0x3F5BC1, 0xB - -gUnknown_83F5BCC:: @ 83F5BCC - .incbin "baserom.gba", 0x3F5BCC, 0x150 - -gUnknown_83F5D1C:: @ 83F5D1C - .incbin "baserom.gba", 0x3F5D1C, 0x10 - -sStarterMon:: @ 83F5D2C - .incbin "baserom.gba", 0x3F5D2C, 0x6 - -gUnknown_83F5D32:: @ 83F5D32 - .incbin "baserom.gba", 0x3F5D32, 0x26 - -gUnknown_83F5D58:: @ 83F5D58 - .incbin "baserom.gba", 0x3F5D58, 0x198 - - .align 2 -gUnknown_83F5EF0:: @ 83F5EF0 - .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scr_tool.c" - - .align 2 -gUnknown_83F5F24:: @ 83F5F24 - .asciz "0" - -gUnknown_83F5F26:: @ 83F5F26 - .incbin "baserom.gba", 0x3F5F26, 0x2A - -gUnknown_83F5F50:: @ 83F5F50 - .incbin "baserom.gba", 0x3F5F50, 0x160 - -gUnknown_83F60B0:: @ 83F60B0 - .incbin "baserom.gba", 0x3F60B0, 0x20 - -gUnknown_83F60D0:: @ 83F60D0 - .incbin "baserom.gba", 0x3F60D0, 0x100 - -gUnknown_83F61D0:: @ 83F61D0 - .incbin "baserom.gba", 0x3F61D0, 0x20 - -gUnknown_83F61F0:: @ 83F61F0 - .incbin "baserom.gba", 0x3F61F0, 0xB - -gUnknown_83F61FB:: @ 83F61FB - .incbin "baserom.gba", 0x3F61FB, 0x8 - -gUnknown_83F6203:: @ 83F6203 - .incbin "baserom.gba", 0x3F6203, 0x3 - -gUnknown_83F6206:: @ 83F6206 - .incbin "baserom.gba", 0x3F6206, 0x160 - -gUnknown_83F6366:: @ 83F6366 - .incbin "baserom.gba", 0x3F6366, 0x16 - -gUnknown_83F637C:: @ 83F637C - .incbin "baserom.gba", 0x3F637C, 0xC - .section .rodata.83F6C90 gUnknown_83F6C90:: @ 83F6C90 .incbin "baserom.gba", 0x3F6C90, 0x20 diff --git a/data/data_8471F00.s b/data/data_8471F00.s index bd77774a9..82d507ea1 100644 --- a/data/data_8471F00.s +++ b/data/data_8471F00.s @@ -342,7 +342,7 @@ gUnknown_84827B4:: @ 84827B4 .include "data/text/move_descriptions.inc" .align 2, 0 -gUnknown_84886E8:: @ 84886E8 +gMoveDescriptionPointers:: @ 84886E8 .4byte gMoveDescription_Pound .4byte gMoveDescription_KarateChop .4byte gMoveDescription_DoubleSlap diff --git a/data/event_scripts.s b/data/event_scripts.s index 8f9e8ae26..da56bcf96 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -15,6 +15,7 @@ #include "constants/map_objects.h" #include "constants/fame_checker.h" #include "constants/seagallop.h" +#include "constants/game_stat.h" .include "asm/macros.inc" .include "asm/macros/event.inc" .set FALSE, 0 @@ -227,7 +228,7 @@ gStdScriptsEnd:: .include "data/maps/SevenIsland_TanobyRuins_RixyChamber/scripts.inc" .include "data/maps/SevenIsland_TanobyRuins_ViapoisChamber/scripts.inc" .include "data/maps/ThreeIsland_DunsparceTunnel/scripts.inc" - .include "data/maps/SevenIsland_SeavaultCanyon_TanobyKey/scripts.inc" + .include "data/maps/SevenIsland_SevaultCanyon_TanobyKey/scripts.inc" .include "data/maps/NavelRock_1F/scripts.inc" .include "data/maps/NavelRock_Summit/scripts.inc" .include "data/maps/NavelRock_Base/scripts.inc" @@ -583,7 +584,7 @@ gStdScriptsEnd:: .include "data/maps/FiveIsland_LostCave_Room4/text.inc" .include "data/maps/FiveIsland_LostCave_Room10/text.inc" .include "data/maps/ThreeIsland_DunsparceTunnel/text.inc" - .include "data/maps/SevenIsland_SeavaultCanyon_TanobyKey/text.inc" + .include "data/maps/SevenIsland_SevaultCanyon_TanobyKey/text.inc" .include "data/maps/OneIsland_KindleRoad_EmberSpa/text.inc" .include "data/maps/PalletTown/text.inc" .include "data/maps/ViridianCity/text.inc" @@ -876,7 +877,7 @@ gUnknown_81A4EE9:: @ 81A4EE9 goto EventScript_1A4FC7 EventScript_1A4F19:: @ 81A4F19 - special sub_8080618 + special ScrSpecial_ShowTrainerNonBattlingSpeech waitmessage waitbuttonpress release @@ -897,18 +898,18 @@ gUnknown_81A4F21:: @ 81A4F21 gUnknown_81A4F3E:: @ 81A4F3E call EventScript_1A4FBA - specialvar VAR_RESULT, sub_810CEB4 + specialvar VAR_RESULT, ScrSpecial_GetTrainerEyeRematchFlag compare_var_to_value VAR_RESULT, 0 goto_if eq, EventScript_1A4F72 special PlayTrainerEncounterMusic special sub_8080398 - special sub_80805D8 + special ScrSpecial_ShowTrainerIntroSpeech waitmessage waitbuttonpress special sub_8110AB4 compare_var_to_value VAR_RESULT, 2 goto_if eq, EventScript_1A4FB8 - special sub_80805B0 + special ScrSpecial_StartTrainerEyeRematch waitstate releaseall end @@ -917,7 +918,7 @@ EventScript_1A4F72:: @ 81A4F72 ontrainerbattleend gUnknown_81A4F73:: @ 81A4F73 - specialvar VAR_RESULT, sub_810CEB4 + specialvar VAR_RESULT, ScrSpecial_GetTrainerEyeRematchFlag compare_var_to_value VAR_RESULT, 0 goto_if eq, EventScript_1A4FB0 special CheckForAlivePartyMons @@ -925,13 +926,13 @@ gUnknown_81A4F73:: @ 81A4F73 goto_if ne, EventScript_1A4FB1 special PlayTrainerEncounterMusic special sub_8080398 - special sub_80805D8 + special ScrSpecial_ShowTrainerIntroSpeech waitmessage waitbuttonpress special sub_8110AB4 compare_var_to_value VAR_RESULT, 2 goto_if eq, EventScript_1A4FB8 - special sub_80805B0 + special ScrSpecial_StartTrainerEyeRematch waitstate releaseall end @@ -940,7 +941,7 @@ EventScript_1A4FB0:: @ 81A4FB0 ontrainerbattleend EventScript_1A4FB1:: @ 81A4FB1 - special sub_8080618 + special ScrSpecial_ShowTrainerNonBattlingSpeech waitmessage waitbuttonpress release @@ -960,14 +961,14 @@ Movement_1A4FC5:: @ 81A4FC5 step_end EventScript_1A4FC7:: @ 81A4FC7 - special sub_80805D8 + special ScrSpecial_ShowTrainerIntroSpeech waitmessage waitbuttonpress special sub_8110AB4 compare_var_to_value VAR_RESULT, 2 goto_if eq, EventScript_1A501A battlebegin - specialvar VAR_RESULT, sub_80803CC + specialvar VAR_RESULT, ScrSpecial_GetTrainerBattleMode compare_var_to_value VAR_RESULT, 0 goto_if eq, EventScript_1A5017 compare_var_to_value VAR_RESULT, 2 @@ -1599,7 +1600,7 @@ EventScript_1A6578:: @ 81A6578 end EventScript_1A65B8:: @ 81A65B8 - incrementgamestat 15 + incrementgamestat GAME_STAT_USED_POKECENTER message Text_1A54E1 waitmessage call EventScript_1A65CE @@ -1618,7 +1619,7 @@ EventScript_1A65CE:: @ 81A65CE return EventScript_1A65EC:: @ 81A65EC - specialvar VAR_RESULT, sub_80CD074 + specialvar VAR_RESULT, Special_PlayerIsNotInTrainerTowerLobby compare_var_to_value VAR_RESULT, 0 goto_if eq, EventScript_1A661D specialvar VAR_RESULT, sp182_move_string @@ -1797,7 +1798,7 @@ gStdScript_1:: @ 81A67B3 EventScript_1A67EE:: @ 81A67EE removeobject VAR_LAST_TALKED additem VAR_0x8004, VAR_0x8005 - specialvar VAR_RESULT, sub_80CC8CC + specialvar VAR_RESULT, Special_ItemIsTM_GetMoveName copyvar VAR_0x8008, VAR_RESULT compare_var_to_value VAR_0x8008, 1 call_if eq, EventScript_1A6821 @@ -1922,7 +1923,7 @@ gUnknown_81A6955:: @ 81A6955 setvar VAR_0x8004, 27 special Special_SetSomeVariable setvar VAR_0x8004, 0 - special sub_80CA86C + special Special_AnimatePcTurnOn playse SE_PC_ON msgbox Text_1A5075 goto EventScript_1A6998 @@ -1954,7 +1955,7 @@ EventScript_1A69A8:: @ 81A69A8 EventScript_1A69F0:: @ 81A69F0 playse SE_PC_LOGIN msgbox Text_1A50DD - special sub_80EB6FC + special PlayerPC waitstate goto EventScript_1A6998 end @@ -1966,7 +1967,7 @@ EventScript_1A6A05:: @ 81A6A05 checkflag FLAG_SYS_NOT_SOMEONES_PC call_if TRUE, EventScript_1A6A3D msgbox Text_1A50BE - special sub_808C6A8 + special ShowPokemonStorageSystem waitstate setvar VAR_0x8004, 27 special Special_SetSomeVariable @@ -1984,7 +1985,7 @@ EventScript_1A6A3D:: @ 81A6A3D EventScript_1A6A46:: @ 81A6A46 setvar VAR_0x8004, 0 playse SE_PC_OFF - special sub_80CA9A8 + special Special_AnimatePcTurnOff special sub_812B35C releaseall end @@ -2169,7 +2170,7 @@ gUnknown_81A6C32:: @ 81A6C32 compare_var_to_value VAR_RESULT, 2 goto_if eq, EventScript_1A7AE0 fadescreen 1 - special sub_80CA7EC + special Special_TownMap waitstate releaseall end @@ -2319,7 +2320,7 @@ EventScript_1A73AD:: @ 81A73AD EventScript_1A73B6:: @ 81A73B6 copyvar VAR_0x8004, VAR_0x8009 - special sub_80CA524 + special Special_GetProfOaksRatingMessage waitmessage compare_var_to_value VAR_RESULT, 0 call_if eq, EventScript_1A73D8 @@ -2410,7 +2411,7 @@ EventScript_1A74B7:: @ 81A74B7 setvar VAR_0x8005, 1 setvar VAR_0x8006, 8 setvar VAR_0x8007, 5 - special sub_80CAC28 + special Special_ShakeScreen waitstate releaseall end @@ -2500,7 +2501,7 @@ Movement_1A75D3:: @ 81A75D3 step_end EventScript_1A75D5:: @ 81A75D5 - special sub_80CC974 + special Special_PokemonLeagueLightingEffect return Movement_1A75D9:: @ 81A75D9 @@ -2704,7 +2705,7 @@ gUnknown_81A7702:: @ 81A7702 call EventScript_1A6AC0 lock faceplayer - specialvar VAR_0x8008, sub_80CC4D4 + specialvar VAR_0x8008, Special_GetMartClerkObjectId textcolor 0 compare_var_to_value VAR_0x8004, 0 goto_if eq, EventScript_1A774D @@ -3894,7 +3895,7 @@ EventScript_1A8C9B:: @ 81A8C9B EventScript_1A8CAD:: @ 81A8CAD copyvar VAR_0x8004, VAR_0x8008 - specialvar VAR_RESULT, sub_8053A9C + specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT return @@ -3908,15 +3909,15 @@ EventScript_1A8CBD:: @ 81A8CBD EventScript_1A8CC9:: @ 81A8CC9 copyvar VAR_0x8005, VAR_0x800A - specialvar VAR_RESULT, sub_8053D2C + specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT return EventScript_1A8CD9:: @ 81A8CD9 copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A - special sub_8053D68 - special sub_8054440 + special CreateInGameTradePokemon + special DoInGameTradeScene waitstate lock faceplayer @@ -4113,7 +4114,7 @@ EventScript_1A8E4D:: @ 81A8E4D special sub_807F0B0 waitstate fadescreen 1 - special sub_80CA3C4 + special sp0C8_whiteout_maybe waitstate end @@ -4392,12 +4393,12 @@ EventScript_1A925E:: @ 81A925E doweather return -EventScript_1A926C:: @ 81A926C - special sub_80CD098 +EventScript_BrailleCursorWaitButton:: @ 81A926C + special Special_BrailleCursorToggle waitbuttonpress playse SE_SELECT setvar VAR_0x8006, 1 - special sub_80CD098 + special Special_BrailleCursorToggle return EventScript_1A927C:: @ 81A927C @@ -4525,7 +4526,7 @@ gUnknown_81A93C0:: @ 81A93C0 Route3_EventScript_1A93C9:: @ 81A93C9 trainerbattle 0, TRAINER_YOUNGSTER_BEN, 0, Text_183560, Text_1835A0 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A93F0 msgbox Text_1835B4, 6 @@ -4538,7 +4539,7 @@ EventScript_1A93F0:: @ 81A93F0 Route3_EventScript_1A9407:: @ 81A9407 trainerbattle 0, TRAINER_YOUNGSTER_CALVIN, 0, Text_183786, Text_1837BD - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A942E msgbox Text_1837CF, 6 @@ -4551,7 +4552,7 @@ EventScript_1A942E:: @ 81A942E Route3_EventScript_1A9445:: @ 81A9445 trainerbattle 0, TRAINER_BUG_CATCHER_COLTON, 0, Text_1834E6, Text_183509 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A946C msgbox Text_18351C, 6 @@ -4564,7 +4565,7 @@ EventScript_1A946C:: @ 81A946C Route3_EventScript_1A9483:: @ 81A9483 trainerbattle 0, TRAINER_BUG_CATCHER_GREG, 0, Text_183682, Text_1836B3 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A94AA msgbox Text_1836D9, 6 @@ -4577,7 +4578,7 @@ EventScript_1A94AA:: @ 81A94AA Route3_EventScript_1A94C1:: @ 81A94C1 trainerbattle 0, TRAINER_BUG_CATCHER_JAMES, 0, Text_183807, Text_183837 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A94E8 msgbox Text_183849, 6 @@ -4590,7 +4591,7 @@ EventScript_1A94E8:: @ 81A94E8 Route3_EventScript_1A94FF:: @ 81A94FF trainerbattle 0, TRAINER_LASS_JANICE, 0, Text_183616, Text_18363F - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9526 msgbox Text_18364C, 6 @@ -4603,7 +4604,7 @@ EventScript_1A9526:: @ 81A9526 Route3_EventScript_1A953D:: @ 81A953D trainerbattle 0, TRAINER_LASS_SALLY, 0, Text_18371B, Text_183746 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9564 msgbox Text_18374F, 6 @@ -4616,7 +4617,7 @@ EventScript_1A9564:: @ 81A9564 Route3_EventScript_1A957B:: @ 81A957B trainerbattle 0, TRAINER_LASS_ROBIN, 0, Text_18387A, Text_183891 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A95A2 msgbox Text_18389C, 6 @@ -4629,7 +4630,7 @@ EventScript_1A95A2:: @ 81A95A2 Route4_EventScript_1A95B9:: @ 81A95B9 trainerbattle 0, TRAINER_LASS_CRISSY, 0, Text_183906, Text_183938 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A95E0 msgbox Text_183957, 6 @@ -4642,7 +4643,7 @@ EventScript_1A95E0:: @ 81A95E0 Route24_EventScript_1A95F7:: @ 81A95F7 trainerbattle 0, TRAINER_YOUNGSTER_TIMMY, 0, Text_188F76, Text_188F95 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A961E msgbox Text_188FA7, 6 @@ -4655,7 +4656,7 @@ EventScript_1A961E:: @ 81A961E Route24_EventScript_1A9635:: @ 81A9635 trainerbattle 0, TRAINER_BUG_CATCHER_CALE, 0, Text_18901B, Text_18908C - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A965C msgbox Text_18909E, 6 @@ -4668,7 +4669,7 @@ EventScript_1A965C:: @ 81A965C Route24_EventScript_1A9673:: @ 81A9673 trainerbattle 0, TRAINER_LASS_RELI, 0, Text_188F2C, Text_188F46 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A969A msgbox Text_188F53, 6 @@ -4681,7 +4682,7 @@ EventScript_1A969A:: @ 81A969A Route24_EventScript_1A96B1:: @ 81A96B1 trainerbattle 0, TRAINER_LASS_ALI, 0, Text_188FC9, Text_188FE7 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A96D8 msgbox Text_188FF9, 6 @@ -4694,7 +4695,7 @@ EventScript_1A96D8:: @ 81A96D8 Route24_EventScript_1A96EF:: @ 81A96EF trainerbattle 0, TRAINER_CAMPER_SHANE, 0, Text_188E74, Text_188E94 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9716 msgbox Text_188EA3, 6 @@ -4707,7 +4708,7 @@ EventScript_1A9716:: @ 81A9716 Route24_EventScript_1A972D:: @ 81A972D trainerbattle 0, TRAINER_CAMPER_ETHAN, 0, Text_188ED9, Text_188EFA - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9754 msgbox Text_188F0A, 6 @@ -4720,7 +4721,7 @@ EventScript_1A9754:: @ 81A9754 Route25_EventScript_1A976B:: @ 81A976B trainerbattle 0, TRAINER_YOUNGSTER_JOEY, 0, Text_1890C0, Text_1890E6 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9792 msgbox Text_1890F5, 6 @@ -4733,7 +4734,7 @@ EventScript_1A9792:: @ 81A9792 Route25_EventScript_1A97A9:: @ 81A97A9 trainerbattle 0, TRAINER_YOUNGSTER_DAN, 0, Text_189165, Text_1891A6 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A97D0 msgbox Text_1891B3, 6 @@ -4746,7 +4747,7 @@ EventScript_1A97D0:: @ 81A97D0 Route25_EventScript_1A97E7:: @ 81A97E7 trainerbattle 0, TRAINER_YOUNGSTER_CHAD, 0, Text_1892A9, Text_1892D9 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A980E msgbox Text_1892EF, 6 @@ -4759,7 +4760,7 @@ EventScript_1A980E:: @ 81A980E Route25_EventScript_1A9825:: @ 81A9825 trainerbattle 0, TRAINER_PICNICKER_KELSEY, 0, Text_189247, Text_189261 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A984C msgbox Text_189281, 6 @@ -4772,7 +4773,7 @@ EventScript_1A984C:: @ 81A984C Route25_EventScript_1A9863:: @ 81A9863 trainerbattle 0, TRAINER_LASS_HALEY, 0, Text_189333, Text_189364 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A988A msgbox Text_189378, 6 @@ -4785,7 +4786,7 @@ EventScript_1A988A:: @ 81A988A Route25_EventScript_1A98A1:: @ 81A98A1 trainerbattle 0, TRAINER_HIKER_FRANKLIN, 0, Text_1893A7, Text_1893EA - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A98C8 msgbox Text_1893FB, 6 @@ -4798,7 +4799,7 @@ EventScript_1A98C8:: @ 81A98C8 Route25_EventScript_1A98DF:: @ 81A98DF trainerbattle 0, TRAINER_HIKER_NOB, 0, Text_189423, Text_189459 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9906 msgbox Text_18947E, 6 @@ -4811,7 +4812,7 @@ EventScript_1A9906:: @ 81A9906 Route25_EventScript_1A991D:: @ 81A991D trainerbattle 0, TRAINER_HIKER_WAYNE, 0, Text_1894DE, Text_18950A - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9944 msgbox Text_18951C, 6 @@ -4824,7 +4825,7 @@ EventScript_1A9944:: @ 81A9944 Route25_EventScript_1A995B:: @ 81A995B trainerbattle 0, TRAINER_CAMPER_FLINT, 0, Text_1891EB, Text_189212 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9982 msgbox Text_18921D, 6 @@ -4837,7 +4838,7 @@ EventScript_1A9982:: @ 81A9982 Route6_EventScript_1A9999:: @ 81A9999 trainerbattle 0, TRAINER_BUG_CATCHER_KEIGO, 0, Text_183E9F, Text_183EC0 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A99C0 msgbox Text_183ED4, 6 @@ -4850,7 +4851,7 @@ EventScript_1A99C0:: @ 81A99C0 Route6_EventScript_1A99D7:: @ 81A99D7 trainerbattle 0, TRAINER_BUG_CATCHER_ELIJAH, 0, Text_183FF0, Text_18401A - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A99FE msgbox Text_18402B, 6 @@ -4863,7 +4864,7 @@ EventScript_1A99FE:: @ 81A99FE Route6_EventScript_1A9A15:: @ 81A9A15 trainerbattle 0, TRAINER_CAMPER_RICKY, 0, Text_183E04, Text_183E2A - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9A3C msgbox Text_183E3C, 6 @@ -4876,7 +4877,7 @@ EventScript_1A9A3C:: @ 81A9A3C Route6_EventScript_1A9A53:: @ 81A9A53 trainerbattle 0, TRAINER_CAMPER_JEFF, 0, Text_183F07, Text_183F24 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9A7A msgbox Text_183F51, 6 @@ -4889,7 +4890,7 @@ EventScript_1A9A7A:: @ 81A9A7A Route6_EventScript_1A9A91:: @ 81A9A91 trainerbattle 0, TRAINER_PICNICKER_NANCY, 0, Text_183E4E, Text_183E79 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9AB8 msgbox Text_183E8D, 6 @@ -4902,7 +4903,7 @@ EventScript_1A9AB8:: @ 81A9AB8 Route6_EventScript_1A9ACF:: @ 81A9ACF trainerbattle 0, TRAINER_PICNICKER_ISABELLE, 0, Text_183F90, Text_183FAB - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9AF6 msgbox Text_183FC4, 6 @@ -4915,7 +4916,7 @@ EventScript_1A9AF6:: @ 81A9AF6 Route11_EventScript_1A9B0D:: @ 81A9B0D trainerbattle 0, TRAINER_YOUNGSTER_EDDIE, 0, Text_184FBD, Text_184FD8 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9B34 msgbox Text_184FEF, 6 @@ -4928,7 +4929,7 @@ EventScript_1A9B34:: @ 81A9B34 Route11_EventScript_1A9B4B:: @ 81A9B4B trainerbattle 0, TRAINER_YOUNGSTER_DILLON, 0, Text_18506A, Text_18509B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9B72 msgbox Text_1850CF, 6 @@ -4941,7 +4942,7 @@ EventScript_1A9B72:: @ 81A9B72 Route11_EventScript_1A9B89:: @ 81A9B89 trainerbattle 0, TRAINER_YOUNGSTER_YASU, 0, Text_18517B, Text_1851AC - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9BB0 msgbox Text_1851D2, 6 @@ -4954,7 +4955,7 @@ EventScript_1A9BB0:: @ 81A9BB0 Route11_EventScript_1A9BC7:: @ 81A9BC7 trainerbattle 0, TRAINER_YOUNGSTER_DAVE, 0, Text_185285, Text_1852C1 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9BEE msgbox Text_1852E3, 6 @@ -4967,7 +4968,7 @@ EventScript_1A9BEE:: @ 81A9BEE Route11_EventScript_1A9C05:: @ 81A9C05 trainerbattle 0, TRAINER_ENGINEER_BRAXTON, 0, Text_185011, Text_185037 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9C2C msgbox Text_18504A, 6 @@ -4980,7 +4981,7 @@ EventScript_1A9C2C:: @ 81A9C2C Route11_EventScript_1A9C43:: @ 81A9C43 trainerbattle 0, TRAINER_ENGINEER_BERNIE, 0, Text_185236, Text_185250 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9C6A msgbox Text_185266, 6 @@ -4993,7 +4994,7 @@ EventScript_1A9C6A:: @ 81A9C6A Route11_EventScript_1A9C81:: @ 81A9C81 trainerbattle 0, TRAINER_GAMER_HUGO, 0, Text_184F01, Text_184F15 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9CA8 msgbox Text_184F2E, 6 @@ -5006,7 +5007,7 @@ EventScript_1A9CA8:: @ 81A9CA8 Route11_EventScript_1A9CBF:: @ 81A9CBF trainerbattle 0, TRAINER_GAMER_JASPER, 0, Text_184F5D, Text_184F7E - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9CE6 msgbox Text_184F8E, 6 @@ -5019,7 +5020,7 @@ EventScript_1A9CE6:: @ 81A9CE6 Route11_EventScript_1A9CFD:: @ 81A9CFD trainerbattle 0, TRAINER_GAMER_DIRK, 0, Text_1850E9, Text_185105 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9D24 msgbox Text_185114, 6 @@ -5032,7 +5033,7 @@ EventScript_1A9D24:: @ 81A9D24 Route11_EventScript_1A9D3B:: @ 81A9D3B trainerbattle 0, TRAINER_GAMER_DARIAN, 0, Text_185135, Text_18514E - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9D62 msgbox Text_185161, 6 @@ -5045,7 +5046,7 @@ EventScript_1A9D62:: @ 81A9D62 Route9_EventScript_1A9D79:: @ 81A9D79 trainerbattle 0, TRAINER_BUG_CATCHER_BRENT, 0, Text_184A2F, Text_184A6A - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9DA0 msgbox Text_184A8C, 6 @@ -5058,7 +5059,7 @@ EventScript_1A9DA0:: @ 81A9DA0 Route9_EventScript_1A9DB7:: @ 81A9DB7 trainerbattle 0, TRAINER_BUG_CATCHER_CONNER, 0, Text_184B18, Text_184B32 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9DDE msgbox Text_184B3B, 6 @@ -5071,7 +5072,7 @@ EventScript_1A9DDE:: @ 81A9DDE Route9_EventScript_1A9DF5:: @ 81A9DF5 trainerbattle 0, TRAINER_CAMPER_CHRIS, 0, Text_184844, Text_18487E - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9E1C msgbox Text_184890, 6 @@ -5084,7 +5085,7 @@ EventScript_1A9E1C:: @ 81A9E1C Route9_EventScript_1A9E33:: @ 81A9E33 trainerbattle 0, TRAINER_CAMPER_DREW, 0, Text_18489E, Text_1848CC - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9E5A msgbox Text_1848DE, 6 @@ -5097,7 +5098,7 @@ EventScript_1A9E5A:: @ 81A9E5A Route9_EventScript_1A9E71:: @ 81A9E71 trainerbattle 0, TRAINER_PICNICKER_ALICIA, 0, Text_1847B7, Text_1847DF - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9E98 msgbox Text_1847F0, 6 @@ -5110,7 +5111,7 @@ EventScript_1A9E98:: @ 81A9E98 Route9_EventScript_1A9EAF:: @ 81A9EAF trainerbattle 0, TRAINER_PICNICKER_CAITLIN, 0, Text_1848FF, Text_18491C - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9ED6 msgbox Text_184931, 6 @@ -5123,7 +5124,7 @@ EventScript_1A9ED6:: @ 81A9ED6 Route9_EventScript_1A9EED:: @ 81A9EED trainerbattle 0, TRAINER_HIKER_ALAN, 0, Text_184ABE, Text_184AD5 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9F14 msgbox Text_184AF1, 6 @@ -5136,7 +5137,7 @@ EventScript_1A9F14:: @ 81A9F14 Route9_EventScript_1A9F2B:: @ 81A9F2B trainerbattle 0, TRAINER_HIKER_BRICE, 0, Text_1849DF, Text_184A04 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9F52 msgbox Text_184A11, 6 @@ -5149,7 +5150,7 @@ EventScript_1A9F52:: @ 81A9F52 Route9_EventScript_1A9F69:: @ 81A9F69 trainerbattle 0, TRAINER_HIKER_JEREMY, 0, Text_18495E, Text_18497F - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9F90 msgbox Text_1849B0, 6 @@ -5162,7 +5163,7 @@ EventScript_1A9F90:: @ 81A9F90 Route10_EventScript_1A9FA7:: @ 81A9FA7 trainerbattle 0, TRAINER_PICNICKER_HEIDI, 0, Text_184CF1, Text_184D31 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A9FCE msgbox Text_184D4D, 6 @@ -5175,7 +5176,7 @@ EventScript_1A9FCE:: @ 81A9FCE Route10_EventScript_1A9FE5:: @ 81A9FE5 trainerbattle 0, TRAINER_PICNICKER_CAROL, 0, Text_184E04, Text_184E3B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA00C msgbox Text_184E5E, 6 @@ -5188,7 +5189,7 @@ EventScript_1AA00C:: @ 81AA00C Route10_EventScript_1AA023:: @ 81AA023 trainerbattle 0, TRAINER_POKEMANIAC_MARK, 0, Text_184B8A, Text_184BE5 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA04A msgbox Text_184BFB, 6 @@ -5201,7 +5202,7 @@ EventScript_1AA04A:: @ 81AA04A Route10_EventScript_1AA061:: @ 81AA061 trainerbattle 0, TRAINER_POKEMANIAC_HERMAN, 0, Text_184C86, Text_184CA7 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA088 msgbox Text_184CBB, 6 @@ -5214,7 +5215,7 @@ EventScript_1AA088:: @ 81AA088 Route10_EventScript_1AA09F:: @ 81AA09F trainerbattle 0, TRAINER_HIKER_CLARK, 0, Text_184C1D, Text_184C2D - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA0C6 msgbox Text_184C60, 6 @@ -5227,7 +5228,7 @@ EventScript_1AA0C6:: @ 81AA0C6 Route10_EventScript_1AA0DD:: @ 81AA0DD trainerbattle 0, TRAINER_HIKER_TRENT, 0, Text_184DAA, Text_184DCE - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA104 msgbox Text_184DE4, 6 @@ -5240,7 +5241,7 @@ EventScript_1AA104:: @ 81AA104 Route8_EventScript_1AA11B:: @ 81AA11B trainerbattle 0, TRAINER_LASS_PAIGE, 0, Text_1841ED, Text_184210 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA142 msgbox Text_18421B, 6 @@ -5253,7 +5254,7 @@ EventScript_1AA142:: @ 81AA142 Route8_EventScript_1AA159:: @ 81AA159 trainerbattle 0, TRAINER_LASS_ANDREA, 0, Text_184321, Text_184346 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA180 msgbox Text_184350, 6 @@ -5266,7 +5267,7 @@ EventScript_1AA180:: @ 81AA180 Route8_EventScript_1AA197:: @ 81AA197 trainerbattle 0, TRAINER_LASS_MEGAN, 0, Text_18437A, Text_1843A6 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA1BE msgbox Text_1843D2, 6 @@ -5279,7 +5280,7 @@ EventScript_1AA1BE:: @ 81AA1BE Route8_EventScript_1AA1D5:: @ 81AA1D5 trainerbattle 0, TRAINER_LASS_JULIA, 0, Text_1844AC, Text_1844D6 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA1FC msgbox Text_1844FD, 6 @@ -5292,7 +5293,7 @@ EventScript_1AA1FC:: @ 81AA1FC Route8_EventScript_1AA213:: @ 81AA213 trainerbattle 0, TRAINER_SUPER_NERD_AIDAN, 0, Text_1840C5, Text_184100 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA23A msgbox Text_18410E, 6 @@ -5305,7 +5306,7 @@ EventScript_1AA23A:: @ 81AA23A Route8_EventScript_1AA251:: @ 81AA251 trainerbattle 0, TRAINER_SUPER_NERD_GLENN, 0, Text_18417C, Text_1841B6 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA278 msgbox Text_1841C8, 6 @@ -5318,7 +5319,7 @@ EventScript_1AA278:: @ 81AA278 Route8_EventScript_1AA28F:: @ 81AA28F trainerbattle 0, TRAINER_SUPER_NERD_LESLIE, 0, Text_184257, Text_18427A - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA2B6 msgbox Text_1842B3, 6 @@ -5331,7 +5332,7 @@ EventScript_1AA2B6:: @ 81AA2B6 Route8_EventScript_1AA2CD:: @ 81AA2CD trainerbattle 0, TRAINER_GAMER_STAN, 0, Text_18412F, Text_18414D - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA2F4 msgbox Text_184162, 6 @@ -5344,7 +5345,7 @@ EventScript_1AA2F4:: @ 81AA2F4 Route8_EventScript_1AA30B:: @ 81AA30B trainerbattle 0, TRAINER_GAMER_RICH, 0, Text_184432, Text_18444F - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA332 msgbox Text_184466, 6 @@ -5357,7 +5358,7 @@ EventScript_1AA332:: @ 81AA332 Route8_EventScript_1AA349:: @ 81AA349 trainerbattle 4, TRAINER_TWINS_ELI_ANNE, 0, Text_1845A4, Text_1845D0, Text_184616 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA374 msgbox Text_1845F2, 6 @@ -5370,7 +5371,7 @@ EventScript_1AA374:: @ 81AA374 Route8_EventScript_1AA38F:: @ 81AA38F trainerbattle 4, TRAINER_TWINS_ELI_ANNE, 0, Text_18464A, Text_184675, Text_1846AF - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA3BA msgbox Text_18468B, 6 @@ -5383,7 +5384,7 @@ EventScript_1AA3BA:: @ 81AA3BA Route8_EventScript_1AA3D5:: @ 81AA3D5 trainerbattle 0, TRAINER_BIKER_RICARDO, 0, Text_1846E2, Text_1846FC - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA3FC msgbox Text_184719, 6 @@ -5396,7 +5397,7 @@ EventScript_1AA3FC:: @ 81AA3FC Route8_EventScript_1AA413:: @ 81AA413 trainerbattle 0, TRAINER_BIKER_JAREN, 0, Text_184742, Text_184767 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA43A msgbox Text_18477A, 6 @@ -5409,7 +5410,7 @@ EventScript_1AA43A:: @ 81AA43A Route12_EventScript_1AA451:: @ 81AA451 trainerbattle 0, TRAINER_FISHERMAN_NED, 0, Text_185402, Text_18541B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA478 msgbox Text_185432, 6 @@ -5422,7 +5423,7 @@ EventScript_1AA478:: @ 81AA478 Route12_EventScript_1AA48F:: @ 81AA48F trainerbattle 0, TRAINER_FISHERMAN_CHIP, 0, Text_18544E, Text_185475 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA4B6 msgbox Text_185488, 6 @@ -5435,7 +5436,7 @@ EventScript_1AA4B6:: @ 81AA4B6 Route12_EventScript_1AA4CD:: @ 81AA4CD trainerbattle 0, TRAINER_FISHERMAN_HANK, 0, Text_1855E1, Text_185606 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA4F4 msgbox Text_185616, 6 @@ -5448,7 +5449,7 @@ EventScript_1AA4F4:: @ 81AA4F4 Route12_EventScript_1AA50B:: @ 81AA50B trainerbattle 0, TRAINER_FISHERMAN_ELLIOT, 0, Text_185682, Text_1856D0 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA532 msgbox Text_1856DF, 6 @@ -5461,7 +5462,7 @@ EventScript_1AA532:: @ 81AA532 Route12_EventScript_1AA549:: @ 81AA549 trainerbattle 0, TRAINER_FISHERMAN_ANDREW, 0, Text_18570E, Text_185744 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA570 msgbox Text_18574D, 6 @@ -5474,7 +5475,7 @@ EventScript_1AA570:: @ 81AA570 Route12_EventScript_1AA587:: @ 81AA587 trainerbattle 0, TRAINER_ROCKER_LUCA, 0, Text_185547, Text_18559B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA5AE msgbox Text_1855A6, 6 @@ -5487,7 +5488,7 @@ EventScript_1AA5AE:: @ 81AA5AE Route12_EventScript_1AA5C5:: @ 81AA5C5 trainerbattle 0, TRAINER_CAMPER_JUSTIN, 0, Text_1854B9, Text_1854ED - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA5EC msgbox Text_1854F2, 6 @@ -5500,7 +5501,7 @@ EventScript_1AA5EC:: @ 81AA5EC Route12_EventScript_1AA603:: @ 81AA603 trainerbattle 4, TRAINER_YOUNG_COUPLE_GIA_JES, 0, Text_1857C5, Text_1857F1, Text_185842 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA62E msgbox Text_18581F, 6 @@ -5513,7 +5514,7 @@ EventScript_1AA62E:: @ 81AA62E Route12_EventScript_1AA649:: @ 81AA649 trainerbattle 4, TRAINER_YOUNG_COUPLE_GIA_JES, 0, Text_1858A6, Text_1858D0, Text_185908 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA674 msgbox Text_1858E2, 6 @@ -5526,7 +5527,7 @@ EventScript_1AA674:: @ 81AA674 Route13_EventScript_1AA68F:: @ 81AA68F trainerbattle 0, TRAINER_BIKER_JARED, 0, Text_185D05, Text_185D1D - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA6B6 msgbox Text_185D33, 6 @@ -5539,7 +5540,7 @@ EventScript_1AA6B6:: @ 81AA6B6 Route13_EventScript_1AA6CD:: @ 81AA6CD trainerbattle 0, TRAINER_BEAUTY_LOLA, 0, Text_185BFC, Text_185C1F - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA6F4 msgbox Text_185C35, 6 @@ -5552,7 +5553,7 @@ EventScript_1AA6F4:: @ 81AA6F4 Route13_EventScript_1AA70B:: @ 81AA70B trainerbattle 0, TRAINER_BEAUTY_SHEILA, 0, Text_185C69, Text_185C95 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA732 msgbox Text_185CA8, 6 @@ -5565,7 +5566,7 @@ EventScript_1AA732:: @ 81AA732 Route13_EventScript_1AA749:: @ 81AA749 trainerbattle 0, TRAINER_BIRD_KEEPER_SEBASTIAN, 0, Text_185955, Text_18597E - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA770 msgbox Text_1859A2, 6 @@ -5578,7 +5579,7 @@ EventScript_1AA770:: @ 81AA770 Route13_EventScript_1AA787:: @ 81AA787 trainerbattle 0, TRAINER_BIRD_KEEPER_PERRY, 0, Text_185B8F, Text_185BCA - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA7AE msgbox Text_185BDB, 6 @@ -5591,7 +5592,7 @@ EventScript_1AA7AE:: @ 81AA7AE Route13_EventScript_1AA7C5:: @ 81AA7C5 trainerbattle 0, TRAINER_BIRD_KEEPER_ROBERT, 0, Text_185D3D, Text_185D7B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA7EC msgbox Text_185D89, 6 @@ -5604,7 +5605,7 @@ EventScript_1AA7EC:: @ 81AA7EC Route13_EventScript_1AA803:: @ 81AA803 trainerbattle 0, TRAINER_PICNICKER_ALMA, 0, Text_185B12, Text_185B48 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA82A msgbox Text_185B67, 6 @@ -5617,7 +5618,7 @@ EventScript_1AA82A:: @ 81AA82A Route13_EventScript_1AA841:: @ 81AA841 trainerbattle 0, TRAINER_PICNICKER_SUSIE, 0, Text_1859CF, Text_1859EC - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA868 msgbox Text_1859F9, 6 @@ -5630,7 +5631,7 @@ EventScript_1AA868:: @ 81AA868 Route13_EventScript_1AA87F:: @ 81AA87F trainerbattle 0, TRAINER_PICNICKER_VALERIE, 0, Text_185A37, Text_185A56 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA8A6 msgbox Text_185A62, 6 @@ -5643,7 +5644,7 @@ EventScript_1AA8A6:: @ 81AA8A6 Route13_EventScript_1AA8BD:: @ 81AA8BD trainerbattle 0, TRAINER_PICNICKER_GWEN, 0, Text_185A91, Text_185AC1 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA8E4 msgbox Text_185ADE, 6 @@ -5656,7 +5657,7 @@ EventScript_1AA8E4:: @ 81AA8E4 Route14_EventScript_1AA8FB:: @ 81AA8FB trainerbattle 0, TRAINER_BIKER_MALIK, 0, Text_186344, Text_186362 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA922 msgbox Text_18636E, 6 @@ -5669,7 +5670,7 @@ EventScript_1AA922:: @ 81AA922 Route14_EventScript_1AA939:: @ 81AA939 trainerbattle 0, TRAINER_BIKER_LUKAS, 0, Text_1861F7, Text_186223 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA960 msgbox Text_186239, 6 @@ -5682,7 +5683,7 @@ EventScript_1AA960:: @ 81AA960 Route14_EventScript_1AA977:: @ 81AA977 trainerbattle 0, TRAINER_BIKER_ISAAC, 0, Text_186263, Text_186291 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA99E msgbox Text_18629D, 6 @@ -5695,7 +5696,7 @@ EventScript_1AA99E:: @ 81AA99E Route14_EventScript_1AA9B5:: @ 81AA9B5 trainerbattle 0, TRAINER_BIKER_GERALD, 0, Text_1862BD, Text_1862EF - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AA9DC msgbox Text_1862F8, 6 @@ -5708,7 +5709,7 @@ EventScript_1AA9DC:: @ 81AA9DC Route14_EventScript_1AA9F3:: @ 81AA9F3 trainerbattle 0, TRAINER_BIRD_KEEPER_DONALD, 0, Text_1860D9, Text_18610A - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAA1A msgbox Text_18611D, 6 @@ -5721,7 +5722,7 @@ EventScript_1AAA1A:: @ 81AAA1A Route14_EventScript_1AAA31:: @ 81AAA31 trainerbattle 0, TRAINER_BIRD_KEEPER_BENNY, 0, Text_18618E, Text_1861B3 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAA58 msgbox Text_1861BE, 6 @@ -5734,7 +5735,7 @@ EventScript_1AAA58:: @ 81AAA58 Route14_EventScript_1AAA6F:: @ 81AAA6F trainerbattle 0, TRAINER_BIRD_KEEPER_CARTER, 0, Text_185E4D, Text_185E81 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAA96 msgbox Text_185E9C, 6 @@ -5747,7 +5748,7 @@ EventScript_1AAA96:: @ 81AAA96 Route14_EventScript_1AAAAD:: @ 81AAAAD trainerbattle 0, TRAINER_BIRD_KEEPER_MITCH, 0, Text_185EDF, Text_185F0B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAAD4 msgbox Text_185F1A, 6 @@ -5760,7 +5761,7 @@ EventScript_1AAAD4:: @ 81AAAD4 Route14_EventScript_1AAAEB:: @ 81AAAEB trainerbattle 0, TRAINER_BIRD_KEEPER_BECK, 0, Text_185F46, Text_185FAE - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAB12 msgbox Text_185FBB, 6 @@ -5773,7 +5774,7 @@ EventScript_1AAB12:: @ 81AAB12 Route14_EventScript_1AAB29:: @ 81AAB29 trainerbattle 0, TRAINER_BIRD_KEEPER_MARLON, 0, Text_186021, Text_18607C - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAB50 msgbox Text_186091, 6 @@ -5786,7 +5787,7 @@ EventScript_1AAB50:: @ 81AAB50 Route14_EventScript_1AAB67:: @ 81AAB67 trainerbattle 4, TRAINER_TWINS_KIRI_JAN, 0, Text_1863B7, Text_1863EA, Text_18642E - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAB92 msgbox Text_18640D, 6 @@ -5799,7 +5800,7 @@ EventScript_1AAB92:: @ 81AAB92 Route14_EventScript_1AABAD:: @ 81AABAD trainerbattle 4, TRAINER_TWINS_KIRI_JAN, 0, Text_18645B, Text_186487, Text_1864D3 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AABD8 msgbox Text_18649C, 6 @@ -5812,7 +5813,7 @@ EventScript_1AABD8:: @ 81AABD8 Route15_EventScript_1AABF3:: @ 81AABF3 trainerbattle 0, TRAINER_BIKER_ERNEST, 0, Text_1868B6, Text_1868E8 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAC1A msgbox Text_1868F1, 6 @@ -5825,7 +5826,7 @@ EventScript_1AAC1A:: @ 81AAC1A Route15_EventScript_1AAC31:: @ 81AAC31 trainerbattle 0, TRAINER_BIKER_ALEX, 0, Text_186936, Text_186968 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAC58 msgbox Text_18697C, 6 @@ -5838,7 +5839,7 @@ EventScript_1AAC58:: @ 81AAC58 Route15_EventScript_1AAC6F:: @ 81AAC6F trainerbattle 0, TRAINER_BEAUTY_GRACE, 0, Text_18678B, Text_1867C1 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAC96 msgbox Text_1867DA, 6 @@ -5851,7 +5852,7 @@ EventScript_1AAC96:: @ 81AAC96 Route15_EventScript_1AACAD:: @ 81AACAD trainerbattle 0, TRAINER_BEAUTY_OLIVIA, 0, Text_18680C, Text_186841 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AACD4 msgbox Text_18686F, 6 @@ -5864,7 +5865,7 @@ EventScript_1AACD4:: @ 81AACD4 Route15_EventScript_1AACEB:: @ 81AACEB trainerbattle 0, TRAINER_BIRD_KEEPER_EDWIN, 0, Text_18664F, Text_18667A - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAD12 msgbox Text_18668D, 6 @@ -5877,7 +5878,7 @@ EventScript_1AAD12:: @ 81AAD12 Route15_EventScript_1AAD29:: @ 81AAD29 trainerbattle 0, TRAINER_BIRD_KEEPER_CHESTER, 0, Text_1866D1, Text_186707 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAD50 msgbox Text_18671A, 6 @@ -5890,7 +5891,7 @@ EventScript_1AAD50:: @ 81AAD50 Route15_EventScript_1AAD67:: @ 81AAD67 trainerbattle 0, TRAINER_PICNICKER_YAZMIN, 0, Text_186A22, Text_186A40 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAD8E msgbox Text_186A55, 6 @@ -5903,7 +5904,7 @@ EventScript_1AAD8E:: @ 81AAD8E Route15_EventScript_1AADA5:: @ 81AADA5 trainerbattle 0, TRAINER_PICNICKER_KINDRA, 0, Text_18650B, Text_186549 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AADCC msgbox Text_18655A, 6 @@ -5916,7 +5917,7 @@ EventScript_1AADCC:: @ 81AADCC Route15_EventScript_1AADE3:: @ 81AADE3 trainerbattle 0, TRAINER_PICNICKER_BECKY, 0, Text_1865D3, Text_186612 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAE0A msgbox Text_18661D, 6 @@ -5929,7 +5930,7 @@ EventScript_1AAE0A:: @ 81AAE0A Route15_EventScript_1AAE21:: @ 81AAE21 trainerbattle 0, TRAINER_PICNICKER_CELIA, 0, Text_1869BA, Text_1869E6 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAE48 msgbox Text_1869F4, 6 @@ -5942,7 +5943,7 @@ EventScript_1AAE48:: @ 81AAE48 Route15_EventScript_1AAE5F:: @ 81AAE5F trainerbattle 4, TRAINER_CRUSH_KIN_RON_MYA, 0, Text_186A95, Text_186ACB, Text_186B46 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAE8A msgbox Text_186B0A, 6 @@ -5955,7 +5956,7 @@ EventScript_1AAE8A:: @ 81AAE8A Route15_EventScript_1AAEA5:: @ 81AAEA5 trainerbattle 4, TRAINER_CRUSH_KIN_RON_MYA, 0, Text_186B89, Text_186BB1, Text_186BFE - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAED0 msgbox Text_186BD2, 6 @@ -5968,7 +5969,7 @@ EventScript_1AAED0:: @ 81AAED0 Route16_EventScript_1AAEEB:: @ 81AAEEB trainerbattle 0, TRAINER_BIKER_LAO, 0, Text_186C4D, Text_186C5F - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAF12 msgbox Text_186C75, 6 @@ -5981,7 +5982,7 @@ EventScript_1AAF12:: @ 81AAF12 Route16_EventScript_1AAF29:: @ 81AAF29 trainerbattle 0, TRAINER_BIKER_HIDEO, 0, Text_186D39, Text_186D52 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAF50 msgbox Text_186D5A, 6 @@ -5994,7 +5995,7 @@ EventScript_1AAF50:: @ 81AAF50 Route16_EventScript_1AAF67:: @ 81AAF67 trainerbattle 0, TRAINER_BIKER_RUBEN, 0, Text_186E86, Text_186EB4 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAF8E msgbox Text_186EC7, 6 @@ -6007,7 +6008,7 @@ EventScript_1AAF8E:: @ 81AAF8E Route16_EventScript_1AAFA5:: @ 81AAFA5 trainerbattle 0, TRAINER_CUE_BALL_KOJI, 0, Text_186CA2, Text_186CBB - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AAFCC msgbox Text_186CC5, 6 @@ -6020,7 +6021,7 @@ EventScript_1AAFCC:: @ 81AAFCC Route16_EventScript_1AAFE3:: @ 81AAFE3 trainerbattle 0, TRAINER_CUE_BALL_LUKE, 0, Text_186CE5, Text_186D06 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB00A msgbox Text_186D16, 6 @@ -6033,7 +6034,7 @@ EventScript_1AB00A:: @ 81AB00A Route16_EventScript_1AB021:: @ 81AB021 trainerbattle 0, TRAINER_CUE_BALL_CAMRON, 0, Text_186DD9, Text_186E0D - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB048 msgbox Text_186E1C, 6 @@ -6046,7 +6047,7 @@ EventScript_1AB048:: @ 81AB048 Route16_EventScript_1AB05F:: @ 81AB05F trainerbattle 4, TRAINER_YOUNG_COUPLE_LEA_JED, 0, Text_186FBD, Text_186FFA, Text_187057 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB08A msgbox Text_187027, 6 @@ -6059,7 +6060,7 @@ EventScript_1AB08A:: @ 81AB08A Route16_EventScript_1AB0A5:: @ 81AB0A5 trainerbattle 4, TRAINER_YOUNG_COUPLE_LEA_JED, 0, Text_187097, Text_1870CC, Text_187120 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB0D0 msgbox Text_1870F9, 6 @@ -6072,7 +6073,7 @@ EventScript_1AB0D0:: @ 81AB0D0 Route17_EventScript_1AB0EB:: @ 81AB0EB trainerbattle 0, TRAINER_BIKER_BILLY, 0, Text_1872BD, Text_1872E3 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB112 msgbox Text_1872EB, 6 @@ -6085,7 +6086,7 @@ EventScript_1AB112:: @ 81AB112 Route17_EventScript_1AB129:: @ 81AB129 trainerbattle 0, TRAINER_BIKER_NIKOLAS, 0, Text_18730A, Text_187325 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB150 msgbox Text_187333, 6 @@ -6098,7 +6099,7 @@ EventScript_1AB150:: @ 81AB150 Route17_EventScript_1AB167:: @ 81AB167 trainerbattle 0, TRAINER_BIKER_JAXON, 0, Text_187456, Text_187472 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB18E msgbox Text_187479, 6 @@ -6111,7 +6112,7 @@ EventScript_1AB18E:: @ 81AB18E Route17_EventScript_1AB1A5:: @ 81AB1A5 trainerbattle 0, TRAINER_BIKER_WILLIAM, 0, Text_18749B, Text_1874B6 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB1CC msgbox Text_1874C9, 6 @@ -6124,7 +6125,7 @@ EventScript_1AB1CC:: @ 81AB1CC Route17_EventScript_1AB1E3:: @ 81AB1E3 trainerbattle 0, TRAINER_CUE_BALL_RAUL, 0, Text_18717E, Text_1871AE - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB20A msgbox Text_1871BA, 6 @@ -6137,7 +6138,7 @@ EventScript_1AB20A:: @ 81AB20A Route17_EventScript_1AB221:: @ 81AB221 trainerbattle 0, TRAINER_CUE_BALL_ISAIAH, 0, Text_187228, Text_187254 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB248 msgbox Text_18725A, 6 @@ -6150,7 +6151,7 @@ EventScript_1AB248:: @ 81AB248 Route17_EventScript_1AB25F:: @ 81AB25F trainerbattle 0, TRAINER_CUE_BALL_ZEEK, 0, Text_187362, Text_187395 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB286 msgbox Text_18739F, 6 @@ -6163,7 +6164,7 @@ EventScript_1AB286:: @ 81AB286 Route17_EventScript_1AB29D:: @ 81AB29D trainerbattle 0, TRAINER_CUE_BALL_JAMAL, 0, Text_1873D1, Text_1873EB - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB2C4 msgbox Text_1873FF, 6 @@ -6176,7 +6177,7 @@ EventScript_1AB2C4:: @ 81AB2C4 Route17_EventScript_1AB2DB:: @ 81AB2DB trainerbattle 0, TRAINER_CUE_BALL_COREY, 0, Text_18741D, Text_187429 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB302 msgbox Text_187432, 6 @@ -6189,7 +6190,7 @@ EventScript_1AB302:: @ 81AB302 Route17_EventScript_1AB319:: @ 81AB319 trainerbattle 0, TRAINER_BIKER_VIRGIL, 0, Text_18727D, Text_187295 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB340 msgbox Text_1872A5, 6 @@ -6202,7 +6203,7 @@ EventScript_1AB340:: @ 81AB340 Route18_EventScript_1AB357:: @ 81AB357 trainerbattle 0, TRAINER_BIRD_KEEPER_WILTON, 0, Text_187640, Text_187672 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB37E msgbox Text_187677, 6 @@ -6215,7 +6216,7 @@ EventScript_1AB37E:: @ 81AB37E Route18_EventScript_1AB395:: @ 81AB395 trainerbattle 0, TRAINER_BIRD_KEEPER_RAMIRO, 0, Text_18768C, Text_1876B3 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB3BC msgbox Text_1876C5, 6 @@ -6228,7 +6229,7 @@ EventScript_1AB3BC:: @ 81AB3BC Route18_EventScript_1AB3D3:: @ 81AB3D3 trainerbattle 0, TRAINER_BIRD_KEEPER_JACOB, 0, Text_187704, Text_187726 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB3FA msgbox Text_18772C, 6 @@ -6241,7 +6242,7 @@ EventScript_1AB3FA:: @ 81AB3FA Route19_EventScript_1AB411:: @ 81AB411 trainerbattle 0, TRAINER_SWIMMER_MALE_RICHARD, 0, Text_1877A3, Text_1877DF - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB438 msgbox Text_1877EE, 6 @@ -6254,7 +6255,7 @@ EventScript_1AB438:: @ 81AB438 Route19_EventScript_1AB44F:: @ 81AB44F trainerbattle 0, TRAINER_SWIMMER_MALE_REECE, 0, Text_187811, Text_18783E - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB476 msgbox Text_187852, 6 @@ -6267,7 +6268,7 @@ EventScript_1AB476:: @ 81AB476 Route19_EventScript_1AB48D:: @ 81AB48D trainerbattle 0, TRAINER_SWIMMER_MALE_MATTHEW, 0, Text_187884, Text_1878A5 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB4B4 msgbox Text_1878B1, 6 @@ -6280,7 +6281,7 @@ EventScript_1AB4B4:: @ 81AB4B4 Route19_EventScript_1AB4CB:: @ 81AB4CB trainerbattle 0, TRAINER_SWIMMER_MALE_DOUGLAS, 0, Text_1878DD, Text_1878F8 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB4F2 msgbox Text_1878FE, 6 @@ -6293,7 +6294,7 @@ EventScript_1AB4F2:: @ 81AB4F2 Route19_EventScript_1AB509:: @ 81AB509 trainerbattle 0, TRAINER_SWIMMER_MALE_DAVID, 0, Text_187925, Text_187955 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB530 msgbox Text_18795B, 6 @@ -6306,7 +6307,7 @@ EventScript_1AB530:: @ 81AB530 Route19_EventScript_1AB547:: @ 81AB547 trainerbattle 0, TRAINER_SWIMMER_MALE_TONY, 0, Text_187985, Text_1879C3 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB56E msgbox Text_1879D3, 6 @@ -6319,7 +6320,7 @@ EventScript_1AB56E:: @ 81AB56E Route19_EventScript_1AB585:: @ 81AB585 trainerbattle 0, TRAINER_SWIMMER_MALE_AXLE, 0, Text_187AFA, Text_187B25 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB5AC msgbox Text_187B35, 6 @@ -6332,7 +6333,7 @@ EventScript_1AB5AC:: @ 81AB5AC Route19_EventScript_1AB5C3:: @ 81AB5C3 trainerbattle 0, TRAINER_SWIMMER_FEMALE_ANYA, 0, Text_187A11, Text_187A44 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB5EA msgbox Text_187A50, 6 @@ -6345,7 +6346,7 @@ EventScript_1AB5EA:: @ 81AB5EA Route19_EventScript_1AB601:: @ 81AB601 trainerbattle 0, TRAINER_SWIMMER_FEMALE_ALICE, 0, Text_187A9E, Text_187AC1 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB628 msgbox Text_187ACA, 6 @@ -6358,7 +6359,7 @@ EventScript_1AB628:: @ 81AB628 Route19_EventScript_1AB63F:: @ 81AB63F trainerbattle 0, TRAINER_SWIMMER_FEMALE_CONNIE, 0, Text_187B5D, Text_187B85 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB666 msgbox Text_187B94, 6 @@ -6371,7 +6372,7 @@ EventScript_1AB666:: @ 81AB666 Route19_EventScript_1AB67D:: @ 81AB67D trainerbattle 4, TRAINER_SIS_AND_BRO_LIA_LUC, 0, Text_187C32, Text_187C6F, Text_187CF2 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB6A8 msgbox Text_187C9E, 6 @@ -6384,7 +6385,7 @@ EventScript_1AB6A8:: @ 81AB6A8 Route19_EventScript_1AB6C3:: @ 81AB6C3 trainerbattle 4, TRAINER_SIS_AND_BRO_LIA_LUC, 0, Text_187D45, Text_187D7E, Text_187DE8 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB6EE msgbox Text_187DAD, 6 @@ -6397,7 +6398,7 @@ EventScript_1AB6EE:: @ 81AB6EE Route20_EventScript_1AB709:: @ 81AB709 trainerbattle 0, TRAINER_SWIMMER_MALE_BARRY, 0, Text_187E40, Text_187E7B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB730 msgbox Text_187E83, 6 @@ -6410,7 +6411,7 @@ EventScript_1AB730:: @ 81AB730 Route20_EventScript_1AB747:: @ 81AB747 trainerbattle 0, TRAINER_SWIMMER_MALE_DEAN, 0, Text_187FDB, Text_187FF7 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB76E msgbox Text_187FFE, 6 @@ -6423,7 +6424,7 @@ EventScript_1AB76E:: @ 81AB76E Route20_EventScript_1AB785:: @ 81AB785 trainerbattle 0, TRAINER_SWIMMER_MALE_DARRIN, 0, Text_18802E, Text_18805C - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB7AC msgbox Text_18806D, 6 @@ -6436,7 +6437,7 @@ EventScript_1AB7AC:: @ 81AB7AC Route20_EventScript_1AB7C3:: @ 81AB7C3 trainerbattle 0, TRAINER_SWIMMER_FEMALE_TIFFANY, 0, Text_187F24, Text_187F5A - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB7EA msgbox Text_187F61, 6 @@ -6449,7 +6450,7 @@ EventScript_1AB7EA:: @ 81AB7EA Route20_EventScript_1AB801:: @ 81AB801 trainerbattle 0, TRAINER_SWIMMER_FEMALE_NORA, 0, Text_1880F8, Text_188119 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB828 msgbox Text_188139, 6 @@ -6462,7 +6463,7 @@ EventScript_1AB828:: @ 81AB828 Route20_EventScript_1AB83F:: @ 81AB83F trainerbattle 0, TRAINER_SWIMMER_FEMALE_MELISSA, 0, Text_188218, Text_18825C - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB866 msgbox Text_18827B, 6 @@ -6475,7 +6476,7 @@ EventScript_1AB866:: @ 81AB866 Route20_EventScript_1AB87D:: @ 81AB87D trainerbattle 0, TRAINER_SWIMMER_FEMALE_SHIRLEY, 0, Text_187EBB, Text_187EED - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB8A4 msgbox Text_187EF6, 6 @@ -6488,7 +6489,7 @@ EventScript_1AB8A4:: @ 81AB8A4 Route20_EventScript_1AB8BB:: @ 81AB8BB trainerbattle 0, TRAINER_BIRD_KEEPER_ROGER, 0, Text_18808E, Text_1880AB - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB8E2 msgbox Text_1880C8, 6 @@ -6501,7 +6502,7 @@ EventScript_1AB8E2:: @ 81AB8E2 Route20_EventScript_1AB8F9:: @ 81AB8F9 trainerbattle 0, TRAINER_PICNICKER_MISSY, 0, Text_188165, Text_1881A3 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB920 msgbox Text_1881B8, 6 @@ -6514,7 +6515,7 @@ EventScript_1AB920:: @ 81AB920 Route20_EventScript_1AB937:: @ 81AB937 trainerbattle 0, TRAINER_PICNICKER_IRENE, 0, Text_187F78, Text_187F92 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB95E msgbox Text_187FA3, 6 @@ -6527,7 +6528,7 @@ EventScript_1AB95E:: @ 81AB95E Route21_North_EventScript_1AB975:: @ 81AB975 trainerbattle 0, TRAINER_FISHERMAN_RONALD, 0, Text_18835A, Text_188383 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB99C msgbox Text_188389, 6 @@ -6540,7 +6541,7 @@ EventScript_1AB99C:: @ 81AB99C Route21_South_EventScript_1AB9B3:: @ 81AB9B3 trainerbattle 0, TRAINER_FISHERMAN_CLAUDE, 0, Text_1885D8, Text_1885F8 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AB9DA msgbox Text_188632, 6 @@ -6553,7 +6554,7 @@ EventScript_1AB9DA:: @ 81AB9DA Route21_North_EventScript_1AB9F1:: @ 81AB9F1 trainerbattle 0, TRAINER_FISHERMAN_WADE, 0, Text_1883C6, Text_1883E9 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABA18 msgbox Text_18841D, 6 @@ -6566,7 +6567,7 @@ EventScript_1ABA18:: @ 81ABA18 Route21_South_EventScript_1ABA2F:: @ 81ABA2F trainerbattle 0, TRAINER_FISHERMAN_NOLAN, 0, Text_18868C, Text_1886AE - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABA56 msgbox Text_1886C5, 6 @@ -6579,7 +6580,7 @@ EventScript_1ABA56:: @ 81ABA56 Route21_North_EventScript_1ABA6D:: @ 81ABA6D trainerbattle 0, TRAINER_SWIMMER_MALE_SPENCER, 0, Text_18843C, Text_18845F - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABA94 msgbox Text_188465, 6 @@ -6592,7 +6593,7 @@ EventScript_1ABA94:: @ 81ABA94 Route21_South_EventScript_1ABAAB:: @ 81ABAAB trainerbattle 0, TRAINER_SWIMMER_MALE_JACK, 0, Text_1884D4, Text_1884F0 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABAD2 msgbox Text_1884FF, 6 @@ -6605,7 +6606,7 @@ EventScript_1ABAD2:: @ 81ABAD2 Route21_South_EventScript_1ABAE9:: @ 81ABAE9 trainerbattle 0, TRAINER_SWIMMER_MALE_JEROME, 0, Text_18851F, Text_188543 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABB10 msgbox Text_188555, 6 @@ -6618,7 +6619,7 @@ EventScript_1ABB10:: @ 81ABB10 Route21_South_EventScript_1ABB27:: @ 81ABB27 trainerbattle 0, TRAINER_SWIMMER_MALE_ROLAND, 0, Text_188592, Text_1885B2 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABB4E msgbox Text_1885BF, 6 @@ -6631,7 +6632,7 @@ EventScript_1ABB4E:: @ 81ABB4E Route21_North_EventScript_1ABB65:: @ 81ABB65 trainerbattle 4, TRAINER_SIS_AND_BRO_LIL_IAN, 0, Text_1886E2, Text_188712, Text_18875E - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABB90 msgbox Text_188734, 6 @@ -6644,7 +6645,7 @@ EventScript_1ABB90:: @ 81ABB90 Route21_North_EventScript_1ABBAB:: @ 81ABBAB trainerbattle 4, TRAINER_SIS_AND_BRO_LIL_IAN, 0, Text_1887B4, Text_1887F1, Text_188850 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABBD6 msgbox Text_188812, 6 @@ -6657,7 +6658,7 @@ EventScript_1ABBD6:: @ 81ABBD6 OneIsland_KindleRoad_EventScript_1ABBF1:: @ 81ABBF1 trainerbattle 0, TRAINER_SWIMMER_FEMALE_MARIA, 0, Text_18961F, Text_18964D - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABC18 msgbox Text_189657, 6 @@ -6670,7 +6671,7 @@ EventScript_1ABC18:: @ 81ABC18 OneIsland_KindleRoad_EventScript_1ABC2F:: @ 81ABC2F trainerbattle 0, TRAINER_SWIMMER_FEMALE_ABIGAIL, 0, Text_18968C, Text_1896AC - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABC56 msgbox Text_1896C1, 6 @@ -6683,7 +6684,7 @@ EventScript_1ABC56:: @ 81ABC56 OneIsland_KindleRoad_EventScript_1ABC6D:: @ 81ABC6D trainerbattle 0, TRAINER_SWIMMER_MALE_FINN, 0, Text_1896F9, Text_189728 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABC94 msgbox Text_189740, 6 @@ -6696,7 +6697,7 @@ EventScript_1ABC94:: @ 81ABC94 OneIsland_KindleRoad_EventScript_1ABCAB:: @ 81ABCAB trainerbattle 0, TRAINER_SWIMMER_MALE_GARRETT, 0, Text_189767, Text_1897A4 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABCD2 msgbox Text_1897C5, 6 @@ -6709,7 +6710,7 @@ EventScript_1ABCD2:: @ 81ABCD2 OneIsland_KindleRoad_EventScript_1ABCE9:: @ 81ABCE9 trainerbattle 0, TRAINER_FISHERMAN_TOMMY, 0, Text_1897FF, Text_189833 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABD10 msgbox Text_18984B, 6 @@ -6722,7 +6723,7 @@ EventScript_1ABD10:: @ 81ABD10 OneIsland_KindleRoad_EventScript_1ABD27:: @ 81ABD27 trainerbattle 0, TRAINER_CRUSH_GIRL_SHARON, 0, Text_189883, Text_1898AB - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABD4E msgbox Text_1898C4, 6 @@ -6735,7 +6736,7 @@ EventScript_1ABD4E:: @ 81ABD4E OneIsland_KindleRoad_EventScript_1ABD65:: @ 81ABD65 trainerbattle 0, TRAINER_CRUSH_GIRL_TANYA, 0, Text_1898F0, Text_18991B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABD8C msgbox Text_18992C, 6 @@ -6748,7 +6749,7 @@ EventScript_1ABD8C:: @ 81ABD8C OneIsland_KindleRoad_EventScript_1ABDA3:: @ 81ABDA3 trainerbattle 0, TRAINER_BLACK_BELT_SHEA, 0, Text_189950, Text_18998C - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABDCA msgbox Text_189998, 6 @@ -6761,7 +6762,7 @@ EventScript_1ABDCA:: @ 81ABDCA OneIsland_KindleRoad_EventScript_1ABDE1:: @ 81ABDE1 trainerbattle 0, TRAINER_BLACK_BELT_HUGH, 0, Text_1899CE, Text_189A0A - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABE08 msgbox Text_189A13, 6 @@ -6774,7 +6775,7 @@ EventScript_1ABE08:: @ 81ABE08 OneIsland_KindleRoad_EventScript_1ABE1F:: @ 81ABE1F trainerbattle 0, TRAINER_CAMPER_BRYCE, 0, Text_189A53, Text_189A92 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABE46 msgbox Text_189A9F, 6 @@ -6787,7 +6788,7 @@ EventScript_1ABE46:: @ 81ABE46 OneIsland_KindleRoad_EventScript_1ABE5D:: @ 81ABE5D trainerbattle 0, TRAINER_PICNICKER_CLAIRE, 0, Text_189ACB, Text_189B0B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABE84 msgbox Text_189B24, 6 @@ -6800,7 +6801,7 @@ EventScript_1ABE84:: @ 81ABE84 OneIsland_KindleRoad_EventScript_1ABE9B:: @ 81ABE9B trainerbattle 4, TRAINER_CRUSH_KIN_MIK_KIA, 0, Text_189B4D, Text_189B84, Text_189BDE - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABEC6 msgbox Text_189BA3, 6 @@ -6813,7 +6814,7 @@ EventScript_1ABEC6:: @ 81ABEC6 OneIsland_KindleRoad_EventScript_1ABEE1:: @ 81ABEE1 trainerbattle 4, TRAINER_CRUSH_KIN_MIK_KIA, 0, Text_189C33, Text_189C62, Text_189CAB - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABF0C msgbox Text_189C7E, 6 @@ -6826,7 +6827,7 @@ EventScript_1ABF0C:: @ 81ABF0C OneIsland_TreasureBeach_EventScript_1ABF27:: @ 81ABF27 trainerbattle 0, TRAINER_SWIMMER_FEMALE_AMARA, 0, Text_189D5A, Text_189D8B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABF4E msgbox Text_189DA3, 6 @@ -6839,7 +6840,7 @@ EventScript_1ABF4E:: @ 81ABF4E ThreeIsland_BondBridge_EventScript_1ABF65:: @ 81ABF65 trainerbattle 0, TRAINER_AROMA_LADY_NIKKI, 0, Text_189E42, Text_189E72 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABF8C msgbox Text_189E9E, 6 @@ -6852,7 +6853,7 @@ EventScript_1ABF8C:: @ 81ABF8C ThreeIsland_BondBridge_EventScript_1ABFA3:: @ 81ABFA3 trainerbattle 0, TRAINER_AROMA_LADY_VIOLET, 0, Text_189ED4, Text_189EFA - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ABFCA msgbox Text_189F21, 6 @@ -6865,7 +6866,7 @@ EventScript_1ABFCA:: @ 81ABFCA ThreeIsland_BondBridge_EventScript_1ABFE1:: @ 81ABFE1 trainerbattle 0, TRAINER_TUBER_AMIRA, 0, Text_189F63, Text_189F9A - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC008 msgbox Text_189FA8, 6 @@ -6878,7 +6879,7 @@ EventScript_1AC008:: @ 81AC008 ThreeIsland_BondBridge_EventScript_1AC01F:: @ 81AC01F trainerbattle 0, TRAINER_TUBER_ALEXIS, 0, Text_189FDB, Text_189FEE - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC046 msgbox Text_18A000, 6 @@ -6891,7 +6892,7 @@ EventScript_1AC046:: @ 81AC046 ThreeIsland_BondBridge_EventScript_1AC05D:: @ 81AC05D trainerbattle 0, TRAINER_SWIMMER_FEMALE_TISHA, 0, Text_18A01F, Text_18A053 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC084 msgbox Text_18A082, 6 @@ -6904,7 +6905,7 @@ EventScript_1AC084:: @ 81AC084 ThreeIsland_BondBridge_EventScript_1AC09B:: @ 81AC09B trainerbattle 4, TRAINER_TWINS_JOY_MEG, 0, Text_18A0C4, Text_18A0F7, Text_18A138 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC0C6 msgbox Text_18A106, 6 @@ -6917,7 +6918,7 @@ EventScript_1AC0C6:: @ 81AC0C6 ThreeIsland_BondBridge_EventScript_1AC0E1:: @ 81AC0E1 trainerbattle 4, TRAINER_TWINS_JOY_MEG, 0, Text_18A179, Text_18A1A3, Text_18A1CD - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC10C msgbox Text_18A1B2, 6 @@ -6930,7 +6931,7 @@ EventScript_1AC10C:: @ 81AC10C FiveIsland_ResortGorgeous_EventScript_1AC127:: @ 81AC127 trainerbattle 0, TRAINER_PAINTER_DAISY, 0, Text_18A3E2, Text_18A40E - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC14E msgbox Text_18A430, 6 @@ -6943,7 +6944,7 @@ EventScript_1AC14E:: @ 81AC14E FiveIsland_ResortGorgeous_EventScript_1AC165:: @ 81AC165 trainerbattle 0, TRAINER_PAINTER_CELINA, 0, Text_18A461, Text_18A49E - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC18C msgbox Text_18A4C6, 6 @@ -6956,7 +6957,7 @@ EventScript_1AC18C:: @ 81AC18C FiveIsland_ResortGorgeous_EventScript_1AC1A3:: @ 81AC1A3 trainerbattle 0, TRAINER_PAINTER_RAYNA, 0, Text_18A50E, Text_18A535 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC1CA msgbox Text_18A555, 6 @@ -6969,7 +6970,7 @@ EventScript_1AC1CA:: @ 81AC1CA FiveIsland_ResortGorgeous_EventScript_1AC1E1:: @ 81AC1E1 trainerbattle 0, TRAINER_LADY_JACKI, 0, Text_18A5B9, Text_18A5EE - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC208 msgbox Text_18A601, 6 @@ -6982,7 +6983,7 @@ EventScript_1AC208:: @ 81AC208 FiveIsland_ResortGorgeous_EventScript_1AC21F:: @ 81AC21F trainerbattle 0, TRAINER_LADY_GILLIAN, 0, Text_18A645, Text_18A67F - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC246 msgbox Text_18A699, 6 @@ -6995,7 +6996,7 @@ EventScript_1AC246:: @ 81AC246 FiveIsland_ResortGorgeous_EventScript_1AC25D:: @ 81AC25D trainerbattle 0, TRAINER_YOUNGSTER_DESTIN, 0, Text_18A6DA, Text_18A6FE - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC284 msgbox Text_18A715, 6 @@ -7008,7 +7009,7 @@ EventScript_1AC284:: @ 81AC284 FiveIsland_ResortGorgeous_EventScript_1AC29B:: @ 81AC29B trainerbattle 0, TRAINER_SWIMMER_MALE_TOBY, 0, Text_18A74A, Text_18A786 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC2C2 msgbox Text_18A7AC, 6 @@ -7021,7 +7022,7 @@ EventScript_1AC2C2:: @ 81AC2C2 FiveIsland_WaterLabyrinth_EventScript_1AC2D9:: @ 81AC2D9 trainerbattle 0, TRAINER_PKMN_BREEDER_ALIZE, 0, Text_18AAD5, Text_18AB0B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC300 msgbox Text_18AB37, 6 @@ -7034,7 +7035,7 @@ EventScript_1AC300:: @ 81AC300 FiveIsland_MemorialPillar_EventScript_1AC317:: @ 81AC317 trainerbattle 0, TRAINER_BIRD_KEEPER_MILO, 0, Text_18AE50, Text_18AEA8 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC33E msgbox Text_18AEB6, 6 @@ -7047,7 +7048,7 @@ EventScript_1AC33E:: @ 81AC33E FiveIsland_MemorialPillar_EventScript_1AC355:: @ 81AC355 trainerbattle 0, TRAINER_BIRD_KEEPER_CHAZ, 0, Text_18AEDC, Text_18AF39 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC37C msgbox Text_18AF45, 6 @@ -7060,7 +7061,7 @@ EventScript_1AC37C:: @ 81AC37C FiveIsland_MemorialPillar_EventScript_1AC393:: @ 81AC393 trainerbattle 0, TRAINER_BIRD_KEEPER_HAROLD, 0, Text_18AF72, Text_18AFCC - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC3BA msgbox Text_18AFF2, 6 @@ -7073,7 +7074,7 @@ EventScript_1AC3BA:: @ 81AC3BA SixIsland_OutcastIsland_EventScript_1AC3D1:: @ 81AC3D1 trainerbattle 0, TRAINER_FISHERMAN_TYLOR, 0, Text_18B400, Text_18B43B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC3F8 msgbox Text_18B451, 6 @@ -7086,7 +7087,7 @@ EventScript_1AC3F8:: @ 81AC3F8 SixIsland_OutcastIsland_EventScript_1AC40F:: @ 81AC40F trainerbattle 0, TRAINER_SWIMMER_MALE_MYMO, 0, Text_18B48F, Text_18B4C5 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC436 msgbox Text_18B4D1, 6 @@ -7099,7 +7100,7 @@ EventScript_1AC436:: @ 81AC436 SixIsland_OutcastIsland_EventScript_1AC44D:: @ 81AC44D trainerbattle 0, TRAINER_SWIMMER_FEMALE_NICOLE, 0, Text_18B4FA, Text_18B539 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC474 msgbox Text_18B573, 6 @@ -7112,7 +7113,7 @@ EventScript_1AC474:: @ 81AC474 SixIsland_OutcastIsland_EventScript_1AC48B:: @ 81AC48B trainerbattle 4, TRAINER_SIS_AND_BRO_AVA_GEB, 0, Text_18B5C8, Text_18B5F4, Text_18B660 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC4B6 msgbox Text_18B62E, 6 @@ -7125,7 +7126,7 @@ EventScript_1AC4B6:: @ 81AC4B6 SixIsland_OutcastIsland_EventScript_1AC4D1:: @ 81AC4D1 trainerbattle 4, TRAINER_SIS_AND_BRO_AVA_GEB, 0, Text_18B6C1, Text_18B6EF, Text_18B762 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC4FC msgbox Text_18B720, 6 @@ -7138,7 +7139,7 @@ EventScript_1AC4FC:: @ 81AC4FC SixIsland_GreenPath_EventScript_1AC517:: @ 81AC517 trainerbattle 0, TRAINER_PSYCHIC_JACLYN, 0, Text_18B7B0, Text_18B7F0 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC53E msgbox Text_18B7FD, 6 @@ -7151,7 +7152,7 @@ EventScript_1AC53E:: @ 81AC53E SixIsland_WaterPath_EventScript_1AC555:: @ 81AC555 trainerbattle 0, TRAINER_AROMA_LADY_ROSE, 0, Text_18B896, Text_18B8C8 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC57C msgbox Text_18B8F7, 6 @@ -7164,7 +7165,7 @@ EventScript_1AC57C:: @ 81AC57C SixIsland_WaterPath_EventScript_1AC593:: @ 81AC593 trainerbattle 0, TRAINER_JUGGLER_EDWARD, 0, Text_18B959, Text_18B988 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC5BA msgbox Text_18B9A5, 6 @@ -7177,7 +7178,7 @@ EventScript_1AC5BA:: @ 81AC5BA SixIsland_WaterPath_EventScript_1AC5D1:: @ 81AC5D1 trainerbattle 0, TRAINER_SWIMMER_MALE_SAMIR, 0, Text_18B9EC, Text_18BA47 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC5F8 msgbox Text_18BA57, 6 @@ -7190,7 +7191,7 @@ EventScript_1AC5F8:: @ 81AC5F8 SixIsland_WaterPath_EventScript_1AC60F:: @ 81AC60F trainerbattle 0, TRAINER_SWIMMER_FEMALE_DENISE, 0, Text_18BA86, Text_18BAC0 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC636 msgbox Text_18BAE0, 6 @@ -7203,7 +7204,7 @@ EventScript_1AC636:: @ 81AC636 SixIsland_WaterPath_EventScript_1AC64D:: @ 81AC64D trainerbattle 4, TRAINER_TWINS_MIU_MIA, 0, Text_18BBBA, Text_18BBE2, Text_18BC24 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC678 msgbox Text_18BBF6, 6 @@ -7216,7 +7217,7 @@ EventScript_1AC678:: @ 81AC678 SixIsland_WaterPath_EventScript_1AC693:: @ 81AC693 trainerbattle 4, TRAINER_TWINS_MIU_MIA, 0, Text_18BC5A, Text_18BC84, Text_18BCCF - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC6BE msgbox Text_18BCAE, 6 @@ -7229,7 +7230,7 @@ EventScript_1AC6BE:: @ 81AC6BE SixIsland_WaterPath_EventScript_1AC6D9:: @ 81AC6D9 trainerbattle 0, TRAINER_HIKER_EARL, 0, Text_18BB2D, Text_18BB62 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC700 msgbox Text_18BB8B, 6 @@ -7242,7 +7243,7 @@ EventScript_1AC700:: @ 81AC700 SixIsland_RuinValley_EventScript_1AC717:: @ 81AC717 trainerbattle 0, TRAINER_RUIN_MANIAC_STANLY, 0, Text_18BE5D, Text_18BE9B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC73E msgbox Text_18BEA0, 6 @@ -7255,7 +7256,7 @@ EventScript_1AC73E:: @ 81AC73E SixIsland_RuinValley_EventScript_1AC755:: @ 81AC755 trainerbattle 0, TRAINER_RUIN_MANIAC_FOSTER, 0, Text_18BF05, Text_18BF33 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC77C msgbox Text_18BF6C, 6 @@ -7268,7 +7269,7 @@ EventScript_1AC77C:: @ 81AC77C SixIsland_RuinValley_EventScript_1AC793:: @ 81AC793 trainerbattle 0, TRAINER_RUIN_MANIAC_LARRY, 0, Text_18BFC5, Text_18C03B - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC7BA msgbox Text_18C04C, 6 @@ -7281,7 +7282,7 @@ EventScript_1AC7BA:: @ 81AC7BA SixIsland_RuinValley_EventScript_1AC7D1:: @ 81AC7D1 trainerbattle 0, TRAINER_HIKER_DARYL, 0, Text_18C09C, Text_18C0BB - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC7F8 msgbox Text_18C0EA, 6 @@ -7294,7 +7295,7 @@ EventScript_1AC7F8:: @ 81AC7F8 SixIsland_RuinValley_EventScript_1AC80F:: @ 81AC80F trainerbattle 0, TRAINER_POKEMANIAC_HECTOR, 0, Text_18C10A, Text_18C140 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC836 msgbox Text_18C17A, 6 @@ -7307,7 +7308,7 @@ EventScript_1AC836:: @ 81AC836 SevenIsland_TrainerTower_EventScript_1AC84D:: @ 81AC84D trainerbattle 0, TRAINER_PSYCHIC_DARIO, 0, Text_18C1ED, Text_18C205 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC874 msgbox Text_18C20E, 6 @@ -7320,7 +7321,7 @@ EventScript_1AC874:: @ 81AC874 SevenIsland_TrainerTower_EventScript_1AC88B:: @ 81AC88B trainerbattle 0, TRAINER_PSYCHIC_RODETTE, 0, Text_18C283, Text_18C2BC - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC8B2 msgbox Text_18C2D5, 6 @@ -7333,7 +7334,7 @@ EventScript_1AC8B2:: @ 81AC8B2 SevenIsland_SevaultCanyon_Entrance_EventScript_1AC8C9:: @ 81AC8C9 trainerbattle 0, TRAINER_AROMA_LADY_MIAH, 0, Text_18C3BC, Text_18C3E7 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC8F0 msgbox Text_18C3FF, 6 @@ -7346,7 +7347,7 @@ EventScript_1AC8F0:: @ 81AC8F0 SevenIsland_SevaultCanyon_Entrance_EventScript_1AC907:: @ 81AC907 trainerbattle 4, TRAINER_YOUNG_COUPLE_EVE_JON, 0, Text_18C632, Text_18C662, Text_18C6AB - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC932 msgbox Text_18C683, 6 @@ -7359,7 +7360,7 @@ EventScript_1AC932:: @ 81AC932 SevenIsland_SevaultCanyon_Entrance_EventScript_1AC94D:: @ 81AC94D trainerbattle 4, TRAINER_YOUNG_COUPLE_EVE_JON, 0, Text_18C700, Text_18C73B, Text_18C7BD - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC978 msgbox Text_18C773, 6 @@ -7372,7 +7373,7 @@ EventScript_1AC978:: @ 81AC978 SevenIsland_SevaultCanyon_Entrance_EventScript_1AC993:: @ 81AC993 trainerbattle 0, TRAINER_JUGGLER_MASON, 0, Text_18C44B, Text_18C473 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC9BA msgbox Text_18C4BA, 6 @@ -7385,7 +7386,7 @@ EventScript_1AC9BA:: @ 81AC9BA SevenIsland_SevaultCanyon_Entrance_EventScript_1AC9D1:: @ 81AC9D1 trainerbattle 0, TRAINER_PKMN_RANGER_NICOLAS, 0, Text_18C500, Text_18C543 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1AC9F8 msgbox Text_18C54B, 6 @@ -7398,7 +7399,7 @@ EventScript_1AC9F8:: @ 81AC9F8 SevenIsland_SevaultCanyon_Entrance_EventScript_1ACA0F:: @ 81ACA0F trainerbattle 0, TRAINER_PKMN_RANGER_MADELINE, 0, Text_18C5AA, Text_18C5CD - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACA36 msgbox Text_18C5F5, 6 @@ -7411,7 +7412,7 @@ EventScript_1ACA36:: @ 81ACA36 SevenIsland_SevaultCanyon_EventScript_1ACA4D:: @ 81ACA4D trainerbattle 0, TRAINER_CRUSH_GIRL_CYNDY, 0, Text_18C887, Text_18C8A6 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACA74 msgbox Text_18C8C2, 6 @@ -7424,7 +7425,7 @@ EventScript_1ACA74:: @ 81ACA74 SevenIsland_SevaultCanyon_EventScript_1ACA8B:: @ 81ACA8B trainerbattle 0, TRAINER_TAMER_EVAN, 0, Text_18C8FD, Text_18C980 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACAB2 msgbox Text_18C999, 6 @@ -7437,7 +7438,7 @@ EventScript_1ACAB2:: @ 81ACAB2 SevenIsland_SevaultCanyon_EventScript_1ACAC9:: @ 81ACAC9 trainerbattle 0, TRAINER_PKMN_RANGER_JACKSON, 0, Text_18CA2F, Text_18CA6F - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACAF0 msgbox Text_18CA9C, 6 @@ -7450,7 +7451,7 @@ EventScript_1ACAF0:: @ 81ACAF0 SevenIsland_SevaultCanyon_EventScript_1ACB07:: @ 81ACB07 trainerbattle 0, TRAINER_PKMN_RANGER_KATELYN, 0, Text_18CB16, Text_18CB3E - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACB2E msgbox Text_18CB6C, 6 @@ -7463,7 +7464,7 @@ EventScript_1ACB2E:: @ 81ACB2E SevenIsland_SevaultCanyon_EventScript_1ACB45:: @ 81ACB45 trainerbattle 0, TRAINER_COOLTRAINER_LEROY, 0, Text_18CBB4, Text_18CBE0 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACB6C msgbox Text_18CC09, 6 @@ -7476,7 +7477,7 @@ EventScript_1ACB6C:: @ 81ACB6C SevenIsland_SevaultCanyon_EventScript_1ACB83:: @ 81ACB83 trainerbattle 0, TRAINER_COOLTRAINER_MICHELLE, 0, Text_18CC4F, Text_18CCAE - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACBAA msgbox Text_18CCEA, 6 @@ -7489,7 +7490,7 @@ EventScript_1ACBAA:: @ 81ACBAA SevenIsland_SevaultCanyon_EventScript_1ACBC1:: @ 81ACBC1 trainerbattle 4, TRAINER_COOL_COUPLE_LEX_NYA, 0, Text_18CD49, Text_18CD75, Text_18CDE2 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACBEC msgbox Text_18CD9C, 6 @@ -7502,7 +7503,7 @@ EventScript_1ACBEC:: @ 81ACBEC SevenIsland_SevaultCanyon_EventScript_1ACC07:: @ 81ACC07 trainerbattle 4, TRAINER_COOL_COUPLE_LEX_NYA, 0, Text_18CE20, Text_18CE5A, Text_18CEF4 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACC32 msgbox Text_18CE78, 6 @@ -7515,7 +7516,7 @@ EventScript_1ACC32:: @ 81ACC32 SevenIsland_TanobyRuins_EventScript_1ACC4D:: @ 81ACC4D trainerbattle 0, TRAINER_RUIN_MANIAC_BRANDON, 0, Text_18CFFB, Text_18D02A - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACC74 msgbox Text_18D061, 6 @@ -7528,7 +7529,7 @@ EventScript_1ACC74:: @ 81ACC74 SevenIsland_TanobyRuins_EventScript_1ACC8B:: @ 81ACC8B trainerbattle 0, TRAINER_RUIN_MANIAC_BENJAMIN, 0, Text_18D0D9, Text_18D108 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACCB2 msgbox Text_18D125, 6 @@ -7541,7 +7542,7 @@ EventScript_1ACCB2:: @ 81ACCB2 SevenIsland_TanobyRuins_EventScript_1ACCC9:: @ 81ACCC9 trainerbattle 0, TRAINER_PAINTER_EDNA, 0, Text_18D18F, Text_18D1B5 - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACCF0 msgbox Text_18D1E3, 6 @@ -7554,7 +7555,7 @@ EventScript_1ACCF0:: @ 81ACCF0 SevenIsland_TanobyRuins_EventScript_1ACD07:: @ 81ACD07 trainerbattle 0, TRAINER_GENTLEMAN_CLIFFORD, 0, Text_18D22F, Text_18D26D - specialvar VAR_RESULT, sub_810CD4C + specialvar VAR_RESULT, ShouldTryRematchBattle compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1ACD2E msgbox Text_18D284, 6 @@ -7917,7 +7918,7 @@ EventScript_1B2907:: @ 81B2907 playse MUS_ME_PHOTO dofieldeffect FLDEFF_UNK_45 delay 60 - special sub_80CC2BC + special Special_UpdateTrainerCardPhotoIcons msgbox gUnknown_81B1E7D hidemoneybox nop @@ -7942,7 +7943,7 @@ EventScript_1B292B:: @ 81B292B FourIsland_House2_EventScript_1B2938:: @ 81B2938 lock - specialvar VAR_0x8008, sub_80CC3CC + specialvar VAR_0x8008, Special_StickerLadyGetBragFlags checkflag FLAG_MET_STICKER_LADY goto_if FALSE, EventScript_1B2951 checkflag FLAG_MET_STICKER_LADY @@ -8725,7 +8726,7 @@ EventScript_1BB5B3:: @ 81BB5B3 goto_if eq, EventScript_1BB62C special SetCableClubWarp warp MAP_UNKNOWN_MAP_00_00, 255, 6, 8 - special sub_807E654 + special DoCableClubWarp waitstate end @@ -8737,7 +8738,7 @@ EventScript_1BB621:: @ 81BB621 EventScript_1BB62C:: @ 81BB62C special SetCableClubWarp warp MAP_UNKNOWN_MAP_00_03, 255, 5, 8 - special sub_807E654 + special DoCableClubWarp waitstate end @@ -8839,7 +8840,7 @@ EventScript_1BB73D:: @ 81BB73D release special SetCableClubWarp setwarp MAP_UNKNOWN_MAP_00_01, 255, 5, 8 - special sub_807E654 + special DoCableClubWarp waitstate end @@ -8917,7 +8918,7 @@ EventScript_1BB83F:: @ 81BB83F EventScript_1BB84F:: @ 81BB84F special SetCableClubWarp - special sub_807E654 + special DoCableClubWarp waitstate end @@ -9182,7 +9183,7 @@ EventScript_1BBA04:: @ 81BBA04 faceplayer checkflag FLAG_SYS_POKEDEX_GET goto_if FALSE, EventScript_1BB877 - specialvar VAR_RESULT, sub_80CD034 + specialvar VAR_RESULT, Special_BadEggInParty compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1BB867 copyvar VAR_0x8007, VAR_LAST_TALKED @@ -9304,7 +9305,7 @@ EventScript_1BBB9C:: @ 81BBB9C faceplayer checkflag FLAG_SYS_POKEDEX_GET goto_if FALSE, EventScript_1BB877 - specialvar VAR_RESULT, sub_80CD034 + specialvar VAR_RESULT, Special_BadEggInParty compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1BB867 specialvar VAR_RESULT, IsWirelessAdapterConnected @@ -11504,7 +11505,7 @@ EventScript_1BF3DD:: @ 81BF3DD msgbox Text_19DE24 waitmoncry special PutMonInRoute5Daycare - incrementgamestat 47 + incrementgamestat GAME_STAT_USED_DAYCARE goto EventScript_1BF541 end @@ -13879,13 +13880,13 @@ TwoIsland_CapeBrink_House_EventScript_1C4DEC:: @ 81C4DEC special sub_8112364 lock faceplayer - checkflag FLAG_LEARNED_MOVE_AT_CAPE_BRINK + checkflag FLAG_LEARNED_ALL_MOVES_AT_CAPE_BRINK goto_if TRUE, EventScript_1C4EA1 checkflag FLAG_TEMP_2 goto_if TRUE, EventScript_1C4E97 getfirstpartymonname 0 msgbox Text_1A46C6 - specialvar VAR_RESULT, sub_80CCB94 + specialvar VAR_RESULT, Special_CapeBrinkGetMoveToTeachLeadPokemon compare_var_to_value VAR_RESULT, 0 goto_if eq, EventScript_1C4F26 copyvar VAR_0x8009, VAR_0x8005 @@ -13925,7 +13926,7 @@ EventScript_1C4EA1:: @ 81C4EA1 EventScript_1C4EAB:: @ 81C4EAB copyvar VAR_0x8005, VAR_0x8009 - specialvar VAR_RESULT, sub_80CCCF8 + specialvar VAR_RESULT, Special_HasLearnedAllMovesFromCapeBrinkTutor compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1C4ECD msgbox Text_1A4865 @@ -13935,7 +13936,7 @@ EventScript_1C4EAB:: @ 81C4EAB EventScript_1C4ECD:: @ 81C4ECD msgbox Text_1A48F3 - setflag FLAG_LEARNED_MOVE_AT_CAPE_BRINK + setflag FLAG_LEARNED_ALL_MOVES_AT_CAPE_BRINK release end diff --git a/data/field_specials/unk_83F5F50.pal b/data/field_specials/unk_83F5F50.pal new file mode 100644 index 000000000..6528f9f75 --- /dev/null +++ b/data/field_specials/unk_83F5F50.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +82 82 106 +82 82 106 +82 82 106 +82 82 106 +82 82 106 +82 82 106 diff --git a/data/field_specials/unk_83F5F70.pal b/data/field_specials/unk_83F5F70.pal new file mode 100644 index 000000000..934306488 --- /dev/null +++ b/data/field_specials/unk_83F5F70.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +82 82 106 +82 82 106 +82 82 106 +82 82 106 +41 115 205 +82 82 106 diff --git a/data/field_specials/unk_83F5F90.pal b/data/field_specials/unk_83F5F90.pal new file mode 100644 index 000000000..624c69448 --- /dev/null +++ b/data/field_specials/unk_83F5F90.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +82 82 106 +82 82 106 +82 82 106 +41 115 205 +131 238 255 +0 41 156 diff --git a/data/field_specials/unk_83F5FB0.pal b/data/field_specials/unk_83F5FB0.pal new file mode 100644 index 000000000..fb3cdebd0 --- /dev/null +++ b/data/field_specials/unk_83F5FB0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +82 82 106 +82 82 106 +41 115 205 +131 238 255 +82 172 230 +0 65 189 diff --git a/data/field_specials/unk_83F5FD0.pal b/data/field_specials/unk_83F5FD0.pal new file mode 100644 index 000000000..f2c6c78af --- /dev/null +++ b/data/field_specials/unk_83F5FD0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +82 82 106 +41 115 205 +131 238 255 +82 172 230 +41 115 205 +41 115 205 diff --git a/data/field_specials/unk_83F5FF0.pal b/data/field_specials/unk_83F5FF0.pal new file mode 100644 index 000000000..3e2c5757a --- /dev/null +++ b/data/field_specials/unk_83F5FF0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +41 115 205 +131 238 255 +82 172 230 +41 115 205 +0 65 189 +82 172 230 diff --git a/data/field_specials/unk_83F6010.pal b/data/field_specials/unk_83F6010.pal new file mode 100644 index 000000000..84e6e811a --- /dev/null +++ b/data/field_specials/unk_83F6010.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +131 238 255 +82 172 230 +41 115 205 +0 65 189 +0 41 156 +131 238 255 diff --git a/data/field_specials/unk_83F6030.pal b/data/field_specials/unk_83F6030.pal new file mode 100644 index 000000000..f49f8ef99 --- /dev/null +++ b/data/field_specials/unk_83F6030.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +82 172 230 +41 115 205 +0 65 189 +0 41 156 +82 82 106 +90 180 238 diff --git a/data/field_specials/unk_83F6050.pal b/data/field_specials/unk_83F6050.pal new file mode 100644 index 000000000..538ebf789 --- /dev/null +++ b/data/field_specials/unk_83F6050.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +41 115 205 +0 65 189 +0 41 156 +82 82 106 +82 82 106 +41 115 205 diff --git a/data/field_specials/unk_83F6070.pal b/data/field_specials/unk_83F6070.pal new file mode 100644 index 000000000..49b9d85b6 --- /dev/null +++ b/data/field_specials/unk_83F6070.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +0 65 189 +0 41 156 +82 82 106 +82 82 106 +82 82 106 +0 65 189 diff --git a/data/field_specials/unk_83F6090.pal b/data/field_specials/unk_83F6090.pal new file mode 100644 index 000000000..ff81da8b3 --- /dev/null +++ b/data/field_specials/unk_83F6090.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +0 41 156 +82 82 106 +82 82 106 +82 82 106 +82 82 106 +0 41 156 diff --git a/data/field_specials/unk_83F60B0.pal b/data/field_specials/unk_83F60B0.pal new file mode 100644 index 000000000..a0763ff47 --- /dev/null +++ b/data/field_specials/unk_83F60B0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +131 238 255 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +172 172 98 +148 148 74 +82 82 106 +82 82 106 +82 82 106 +82 82 106 +82 82 106 +82 82 106 diff --git a/data/field_specials/unk_83F60D0.pal b/data/field_specials/unk_83F60D0.pal new file mode 100644 index 000000000..6528f9f75 --- /dev/null +++ b/data/field_specials/unk_83F60D0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +82 82 106 +82 82 106 +82 82 106 +82 82 106 +82 82 106 +82 82 106 diff --git a/data/field_specials/unk_83F60F0.pal b/data/field_specials/unk_83F60F0.pal new file mode 100644 index 000000000..75dfaa19a --- /dev/null +++ b/data/field_specials/unk_83F60F0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +82 82 106 +82 82 106 +82 82 106 +82 82 106 +82 172 230 +41 115 205 diff --git a/data/field_specials/unk_83F6110.pal b/data/field_specials/unk_83F6110.pal new file mode 100644 index 000000000..092544dec --- /dev/null +++ b/data/field_specials/unk_83F6110.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +82 82 106 +82 82 106 +82 172 230 +41 115 205 +131 238 255 +82 172 230 diff --git a/data/field_specials/unk_83F6130.pal b/data/field_specials/unk_83F6130.pal new file mode 100644 index 000000000..3b93965ad --- /dev/null +++ b/data/field_specials/unk_83F6130.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +82 172 230 +41 115 205 +131 238 255 +82 172 230 +82 172 230 +41 115 205 diff --git a/data/field_specials/unk_83F6150.pal b/data/field_specials/unk_83F6150.pal new file mode 100644 index 000000000..be23edc23 --- /dev/null +++ b/data/field_specials/unk_83F6150.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +131 238 255 +82 172 230 +82 172 230 +41 115 205 +41 115 205 +0 65 189 diff --git a/data/field_specials/unk_83F6170.pal b/data/field_specials/unk_83F6170.pal new file mode 100644 index 000000000..788d0bd65 --- /dev/null +++ b/data/field_specials/unk_83F6170.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +82 172 230 +41 115 205 +41 115 205 +0 65 189 +0 65 189 +82 82 106 diff --git a/data/field_specials/unk_83F6190.pal b/data/field_specials/unk_83F6190.pal new file mode 100644 index 000000000..8ca385f0d --- /dev/null +++ b/data/field_specials/unk_83F6190.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +41 115 205 +0 65 189 +0 65 189 +82 82 106 +82 82 106 +82 82 106 diff --git a/data/field_specials/unk_83F61B0.pal b/data/field_specials/unk_83F61B0.pal new file mode 100644 index 000000000..63fe8e97e --- /dev/null +++ b/data/field_specials/unk_83F61B0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +255 74 0 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +255 255 180 +189 189 115 +0 65 189 +82 82 106 +82 82 106 +82 82 106 +82 82 106 +82 82 106 diff --git a/data/field_specials/unk_83F61D0.pal b/data/field_specials/unk_83F61D0.pal new file mode 100644 index 000000000..a0763ff47 --- /dev/null +++ b/data/field_specials/unk_83F61D0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 106 +123 123 123 +131 238 255 +255 213 131 +230 164 98 +197 115 74 +164 82 65 +172 172 98 +148 148 74 +82 82 106 +82 82 106 +82 82 106 +82 82 106 +82 82 106 +82 82 106 diff --git a/data/field_specials/unk_83F6206.pal b/data/field_specials/unk_83F6206.pal new file mode 100644 index 000000000..c20bacb57 --- /dev/null +++ b/data/field_specials/unk_83F6206.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 197 +32 32 32 +82 82 82 +139 139 139 +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 +0 0 0 diff --git a/data/field_specials/unk_83F6226.pal b/data/field_specials/unk_83F6226.pal new file mode 100644 index 000000000..2c106a4ae --- /dev/null +++ b/data/field_specials/unk_83F6226.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 197 +41 32 32 +82 82 82 +139 139 139 +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 +0 0 0 diff --git a/data/field_specials/unk_83F6246.pal b/data/field_specials/unk_83F6246.pal new file mode 100644 index 000000000..38fe7d084 --- /dev/null +++ b/data/field_specials/unk_83F6246.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +49 32 32 +90 82 82 +148 148 139 +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 +0 0 0 diff --git a/data/field_specials/unk_83F6266.pal b/data/field_specials/unk_83F6266.pal new file mode 100644 index 000000000..7b7fb7c44 --- /dev/null +++ b/data/field_specials/unk_83F6266.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +65 32 32 +115 82 82 +156 148 139 +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 +0 0 0 diff --git a/data/field_specials/unk_83F6286.pal b/data/field_specials/unk_83F6286.pal new file mode 100644 index 000000000..4eda607b7 --- /dev/null +++ b/data/field_specials/unk_83F6286.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +74 32 32 +123 82 82 +164 156 139 +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 +0 0 0 diff --git a/data/field_specials/unk_83F62A6.pal b/data/field_specials/unk_83F62A6.pal new file mode 100644 index 000000000..a92bc65fd --- /dev/null +++ b/data/field_specials/unk_83F62A6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +98 32 32 +139 82 82 +172 156 139 +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 +0 0 0 diff --git a/data/field_specials/unk_83F62C6.pal b/data/field_specials/unk_83F62C6.pal new file mode 100644 index 000000000..0de8519c6 --- /dev/null +++ b/data/field_specials/unk_83F62C6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +98 32 32 +148 82 82 +180 164 139 +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 +0 0 0 diff --git a/data/field_specials/unk_83F62E6.pal b/data/field_specials/unk_83F62E6.pal new file mode 100644 index 000000000..ae67047d4 --- /dev/null +++ b/data/field_specials/unk_83F62E6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +106 32 32 +156 82 82 +189 164 139 +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 +0 0 0 diff --git a/data/field_specials/unk_83F6306.pal b/data/field_specials/unk_83F6306.pal new file mode 100644 index 000000000..27cf345e4 --- /dev/null +++ b/data/field_specials/unk_83F6306.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +123 32 32 +172 82 82 +197 172 148 +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 +0 0 0 diff --git a/data/field_specials/unk_83F6326.pal b/data/field_specials/unk_83F6326.pal new file mode 100644 index 000000000..fcca0b4de --- /dev/null +++ b/data/field_specials/unk_83F6326.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +131 32 32 +180 82 82 +205 172 148 +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 +0 0 0 diff --git a/data/field_specials/unk_83F6346.pal b/data/field_specials/unk_83F6346.pal new file mode 100644 index 000000000..6c7540611 --- /dev/null +++ b/data/field_specials/unk_83F6346.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 197 +205 32 32 +255 82 82 +255 205 156 +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 +0 0 0 diff --git a/data/layouts/SevenIsland_SeavaultCanyon_TanobyKey/border.bin b/data/layouts/SevenIsland_SevaultCanyon_TanobyKey/border.bin index 56b76feec..56b76feec 100644 --- a/data/layouts/SevenIsland_SeavaultCanyon_TanobyKey/border.bin +++ b/data/layouts/SevenIsland_SevaultCanyon_TanobyKey/border.bin diff --git a/data/layouts/SevenIsland_SeavaultCanyon_TanobyKey/map.bin b/data/layouts/SevenIsland_SevaultCanyon_TanobyKey/map.bin Binary files differindex 77ec431c8..77ec431c8 100644 --- a/data/layouts/SevenIsland_SeavaultCanyon_TanobyKey/map.bin +++ b/data/layouts/SevenIsland_SevaultCanyon_TanobyKey/map.bin diff --git a/data/layouts/layouts.json b/data/layouts/layouts.json index 0b1685e5a..fbeee8c39 100644 --- a/data/layouts/layouts.json +++ b/data/layouts/layouts.json @@ -3884,16 +3884,16 @@ "blockdata_filepath": "data/layouts/SixIsland_AlteringCave/map.bin" }, { - "id": "LAYOUT_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY", - "name": "SevenIsland_SeavaultCanyon_TanobyKey_Layout", + "id": "LAYOUT_SEVEN_ISLAND_SEVAULT_CANYON_TANOBY_KEY", + "name": "SevenIsland_SevaultCanyon_TanobyKey_Layout", "width": 15, "height": 16, "border_width": 2, "border_height": 2, "primary_tileset": "gTileset_82D4A94", "secondary_tileset": "gTileset_82D4E0C", - "border_filepath": "data/layouts/SevenIsland_SeavaultCanyon_TanobyKey/border.bin", - "blockdata_filepath": "data/layouts/SevenIsland_SeavaultCanyon_TanobyKey/map.bin" + "border_filepath": "data/layouts/SevenIsland_SevaultCanyon_TanobyKey/border.bin", + "blockdata_filepath": "data/layouts/SevenIsland_SevaultCanyon_TanobyKey/map.bin" }, { "id": "LAYOUT_BIRTH_ISLAND_EXTERIOR", diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index f23c73615..0c20c59b8 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -5,7 +5,7 @@ BirthIsland_Exterior_MapScripts:: @ 8165203 .byte 0 BirthIsland_Exterior_MapScript3_165213:: @ 8165213 - special sub_80CD008 + special Special_SetDeoxysTriangleObjectPal end BirthIsland_Exterior_MapScript1_165217:: @ 8165217 @@ -50,7 +50,7 @@ BirthIsland_Exterior_EventScript_165271:: @ 8165271 compare_var_to_value VAR_RESULT, 2 goto_if eq, EventScript_1A7AE0 special sub_8112364 - special sub_80CCDFC + special Special_DeoxysSound waitstate switch VAR_RESULT case 0, EventScript_1652BA @@ -92,7 +92,7 @@ EventScript_1652C0:: @ 81652C0 setvar VAR_0x8006, 0 special CreateObedientEnemyMon setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special sub_807F9D8 + special Special_StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE specialvar VAR_RESULT, Special_GetBattleOutcome diff --git a/data/maps/CeladonCity_Condominiums_3F/scripts.inc b/data/maps/CeladonCity_Condominiums_3F/scripts.inc index b69ad021a..258846f29 100644 --- a/data/maps/CeladonCity_Condominiums_3F/scripts.inc +++ b/data/maps/CeladonCity_Condominiums_3F/scripts.inc @@ -34,7 +34,7 @@ EventScript_16C418:: @ 816C418 special sub_8110AB4 compare_var_to_value VAR_RESULT, 2 goto_if eq, EventScript_1A7AE0 - special sub_80CA618 + special Special_ShowDiploma waitstate release end diff --git a/data/maps/CeladonCity_DepartmentStore_Elevator/scripts.inc b/data/maps/CeladonCity_DepartmentStore_Elevator/scripts.inc index c4d07baff..0e2673614 100644 --- a/data/maps/CeladonCity_DepartmentStore_Elevator/scripts.inc +++ b/data/maps/CeladonCity_DepartmentStore_Elevator/scripts.inc @@ -7,11 +7,11 @@ CeladonCity_DepartmentStore_Elevator_EventScript_16C153:: @ 816C153 checkflag FLAG_TEMP_2 call_if FALSE, EventScript_1A7AB9 copyvar VAR_0x8005, VAR_ELEVATOR_FLOOR - special sub_80CB580 + special Special_DrawElevatorCurrentFloorWindow message Text_1A535C waitmessage setvar VAR_0x8004, 3 - specialvar VAR_RESULT, sub_80CB328 + specialvar VAR_RESULT, Special_InitElevatorFloorSelectMenuPos switch VAR_RESULT case 0, EventScript_16C1B7 case 1, EventScript_16C1C3 @@ -109,15 +109,15 @@ EventScript_16C2E6:: @ 816C2E6 end EventScript_16C30E:: @ 816C30E - special sub_80CB63C + special Special_CloseElevatorCurrentFloorWindow releaseall end EventScript_16C313:: @ 816C313 - special sub_80CB63C + special Special_CloseElevatorCurrentFloorWindow closemessage waitse - special sub_80CB498 + special Special_AnimateElevator waitstate setflag FLAG_TEMP_2 return diff --git a/data/maps/CeladonCity_GameCorner/scripts.inc b/data/maps/CeladonCity_GameCorner/scripts.inc index 7a95e7bf7..f79ffb046 100644 --- a/data/maps/CeladonCity_GameCorner/scripts.inc +++ b/data/maps/CeladonCity_GameCorner/scripts.inc @@ -273,7 +273,7 @@ EventScript_16C96C:: @ 816C96C setfieldeffectarg 2, 14 dofieldeffect 64 waitfieldeffect 64 - specialvar VAR_RESULT, sub_80CAABC + specialvar VAR_RESULT, Special_GetRandomSlotMachine playslotmachine VAR_RESULT releaseall end diff --git a/data/maps/CeruleanCave_B1F/scripts.inc b/data/maps/CeruleanCave_B1F/scripts.inc index ad68f84bc..5c51d2601 100644 --- a/data/maps/CeruleanCave_B1F/scripts.inc +++ b/data/maps/CeruleanCave_B1F/scripts.inc @@ -41,7 +41,7 @@ CeruleanCave_B1F_EventScript_1624F5:: @ 81624F5 waitbuttonpress setwildbattle SPECIES_MEWTWO, 70, ITEM_NONE setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special sub_807F9D8 + special Special_StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE specialvar VAR_RESULT, Special_GetBattleOutcome diff --git a/data/maps/CeruleanCity_House1/scripts.inc b/data/maps/CeruleanCity_House1/scripts.inc index 18bc90fb6..26995d532 100644 --- a/data/maps/CeruleanCity_House1/scripts.inc +++ b/data/maps/CeruleanCity_House1/scripts.inc @@ -8,7 +8,7 @@ CeruleanCity_House1_EventScript_16A7F0:: @ 816A7F0 message Text_191967 waitmessage setvar VAR_0x8004, 0 - special sub_80CB7C4 + special Special_ListMenu waitstate switch VAR_RESULT case 0, EventScript_16A8FB @@ -26,7 +26,7 @@ CeruleanCity_House1_EventScript_16A7F0:: @ 816A7F0 EventScript_16A87D:: @ 816A87D message Text_191967 waitmessage - special sub_80CBC5C + special Special_ReturnToListMenu waitstate switch VAR_RESULT case 0, EventScript_16A8FB diff --git a/data/maps/CeruleanCity_House5/scripts.inc b/data/maps/CeruleanCity_House5/scripts.inc index 1f5d8899a..79cd75785 100644 --- a/data/maps/CeruleanCity_House5/scripts.inc +++ b/data/maps/CeruleanCity_House5/scripts.inc @@ -40,7 +40,7 @@ EventScript_16AEC8:: @ 816AEC8 message Text_1932F4 waitmessage setvar VAR_0x8004, 5 - special sub_80CB7C4 + special Special_ListMenu waitstate switch VAR_RESULT case 0, EventScript_16AF6C diff --git a/data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc b/data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc index 6cf717fe5..8a7dc8df1 100644 --- a/data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc +++ b/data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc @@ -48,7 +48,7 @@ CinnabarIsland_PokemonLab_Lounge_EventScript_16E33E:: @ 816E33E faceplayer setvar VAR_0x8008, 7 copyvar VAR_0x8004, VAR_0x8008 - specialvar VAR_RESULT, sub_8053A9C + specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT checkflag FLAG_DID_TANGENY_TRADE goto_if TRUE, EventScript_16E3D4 @@ -61,14 +61,14 @@ CinnabarIsland_PokemonLab_Lounge_EventScript_16E33E:: @ 816E33E compare_var_to_value VAR_0x8004, 6 goto_if ge, EventScript_16E3BC copyvar VAR_0x8005, VAR_0x800A - specialvar VAR_RESULT, sub_8053D2C + specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare_var_to_var VAR_RESULT, VAR_0x8009 goto_if ne, EventScript_16E3C6 copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A - special sub_8053D68 - special sub_8054440 + special CreateInGameTradePokemon + special DoInGameTradeScene waitstate msgbox gUnknown_81A5B4A setflag FLAG_DID_TANGENY_TRADE diff --git a/data/maps/FiveIsland_ResortGorgeous_House/scripts.inc b/data/maps/FiveIsland_ResortGorgeous_House/scripts.inc index 18a6d0b14..1d1610ace 100644 --- a/data/maps/FiveIsland_ResortGorgeous_House/scripts.inc +++ b/data/maps/FiveIsland_ResortGorgeous_House/scripts.inc @@ -10,16 +10,16 @@ FiveIsland_ResortGorgeous_House_EventScript_171EBE:: @ 8171EBE faceplayer checkflag FLAG_TEMP_2 goto_if TRUE, EventScript_172043 - compare_var_to_value VAR_STORAGE_UNKNOWN, 65535 + compare_var_to_value VAR_RESORT_GORGEOUS_REQUESTED_MON, 0xFFFF goto_if eq, EventScript_171F0B - compare_var_to_value VAR_STORAGE_UNKNOWN, 0 + compare_var_to_value VAR_RESORT_GORGEOUS_REQUESTED_MON, SPECIES_NONE goto_if ne, EventScript_171F19 msgbox gUnknown_81A42A0 goto EventScript_171EFE end EventScript_171EFE:: @ 8171EFE - special sub_80CB0A8 + special Special_SampleResortGorgeousMonAndReward msgbox gUnknown_81A4315 release end @@ -30,15 +30,15 @@ EventScript_171F0B:: @ 8171F0B end EventScript_171F19:: @ 8171F19 - copyvar VAR_0x8004, VAR_STORAGE_UNKNOWN - specialvar VAR_RESULT, sub_80CC48C + copyvar VAR_0x8004, VAR_RESORT_GORGEOUS_REQUESTED_MON + specialvar VAR_RESULT, Special_PlayerPartyContainsSpecies compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_171F34 goto EventScript_171EFE end EventScript_171F34:: @ 8171F34 - special sub_80CB0A8 + special Special_SampleResortGorgeousMonAndReward msgbox gUnknown_81A43F7 addobject 2 applymovement 2, Movement_172060 @@ -62,11 +62,11 @@ EventScript_171F34:: @ 8171F34 call_if eq, EventScript_17201A moveobjectoffscreen 2 msgbox gUnknown_81A458E - giveitem VAR_0x403B + giveitem VAR_RESORT_GORGEOUS_REWARD compare_var_to_value VAR_RESULT, 0 goto_if eq, EventScript_172025 setflag FLAG_TEMP_2 - setvar VAR_STORAGE_UNKNOWN, 0 + setvar VAR_RESORT_GORGEOUS_REQUESTED_MON, 0 release end @@ -104,7 +104,7 @@ EventScript_172025:: @ 8172025 textcolor 1 msgbox gUnknown_81A461B setflag FLAG_TEMP_2 - setvar VAR_STORAGE_UNKNOWN, 0 + setvar VAR_RESORT_GORGEOUS_REQUESTED_MON, 0 release end diff --git a/data/maps/FiveIsland_WaterLabyrinth/scripts.inc b/data/maps/FiveIsland_WaterLabyrinth/scripts.inc index 979486b7c..a334ab2df 100644 --- a/data/maps/FiveIsland_WaterLabyrinth/scripts.inc +++ b/data/maps/FiveIsland_WaterLabyrinth/scripts.inc @@ -13,7 +13,7 @@ FiveIsland_WaterLabyrinth_EventScript_16884E:: @ 816884E checkflag FLAG_NO_ROOM_FOR_TOGEPI_EGG goto_if TRUE, EventScript_16892C msgbox gUnknown_818A80D - specialvar VAR_RESULT, sub_80CA76C + specialvar VAR_RESULT, Special_GetLeadMonFriendship compare_var_to_value VAR_RESULT, 6 goto_if eq, EventScript_1688AC msgbox gUnknown_818A88F @@ -49,12 +49,12 @@ EventScript_1688BA:: @ 81688BA EventScript_1688E3:: @ 81688E3 getspeciesname 1, SPECIES_TOGEPI setvar VAR_0x8004, SPECIES_TOGEPI - specialvar VAR_RESULT, sub_80CD0F4 + specialvar VAR_RESULT, Special_PlayerPartyContainsSpeciesWithPlayerID compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_168895 getspeciesname 1, SPECIES_TOGETIC setvar VAR_0x8004, SPECIES_TOGETIC - specialvar VAR_RESULT, sub_80CD0F4 + specialvar VAR_RESULT, Special_PlayerPartyContainsSpeciesWithPlayerID compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_168895 msgbox gUnknown_818A9C0 diff --git a/data/maps/FourIsland/scripts.inc b/data/maps/FourIsland/scripts.inc index 3ef1f2054..68788f93a 100644 --- a/data/maps/FourIsland/scripts.inc +++ b/data/maps/FourIsland/scripts.inc @@ -133,7 +133,7 @@ EventScript_167E19:: @ 8167E19 special GetDaycareMonNicknames msgbox gUnknown_81BF789 special SetDaycareCompatibilityString - special sub_80CA68C + special Special_ShowStringVar4AsFieldMessage waitmessage waitbuttonpress release diff --git a/data/maps/FourIsland_PokemonDayCare/scripts.inc b/data/maps/FourIsland_PokemonDayCare/scripts.inc index 7ca07b4ba..c91cc86e5 100644 --- a/data/maps/FourIsland_PokemonDayCare/scripts.inc +++ b/data/maps/FourIsland_PokemonDayCare/scripts.inc @@ -40,7 +40,7 @@ EventScript_171993:: @ 8171993 msgbox gUnknown_81BF860 waitmoncry special StoreSelectedPokemonInDaycare - incrementgamestat 47 + incrementgamestat GAME_STAT_USED_DAYCARE specialvar VAR_RESULT, GetDaycareState compare_var_to_value VAR_RESULT, 2 goto_if eq, EventScript_171A01 diff --git a/data/maps/FuchsiaCity/scripts.inc b/data/maps/FuchsiaCity/scripts.inc index d62d5252d..ea921b4d1 100644 --- a/data/maps/FuchsiaCity/scripts.inc +++ b/data/maps/FuchsiaCity/scripts.inc @@ -72,7 +72,7 @@ FuchsiaCity_EventScript_166E07:: @ 8166E07 FuchsiaCity_EventScript_166E1F:: @ 8166E1F lockall setvar VAR_0x8004, SPECIES_CHANSEY - special sub_80CBDCC + special Special_SetSeenMon drawmonpic SPECIES_CHANSEY, 10, 3 msgbox gUnknown_81807A9 erasemonpic @@ -82,7 +82,7 @@ FuchsiaCity_EventScript_166E1F:: @ 8166E1F FuchsiaCity_EventScript_166E38:: @ 8166E38 lockall setvar VAR_0x8004, SPECIES_VOLTORB - special sub_80CBDCC + special Special_SetSeenMon drawmonpic SPECIES_VOLTORB, 10, 3 msgbox gUnknown_81807D9 erasemonpic @@ -92,7 +92,7 @@ FuchsiaCity_EventScript_166E38:: @ 8166E38 FuchsiaCity_EventScript_166E51:: @ 8166E51 lockall setvar VAR_0x8004, SPECIES_KANGASKHAN - special sub_80CBDCC + special Special_SetSeenMon drawmonpic SPECIES_KANGASKHAN, 10, 3 msgbox gUnknown_8180806 erasemonpic @@ -102,7 +102,7 @@ FuchsiaCity_EventScript_166E51:: @ 8166E51 FuchsiaCity_EventScript_166E6A:: @ 8166E6A lockall setvar VAR_0x8004, SPECIES_SLOWPOKE - special sub_80CBDCC + special Special_SetSeenMon drawmonpic SPECIES_SLOWPOKE, 10, 3 msgbox gUnknown_8180859 erasemonpic @@ -112,7 +112,7 @@ FuchsiaCity_EventScript_166E6A:: @ 8166E6A FuchsiaCity_EventScript_166E83:: @ 8166E83 lockall setvar VAR_0x8004, SPECIES_LAPRAS - special sub_80CBDCC + special Special_SetSeenMon drawmonpic SPECIES_LAPRAS, 10, 3 msgbox gUnknown_8180887 erasemonpic @@ -124,7 +124,7 @@ FuchsiaCity_EventScript_166E9C:: @ 8166E9C checkflag FLAG_GOT_DOME_FOSSIL goto_if TRUE, EventScript_166EBE setvar VAR_0x8004, SPECIES_KABUTO - special sub_80CBDCC + special Special_SetSeenMon drawmonpic SPECIES_KABUTO, 10, 3 msgbox gUnknown_81808FA erasemonpic @@ -133,7 +133,7 @@ FuchsiaCity_EventScript_166E9C:: @ 8166E9C EventScript_166EBE:: @ 8166EBE setvar VAR_0x8004, SPECIES_OMANYTE - special sub_80CBDCC + special Special_SetSeenMon drawmonpic SPECIES_OMANYTE, 10, 3 msgbox gUnknown_81808AE erasemonpic diff --git a/data/maps/FuchsiaCity_House3/scripts.inc b/data/maps/FuchsiaCity_House3/scripts.inc index f08f9371d..da4f19e60 100644 --- a/data/maps/FuchsiaCity_House3/scripts.inc +++ b/data/maps/FuchsiaCity_House3/scripts.inc @@ -16,7 +16,7 @@ EventScript_16D8B0:: @ 816D8B0 waitstate compare_var_to_value VAR_0x8004, 6 goto_if ge, EventScript_16D941 - special sub_80BFC14 + special IsSelectedMonEgg compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16D937 special ScrSpecial_CountPokemonMoves @@ -24,7 +24,7 @@ EventScript_16D8B0:: @ 816D8B0 goto_if eq, EventScript_16D92A msgbox gUnknown_8199445 fadescreen 1 - special Special_ChooseMoveToDelete + special SelectMove fadescreen 0 compare_var_to_value VAR_0x8005, 4 goto_if eq, EventScript_16D8B0 @@ -36,7 +36,7 @@ EventScript_16D8B0:: @ 816D8B0 end EventScript_16D919:: @ 816D919 - special Special_DeleteSelectedMove + special DeleteMonMove playfanfare MUS_ME_WASURE waitfanfare msgbox gUnknown_81994B1 diff --git a/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc b/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc index e1031e737..16b796efe 100644 --- a/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc +++ b/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc @@ -157,7 +157,7 @@ EventScript_16D462:: @ 816D462 countpokemon compare_var_to_value VAR_RESULT, 6 goto_if ne, EventScript_1A77A9 - specialvar VAR_RESULT, sub_80CABD0 + specialvar VAR_RESULT, Special_IsThereRoomInAnyBoxForMorePokemon compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1A77A9 msgbox gUnknown_81BFEAC diff --git a/data/maps/LavenderTown_House2/scripts.inc b/data/maps/LavenderTown_House2/scripts.inc index 213e84754..cd9e5e8d7 100644 --- a/data/maps/LavenderTown_House2/scripts.inc +++ b/data/maps/LavenderTown_House2/scripts.inc @@ -27,14 +27,14 @@ EventScript_16B2AA:: @ 816B2AA end EventScript_16B2B4:: @ 816B2B4 - specialvar VAR_RESULT, sub_80CAD54 + specialvar VAR_RESULT, Special_GetSpeciesOfPartySlot_x8004 compare_var_to_value VAR_RESULT, SPECIES_EGG goto_if eq, EventScript_16B307 special TV_CopyNicknameToStringVar1AndEnsureTerminated special TV_CheckMonOTIDEqualsPlayerID compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16B311 - specialvar VAR_RESULT, sub_80CAD7C + specialvar VAR_RESULT, Special_BufferMonOTNameAndCompareToPlayerName special TV_CopyNicknameToStringVar1AndEnsureTerminated compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16B311 @@ -58,7 +58,7 @@ EventScript_16B311:: @ 816B311 EventScript_16B31B:: @ 816B31B msgbox gUnknown_8193B36 call EventScript_1A74EB - specialvar VAR_RESULT, sub_80CBFA0 + specialvar VAR_RESULT, NameRaterWasNicknameChanged special TV_CopyNicknameToStringVar1AndEnsureTerminated compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16B345 diff --git a/data/maps/MtEmber_RubyPath_B5F/scripts.inc b/data/maps/MtEmber_RubyPath_B5F/scripts.inc index c3d8b7320..53aec5282 100644 --- a/data/maps/MtEmber_RubyPath_B5F/scripts.inc +++ b/data/maps/MtEmber_RubyPath_B5F/scripts.inc @@ -7,31 +7,31 @@ MtEmber_RubyPath_B5F_EventScript_163BAB:: @ 8163BAB setvar VAR_0x8006, 0 braillemessage gUnknown_81A92C5 getbraillestringwidth gUnknown_81A92C5 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A92D0 getbraillestringwidth gUnknown_81A92D0 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A92DC getbraillestringwidth gUnknown_81A92DC - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A92E6 getbraillestringwidth gUnknown_81A92E6 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A92F2 getbraillestringwidth gUnknown_81A92F2 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A92FE getbraillestringwidth gUnknown_81A92FE - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A930A getbraillestringwidth gUnknown_81A930A - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton braillemessage gUnknown_81A9316 waitbuttonpress releaseall diff --git a/data/maps/MtEmber_Summit/scripts.inc b/data/maps/MtEmber_Summit/scripts.inc index 8287d1d93..3f8256837 100644 --- a/data/maps/MtEmber_Summit/scripts.inc +++ b/data/maps/MtEmber_Summit/scripts.inc @@ -41,7 +41,7 @@ MtEmber_Summit_EventScript_163B33:: @ 8163B33 playbgm MUS_EXEYE, 0 waitbuttonpress setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special sub_807F9D8 + special Special_StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE specialvar VAR_RESULT, Special_GetBattleOutcome diff --git a/data/maps/NavelRock_Base/scripts.inc b/data/maps/NavelRock_Base/scripts.inc index 98bb6f920..20cff0f8f 100644 --- a/data/maps/NavelRock_Base/scripts.inc +++ b/data/maps/NavelRock_Base/scripts.inc @@ -46,14 +46,14 @@ NavelRock_Base_EventScript_165134:: @ 8165134 setvar VAR_0x8005, 3 setvar VAR_0x8006, 4 setvar VAR_0x8007, 2 - special sub_80CAC28 + special Special_ShakeScreen delay 30 playse SE_T_AME_E setvar VAR_0x8004, 0 setvar VAR_0x8005, 3 setvar VAR_0x8006, 4 setvar VAR_0x8007, 2 - special sub_80CAC28 + special Special_ShakeScreen delay 30 delay 50 waitse @@ -65,7 +65,7 @@ NavelRock_Base_EventScript_165134:: @ 8165134 setvar VAR_0x8006, 0 special CreateObedientEnemyMon setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special sub_807F9D8 + special Special_StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE specialvar VAR_RESULT, Special_GetBattleOutcome diff --git a/data/maps/NavelRock_Summit/scripts.inc b/data/maps/NavelRock_Summit/scripts.inc index f73aaf1ec..563ef520f 100644 --- a/data/maps/NavelRock_Summit/scripts.inc +++ b/data/maps/NavelRock_Summit/scripts.inc @@ -45,7 +45,7 @@ NavelRock_Summit_EventScript_164FFB:: @ 8164FFB special SpawnCameraObject setvar VAR_0x8004, 3 setvar VAR_0x8005, 35 - special sub_80CD1B4 + special Special_LoopWingFlapSound applymovement 1, Movement_1650E0 applymovement 127, Movement_1650CD waitmovement 0 @@ -59,7 +59,7 @@ NavelRock_Summit_EventScript_164FFB:: @ 8164FFB delay 60 setvar VAR_0x8004, 3 setvar VAR_0x8005, 35 - special sub_80CD1B4 + special Special_LoopWingFlapSound applymovement 127, Movement_1650D1 applymovement 1, Movement_1650D7 waitmovement 0 @@ -69,7 +69,7 @@ NavelRock_Summit_EventScript_164FFB:: @ 8164FFB setvar VAR_0x8006, 0 special CreateObedientEnemyMon setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special sub_807F9D8 + special Special_StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE setvar VAR_LAST_TALKED, 1 diff --git a/data/maps/PalletTown_GarysHouse/scripts.inc b/data/maps/PalletTown_GarysHouse/scripts.inc index 7900d62e8..42c7d44ad 100644 --- a/data/maps/PalletTown_GarysHouse/scripts.inc +++ b/data/maps/PalletTown_GarysHouse/scripts.inc @@ -61,7 +61,7 @@ EventScript_168DB9:: @ 8168DB9 faceplayer compare_var_to_value VAR_0x8004, 6 goto_if ge, EventScript_168E3C - specialvar VAR_RESULT, sub_80CAD54 + specialvar VAR_RESULT, Special_GetSpeciesOfPartySlot_x8004 compare_var_to_value VAR_RESULT, SPECIES_EGG goto_if eq, EventScript_168E32 msgbox gUnknown_818D8CC @@ -88,7 +88,7 @@ EventScript_168E3C:: @ 8168E3C EventScript_168E46:: @ 8168E46 msgbox gUnknown_818D9A5 - specialvar VAR_RESULT, sub_80CA76C + specialvar VAR_RESULT, Special_GetLeadMonFriendship switch VAR_RESULT case 0, EventScript_168EA6 case 1, EventScript_168EB0 diff --git a/data/maps/PalletTown_PlayersHouse_2F/scripts.inc b/data/maps/PalletTown_PlayersHouse_2F/scripts.inc index 80249e6c4..dc90bc7bf 100644 --- a/data/maps/PalletTown_PlayersHouse_2F/scripts.inc +++ b/data/maps/PalletTown_PlayersHouse_2F/scripts.inc @@ -38,10 +38,10 @@ PalletTown_PlayersHouse_2F_EventScript_168CE4:: @ 8168CE4 setvar VAR_0x8004, 32 special Special_SetSomeVariable setvar VAR_0x8004, 1 - special sub_80CA86C + special Special_AnimatePcTurnOn playse SE_PC_ON msgbox gUnknown_81A5420 - special sub_80EB6AC + special BedroomPC waitstate special sub_812B35C releaseall @@ -50,7 +50,7 @@ PalletTown_PlayersHouse_2F_EventScript_168CE4:: @ 8168CE4 EventScript_PalletTown_PlayersHouse_2F_ShutDownPC:: @ 8168D17 setvar VAR_0x8004, 1 playse SE_PC_OFF - special sub_80CA9A8 + special Special_AnimatePcTurnOff special sub_812B35C releaseall end diff --git a/data/maps/PokemonTower_6F/scripts.inc b/data/maps/PokemonTower_6F/scripts.inc index ee40d071b..086f589de 100644 --- a/data/maps/PokemonTower_6F/scripts.inc +++ b/data/maps/PokemonTower_6F/scripts.inc @@ -9,7 +9,7 @@ PokemonTower_6F_EventScript_1634B8:: @ 81634B8 compare_var_to_value VAR_RESULT, 2 goto_if eq, EventScript_1A7AE0 setwildbattle SPECIES_MAROWAK, 30, ITEM_NONE - special sub_807F904 + special ScrSpecial_StartMarowakBattle waitstate special sub_8112364 compare_var_to_value VAR_RESULT, 0 diff --git a/data/maps/PowerPlant/scripts.inc b/data/maps/PowerPlant/scripts.inc index aa6fa42b0..aa16e1881 100644 --- a/data/maps/PowerPlant/scripts.inc +++ b/data/maps/PowerPlant/scripts.inc @@ -54,7 +54,7 @@ PowerPlant_EventScript_1637B8:: @ 81637B8 playbgm MUS_EXEYE, 0 waitbuttonpress setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special sub_807F9D8 + special Special_StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE specialvar VAR_RESULT, Special_GetBattleOutcome diff --git a/data/maps/RocketHideout_Elevator/scripts.inc b/data/maps/RocketHideout_Elevator/scripts.inc index c83bc7fd9..c6a199a52 100644 --- a/data/maps/RocketHideout_Elevator/scripts.inc +++ b/data/maps/RocketHideout_Elevator/scripts.inc @@ -9,11 +9,11 @@ RocketHideout_Elevator_EventScript_1614D9:: @ 81614D9 checkflag FLAG_TEMP_2 call_if FALSE, EventScript_1A7AB9 copyvar VAR_0x8005, VAR_ELEVATOR_FLOOR - special sub_80CB580 + special Special_DrawElevatorCurrentFloorWindow message Text_1A535C waitmessage setvar VAR_0x8004, 2 - specialvar VAR_RESULT, sub_80CB328 + specialvar VAR_RESULT, Special_InitElevatorFloorSelectMenuPos switch VAR_RESULT case 0, EventScript_161530 case 1, EventScript_16153C @@ -87,15 +87,15 @@ EventScript_161608:: @ 8161608 end EventScript_161609:: @ 8161609 - special sub_80CB63C + special Special_CloseElevatorCurrentFloorWindow releaseall end EventScript_16160E:: @ 816160E - special sub_80CB63C + special Special_CloseElevatorCurrentFloorWindow closemessage waitse - special sub_80CB498 + special Special_AnimateElevator waitstate setflag FLAG_TEMP_2 return diff --git a/data/maps/Route12_FishingHouse/scripts.inc b/data/maps/Route12_FishingHouse/scripts.inc index 927bc3bea..0f0aa4f68 100644 --- a/data/maps/Route12_FishingHouse/scripts.inc +++ b/data/maps/Route12_FishingHouse/scripts.inc @@ -36,17 +36,17 @@ EventScript_16FF7F:: @ 816FF7F goto_if eq, EventScript_1A7AE0 special sub_8112364 setvar VAR_0x8004, SPECIES_MAGIKARP - specialvar VAR_RESULT, sub_80CC48C + specialvar VAR_RESULT, Special_PlayerPartyContainsSpecies compare_var_to_value VAR_RESULT, 0 goto_if eq, EventScript_16FFF5 - special sub_80A096C + special GetMagikarpSizeRecordInfo msgbox gUnknown_819F2DB special Special_ChooseMonFromParty waitstate copyvar VAR_RESULT, VAR_0x8004 compare_var_to_value VAR_RESULT, 6 goto_if ge, EventScript_16FFFF - special sub_80A0984 + special CompareMagikarpSize compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_170001 compare_var_to_value VAR_RESULT, 2 @@ -110,7 +110,7 @@ Route12_FishingHouse_EventScript_170067:: @ 8170067 end EventScript_17007B:: @ 817007B - special sub_80A096C + special GetMagikarpSizeRecordInfo msgbox gUnknown_819F4CF releaseall end diff --git a/data/maps/Route15_WestEntrance_2F/scripts.inc b/data/maps/Route15_WestEntrance_2F/scripts.inc index 7ec851931..1b491d4e5 100644 --- a/data/maps/Route15_WestEntrance_2F/scripts.inc +++ b/data/maps/Route15_WestEntrance_2F/scripts.inc @@ -9,7 +9,7 @@ Route15_WestEntrance_2F_EventScript_170093:: @ 8170093 waitbuttonpress erasemonpic setvar VAR_0x8004, SPECIES_ARTICUNO - special sub_80CBDCC + special Special_SetSeenMon releaseall end diff --git a/data/maps/Route16/scripts.inc b/data/maps/Route16/scripts.inc index b20a716ca..0bc8d6c8a 100644 --- a/data/maps/Route16/scripts.inc +++ b/data/maps/Route16/scripts.inc @@ -27,7 +27,7 @@ Route16_MapScript3_168113:: @ 8168113 .2byte 0 EventScript_16811D:: @ 816811D - special sub_80CA630 + special Special_ForcePlayerOntoBike end Route16_EventScript_168121:: @ 8168121 diff --git a/data/maps/Route18/scripts.inc b/data/maps/Route18/scripts.inc index dfc5f8578..cc6d11221 100644 --- a/data/maps/Route18/scripts.inc +++ b/data/maps/Route18/scripts.inc @@ -17,7 +17,7 @@ Route18_MapScript2_168211:: @ 8168211 .2byte 0 EventScript_16821B:: @ 816821B - special sub_80CA630 + special Special_ForcePlayerOntoBike end Route18_EventScript_16821F:: @ 816821F diff --git a/data/maps/Route25_SeaCottage/scripts.inc b/data/maps/Route25_SeaCottage/scripts.inc index b3c8e79ed..76be366f2 100644 --- a/data/maps/Route25_SeaCottage/scripts.inc +++ b/data/maps/Route25_SeaCottage/scripts.inc @@ -263,7 +263,7 @@ EventScript_17082B:: @ 817082B waitbuttonpress erasemonpic setvar VAR_0x8004, SPECIES_EEVEE - special sub_80CBDCC + special Special_SetSeenMon goto EventScript_1707D8 end @@ -272,7 +272,7 @@ EventScript_170840:: @ 8170840 waitbuttonpress erasemonpic setvar VAR_0x8004, SPECIES_FLAREON - special sub_80CBDCC + special Special_SetSeenMon goto EventScript_1707D8 end @@ -281,7 +281,7 @@ EventScript_170855:: @ 8170855 waitbuttonpress erasemonpic setvar VAR_0x8004, SPECIES_JOLTEON - special sub_80CBDCC + special Special_SetSeenMon goto EventScript_1707D8 end @@ -290,7 +290,7 @@ EventScript_17086A:: @ 817086A waitbuttonpress erasemonpic setvar VAR_0x8004, SPECIES_VAPOREON - special sub_80CBDCC + special Special_SetSeenMon goto EventScript_1707D8 end diff --git a/data/maps/SSAnne_2F_Room1/scripts.inc b/data/maps/SSAnne_2F_Room1/scripts.inc index f3dc1f136..9748777c7 100644 --- a/data/maps/SSAnne_2F_Room1/scripts.inc +++ b/data/maps/SSAnne_2F_Room1/scripts.inc @@ -7,7 +7,7 @@ SSAnne_2F_Room1_EventScript_160C97:: @ 8160C97 message Text_173CE3 waitmessage setvar VAR_0x8004, SPECIES_SNORLAX - special sub_80CBDCC + special Special_SetSeenMon drawmonpic SPECIES_SNORLAX, 10, 3 waitbuttonpress erasemonpic diff --git a/data/maps/SaffronCity_PokemonTrainerFanClub/scripts.inc b/data/maps/SaffronCity_PokemonTrainerFanClub/scripts.inc index 30d528791..426226422 100644 --- a/data/maps/SaffronCity_PokemonTrainerFanClub/scripts.inc +++ b/data/maps/SaffronCity_PokemonTrainerFanClub/scripts.inc @@ -78,37 +78,37 @@ SaffronCity_PokemonTrainerFanClub_MapScript2_16F144:: @ 816F144 end EventScript_16F15B:: @ 816F15B - special sub_81132CC + special UpdateMovedSaffronFanClubMembers setvar VAR_0x8004, 0 - specialvar VAR_RESULT, sub_8113364 + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 0 call_if eq, EventScript_16F207 setvar VAR_0x8004, 1 - specialvar VAR_RESULT, sub_8113364 + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 0 call_if eq, EventScript_16F213 setvar VAR_0x8004, 2 - specialvar VAR_RESULT, sub_8113364 + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 0 call_if eq, EventScript_16F21F setvar VAR_0x8004, 3 - specialvar VAR_RESULT, sub_8113364 + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 0 call_if eq, EventScript_16F22B setvar VAR_0x8004, 4 - specialvar VAR_RESULT, sub_8113364 + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 0 call_if eq, EventScript_16F237 setvar VAR_0x8004, 5 - specialvar VAR_RESULT, sub_8113364 + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 0 call_if eq, EventScript_16F243 setvar VAR_0x8004, 6 - specialvar VAR_RESULT, sub_8113364 + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 0 call_if eq, EventScript_16F24F setvar VAR_0x8004, 7 - specialvar VAR_RESULT, sub_8113364 + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 0 call_if eq, EventScript_16F25B end @@ -165,13 +165,13 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F281:: @ 816F281 lock faceplayer setvar VAR_0x8004, 0 - special sub_81133A4 + special BufferStreakTrainerText compare_var_to_value VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 0 goto_if eq, EventScript_16F2EE - specialvar VAR_RESULT, sub_8113364 + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F2C0 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 7 goto_if eq, EventScript_16F2E4 msgbox gUnknown_819C420 @@ -179,7 +179,7 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F281:: @ 816F281 end EventScript_16F2C0:: @ 816F2C0 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F2DA msgbox gUnknown_819C390 @@ -205,13 +205,13 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F2F8:: @ 816F2F8 lock faceplayer setvar VAR_0x8004, 3 - special sub_81133A4 + special BufferStreakTrainerText compare_var_to_value VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 0 goto_if eq, EventScript_16F365 - specialvar VAR_RESULT, sub_8113364 + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F337 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 7 goto_if eq, EventScript_16F35B msgbox gUnknown_819CBD3 @@ -219,7 +219,7 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F2F8:: @ 816F2F8 end EventScript_16F337:: @ 816F337 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F351 msgbox gUnknown_819CB32 @@ -245,13 +245,13 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F36F:: @ 816F36F lock faceplayer setvar VAR_0x8004, 1 - special sub_81133A4 + special BufferStreakTrainerText compare_var_to_value VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 0 goto_if eq, EventScript_16F3DC - specialvar VAR_RESULT, sub_8113364 + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F3AE - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 7 goto_if eq, EventScript_16F3D2 msgbox gUnknown_819C6BA @@ -259,7 +259,7 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F36F:: @ 816F36F end EventScript_16F3AE:: @ 816F3AE - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F3C8 msgbox gUnknown_819C5A9 @@ -285,13 +285,13 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F3E6:: @ 816F3E6 lock faceplayer setvar VAR_0x8004, 2 - special sub_81133A4 + special BufferStreakTrainerText compare_var_to_value VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 0 goto_if eq, EventScript_16F453 - specialvar VAR_RESULT, sub_8113364 + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F425 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 7 goto_if eq, EventScript_16F449 msgbox gUnknown_819C986 @@ -299,7 +299,7 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F3E6:: @ 816F3E6 end EventScript_16F425:: @ 816F425 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F43F msgbox gUnknown_819C81E @@ -325,11 +325,11 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F45D:: @ 816F45D lock faceplayer setvar VAR_0x8004, 5 - special sub_81133A4 - specialvar VAR_RESULT, sub_8113364 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F491 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 7 goto_if eq, EventScript_16F4B5 msgbox gUnknown_819D01F @@ -337,7 +337,7 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F45D:: @ 816F45D end EventScript_16F491:: @ 816F491 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F4AB msgbox gUnknown_819CEDF @@ -358,11 +358,11 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F4BF:: @ 816F4BF lock faceplayer setvar VAR_0x8004, 4 - special sub_81133A4 - specialvar VAR_RESULT, sub_8113364 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F4F3 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 7 goto_if eq, EventScript_16F517 msgbox gUnknown_819CDDA @@ -370,7 +370,7 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F4BF:: @ 816F4BF end EventScript_16F4F3:: @ 816F4F3 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F50D msgbox gUnknown_819CCF3 @@ -391,11 +391,11 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F521:: @ 816F521 lock faceplayer setvar VAR_0x8004, 6 - special sub_81133A4 - specialvar VAR_RESULT, sub_8113364 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F555 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 7 goto_if eq, EventScript_16F579 msgbox gUnknown_819D1AE @@ -403,7 +403,7 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F521:: @ 816F521 end EventScript_16F555:: @ 816F555 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F56F msgbox gUnknown_819D0E3 @@ -424,11 +424,11 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F583:: @ 816F583 lock faceplayer setvar VAR_0x8004, 7 - special sub_81133A4 - specialvar VAR_RESULT, sub_8113364 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveSaffronFanClubMember compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F5B7 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 7 goto_if eq, EventScript_16F5DB msgbox gUnknown_819D3D2 @@ -436,7 +436,7 @@ SaffronCity_PokemonTrainerFanClub_EventScript_16F583:: @ 816F583 end EventScript_16F5B7:: @ 816F5B7 - specialvar VAR_RESULT, sub_8113288 + specialvar VAR_RESULT, GetNumMovedSaffronFanClubMembers compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_16F5D1 msgbox gUnknown_819D2B4 diff --git a/data/maps/SeafoamIslands_B4F/scripts.inc b/data/maps/SeafoamIslands_B4F/scripts.inc index 3b618448c..8d69a4808 100644 --- a/data/maps/SeafoamIslands_B4F/scripts.inc +++ b/data/maps/SeafoamIslands_B4F/scripts.inc @@ -70,7 +70,7 @@ SeafoamIslands_B4F_MapScript4_1630E7:: @ 81630E7 EventScript_1630F1:: @ 81630F1 turnobject 255, 2 - special sub_80CBD80 + special Special_ForcePlayerToStartSurfing end SeafoamIslands_B4F_MapScript5_1630F9:: @ 81630F9 @@ -179,7 +179,7 @@ SeafoamIslands_B4F_EventScript_1631AC:: @ 81631AC playbgm MUS_EXEYE, 0 waitbuttonpress setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special sub_807F9D8 + special Special_StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE specialvar VAR_RESULT, Special_GetBattleOutcome diff --git a/data/maps/SevenIsland_House_Room1/scripts.inc b/data/maps/SevenIsland_House_Room1/scripts.inc index 70813ddba..fd83fa051 100644 --- a/data/maps/SevenIsland_House_Room1/scripts.inc +++ b/data/maps/SevenIsland_House_Room1/scripts.inc @@ -90,7 +90,7 @@ EventScript_17097D:: @ 817097D EventScript_170987:: @ 8170987 special SavePlayerParty - special sub_80CAAAC + special Special_BufferEReaderTrainerName5 msgbox gUnknown_81A0598, MSGBOX_YESNO compare_var_to_value VAR_RESULT, 0 goto_if eq, EventScript_170A11 @@ -105,7 +105,7 @@ EventScript_170987:: @ 8170987 compare_var_to_value VAR_RESULT, 0 goto_if eq, EventScript_170A11 special SavePlayerParty - special sub_80A03D8 + special ReducePlayerPartyToThree msgbox gUnknown_81A07C4 closemessage compare_var_to_value VAR_FACING, 2 diff --git a/data/maps/SevenIsland_House_Room2/scripts.inc b/data/maps/SevenIsland_House_Room2/scripts.inc index d77eda077..f2928f916 100644 --- a/data/maps/SevenIsland_House_Room2/scripts.inc +++ b/data/maps/SevenIsland_House_Room2/scripts.inc @@ -4,7 +4,7 @@ SevenIsland_House_Room2_MapScripts:: @ 8170A7E .byte 0 SevenIsland_House_Room2_MapScript1_170A89:: @ 8170A89 - special sub_80E5E70 + special SetEReaderTrainerGfxId end SevenIsland_House_Room2_MapScript2_170A8D:: @ 8170A8D @@ -15,12 +15,12 @@ EventScript_170A97:: @ 8170A97 lockall applymovement 255, Movement_170B22 waitmovement 0 - special sub_80E7538 + special PrintEReaderTrainerGreeting msgbox gStringVar4 closemessage setvar VAR_0x8004, 2 setvar VAR_0x8005, 0 - special sub_80E6900 + special StartSpecialBattle waitstate compare_var_to_value VAR_RESULT, 3 call_if eq, EventScript_170AFE @@ -46,14 +46,14 @@ EventScript_170AFE:: @ 8170AFE EventScript_170B0C:: @ 8170B0C setvar VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 1 - special sub_80CA68C + special Special_ShowStringVar4AsFieldMessage waitmessage waitbuttonpress return EventScript_170B17:: @ 8170B17 setvar VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 2 - special sub_80CA68C + special Special_ShowStringVar4AsFieldMessage waitmessage waitbuttonpress return diff --git a/data/maps/SevenIsland_SevaultCanyon/map.json b/data/maps/SevenIsland_SevaultCanyon/map.json index ecc28a62d..cf4f14540 100644 --- a/data/maps/SevenIsland_SevaultCanyon/map.json +++ b/data/maps/SevenIsland_SevaultCanyon/map.json @@ -290,7 +290,7 @@ "x": 7, "y": 17, "elevation": 5, - "dest_map": "MAP_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY", + "dest_map": "MAP_SEVEN_ISLAND_SEVAULT_CANYON_TANOBY_KEY", "dest_warp_id": 0 }, { diff --git a/data/maps/SevenIsland_SeavaultCanyon_TanobyKey/map.json b/data/maps/SevenIsland_SevaultCanyon_TanobyKey/map.json index f8c9c1a1f..4f492d72d 100644 --- a/data/maps/SevenIsland_SeavaultCanyon_TanobyKey/map.json +++ b/data/maps/SevenIsland_SevaultCanyon_TanobyKey/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY", - "name": "SevenIsland_SeavaultCanyon_TanobyKey", - "layout": "LAYOUT_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY", + "id": "MAP_SEVEN_ISLAND_SEVAULT_CANYON_TANOBY_KEY", + "name": "SevenIsland_SevaultCanyon_TanobyKey", + "layout": "LAYOUT_SEVEN_ISLAND_SEVAULT_CANYON_TANOBY_KEY", "music": "MUS_NANAISEKI", "region_map_section": "MAPSEC_TANOBY_KEY", "requires_flash": false, @@ -122,7 +122,7 @@ "elevation": 3, "var": "VAR_0x4001", "var_value": 99, - "script": "SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164E39" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164E39" }, { "type": "trigger", @@ -131,7 +131,7 @@ "elevation": 3, "var": "VAR_0x4007", "var_value": 99, - "script": "SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164F0B" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164F0B" }, { "type": "trigger", @@ -140,7 +140,7 @@ "elevation": 3, "var": "VAR_0x4006", "var_value": 99, - "script": "SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164EE8" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164EE8" }, { "type": "trigger", @@ -149,7 +149,7 @@ "elevation": 3, "var": "VAR_0x4005", "var_value": 99, - "script": "SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164EC5" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164EC5" }, { "type": "trigger", @@ -158,7 +158,7 @@ "elevation": 3, "var": "VAR_0x4004", "var_value": 99, - "script": "SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164EA2" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164EA2" }, { "type": "trigger", @@ -167,7 +167,7 @@ "elevation": 3, "var": "VAR_0x4003", "var_value": 99, - "script": "SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164E7F" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164E7F" }, { "type": "trigger", @@ -176,7 +176,7 @@ "elevation": 3, "var": "VAR_0x4002", "var_value": 99, - "script": "SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164E5C" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164E5C" } ], "bg_events": [] diff --git a/data/maps/SevenIsland_SeavaultCanyon_TanobyKey/scripts.inc b/data/maps/SevenIsland_SevaultCanyon_TanobyKey/scripts.inc index 44dd71179..442e13942 100644 --- a/data/maps/SevenIsland_SeavaultCanyon_TanobyKey/scripts.inc +++ b/data/maps/SevenIsland_SevaultCanyon_TanobyKey/scripts.inc @@ -1,9 +1,9 @@ -SevenIsland_SeavaultCanyon_TanobyKey_MapScripts:: @ 8164DCC - map_script 3, SevenIsland_SeavaultCanyon_TanobyKey_MapScript1_164DD2 +SevenIsland_SevaultCanyon_TanobyKey_MapScripts:: @ 8164DCC + map_script 3, SevenIsland_SevaultCanyon_TanobyKey_MapScript1_164DD2 .byte 0 -SevenIsland_SeavaultCanyon_TanobyKey_MapScript1_164DD2:: @ 8164DD2 - setworldmapflag FLAG_WORLD_MAP_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY +SevenIsland_SevaultCanyon_TanobyKey_MapScript1_164DD2:: @ 8164DD2 + setworldmapflag FLAG_WORLD_MAP_SEVEN_ISLAND_SEVAULT_CANYON_TANOBY_KEY checkflag FLAG_SYS_UNLOCKED_TANOBY_RUINS call_if TRUE, EventScript_164E07 setvar VAR_0x4001, 0 @@ -26,7 +26,7 @@ EventScript_164E07:: @ 8164E07 setobjectxyperm 7, 9, 8 return -SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164E39:: @ 8164E39 +SevenIsland_SevaultCanyon_TanobyKey_EventScript_164E39:: @ 8164E39 lockall compare_var_to_value VAR_0x4001, 100 goto_if eq, EventScript_164F8A @@ -37,7 +37,7 @@ SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164E39:: @ 8164E39 releaseall end -SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164E5C:: @ 8164E5C +SevenIsland_SevaultCanyon_TanobyKey_EventScript_164E5C:: @ 8164E5C lockall compare_var_to_value VAR_0x4002, 100 goto_if eq, EventScript_164F8A @@ -48,7 +48,7 @@ SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164E5C:: @ 8164E5C releaseall end -SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164E7F:: @ 8164E7F +SevenIsland_SevaultCanyon_TanobyKey_EventScript_164E7F:: @ 8164E7F lockall compare_var_to_value VAR_0x4003, 100 goto_if eq, EventScript_164F8A @@ -59,7 +59,7 @@ SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164E7F:: @ 8164E7F releaseall end -SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164EA2:: @ 8164EA2 +SevenIsland_SevaultCanyon_TanobyKey_EventScript_164EA2:: @ 8164EA2 lockall compare_var_to_value VAR_0x4004, 100 goto_if eq, EventScript_164F8A @@ -70,7 +70,7 @@ SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164EA2:: @ 8164EA2 releaseall end -SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164EC5:: @ 8164EC5 +SevenIsland_SevaultCanyon_TanobyKey_EventScript_164EC5:: @ 8164EC5 lockall compare_var_to_value VAR_0x4005, 100 goto_if eq, EventScript_164F8A @@ -81,7 +81,7 @@ SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164EC5:: @ 8164EC5 releaseall end -SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164EE8:: @ 8164EE8 +SevenIsland_SevaultCanyon_TanobyKey_EventScript_164EE8:: @ 8164EE8 lockall compare_var_to_value VAR_0x4006, 100 goto_if eq, EventScript_164F8A @@ -92,7 +92,7 @@ SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164EE8:: @ 8164EE8 releaseall end -SevenIsland_SeavaultCanyon_TanobyKey_EventScript_164F0B:: @ 8164F0B +SevenIsland_SevaultCanyon_TanobyKey_EventScript_164F0B:: @ 8164F0B lockall compare_var_to_value VAR_0x4007, 100 goto_if eq, EventScript_164F8A @@ -110,7 +110,7 @@ EventScript_164F2E:: @ 8164F2E setvar VAR_0x8005, 1 setvar VAR_0x8006, 8 setvar VAR_0x8007, 3 - special sub_80CAC28 + special Special_ShakeScreen delay 60 return @@ -119,13 +119,13 @@ EventScript_164F51:: @ 8164F51 setvar VAR_0x8005, 2 setvar VAR_0x8006, 10 setvar VAR_0x8007, 3 - special sub_80CAC28 + special Special_ShakeScreen delay 60 setvar VAR_0x8004, 3 setvar VAR_0x8005, 3 setvar VAR_0x8006, 12 setvar VAR_0x8007, 2 - special sub_80CAC28 + special Special_ShakeScreen delay 60 playse SE_FU_ZUZUZU waitse diff --git a/data/maps/SevenIsland_SeavaultCanyon_TanobyKey/text.inc b/data/maps/SevenIsland_SevaultCanyon_TanobyKey/text.inc index c6f137869..c6f137869 100644 --- a/data/maps/SevenIsland_SeavaultCanyon_TanobyKey/text.inc +++ b/data/maps/SevenIsland_SevaultCanyon_TanobyKey/text.inc diff --git a/data/maps/SevenIsland_TrainerTower_Elevator/scripts.inc b/data/maps/SevenIsland_TrainerTower_Elevator/scripts.inc index b1fc46abd..a415190da 100644 --- a/data/maps/SevenIsland_TrainerTower_Elevator/scripts.inc +++ b/data/maps/SevenIsland_TrainerTower_Elevator/scripts.inc @@ -9,11 +9,11 @@ SevenIsland_TrainerTower_Elevator_EventScript_164B03:: @ 8164B03 checkflag FLAG_TEMP_2 call_if FALSE, EventScript_1A7AB9 copyvar VAR_0x8005, VAR_ELEVATOR_FLOOR - special sub_80CB580 + special Special_DrawElevatorCurrentFloorWindow message Text_1A535C waitmessage setvar VAR_0x8004, 6 - specialvar VAR_RESULT, sub_80CB328 + specialvar VAR_RESULT, Special_InitElevatorFloorSelectMenuPos switch VAR_RESULT case 0, EventScript_164B46 case 1, EventScript_164B52 @@ -44,7 +44,7 @@ EventScript_164B90:: @ 8164B90 goto_if eq, EventScript_164BD3 call EventScript_164BD8 setvar VAR_ELEVATOR_FLOOR, 3 - special sub_80CB63C + special Special_CloseElevatorCurrentFloorWindow delay 25 applymovement 255, Movement_164BE5 waitmovement 0 @@ -58,15 +58,15 @@ EventScript_164BCD:: @ 8164BCD end EventScript_164BD3:: @ 8164BD3 - special sub_80CB63C + special Special_CloseElevatorCurrentFloorWindow releaseall end EventScript_164BD8:: @ 8164BD8 - special sub_80CB63C + special Special_CloseElevatorCurrentFloorWindow closemessage waitse - special sub_80CB498 + special Special_AnimateElevator waitstate setflag FLAG_TEMP_2 return diff --git a/data/maps/SilphCo_Elevator/scripts.inc b/data/maps/SilphCo_Elevator/scripts.inc index 9338e5c6e..4d75eec38 100644 --- a/data/maps/SilphCo_Elevator/scripts.inc +++ b/data/maps/SilphCo_Elevator/scripts.inc @@ -7,12 +7,12 @@ SilphCo_Elevator_EventScript_161F6F:: @ 8161F6F checkflag FLAG_TEMP_2 call_if FALSE, EventScript_1A7AB9 copyvar VAR_0x8005, VAR_ELEVATOR_FLOOR - special sub_80CB580 + special Special_DrawElevatorCurrentFloorWindow message Text_1A535C waitmessage setvar VAR_0x8004, 1 - specialvar VAR_RESULT, sub_80CB328 - special sub_80CB7C4 + specialvar VAR_RESULT, Special_InitElevatorFloorSelectMenuPos + special Special_ListMenu waitstate switch VAR_RESULT case 0, EventScript_1621BF @@ -163,15 +163,15 @@ EventScript_1621E6:: @ 81621E6 end EventScript_1621E7:: @ 81621E7 - special sub_80CB63C + special Special_CloseElevatorCurrentFloorWindow releaseall end EventScript_1621EC:: @ 81621EC - special sub_80CB63C + special Special_CloseElevatorCurrentFloorWindow closemessage waitse - special sub_80CB498 + special Special_AnimateElevator waitstate setflag FLAG_TEMP_2 return diff --git a/data/maps/SixIsland_DottedHole_SapphireRoom/scripts.inc b/data/maps/SixIsland_DottedHole_SapphireRoom/scripts.inc index bf2e1eb6d..64ef24b72 100644 --- a/data/maps/SixIsland_DottedHole_SapphireRoom/scripts.inc +++ b/data/maps/SixIsland_DottedHole_SapphireRoom/scripts.inc @@ -28,7 +28,7 @@ SixIsland_DottedHole_SapphireRoom_EventScript_1641B5:: @ 81641B5 setvar VAR_0x8005, 0 setvar VAR_0x8006, 12 setvar VAR_0x8007, 3 - special sub_80CAC28 + special Special_ShakeScreen delay 60 compare_var_to_value VAR_FACING, 2 call_if eq, EventScript_164325 @@ -241,63 +241,63 @@ SixIsland_DottedHole_SapphireRoom_EventScript_16441F:: @ 816441F setvar VAR_0x8006, 0 braillemessage gUnknown_81A9321 getbraillestringwidth gUnknown_81A9321 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A932D getbraillestringwidth gUnknown_81A932D - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A9338 getbraillestringwidth gUnknown_81A9338 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A933F getbraillestringwidth gUnknown_81A933F - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A934A getbraillestringwidth gUnknown_81A934A - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A9356 getbraillestringwidth gUnknown_81A9356 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A9362 getbraillestringwidth gUnknown_81A9362 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A9368 getbraillestringwidth gUnknown_81A9368 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A9374 getbraillestringwidth gUnknown_81A9374 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A937C getbraillestringwidth gUnknown_81A937C - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A9387 getbraillestringwidth gUnknown_81A9387 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A9393 getbraillestringwidth gUnknown_81A9393 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A939F getbraillestringwidth gUnknown_81A939F - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A93AB getbraillestringwidth gUnknown_81A93AB - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton setvar VAR_0x8006, 0 braillemessage gUnknown_81A93B4 getbraillestringwidth gUnknown_81A93B4 - call EventScript_1A926C + call EventScript_BrailleCursorWaitButton braillemessage gUnknown_81A93C0 waitbuttonpress releaseall diff --git a/data/maps/SixIsland_WaterPath_House1/scripts.inc b/data/maps/SixIsland_WaterPath_House1/scripts.inc index be9e12915..d38e40aac 100644 --- a/data/maps/SixIsland_WaterPath_House1/scripts.inc +++ b/data/maps/SixIsland_WaterPath_House1/scripts.inc @@ -9,17 +9,17 @@ SixIsland_WaterPath_House1_EventScript_17206D:: @ 817206D goto_if eq, EventScript_1A7AE0 special sub_8112364 setvar VAR_0x8004, SPECIES_HERACROSS - specialvar VAR_RESULT, sub_80CC48C + specialvar VAR_RESULT, Special_PlayerPartyContainsSpecies compare_var_to_value VAR_RESULT, 0 goto_if eq, EventScript_1720E5 - special sub_80A0918 + special GetHeracrossSizeRecordInfo msgbox gUnknown_81A4A3F special Special_ChooseMonFromParty waitstate copyvar VAR_RESULT, VAR_0x8004 compare_var_to_value VAR_RESULT, 6 goto_if ge, EventScript_1720EF - special sub_80A0930 + special CompareHeracrossSize compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_1720F1 compare_var_to_value VAR_RESULT, 2 @@ -83,7 +83,7 @@ SixIsland_WaterPath_House1_EventScript_172157:: @ 8172157 end EventScript_17216B:: @ 817216B - special sub_80A0918 + special GetHeracrossSizeRecordInfo msgbox gUnknown_81A4C6E releaseall end diff --git a/data/maps/ThreeIsland_BerryForest/scripts.inc b/data/maps/ThreeIsland_BerryForest/scripts.inc index 739b926b0..3119a1d44 100644 --- a/data/maps/ThreeIsland_BerryForest/scripts.inc +++ b/data/maps/ThreeIsland_BerryForest/scripts.inc @@ -32,7 +32,7 @@ ThreeIsland_BerryForest_EventScript_163C83:: @ 8163C83 giveitem ITEM_IAPAPA_BERRY compare_var_to_value VAR_RESULT, 0 call_if eq, EventScript_163D19 - special sub_80CA6DC + special Special_BufferBigGuyOrBigGirlString msgbox gUnknown_817AF3B closemessage setflag FLAG_RESCUED_LOSTELLE diff --git a/data/maps/ThreeIsland_House1/scripts.inc b/data/maps/ThreeIsland_House1/scripts.inc index 29952137a..7738d2e5c 100644 --- a/data/maps/ThreeIsland_House1/scripts.inc +++ b/data/maps/ThreeIsland_House1/scripts.inc @@ -4,7 +4,7 @@ ThreeIsland_House1_MapScripts:: @ 8171819 ThreeIsland_House1_EventScript_17181A:: @ 817181A lock faceplayer - special sub_80CA6DC + special Special_BufferBigGuyOrBigGirlString msgbox gUnknown_81A2F3E release end diff --git a/data/maps/TwoIsland_House/scripts.inc b/data/maps/TwoIsland_House/scripts.inc index 564ee8481..33f6d42fd 100644 --- a/data/maps/TwoIsland_House/scripts.inc +++ b/data/maps/TwoIsland_House/scripts.inc @@ -53,11 +53,11 @@ EventScript_1716A5:: @ 81716A5 EventScript_1716BE:: @ 81716BE msgbox gUnknown_81A2CC3 - special sub_80BF93C + special SelectMoveTutorMon waitstate compare_var_to_value VAR_0x8004, 6 goto_if ge, EventScript_17179E - special sub_80BFC14 + special IsSelectedMonEgg compare_var_to_value VAR_RESULT, 1 goto_if eq, EventScript_171790 compare_var_to_value VAR_0x8005, 0 @@ -67,7 +67,7 @@ EventScript_1716BE:: @ 81716BE EventScript_1716F4:: @ 81716F4 msgbox gUnknown_81A2CE1 - special sub_80E4634 + special DisplayMoveTutorMenu waitstate compare_var_to_value VAR_0x8004, 0 goto_if eq, EventScript_1716BE diff --git a/data/maps/TwoIsland_JoyfulGameCorner/scripts.inc b/data/maps/TwoIsland_JoyfulGameCorner/scripts.inc index 7d4bb6684..798435eaf 100644 --- a/data/maps/TwoIsland_JoyfulGameCorner/scripts.inc +++ b/data/maps/TwoIsland_JoyfulGameCorner/scripts.inc @@ -37,7 +37,7 @@ EventScript_171435:: @ 8171435 textcolor 0 msgbox gUnknown_81A28B2 textcolor 1 - special sub_80CA6DC + special Special_BufferBigGuyOrBigGirlString msgbox gUnknown_81A2931 closemessage applymovement 3, Movement_1A75ED diff --git a/data/maps/ViridianCity/scripts.inc b/data/maps/ViridianCity/scripts.inc index 5c5cebf82..24c38bfd7 100644 --- a/data/maps/ViridianCity/scripts.inc +++ b/data/maps/ViridianCity/scripts.inc @@ -151,7 +151,7 @@ EventScript_165A65:: @ 8165A65 compare_var_to_value VAR_RESULT, 2 goto_if eq, EventScript_1A7AE0 special sub_8112364 - special sub_807F888 + special ScrSpecial_StartOldManTutorialBattle waitstate release end @@ -246,7 +246,7 @@ EventScript_165B4C:: @ 8165B4C compare_var_to_value VAR_RESULT, 2 goto_if eq, EventScript_1A7AE0 special sub_8112364 - special sub_807F888 + special ScrSpecial_StartOldManTutorialBattle waitstate lock faceplayer diff --git a/data/maps/map_groups.json b/data/maps/map_groups.json index 3bf3c6982..8619c19ad 100644 --- a/data/maps/map_groups.json +++ b/data/maps/map_groups.json @@ -212,7 +212,7 @@ "SevenIsland_TanobyRuins_RixyChamber", "SevenIsland_TanobyRuins_ViapoisChamber", "ThreeIsland_DunsparceTunnel", - "SevenIsland_SeavaultCanyon_TanobyKey", + "SevenIsland_SevaultCanyon_TanobyKey", "NavelRock_1F", "NavelRock_Summit", "NavelRock_Base", diff --git a/data/specials.inc b/data/specials.inc index bfb649961..96d997597 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -7,11 +7,10 @@ .set __special__, 0 .align 2 - gSpecials:: @ 815FD60 def_special sp000_heal_pokemon def_special SetCableClubWarp - def_special sub_807E654 + def_special DoCableClubWarp def_special sub_807E704 def_special sub_8081744 def_special sub_8081770 @@ -60,16 +59,16 @@ gSpecials:: @ 815FD60 def_special nullsub_75 def_special nullsub_75 def_special IsEnigmaBerryValid - def_special sub_80803CC - def_special sub_80805D8 - def_special sub_8080618 + def_special ScrSpecial_GetTrainerBattleMode + def_special ScrSpecial_ShowTrainerIntroSpeech + def_special ScrSpecial_ShowTrainerNonBattlingSpeech def_special ScrSpecial_HasTrainerBeenFought def_special ScrSpecial_EndTrainerApproach def_special PlayTrainerEncounterMusic - def_special sub_810CD4C - def_special sub_810CEB4 - def_special sub_80805B0 - def_special sub_808C6A8 + def_special ShouldTryRematchBattle + def_special ScrSpecial_GetTrainerEyeRematchFlag + def_special ScrSpecial_StartTrainerEyeRematch + def_special ShowPokemonStorageSystem def_special CheckForAlivePartyMons def_special nullsub_75 def_special nullsub_75 @@ -78,7 +77,7 @@ gSpecials:: @ 815FD60 def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 - def_special sub_80CBEBC + def_special Special_HasLeadMonBeenRenamed def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 @@ -128,16 +127,16 @@ gSpecials:: @ 815FD60 def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 - def_special sub_80A0918 - def_special sub_80A0930 - def_special sub_80A096C - def_special sub_80A0984 - def_special sub_80CBFA0 + def_special GetHeracrossSizeRecordInfo + def_special CompareHeracrossSize + def_special GetMagikarpSizeRecordInfo + def_special CompareMagikarpSize + def_special NameRaterWasNicknameChanged def_special TV_CopyNicknameToStringVar1AndEnsureTerminated def_special TV_CheckMonOTIDEqualsPlayerID def_special nullsub_75 def_special nullsub_75 - def_special sub_80BDB1C + def_special BufferRandomHobbyOrLifestyleString def_special nullsub_75 def_special RegisteredItemHandleBikeSwap def_special CalculatePlayerPartyCount @@ -150,15 +149,15 @@ gSpecials:: @ 815FD60 def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 - def_special sub_80CA68C + def_special Special_ShowStringVar4AsFieldMessage def_special DrawWholeMapView - def_special sub_80CA69C + def_special Special_GetPlayerXY def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 - def_special sub_80CA6BC - def_special sub_80CA6DC - def_special sub_80CA714 + def_special Special_GetPlayerTrainerIdOnesDigit + def_special Special_BufferBigGuyOrBigGirlString + def_special Special_BufferSonOrDaughterString def_special Special_SetHiddenItemFlag def_special nullsub_75 def_special nullsub_75 @@ -166,17 +165,17 @@ gSpecials:: @ 815FD60 def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 - def_special sub_807F888 + def_special ScrSpecial_StartOldManTutorialBattle def_special ChangePokemonNickname def_special Special_ChooseMonFromParty def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 - def_special sub_8113364 - def_special sub_8113288 - def_special sub_81133A4 + def_special ShouldMoveSaffronFanClubMember + def_special GetNumMovedSaffronFanClubMembers + def_special BufferStreakTrainerText def_special sub_8113064 - def_special sub_81132CC + def_special UpdateMovedSaffronFanClubMembers def_special sub_8113510 def_special sub_81130A8 def_special sub_8113530 @@ -204,12 +203,12 @@ gSpecials:: @ 815FD60 def_special TakePokemonFromDaycare def_special ScriptHatchMon def_special EggHatch - def_special sub_8046EAC + def_special DaycareMonReceivedMail def_special Special_BattleRecords def_special IsEnoughForCostInVar0x8005 def_special SubtractMoneyFromVar0x8005 def_special ExecuteWhiteOut - def_special sub_80CA3C4 + def_special sp0C8_whiteout_maybe def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 @@ -222,49 +221,49 @@ gSpecials:: @ 815FD60 def_special nullsub_75 def_special nullsub_75 def_special Special_GetPokedexCount - def_special sub_80CA524 - def_special sub_80CA86C - def_special sub_80CA9A8 + def_special Special_GetProfOaksRatingMessage + def_special Special_AnimatePcTurnOn + def_special Special_AnimatePcTurnOff def_special Special_GetElevatorFloor def_special nullsub_75 def_special nullsub_75 - def_special sub_80BF93C - def_special Special_ChooseMoveToDelete - def_special Special_DeleteSelectedMove + def_special SelectMoveTutorMon + def_special SelectMove + def_special DeleteMonMove def_special ScrSpecial_GetPokemonNicknameAndMoveName def_special ScrSpecial_CountPokemonMoves - def_special sub_80E4634 + def_special DisplayMoveTutorMenu def_special nullsub_75 def_special nullsub_75 - def_special sub_80CA664 + def_special Special_GetPlayerAvatarBike def_special nullsub_75 def_special nullsub_75 - def_special sub_80CA76C + def_special Special_GetLeadMonFriendship def_special sub_80E5970 - def_special sub_80E5C28 - def_special sub_80E6648 - def_special sub_80E67FC - def_special sub_80E7538 - def_special sub_80E6900 - def_special sub_80E6A0C - def_special sub_80E6C8C - def_special sub_80E6E14 - def_special sub_80E6FB8 - def_special sub_80E7058 - def_special sub_80E71D0 - def_special sub_80E724C - def_special sub_80E72B8 - def_special sub_80A0380 + def_special ChooseNextBattleTowerTrainer + def_special CheckPartyBattleTowerBanlist + def_special PrintBattleTowerTrainerGreeting + def_special PrintEReaderTrainerGreeting + def_special StartSpecialBattle + def_special SetBattleTowerProperty + def_special BattleTowerUtil + def_special SetBattleTowerParty + def_special SaveBattleTowerProgress + def_special BattleTower_SoftReset + def_special DetermineBattleTowerPrize + def_special GiveBattleTowerPrize + def_special AwardBattleTowerRibbons + def_special ChooseBattleTowerPlayerParty def_special ValidateEReaderTrainer def_special nullsub_75 - def_special sub_80A03D8 - def_special sub_80EB6AC - def_special sub_80EB6FC - def_special sub_80CA7EC - def_special sub_8053A9C - def_special sub_8053D68 - def_special sub_8054440 - def_special sub_8053D2C + def_special ReducePlayerPartyToThree + def_special BedroomPC + def_special PlayerPC + def_special Special_TownMap + def_special GetInGameTradeSpeciesInfo + def_special CreateInGameTradePokemon + def_special DoInGameTradeScene + def_special GetTradeSpecies def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 @@ -273,7 +272,7 @@ gSpecials:: @ 815FD60 def_special nullsub_75 def_special ScrSpecial_CreatePCMenu def_special HallOfFamePCBeginFade - def_special sub_80CA618 + def_special Special_ShowDiploma def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 @@ -282,7 +281,7 @@ gSpecials:: @ 815FD60 def_special nullsub_61 def_special DoSoftReset def_special Special_HallOfFame - def_special sub_80CB498 + def_special Special_AnimateElevator def_special nullsub_75 def_special SpawnCameraObject def_special RemoveCameraObject @@ -294,35 +293,35 @@ gSpecials:: @ 815FD60 def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 - def_special sub_80CAAAC - def_special sub_80CAABC + def_special Special_BufferEReaderTrainerName5 + def_special Special_GetRandomSlotMachine def_special GetPlayerFacingDirection def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 def_special LeadMonHasEffortRibbon - def_special GivLeadMonEffortRibbon + def_special GiveLeadMonEffortRibbon def_special ScrSpecial_AreLeadMonEVsMaxedOut def_special sub_8069740 def_special sub_8069768 def_special InitRoamer def_special nullsub_75 - def_special sub_80CA804 + def_special Special_PlayerHasGrassPokemonInParty def_special nullsub_75 def_special nullsub_75 - def_special sub_80CAB78 + def_special Special_IsStarterFirstStageInParty def_special nullsub_75 - def_special sub_80CABD0 + def_special Special_IsThereRoomInAnyBoxForMorePokemon def_special nullsub_75 - def_special sub_80CB580 + def_special Special_DrawElevatorCurrentFloorWindow def_special nullsub_75 - def_special sub_80CAC08 + def_special Special_CheckPartyPokerus def_special sub_806E99C - def_special sub_80CAC28 - def_special sub_807FA68 - def_special sub_807F9D8 - def_special sub_807FABC + def_special Special_ShakeScreen + def_special Special_StartGroudonKyogreBattle + def_special Special_StartLegendaryBattle + def_special Special_StartRegiBattle def_special sub_8080398 def_special nullsub_75 def_special nullsub_75 @@ -331,13 +330,13 @@ gSpecials:: @ 815FD60 def_special DoFallWarp def_special nullsub_75 def_special nullsub_75 - def_special sub_80E5E70 - def_special sub_807F998 + def_special SetEReaderTrainerGfxId + def_special ScrSpecial_StartSouthernIslandBattle def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 - def_special sub_80CAD54 - def_special sub_80BFC14 + def_special Special_GetSpeciesOfPartySlot_x8004 + def_special IsSelectedMonEgg def_special nullsub_75 def_special nullsub_75 def_special LoadPlayerBag @@ -345,31 +344,31 @@ gSpecials:: @ 815FD60 def_special nullsub_75 def_special nullsub_75 def_special HasAllKantoMons - def_special sub_80CAD7C + def_special Special_BufferMonOTNameAndCompareToPlayerName def_special nullsub_75 - def_special sub_80E759C + def_special Dummy_TryEnableBravoTrainerBattleTower def_special GetNameOfEnigmaBerryInPlayerParty def_special nullsub_75 def_special sub_810B82C - def_special sub_807F904 - def_special sub_80CA630 - def_special sub_80CB7C4 - def_special sub_80CBC5C + def_special ScrSpecial_StartMarowakBattle + def_special Special_ForcePlayerOntoBike + def_special Special_ListMenu + def_special Special_ReturnToListMenu def_special sub_80CADC4 def_special Special_SetVermilionTrashCans def_special sub_805D1A8 - def_special sub_80CB0A8 + def_special Special_SampleResortGorgeousMonAndReward def_special Special_CheckAddCoins def_special GetDaycarePokemonCount - def_special sub_80CB63C - def_special sub_80CBD80 + def_special Special_CloseElevatorCurrentFloorWindow + def_special Special_ForcePlayerToStartSurfing def_special ScrSpecial_GetStarter - def_special sub_80CBDCC + def_special Special_SetSeenMon def_special sub_810C444 def_special sub_80CC7B4 def_special ChangeBoxPokemonNickname - def_special sub_80CC2BC - def_special sub_80CC3CC + def_special Special_UpdateTrainerCardPhotoIcons + def_special Special_StickerLadyGetBragFlags def_special sub_80CC524 def_special IsWirelessAdapterConnected def_special sub_8115A24 @@ -389,7 +388,7 @@ gSpecials:: @ 815FD60 def_special GetNumLevelsGainedForRoute5DaycareMon def_special TakePokemonFromRoute5Daycare def_special ScrSpecial_SeaGallopFerry - def_special sub_80CC48C + def_special Special_PlayerPartyContainsSpecies def_special Special_SetSomeVariable def_special HelpSystem_BackupSomeVariable def_special HelpSystem_RestoreSomeVariable @@ -398,7 +397,7 @@ gSpecials:: @ 815FD60 def_special sub_811999C def_special sp182_move_string def_special sub_811390C - def_special sub_80CC4D4 + def_special Special_GetMartClerkObjectId def_special Special_BattleCardAction def_special sub_8110AB4 def_special sub_8112364 @@ -415,7 +414,7 @@ gSpecials:: @ 815FD60 def_special IsNationalPokedexEnabled def_special sub_815D9E8 def_special sub_814B504 - def_special sub_80CC8CC + def_special Special_ItemIsTM_GetMoveName def_special Special_DaisyMassageServices def_special HelpSystem_Disable def_special HelpSystem_Enable @@ -426,31 +425,31 @@ gSpecials:: @ 815FD60 def_special sub_815EEB0 def_special sub_815EF5C def_special sub_815F070 - def_special sub_80CC974 + def_special Special_PokemonLeagueLightingEffect def_special sub_814EA7C - def_special sub_80CCB94 - def_special sub_80CCCF8 + def_special Special_CapeBrinkGetMoveToTeachLeadPokemon + def_special Special_HasLearnedAllMovesFromCapeBrinkTutor def_special Special_Credits def_special sub_8153810 def_special sub_809D764 def_special sub_809D8C0 def_special sub_8147500 def_special GetPlayerFacingDirection - def_special sub_80CCDFC - def_special sub_80CD008 + def_special Special_DeoxysSound + def_special Special_SetDeoxysTriangleObjectPal def_special sub_8147594 - def_special sub_80CD034 + def_special Special_BadEggInParty def_special sub_815D834 def_special HasAllMons - def_special sub_80CD074 - def_special sub_80CD098 + def_special Special_PlayerIsNotInTrainerTowerLobby + def_special Special_BrailleCursorToggle def_special sub_811B15C - def_special sub_80CD0F4 + def_special Special_PlayerPartyContainsSpeciesWithPlayerID def_special sub_809C4A8 def_special sub_81537C0 def_special sub_809C5FC - def_special sub_80CB328 + def_special Special_InitElevatorFloorSelectMenuPos def_special Special_ComputeLoreleiDollCollection - def_special sub_80CD1B4 + def_special Special_LoopWingFlapSound def_special CreateObedientEnemyMon gSpecialsEnd:: diff --git a/data/strings.s b/data/strings.s index 1d086f4c8..546f40899 100644 --- a/data/strings.s +++ b/data/strings.s @@ -1394,7 +1394,7 @@ gUnknown_8417920:: @ 0x8417920 gUnknown_8417926:: @ 0x8417926 .string "OK$" -gUnknown_8417929:: @ 0x8417929 +gOtherText_Quit:: @ 0x8417929 .string "QUIT$" gUnknown_841792E:: @ 0x841792E diff --git a/include/battle_tower.h b/include/battle_tower.h index 78e3f8e43..4c3c23e48 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -4,9 +4,10 @@ #include "global.h" u16 sub_8164FCC(u8, u8); -void sub_80E7524(u32 *); +void sub_80E7524(struct BattleTowerEReaderTrainer *); void ValidateEReaderTrainer(void); u8 GetBattleTowerTrainerFrontSpriteId(void); u8 GetEreaderTrainerFrontSpriteId(void); +void CopyEReaderTrainerName5(u8 *dest); #endif //GUARD_BATTLE_TOWER_H diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h index 62ab5af0c..8a5e11fcf 100644 --- a/include/constants/field_effects.h +++ b/include/constants/field_effects.h @@ -67,6 +67,7 @@ #define FLDEFF_USE_TELEPORT 63 #define FLDEFF_UNK_40 64 #define FLDEFF_UNK_41 65 // TODO: related to vs_seeker +#define FLDEFF_UNK_43 67 // TODO: related to deoxys #define FLDEFF_UNK_45 69 // TODO: related to fame checker photos #endif // GUARD_CONSTANTS_FIELD_EFFECTS_H diff --git a/include/constants/flags.h b/include/constants/flags.h index 994221afd..082e12f87 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -748,10 +748,10 @@ #define FLAG_NO_ROOM_FOR_TOGEPI_EGG 0x2DB #define FLAG_RECOVERED_SAPPHIRE 0x2DC #define FLAG_GOT_RUBY 0x2DD -#define FLAG_0x2DE 0x2DE -#define FLAG_0x2DF 0x2DF -#define FLAG_0x2E0 0x2E0 -#define FLAG_LEARNED_MOVE_AT_CAPE_BRINK 0x2E1 +#define FLAG_TUTOR_FRENZY_PLANT 0x2DE +#define FLAG_TUTOR_BLAST_BURN 0x2DF +#define FLAG_TUTOR_HYDRO_CANNON 0x2E0 +#define FLAG_LEARNED_ALL_MOVES_AT_CAPE_BRINK 0x2E1 #define FLAG_GOT_NUGGET_FROM_DUNSPARCE_TUNNEL 0x2E2 #define FLAG_USED_CUT_ON_RUIN_VALLEY_BRAILLE 0x2E3 #define FLAG_FOUGHT_DEOXYS 0x2E4 @@ -1325,6 +1325,7 @@ #define FLAG_SYS_STRENGTH_ACTIVE (SYS_FLAGS + 0x5) #define FLAG_SYS_FLASH_ACTIVE (SYS_FLAGS + 0x6) #define FLAG_SYS_SPECIAL_WILD_BATTLE (SYS_FLAGS + 0x7) +#define FLAG_0x808 (SYS_FLAGS + 0x8) #define PERMA_SYS_FLAGS_START 0x820 #define FLAG_BADGE01_GET (SYS_FLAGS + 0x20) @@ -1422,7 +1423,7 @@ #define FLAG_WORLD_MAP_SIX_ISLAND_ALTERING_CAVE (SYS_FLAGS + 0xBE) #define FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER (SYS_FLAGS + 0xBF) #define FLAG_WORLD_MAP_THREE_ISLAND_DUNSPARCE_TUNNEL (SYS_FLAGS + 0xC0) -#define FLAG_WORLD_MAP_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY (SYS_FLAGS + 0xC1) +#define FLAG_WORLD_MAP_SEVEN_ISLAND_SEVAULT_CANYON_TANOBY_KEY (SYS_FLAGS + 0xC1) #define FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR (SYS_FLAGS + 0xC2) #define FLAG_0x8D5 (SYS_FLAGS + 0xD5) diff --git a/include/constants/layouts.h b/include/constants/layouts.h index 3d17cd441..24cdcec13 100644 --- a/include/constants/layouts.h +++ b/include/constants/layouts.h @@ -323,7 +323,7 @@ #define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS_DILFORD_CHAMBER 338 #define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS_SCUFIB_CHAMBER 339 #define LAYOUT_SIX_ISLAND_ALTERING_CAVE 340 -#define LAYOUT_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY 341 +#define LAYOUT_SEVEN_ISLAND_SEVAULT_CANYON_TANOBY_KEY 341 #define LAYOUT_BIRTH_ISLAND_EXTERIOR 342 #define LAYOUT_NAVEL_ROCK_EXTERIOR 343 #define LAYOUT_NAVEL_ROCK_1F 344 diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h index 44fa03eda..13862d6c7 100644 --- a/include/constants/map_groups.h +++ b/include/constants/map_groups.h @@ -169,7 +169,7 @@ #define MAP_SEVEN_ISLAND_TANOBY_RUINS_RIXY_CHAMBER (32 | (2 << 8)) #define MAP_SEVEN_ISLAND_TANOBY_RUINS_VIAPOIS_CHAMBER (33 | (2 << 8)) #define MAP_THREE_ISLAND_DUNSPARCE_TUNNEL (34 | (2 << 8)) -#define MAP_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY (35 | (2 << 8)) +#define MAP_SEVEN_ISLAND_SEVAULT_CANYON_TANOBY_KEY (35 | (2 << 8)) #define MAP_NAVEL_ROCK_1F (36 | (2 << 8)) #define MAP_NAVEL_ROCK_SUMMIT (37 | (2 << 8)) #define MAP_NAVEL_ROCK_BASE (38 | (2 << 8)) diff --git a/include/constants/vars.h b/include/constants/vars.h index 59dbf8ebb..3f171ede8 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -78,50 +78,50 @@ // with the species sanity bit set. // Bits 12-15 are the same for the player's party. // Used by Quest Log. -#define VAR_QUEST_LOG_MON_COUNTS 0x4027 -#define VAR_MENEWS_JISAN_STEP_COUNTER 0x4028 -#define VAR_0x4029 0x4029 -#define VAR_HAPPINESS_STEP_COUNTER 0x402A -#define VAR_POISON_STEP_COUNTER 0x402B -#define VAR_RESET_RTC_ENABLE 0x402C -#define VAR_0x402D 0x402D -#define VAR_0x402E 0x402E +#define VAR_QUEST_LOG_MON_COUNTS 0x4027 +#define VAR_MENEWS_JISAN_STEP_COUNTER 0x4028 +#define VAR_0x4029 0x4029 +#define VAR_HAPPINESS_STEP_COUNTER 0x402A +#define VAR_POISON_STEP_COUNTER 0x402B +#define VAR_RESET_RTC_ENABLE 0x402C +#define VAR_0x402D 0x402D +#define VAR_0x402E 0x402E -#define VAR_0x402F 0x402F +#define VAR_0x402F 0x402F -#define VAR_0x4030 0x4030 -#define VAR_STARTER_MON 0x4031 -#define VAR_0x4032 0x4032 -#define VAR_ENIGMA_BERRY_AVAILABLE 0x4033 +#define VAR_0x4030 0x4030 +#define VAR_STARTER_MON 0x4031 +#define VAR_0x4032 0x4032 +#define VAR_ENIGMA_BERRY_AVAILABLE 0x4033 -#define VAR_0x4034 0x4034 -#define VAR_0x4035 0x4035 -#define VAR_STORAGE_UNKNOWN 0x4036 -#define VAR_0x4037 0x4037 -#define VAR_0x4038 0x4038 -#define VAR_0x4039 0x4039 -#define VAR_ELEVATOR_FLOOR 0x403A -#define VAR_0x403B 0x403B -#define VAR_0x403C 0x403C -#define VAR_0x403D 0x403D -#define VAR_DEOXYS_INTERACTION_NUM 0x403E -#define VAR_0x403F 0x403F -#define VAR_DAYS 0x4040 -#define VAR_0x4041 0x4041 -#define VAR_0x4042 0x4042 -#define VAR_DEPT_STORE_FLOOR 0x4043 -#define VAR_0x4044 0x4044 -#define VAR_POKELOT_PRIZE 0x4045 -#define VAR_NATIONAL_DEX 0x4046 -#define VAR_SEEDOT_SIZE_RECORD 0x4047 -#define VAR_ASH_GATHER_COUNT 0x4048 -#define VAR_HOF_BRAG_STATE 0x4049 -#define VAR_EGG_BRAG_STATE 0x404A -#define VAR_LINK_WIN_BRAG_STATE 0x404B -#define VAR_POKELOT_RND2 0x404C -#define VAR_0x404D 0x404D -#define VAR_0x404E 0x404E -#define VAR_LOTAD_SIZE_RECORD 0x404F +#define VAR_0x4034 0x4034 +#define VAR_RESORT_GOREGEOUS_STEP_COUNTER 0x4035 +#define VAR_RESORT_GORGEOUS_REQUESTED_MON 0x4036 +#define VAR_0x4037 0x4037 +#define VAR_0x4038 0x4038 +#define VAR_0x4039 0x4039 +#define VAR_ELEVATOR_FLOOR 0x403A +#define VAR_RESORT_GORGEOUS_REWARD 0x403B +#define VAR_0x403C 0x403C +#define VAR_HERACROSS_SIZE_RECORD 0x403D +#define VAR_DEOXYS_INTERACTION_NUM 0x403E +#define VAR_0x403F 0x403F +#define VAR_MAGIKARP_SIZE_RECORD 0x4040 +#define VAR_0x4041 0x4041 +#define VAR_TRAINER_CARD_MON_ICON_TINT_IDX 0x4042 +#define VAR_TRAINER_CARD_MON_ICON_1 0x4043 +#define VAR_TRAINER_CARD_MON_ICON_2 0x4044 +#define VAR_TRAINER_CARD_MON_ICON_3 0x4045 +#define VAR_TRAINER_CARD_MON_ICON_4 0x4046 +#define VAR_TRAINER_CARD_MON_ICON_5 0x4047 +#define VAR_TRAINER_CARD_MON_ICON_6 0x4048 +#define VAR_HOF_BRAG_STATE 0x4049 +#define VAR_EGG_BRAG_STATE 0x404A +#define VAR_LINK_WIN_BRAG_STATE 0x404B +#define VAR_POKELOT_RND2 0x404C +#define VAR_0x404D 0x404D +#define VAR_0x404E 0x404E +#define VAR_LOTAD_SIZE_RECORD 0x404F // Map Scene #define VAR_MAP_SCENE_PALLET_TOWN_OAK 0x4050 diff --git a/include/field_camera.h b/include/field_camera.h index d67523c8f..d2165780a 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -27,5 +27,8 @@ extern u16 gUnknown_03005DE8; void DrawWholeMapView(void); void CurrentMapDrawMetatileAt(int x, int y); void sub_805A658(s16 *x, s16 *y); +void SetCameraPanningCallback(void (*cb)(void)); +void SetCameraPanning(s16 x, s16 y); +void InstallCameraPanAheadCallback(void); #endif //GUARD_FIELD_CAMERA_H diff --git a/include/field_effect.h b/include/field_effect.h index fa66929ea..70398313b 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -20,5 +20,6 @@ void sub_8084454(void); void sub_8084784(u8 a0, u8 a1); void sub_8084F2C(u8 a0); void sub_80853CC(u8 a0); +void sub_8083598(u8 a0); #endif //GUARD_FIELD_EFFECTS_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index baed87ac6..40d7ed933 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -94,6 +94,7 @@ void npc_paltag_set_load(u8 mode); bool8 FieldObjectIsMovementOverridden(struct MapObject *mapObject); u8 FieldObjectCheckHeldMovementStatus(struct MapObject *mapObject); u8 sub_8063F84(u8 direction); +void CameraObjectSetFollowedObjectId(u8 spriteId); // Exported data declarations diff --git a/include/field_specials.h b/include/field_specials.h index 2abe168e0..c435bdaee 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -12,17 +12,18 @@ enum HiddenItemAttr }; u8 GetLeadMonIndex(void); -u8 CountDigits(u16 number); +s32 CountDigits(s32 number); void TV_PrintIntToStringVar(u8, int); u16 ScrSpecial_GetStarter(void); -void sub_80CCB68(void); +void StopPokemonLeagueLightingEffectTask(void); void nullsub_60(void); void nullsub_61(void); u8 ContextNpcGetTextColor(void); void set_unknown_box_id(u8); u16 get_unknown_box_id(void); bool8 sub_80CC7B4(void); -u16 GetHiddenItemAttr(struct HiddenItemStruct hiddenItem, u8 attr); +u16 GetHiddenItemAttr(u32 hiddenItem, u8 attr); u8 GetUnlockedSeviiAreas(void); +u32 GetPlayerTrainerId(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/fieldmap.h b/include/fieldmap.h index dde05b7ed..c3709c616 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -25,6 +25,7 @@ bool32 CanCameraMoveInDirection(s32); u32 GetBehaviorByMetatileIdAndMapData(struct MapData *mapData, u16 metatile, u8 attr); const struct MapHeader * mapconnection_get_mapheader(struct MapConnection * connection); struct MapConnection * GetMapConnectionAtPos(s16 x, s16 y); +void sub_8059948(u8 a0, u8 a1); void save_serialize_map(void); diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index bf142d265..a4358081d 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -134,7 +134,8 @@ union BgUnion u8 *script; // hidden item type probably - struct HiddenItemStruct hiddenItem; + struct HiddenItemStruct hiddenItemStr; + u32 hiddenItem; // secret base type u32 secretBaseId; diff --git a/include/global.h b/include/global.h index 57035ce30..5c4501be3 100644 --- a/include/global.h +++ b/include/global.h @@ -194,6 +194,11 @@ struct LinkBattleRecords u8 languages[LINK_B_RECORDS_COUNT]; }; +#include "constants/game_stat.h" +#include "global.fieldmap.h" +#include "global.berry.h" +#include "pokemon.h" + struct UnknownSaveBlock2Struct { u8 field_0; @@ -214,6 +219,20 @@ struct UnknownSaveBlock2Struct u8 field_EB; }; // sizeof = 0xEC +struct BattleTowerEReaderTrainer +{ + /*0x4A0 0x3F0 0x00*/ u8 unk0; + /*0x4A1 0x3F1 0x01*/ u8 facilityClass; + /*0x4A2 0x3F2 0x02*/ u16 winStreak; + /*0x4A4 0x3F4 0x04*/ u8 name[8]; + /*0x4AC 0x3FC 0x0C*/ u8 trainerId[4]; + /*0x4B0 0x400 0x10*/ u16 greeting[6]; + /*0x4BC 0x40C 0x1C*/ u16 farewellPlayerLost[6]; + /*0x4C8 0x418 0x28*/ u16 farewellPlayerWon[6]; + /*0x4D4 0x424 0x34*/ struct BattleTowerPokemon party[3]; + /*0x558 0x4A8 0xB8*/ u32 checksum; +}; + struct UnkSaveBlock2Substruct_55C { /* 0x000:0x55C */ u8 unk_00_0:1; @@ -232,7 +251,7 @@ struct UnkSaveBlock2Substruct_55C struct UnkSaveBlock2Substruct_B0 { /* 0x000:0x0B0 */ u8 field_0[0x3F0]; - /* 0x3F0:0x4A0 */ u32 field_3F0[0x2F]; + /* 0x3F0:0x4A0 */ struct BattleTowerEReaderTrainer field_3F0; /* 0x4AC:0x55C */ struct UnkSaveBlock2Substruct_55C field_4AC; /* 0x4C4:0x574 */ u8 field_4C4[0x324]; }; // size: 0x7E8 @@ -261,7 +280,6 @@ struct SaveBlock2 /*0x0A8*/ u32 field_A8; /*0x0AC*/ u8 field_AC; /*0x0AD*/ u8 field_AD; - /*0x0AE*/ u8 filler_AE[0x2]; /*0x0B0*/ struct UnkSaveBlock2Substruct_B0 unk_B0; /*0x898*/ u16 mapView[0x100]; /*0xA98*/ struct LinkBattleRecords linkBattleRecords; @@ -304,11 +322,6 @@ struct SecretBaseRecord /*0x1AD0*/ struct SecretBaseParty party; }; -#include "constants/game_stat.h" -#include "global.fieldmap.h" -#include "global.berry.h" -#include "pokemon.h" - struct WarpData { s8 mapGroup; diff --git a/include/mevent.h b/include/mevent.h index 08ee8c038..98d184f60 100644 --- a/include/mevent.h +++ b/include/mevent.h @@ -67,5 +67,6 @@ bool32 WonderNews_Test_Unk_02(void); bool32 WonderCard_Test_Unk_08_6(void); u32 MENews_GetInput(u16 input); void sub_8143D24(void); +u16 sub_81445C0(u32 command); #endif //GUARD_MEVENT_H diff --git a/include/overworld.h b/include/overworld.h index 65e3fe723..a5e975d1d 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -35,6 +35,7 @@ extern struct UCoords32 gDirectionToVectors[]; extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; extern MainCallback gFieldCallback; +extern struct WarpData gUnknown_2031DB4; extern struct WarpData gUnknown_2031DBC; extern u8 gUnknown_2031DE0; diff --git a/include/pokemon.h b/include/pokemon.h index c5ee4eda5..77c8191f3 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -346,7 +346,7 @@ struct BattleTowerPokemon u32 gap:1; u32 abilityNum:1; /*0x1C*/ u32 personality; - /*0x20*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; + /*0x20*/ u8 nickname[11]; /*0x2B*/ u8 friendship; }; diff --git a/include/script_menu.h b/include/script_menu.h index c1e32beae..d3d04c65d 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -15,5 +15,6 @@ void ScriptMenu_DisplayPCStartupPrompt(void); bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void); void sub_809D6D4(void); +void sub_809D424(void); #endif //GUARD_SCRIPT_MENU_H diff --git a/include/strings.h b/include/strings.h index 8f3da98cf..ee7536d9b 100644 --- a/include/strings.h +++ b/include/strings.h @@ -475,4 +475,50 @@ extern const u8 gSaveStatName_Time[]; // mail extern const u8 gText_From[]; +// field_specials +extern const u8 gUnknown_8417FBB[]; +extern const u8 gUnknown_8417FC3[]; +extern const u8 gUnknown_8417FD0[]; +extern const u8 gUnknown_8417FCC[]; +extern const u8 gUnknown_8418075[]; +extern const u8 gUnknown_8418069[]; +extern const u8 gUnknown_8418065[]; +extern const u8 gUnknown_8418061[]; +extern const u8 gUnknown_841805D[]; +extern const u8 gUnknown_841803A[]; +extern const u8 gUnknown_841803D[]; +extern const u8 gUnknown_8418040[]; +extern const u8 gUnknown_8418043[]; +extern const u8 gUnknown_8418046[]; +extern const u8 gUnknown_8418049[]; +extern const u8 gUnknown_841804C[]; +extern const u8 gUnknown_841804F[]; +extern const u8 gUnknown_8418052[]; +extern const u8 gUnknown_8418055[]; +extern const u8 gUnknown_8418059[]; +extern const u8 gUnknown_841806D[]; +extern const u8 gUnknown_8417FD9[]; +extern const u8 gUnknown_8417FE6[]; +extern const u8 gUnknown_8417FF3[]; +extern const u8 gUnknown_8418000[]; +extern const u8 gUnknown_841800D[]; +extern const u8 gUnknown_8418017[]; +extern const u8 gUnknown_8418022[]; +extern const u8 gUnknown_841802F[]; +extern const u8 gUnknown_841807D[]; +extern const u8 gUnknown_841808E[]; +extern const u8 gUnknown_841809C[]; +extern const u8 gOtherText_Quit[]; +extern const u8 gUnknown_84180A7[]; +extern const u8 gUnknown_84180BC[]; +extern const u8 gUnknown_84180D0[]; +extern const u8 gUnknown_84180E4[]; +extern const u8 gUnknown_84180FA[]; +extern const u8 gUnknown_841810D[]; +extern const u8 gUnknown_841811D[]; +extern const u8 gUnknown_841812F[]; +extern const u8 gUnknown_8418142[]; +extern const u8 gUnknown_8418152[]; +extern const u8 gUnknown_8418163[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index 341b1b103..6f0b839cb 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -187,7 +187,7 @@ SECTIONS { asm/post_battle_event_funcs.o(.text); src/prof_pc.o(.text); src/hof_pc.o(.text); - asm/field_specials.o(.text); + src/field_specials.o(.text); src/battle_records.o(.text); asm/evolution_scene.o(.text); src/coins.o(.text); @@ -445,6 +445,7 @@ SECTIONS { data/data_835B488.o(.rodata.83EEC98); src/battle_ai_script_commands.o(.rodata); data/data_83F5738.o(.rodata); + src/field_specials.o(.rodata); src/battle_records.o(.rodata); data/data_83F5738.o(.rodata.83F6C90); src/battle_transition.o(.rodata); diff --git a/src/daycare.c b/src/daycare.c index fede86156..ca9eb14f7 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1739,7 +1739,7 @@ static bool8 sub_8046E34(struct DayCare *daycare, u8 daycareId) return FALSE; } -bool8 sub_8046EAC(void) +bool8 DaycareMonReceivedMail(void) { return sub_8046E34(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004); } diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 6a539b60e..de9f09ff0 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -639,7 +639,7 @@ static void sub_807E5EC(u8 taskId) } } -void sub_807E654(void) +void DoCableClubWarp(void) { ScriptContext2_Enable(); sub_8055F88(); diff --git a/src/field_specials.c b/src/field_specials.c new file mode 100644 index 000000000..867df4b94 --- /dev/null +++ b/src/field_specials.c @@ -0,0 +1,2506 @@ +#include "global.h" +#include "malloc.h" +#include "palette.h" +#include "quest_log.h" +#include "list_menu.h" +#include "diploma.h" +#include "script.h" +#include "field_player_avatar.h" +#include "overworld.h" +#include "field_message_box.h" +#include "event_data.h" +#include "string_util.h" +#include "strings.h" +#include "battle.h" +#include "fieldmap.h" +#include "field_specials.h" +#include "region_map.h" +#include "task.h" +#include "battle_tower.h" +#include "field_camera.h" +#include "field_effect.h" +#include "field_map_obj.h" +#include "menu_indicators.h" +#include "random.h" +#include "mail_data.h" +#include "help_system.h" +#include "sound.h" +#include "text.h" +#include "pokemon_storage_system.h" +#include "script_menu.h" +#include "data.h" +#include "pokedex.h" +#include "window.h" +#include "text_window.h" +#include "menu.h" +#include "mevent.h" +#include "naming_screen.h" +#include "party_menu.h" +#include "dynamic_placeholder_text_util.h" +#include "new_menu_helpers.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "constants/items.h" +#include "constants/map_objects.h" +#include "constants/maps.h" +#include "constants/region_map.h" +#include "constants/moves.h" + +static EWRAM_DATA u8 sElevatorCurrentFloorWindowId = 0; +static EWRAM_DATA u16 sElevatorScroll = 0; +static EWRAM_DATA u16 sElevatorCursorPos = 0; +static EWRAM_DATA struct ListMenuItem * sListMenuItems = NULL; +static EWRAM_DATA u16 sListMenuLastScrollPosition = 0; +static EWRAM_DATA u8 sUnknownBoxId = 0; +static EWRAM_DATA u8 sBrailleTextCursorSpriteID = 0; + +struct ListMenuTemplate sFieldSpecialsListMenuTemplate; +u16 sFieldSpecialsListMenuScrollBuffer; + +static void Task_AnimatePcTurnOn(u8 taskId); +static void PcTurnOnUpdateMetatileId(bool16 flag); +static void Task_ShakeScreen(u8 taskId); +static void Task_EndScreenShake(u8 taskId); +static u16 SampleResortGorgeousMon(void); +static u16 SampleResortGorgeousReward(void); +static void Task_ElevatorShake(u8 taskId); +static void AnimateElevatorWindowView(u16 nfloors, bool8 direction); +static void Task_AnimateElevatorWindowView(u8 taskId); +static void Task_CreateScriptListMenu(u8 taskId); +static void CreateScriptListMenu(void); +static void ScriptListMenuMoveCursorFunction(s32 nothing, bool8 is, struct ListMenu * used); +static void Task_ListMenuHandleInput(u8 taskId); +static void Task_DestroyListMenu(u8 taskId); +static void Task_SuspendListMenu(u8 taskId); +static void Task_RedrawScrollArrowsAndWaitInput(u8 taskId); +static void Task_CreateMenuRemoveScrollIndicatorArrowPair(u8 taskId); +static void Task_ListMenuRemoveScrollIndicatorArrowPair(u8 taskId); +static u16 GetStarterPokemon(u16 starterIdx); +static void ChangeBoxPokemonNickname_CB(void); +static void ChangePokemonNickname_CB(void); +static void Task_RunPokemonLeagueLightingEffect(u8 taskId); +static void Task_CancelPokemonLeagueLightingEffect(u8 taskId); +static void task_deoxys_sound(u8 taskId); +static void MoveDeoxysObject(u8 num); +static void Task_WaitDeoxysFieldEffect(u8 taskId); +static void Task_WingFlapSound(u8 taskId); + +static u8 *const sStringVarPtrs[] = { + gStringVar1, + gStringVar2, + gStringVar3 +}; + +void Special_ShowDiploma(void) +{ + sub_8112364(); + SetMainCallback2(CB2_ShowDiploma); + ScriptContext2_Enable(); +} + +void Special_ForcePlayerOntoBike(void) +{ + if (gPlayerAvatar.flags & 1) + SetPlayerAvatarTransitionFlags(2); + Overworld_SetSavedMusic(MUS_CYCLING); + Overworld_ChangeMusicTo(MUS_CYCLING); +} + +void nullsub_74(void) +{ + +} + +u8 Special_GetPlayerAvatarBike(void) +{ + if (TestPlayerAvatarFlags(4)) + return 1; + else if (TestPlayerAvatarFlags(2)) + return 2; + else + return 0; +} + +void Special_ShowStringVar4AsFieldMessage(void) +{ + ShowFieldMessage(gStringVar4); +} + +void Special_GetPlayerXY(void) +{ + gSpecialVar_0x8004 = gSaveBlock1Ptr->pos.x; + gSpecialVar_0x8005 = gSaveBlock1Ptr->pos.y; +} + +u8 Special_GetPlayerTrainerIdOnesDigit(void) +{ + u16 playerId = (gSaveBlock2Ptr->playerTrainerId[1] << 8) | gSaveBlock2Ptr->playerTrainerId[0]; + return playerId % 10; +} + +void Special_BufferBigGuyOrBigGirlString(void) +{ + if (gSaveBlock2Ptr->playerGender == MALE) + StringCopy(gStringVar1, gUnknown_8417FBB); + else + StringCopy(gStringVar1, gUnknown_8417FC3); +} + +void Special_BufferSonOrDaughterString(void) +{ + if (gSaveBlock2Ptr->playerGender == MALE) + StringCopy(gStringVar1, gUnknown_8417FD0); + else + StringCopy(gStringVar1, gUnknown_8417FCC); +} + +u8 Special_GetBattleOutcome(void) +{ + return gBattleOutcome; +} + +void Special_SetHiddenItemFlag(void) +{ + FlagSet(gSpecialVar_0x8004); +} + +u8 Special_GetLeadMonFriendship(void) +{ + struct Pokemon * pokemon = &gPlayerParty[GetLeadMonIndex()]; + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) == 255) + return 6; + else if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 200) + return 5; + else if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 150) + return 4; + else if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 100) + return 3; + else if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 50) + return 2; + else if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) > 0) + return 1; + else + return 0; +} + +void Special_TownMap(void) +{ + sub_8112364(); + sub_80BFF50(1, CB2_ReturnToFieldContinueScriptPlayMapMusic); +} + +bool8 Special_PlayerHasGrassPokemonInParty(void) +{ + u8 i; + struct Pokemon * pokemon; + u16 species; + + for (i = 0; i < PARTY_SIZE; i++) + { + pokemon = &gPlayerParty[i]; + if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) + && !GetMonData(pokemon, MON_DATA_IS_EGG) + ) + { + species = GetMonData(pokemon, MON_DATA_SPECIES); + if (gBaseStats[species].type1 == TYPE_GRASS || gBaseStats[species].type2 == TYPE_GRASS) + return TRUE; + } + } + return FALSE; +} + +void Special_AnimatePcTurnOn(void) +{ + u8 taskId; + + if (FuncIsActiveTask(Task_AnimatePcTurnOn) != TRUE) + { + taskId = CreateTask(Task_AnimatePcTurnOn, 8); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + } +} + +static void Task_AnimatePcTurnOn(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (data[1] == 6) + { + PcTurnOnUpdateMetatileId(data[0] & 1); + DrawWholeMapView(); + data[1] = 0; + data[0]++; + if (data[0] == 5) + DestroyTask(taskId); + } + data[1]++; +} + +static void PcTurnOnUpdateMetatileId(bool16 a0) +{ + u16 metatileId = 0; + s8 deltaX = 0; + s8 deltaY = 0; + u8 direction = GetPlayerFacingDirection(); + + switch (direction) + { + case DIR_NORTH: + deltaX = 0; + deltaY = -1; + break; + case DIR_WEST: + deltaX = -1; + deltaY = -1; + break; + case DIR_EAST: + deltaX = 1; + deltaY = -1; + break; + } + if (a0) + { + if (gSpecialVar_0x8004 == 0) + metatileId = 0x62; + else if (gSpecialVar_0x8004 == 1) + metatileId = 0x28F; + else if (gSpecialVar_0x8004 == 2) + metatileId = 0x28F; + } + else + { + if (gSpecialVar_0x8004 == 0) + metatileId = 0x63; + else if (gSpecialVar_0x8004 == 1) + metatileId = 0x28A; + else if (gSpecialVar_0x8004 == 2) + metatileId = 0x28A; + } + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + deltaX + 7, gSaveBlock1Ptr->pos.y + deltaY + 7, metatileId | 0xC00); +} + +void Special_AnimatePcTurnOff() +{ + u16 metatileId = 0; + s8 deltaX = 0; + s8 deltaY = 0; + u8 direction = GetPlayerFacingDirection(); + + switch (direction) + { + case DIR_NORTH: + deltaX = 0; + deltaY = -1; + break; + case DIR_WEST: + deltaX = -1; + deltaY = -1; + break; + case DIR_EAST: + deltaX = 1; + deltaY = -1; + break; + } + if (gSpecialVar_0x8004 == 0) + metatileId = 0x62; + else if (gSpecialVar_0x8004 == 1) + metatileId = 0x28F; + else if (gSpecialVar_0x8004 == 2) + metatileId = 0x28F; + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + deltaX + 7, gSaveBlock1Ptr->pos.y + deltaY + 7, metatileId | 0xC00); + DrawWholeMapView(); +} + +void SpawnCameraObject(void) +{ + u8 mapObjectId = SpawnSpecialFieldObjectParameterized(MAP_OBJ_GFX_YOUNGSTER, 8, 127, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + gMapObjects[mapObjectId].mapobj_bit_13 = TRUE; + CameraObjectSetFollowedObjectId(gMapObjects[mapObjectId].spriteId); +} + +void RemoveCameraObject(void) +{ + CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId()); + RemoveFieldObjectByLocalIdAndMap(127, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); +} + +void Special_BufferEReaderTrainerName5(void) +{ + CopyEReaderTrainerName5(gStringVar1); +} + +static const u8 sUnused_83F5B04[] = { + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 12, + 2, + 4, + 5, + 1, + 8, + 7, + 11, + 3, + 10, + 9, + 6 +}; + +static const u8 sSlotMachineIndices[] = { + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 2, + 2, + 3, + 3, + 3, + 4, + 4, + 5 +}; + +u8 Special_GetRandomSlotMachine(void) +{ + u16 rval = Random() % NELEMS(sSlotMachineIndices); + return sSlotMachineIndices[rval]; +} + +bool8 LeadMonHasEffortRibbon(void) +{ + u8 leadMonIdx = GetLeadMonIndex(); + return GetMonData(&gPlayerParty[leadMonIdx], MON_DATA_EFFORT_RIBBON, NULL); +} + +void GiveLeadMonEffortRibbon(void) +{ + u8 leadMonIdx; + bool8 param; + IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS); + FlagSet(FLAG_SYS_RIBBON_GET); + param = TRUE; + leadMonIdx = GetLeadMonIndex(); + SetMonData(&gPlayerParty[leadMonIdx], MON_DATA_EFFORT_RIBBON, ¶m); +} + +bool8 ScrSpecial_AreLeadMonEVsMaxedOut(void) +{ + u8 leadMonIndex = GetLeadMonIndex(); + if (GetMonEVCount(&gPlayerParty[leadMonIndex]) >= 510) + return TRUE; + else + return FALSE; +} + +bool8 Special_IsStarterFirstStageInParty(void) +{ + u16 species = GetStarterPokemon(VarGet(VAR_STARTER_MON)); + u8 partyCount = CalculatePlayerPartyCount(); + u8 i; + for (i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) == species) + return TRUE; + } + return FALSE; +} + +bool8 Special_IsThereRoomInAnyBoxForMorePokemon(void) +{ + u16 i; + u16 j; + for (i = 0; i < TOTAL_BOXES_COUNT; i++) + { + for (j = 0; j < IN_BOX_COUNT; j++) + { + if (GetBoxMonDataFromAnyBox(i, j, MON_DATA_SPECIES) == SPECIES_NONE) + return TRUE; + } + } + return FALSE; +} + +bool8 Special_CheckPartyPokerus(void) +{ + if (!CheckPartyPokerus(gPlayerParty, 0x3F)) + return FALSE; + else + return TRUE; +} + +#define tXtrans data[0] +#define tTimer data[1] +#define tNremain data[2] +#define tDuration data[3] +#define tYtrans data[4] + +void Special_ShakeScreen(void) +{ + /* + * 0x8004 = x translation + * 0x8005 = y translation + * 0x8006 = num interations + * 0x8007 = duration of an iteration + */ + u8 taskId = CreateTask(Task_ShakeScreen, 9); + gTasks[taskId].tXtrans = gSpecialVar_0x8005; + gTasks[taskId].tTimer = 0; + gTasks[taskId].tNremain = gSpecialVar_0x8006; + gTasks[taskId].tDuration = gSpecialVar_0x8007; + gTasks[taskId].tYtrans = gSpecialVar_0x8004; + SetCameraPanningCallback(NULL); + PlaySE(SE_W070); +} + +static void Task_ShakeScreen(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + tTimer++; + if (tTimer % tDuration == 0) + { + tTimer = 0; + tNremain--; + tXtrans = -tXtrans; + tYtrans = -tYtrans; + SetCameraPanning(tXtrans, tYtrans); + if (tNremain == 0) + { + Task_EndScreenShake(taskId); + InstallCameraPanAheadCallback(); + } + } +} + +static void Task_EndScreenShake(u8 taskId) +{ + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +#undef tYtrans +#undef tDuration +#undef tNremain +#undef tTimer +#undef tXtrans + +u8 GetLeadMonIndex(void) +{ + u8 partyCount = CalculatePlayerPartyCount(); + u8 i; + struct Pokemon * pokemon; + for (i = 0; i < partyCount; i++) + { + pokemon = &gPlayerParty[i]; + if (GetMonData(pokemon, MON_DATA_SPECIES2, NULL) != SPECIES_EGG && GetMonData(pokemon, MON_DATA_SPECIES2, NULL) != SPECIES_NONE) + return i; + } + return 0; +} + +u16 Special_GetSpeciesOfPartySlot_x8004(void) +{ + return GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES2, NULL); +} + +bool8 Special_BufferMonOTNameAndCompareToPlayerName(void) +{ + GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_NAME, gStringVar1); + if (!StringCompare(gSaveBlock2Ptr->playerName, gStringVar1)) + return FALSE; + else + return TRUE; +} + +void nullsub_75(void) +{ + +} + +void sub_80CADC4(void) +{ + u8 t = EOS; + AddTextPrinterParameterized(0, 2, &t, 0, 1, 0, NULL); + sub_809D424(); +} + +void Special_SetVermilionTrashCans(void) +{ + u16 idx = (Random() % 15) + 1; + gSpecialVar_0x8004 = idx; + gSpecialVar_0x8005 = idx; + switch (gSpecialVar_0x8004) + { + case 1: + idx = Random() % 2; + if (idx == 0) + gSpecialVar_0x8005 += 1; + else + gSpecialVar_0x8005 += 5; + break; + case 2: + case 3: + case 4: + idx = Random() % 3; + if (idx == 0) + gSpecialVar_0x8005 += 1; + else if (idx == 1) + gSpecialVar_0x8005 += 5; + else + gSpecialVar_0x8005 -= 1; + break; + case 5: + idx = Random() % 2; + if (idx == 0) + gSpecialVar_0x8005 += 5; + else + gSpecialVar_0x8005 -= 1; + break; + case 6: + idx = Random() % 3; + if (idx == 0) + gSpecialVar_0x8005 -= 5; + else if (idx == 1) + gSpecialVar_0x8005 += 1; + else + gSpecialVar_0x8005 += 5; + break; + case 7: + case 8: + case 9: + idx = Random() % 4; + if (idx == 0) + gSpecialVar_0x8005 -= 5; + else if (idx == 1) + gSpecialVar_0x8005 += 1; + else if (idx == 2) + gSpecialVar_0x8005 += 5; + else + gSpecialVar_0x8005 -= 1; + break; + case 10: + idx = Random() % 3; + if (idx == 0) + gSpecialVar_0x8005 -= 5; + else if (idx == 1) + gSpecialVar_0x8005 += 5; + else + gSpecialVar_0x8005 -= 1; + break; + case 11: + idx = Random() % 2; + if (idx == 0) + gSpecialVar_0x8005 -= 5; + else + gSpecialVar_0x8005 += 1; + break; + case 12: + case 13: + case 14: + idx = Random() % 3; + if (idx == 0) + gSpecialVar_0x8005 -= 5; + else if (idx == 1) + gSpecialVar_0x8005 += 1; + else + gSpecialVar_0x8005 -= 1; + break; + case 15: + idx = Random() % 2; + if (idx == 0) + gSpecialVar_0x8005 -= 5; + else + gSpecialVar_0x8005 -= 1; + break; + } + if (gSpecialVar_0x8005 > 15) + { + if (gSpecialVar_0x8004 % 5 == 1) + gSpecialVar_0x8005 = gSpecialVar_0x8004 + 1; + else if (gSpecialVar_0x8004 % 5 == 0) + gSpecialVar_0x8005 = gSpecialVar_0x8004 - 1; + else + gSpecialVar_0x8005 = gSpecialVar_0x8004 + 1; + } +} + +static const u16 sResortGorgeousDeluxeRewards[] = { + ITEM_BIG_PEARL, + ITEM_PEARL, + ITEM_STARDUST, + ITEM_STAR_PIECE, + ITEM_NUGGET, + ITEM_RARE_CANDY +}; + +void IncrementResortGorgeousStepCounter(void) +{ + u16 var4035 = VarGet(VAR_RESORT_GOREGEOUS_STEP_COUNTER); + if (VarGet(VAR_RESORT_GORGEOUS_REQUESTED_MON) != SPECIES_NONE) + { + var4035++; + if (var4035 >= 250) + { + VarSet(VAR_RESORT_GORGEOUS_REQUESTED_MON, 0xFFFF); + VarSet(VAR_RESORT_GOREGEOUS_STEP_COUNTER, 0); + } + else + { + VarSet(VAR_RESORT_GOREGEOUS_STEP_COUNTER, var4035); + } + } +} + +void Special_SampleResortGorgeousMonAndReward(void) +{ + u16 var4036 = VarGet(VAR_RESORT_GORGEOUS_REQUESTED_MON); + if (var4036 == SPECIES_NONE || var4036 == 0xFFFF) + { + VarSet(VAR_RESORT_GORGEOUS_REQUESTED_MON, SampleResortGorgeousMon()); + VarSet(VAR_RESORT_GORGEOUS_REWARD, SampleResortGorgeousReward()); + VarSet(VAR_RESORT_GOREGEOUS_STEP_COUNTER, 0); + } + StringCopy(gStringVar1, gSpeciesNames[VarGet(VAR_RESORT_GORGEOUS_REQUESTED_MON)]); +} + +static u16 SampleResortGorgeousMon(void) +{ + u16 i; + u16 species; + for (i = 0; i < 100; i++) + { + species = (Random() % (NUM_SPECIES - 1)) + 1; + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 0) == TRUE) + return species; + } + while (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 0) != TRUE) + { + if (species == SPECIES_BULBASAUR) + species = NUM_SPECIES - 1; + else + species--; + } + return species; +} + +static u16 SampleResortGorgeousReward(void) +{ + if ((Random() % 100) >= 30) + return ITEM_LUXURY_BALL; + else + return sResortGorgeousDeluxeRewards[Random() % NELEMS(sResortGorgeousDeluxeRewards)]; +} + +bool8 Special_CheckAddCoins(void) +{ + if (gSpecialVar_Result + gSpecialVar_0x8006 > 9999) + return FALSE; + else + return TRUE; +} + +static const struct WindowTemplate sElevatorCurrentFloorWindowTemplate = { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 1, + .width = 7, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x008 +}; + +static const u8 *const sFloorNamePointers[] = { + gUnknown_8418069, + gUnknown_8418065, + gUnknown_8418061, + gUnknown_841805D, + gUnknown_841803A, + gUnknown_841803D, + gUnknown_8418040, + gUnknown_8418043, + gUnknown_8418046, + gUnknown_8418049, + gUnknown_841804C, + gUnknown_841804F, + gUnknown_8418052, + gUnknown_8418055, + gUnknown_8418059, + gUnknown_841806D +}; + +static const u8 sUnused_83F5B84[] = { + 26, + 26, + 26, + 26, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 26, + 26, + 18 +}; + +static const u16 sElevatorWindowMetatilesGoingUp[][3] = { + {0x2e8, 0x2e9, 0x2ea}, + {0x2f0, 0x2f1, 0x2f2}, + {0x2f8, 0x2f9, 0x2fa} +}; + +static const u16 sElevatorWindowMetatilesGoingDown[][3] = { + {0x2e8, 0x2ea, 0x2e9}, + {0x2f0, 0x2f2, 0x2f1}, + {0x2f8, 0x2fa, 0x2f9} +}; + +static const u8 sElevatorAnimationDuration[] = { + 8, + 16, + 24, + 32, + 38, + 46, + 53, + 56, + 57 +}; + +static const u8 sElevatorWindowAnimDuration[] = { + 3, + 6, + 9, + 12, + 15, + 18, + 21, + 24, + 27 +}; + +void Special_GetElevatorFloor(void) +{ + u16 floor = 4; + if (gSaveBlock1Ptr->warp2.mapGroup == MAP_GROUP(ROCKET_HIDEOUT_B1F)) + { + switch (gSaveBlock1Ptr->warp2.mapNum) + { + case MAP_NUM(SILPH_CO_1F): + floor = 4; + break; + case MAP_NUM(SILPH_CO_2F): + floor = 5; + break; + case MAP_NUM(SILPH_CO_3F): + floor = 6; + break; + case MAP_NUM(SILPH_CO_4F): + floor = 7; + break; + case MAP_NUM(SILPH_CO_5F): + floor = 8; + break; + case MAP_NUM(SILPH_CO_6F): + floor = 9; + break; + case MAP_NUM(SILPH_CO_7F): + floor = 10; + break; + case MAP_NUM(SILPH_CO_8F): + floor = 11; + break; + case MAP_NUM(SILPH_CO_9F): + floor = 12; + break; + case MAP_NUM(SILPH_CO_10F): + floor = 13; + break; + case MAP_NUM(SILPH_CO_11F): + floor = 14; + break; + case MAP_NUM(ROCKET_HIDEOUT_B1F): + floor = 3; + break; + case MAP_NUM(ROCKET_HIDEOUT_B2F): + floor = 2; + break; + case MAP_NUM(ROCKET_HIDEOUT_B4F): + floor = 0; + break; + } + } + if (gSaveBlock1Ptr->warp2.mapGroup == MAP_GROUP(CELADON_CITY_DEPARTMENT_STORE_1F)) + { + switch (gSaveBlock1Ptr->warp2.mapNum) + { + case MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_1F): + floor = 4; + break; + case MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_2F): + floor = 5; + break; + case MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_3F): + floor = 6; + break; + case MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_4F): + floor = 7; + break; + case MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_5F): + floor = 8; + break; + } + } + if (gSaveBlock1Ptr->warp2.mapGroup == MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER_1F)) + { + switch (gSaveBlock1Ptr->warp2.mapNum) + { + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_1F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_2F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_3F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_4F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_5F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_6F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_7F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_8F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_ROOF): + floor = 15; + break; + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_LOBBY): + floor = 3; + break; + } + } + VarSet(VAR_ELEVATOR_FLOOR, floor); +} + +u16 Special_InitElevatorFloorSelectMenuPos(void) +{ + sElevatorScroll = 0; + sElevatorCursorPos = 0; + + if (gSaveBlock1Ptr->warp2.mapGroup == MAP_GROUP(ROCKET_HIDEOUT_B1F)) + { + switch (gSaveBlock1Ptr->warp2.mapNum) + { + case MAP_NUM(SILPH_CO_11F): + sElevatorScroll = 0; + sElevatorCursorPos = 0; + break; + case MAP_NUM(SILPH_CO_10F): + sElevatorScroll = 0; + sElevatorCursorPos = 1; + break; + case MAP_NUM(SILPH_CO_9F): + sElevatorScroll = 0; + sElevatorCursorPos = 2; + break; + case MAP_NUM(SILPH_CO_8F): + sElevatorScroll = 0; + sElevatorCursorPos = 3; + break; + case MAP_NUM(SILPH_CO_7F): + sElevatorScroll = 0; + sElevatorCursorPos = 4; + break; + case MAP_NUM(SILPH_CO_6F): + sElevatorScroll = 1; + sElevatorCursorPos = 4; + break; + case MAP_NUM(SILPH_CO_5F): + sElevatorScroll = 2; + sElevatorCursorPos = 4; + break; + case MAP_NUM(SILPH_CO_4F): + sElevatorScroll = 3; + sElevatorCursorPos = 4; + break; + case MAP_NUM(SILPH_CO_3F): + sElevatorScroll = 4; + sElevatorCursorPos = 4; + break; + case MAP_NUM(SILPH_CO_2F): + sElevatorScroll = 5; + sElevatorCursorPos = 4; + break; + case MAP_NUM(SILPH_CO_1F): + sElevatorScroll = 5; + sElevatorCursorPos = 5; + break; + case MAP_NUM(ROCKET_HIDEOUT_B1F): + sElevatorScroll = 0; + sElevatorCursorPos = 0; + break; + case MAP_NUM(ROCKET_HIDEOUT_B2F): + sElevatorScroll = 0; + sElevatorCursorPos = 1; + break; + case MAP_NUM(ROCKET_HIDEOUT_B4F): + sElevatorScroll = 0; + sElevatorCursorPos = 2; + break; + } + } + if (gSaveBlock1Ptr->warp2.mapGroup == MAP_GROUP(CELADON_CITY_DEPARTMENT_STORE_1F)) + { + switch (gSaveBlock1Ptr->warp2.mapNum) + { + case MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_5F): + sElevatorScroll = 0; + sElevatorCursorPos = 0; + break; + case MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_4F): + sElevatorScroll = 0; + sElevatorCursorPos = 1; + break; + case MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_3F): + sElevatorScroll = 0; + sElevatorCursorPos = 2; + break; + case MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_2F): + sElevatorScroll = 0; + sElevatorCursorPos = 3; + break; + case MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_1F): + sElevatorScroll = 0; + sElevatorCursorPos = 4; + break; + } + } + if (gSaveBlock1Ptr->warp2.mapGroup == MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER_1F)) + { + switch (gSaveBlock1Ptr->warp2.mapNum) + { + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_1F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_2F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_3F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_4F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_5F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_6F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_7F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_8F): + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_ROOF): + sElevatorScroll = 0; + sElevatorCursorPos = 0; + break; + case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_LOBBY): + sElevatorScroll = 0; + sElevatorCursorPos = 1; + break; + } + } + return sElevatorCursorPos; +} + +void Special_AnimateElevator(void) +{ + u16 nfloors; + s16 *data = gTasks[CreateTask(Task_ElevatorShake, 9)].data; + data[1] = 0; + data[2] = 0; + data[4] = 1; + if (gSpecialVar_0x8005 > gSpecialVar_0x8006) + { + nfloors = gSpecialVar_0x8005 - gSpecialVar_0x8006; + data[6] = 1; + } + else + { + nfloors = gSpecialVar_0x8006 - gSpecialVar_0x8005; + data[6] = 0; + } + if (nfloors > 8) + nfloors = 8; + data[5] = sElevatorAnimationDuration[nfloors]; + SetCameraPanningCallback(NULL); + AnimateElevatorWindowView(nfloors, data[6]); + PlaySE(SE_ELEBETA); +} + +static void Task_ElevatorShake(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 Special_DrawElevatorCurrentFloorWindow(void) +{ + const u8 *floorname; + u32 strwidth; + if (sub_81119D4(sub_809D6D4) != TRUE) + { + sElevatorCurrentFloorWindowId = AddWindow(&sElevatorCurrentFloorWindowTemplate); + TextWindow_SetStdFrame0_WithPal(sElevatorCurrentFloorWindowId, 0x21D, 0xD0); + DrawStdFrameWithCustomTileAndPalette(sElevatorCurrentFloorWindowId, FALSE, 0x21D, 0xD); + AddTextPrinterParameterized(sElevatorCurrentFloorWindowId, 2, gUnknown_8418075, 0, 2, 0xFF, NULL); + floorname = sFloorNamePointers[gSpecialVar_0x8005]; + strwidth = GetStringWidth(2, floorname, 0); + AddTextPrinterParameterized(sElevatorCurrentFloorWindowId, 2, floorname, 56 - strwidth, 16, 0xFF, NULL); + PutWindowTilemap(sElevatorCurrentFloorWindowId); + CopyWindowToVram(sElevatorCurrentFloorWindowId, 3); + } +} + +void Special_CloseElevatorCurrentFloorWindow(void) +{ + ClearStdWindowAndFrameToTransparent(sElevatorCurrentFloorWindowId, TRUE); + RemoveWindow(sElevatorCurrentFloorWindowId); +} + +static void AnimateElevatorWindowView(u16 nfloors, u8 direction) +{ + u8 taskId; + if (FuncIsActiveTask(Task_AnimateElevatorWindowView) != TRUE) + { + taskId = CreateTask(Task_AnimateElevatorWindowView, 8); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = direction; + gTasks[taskId].data[3] = sElevatorWindowAnimDuration[nfloors]; + } +} + +static void Task_AnimateElevatorWindowView(u8 taskId) +{ + u8 i; + u8 j; + s16 *data = gTasks[taskId].data; + if (data[1] == 6) + { + data[0]++; + if (data[2] == 0) + { + for (i = 0; i < 3; i++) + { + for (j = 0; j < 3; j++) + { + MapGridSetMetatileIdAt(j + 8, i + 7, sElevatorWindowMetatilesGoingUp[i][data[0] % 3] | 0xC00); + } + } + } + else + { + for (i = 0; i < 3; i++) + { + for (j = 0; j < 3; j++) + { + MapGridSetMetatileIdAt(j + 8, i + 7, sElevatorWindowMetatilesGoingDown[i][data[0] % 3] | 0xC00); + } + } + } + DrawWholeMapView(); + data[1] = 0; + if (data[0] == data[3]) + DestroyTask(taskId); + } + data[1]++; +} + +void Special_ListMenu(void) +{ + u8 taskId; + struct Task * task; + if (sub_81119D4(sub_809D6D4) != TRUE) + { + taskId = CreateTask(Task_CreateScriptListMenu, 8); + task = &gTasks[taskId]; + switch (gSpecialVar_0x8004) + { + case 0: + task->data[0] = 4; + task->data[1] = 9; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 12; + task->data[5] = 7; + task->data[6] = 1; + task->data[15] = taskId; + break; + case 1: + task->data[0] = 7; + task->data[1] = 12; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 8; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + task->data[7] = sElevatorScroll; + task->data[8] = sElevatorCursorPos; + break; + case 2: + task->data[0] = 4; + task->data[1] = 4; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 8; + task->data[5] = 8; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 3: + task->data[0] = 4; + task->data[1] = 6; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 8; + task->data[5] = 8; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 4: + task->data[0] = 4; + task->data[1] = 4; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 17; + task->data[5] = 8; + task->data[6] = 1; + task->data[15] = taskId; + break; + case 5: + task->data[0] = 7; + task->data[1] = 12; + task->data[2] = 16; + task->data[3] = 1; + task->data[4] = 17; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 6: + task->data[0] = 3; + task->data[1] = 3; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 8; + task->data[5] = 6; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 99: + break; + default: + gSpecialVar_Result = 0x7F; + DestroyTask(taskId); + break; + } + } +} + +static const u8 *const sListMenuLabels[][12] = { + { + gUnknown_8417FD9, + gUnknown_8417FE6, + gUnknown_8417FF3, + gUnknown_8418000, + gUnknown_841800D, + gUnknown_8418017, + gUnknown_8418022, + gUnknown_841802F, + gOtherText_Exit, + }, { + gUnknown_8418059, + gUnknown_8418055, + gUnknown_8418052, + gUnknown_841804F, + gUnknown_841804C, + gUnknown_8418049, + gUnknown_8418046, + gUnknown_8418043, + gUnknown_8418040, + gUnknown_841803D, + gUnknown_841803A, + gOtherText_Exit, + }, { + gUnknown_841805D, + gUnknown_8418061, + gUnknown_8418069, + gOtherText_Exit, + }, { + gUnknown_8418046, + gUnknown_8418043, + gUnknown_8418040, + gUnknown_841803D, + gUnknown_841803A, + gOtherText_Exit, + }, { + gUnknown_841807D, + gUnknown_841808E, + gUnknown_841809C, + gOtherText_Quit, + }, { + gUnknown_84180A7, + gUnknown_84180BC, + gUnknown_84180D0, + gUnknown_84180E4, + gUnknown_84180FA, + gUnknown_841810D, + gUnknown_841811D, + gUnknown_841812F, + gUnknown_8418142, + gUnknown_8418152, + gUnknown_8418163, + gOtherText_Exit, + }, { + gUnknown_841806D, + gUnknown_841805D, + gOtherText_Exit, + } +}; + +static void Task_CreateScriptListMenu(u8 taskId) +{ + struct WindowTemplate template; + u8 i; + s32 width; + s32 mwidth; + struct Task * task = &gTasks[taskId]; + u8 windowId; + ScriptContext2_Enable(); + if (gSpecialVar_0x8004 == 1) + sListMenuLastScrollPosition = sElevatorScroll; + else + sListMenuLastScrollPosition = 0; + sListMenuItems = AllocZeroed(task->data[1] * sizeof(struct ListMenuItem)); + CreateScriptListMenu(); + mwidth = 0; + for (i = 0; i < task->data[1]; i++) + { + sListMenuItems[i].label = sListMenuLabels[gSpecialVar_0x8004][i]; + sListMenuItems[i].index = i; + width = GetStringWidth(2, sListMenuItems[i].label, 0); + if (width > mwidth) + mwidth = width; + } + task->data[4] = (mwidth + 9) / 8 + 1; + if (task->data[2] + task->data[4] > 29) + task->data[2] = 29 - task->data[4]; + template = SetWindowTemplateFields(0, task->data[2], task->data[3], task->data[4], task->data[5], 15, 0x038); + task->data[13] = windowId = AddWindow(&template); + SetStdWindowBorderStyle(task->data[13], 0); + sFieldSpecialsListMenuTemplate.totalItems = task->data[1]; + sFieldSpecialsListMenuTemplate.maxShowed = task->data[0]; + sFieldSpecialsListMenuTemplate.windowId = task->data[13]; + Task_CreateMenuRemoveScrollIndicatorArrowPair(taskId); + task->data[14] = ListMenuInit(&sFieldSpecialsListMenuTemplate, task->data[7], task->data[8]); + PutWindowTilemap(task->data[13]); + CopyWindowToVram(task->data[13], 3); + gTasks[taskId].func = Task_ListMenuHandleInput; +} + +static void CreateScriptListMenu(void) +{ + sFieldSpecialsListMenuTemplate.items = sListMenuItems; + sFieldSpecialsListMenuTemplate.moveCursorFunc = ScriptListMenuMoveCursorFunction; + sFieldSpecialsListMenuTemplate.itemPrintFunc = NULL; + sFieldSpecialsListMenuTemplate.totalItems = 1; + sFieldSpecialsListMenuTemplate.maxShowed = 1; + sFieldSpecialsListMenuTemplate.windowId = 0; + sFieldSpecialsListMenuTemplate.header_X = 0; + sFieldSpecialsListMenuTemplate.item_X = 8; + sFieldSpecialsListMenuTemplate.cursor_X = 0; + sFieldSpecialsListMenuTemplate.upText_Y = 0; + sFieldSpecialsListMenuTemplate.cursorPal = 2; + sFieldSpecialsListMenuTemplate.fillValue = 1; + sFieldSpecialsListMenuTemplate.cursorShadowPal = 3; + sFieldSpecialsListMenuTemplate.lettersSpacing = 1; + sFieldSpecialsListMenuTemplate.itemVerticalPadding = 0; + sFieldSpecialsListMenuTemplate.scrollMultiple = 0; + sFieldSpecialsListMenuTemplate.fontId = 2; + sFieldSpecialsListMenuTemplate.cursorKind = 0; +} + +static void ScriptListMenuMoveCursorFunction(s32 nothing, bool8 is, struct ListMenu * used) +{ + u8 taskId; + struct Task * task; + PlaySE(SE_SELECT); + taskId = FindTaskIdByFunc(Task_ListMenuHandleInput); + if (taskId != 0xFF) + { + task = &gTasks[taskId]; + ListMenuGetScrollAndRow(task->data[14], &sFieldSpecialsListMenuScrollBuffer, NULL); + sListMenuLastScrollPosition = sFieldSpecialsListMenuScrollBuffer; + } +} + +static void Task_ListMenuHandleInput(u8 taskId) +{ + s32 input; + struct Task * task; + + task = &gTasks[taskId]; + task++;task--; + input = ListMenu_ProcessInput(task->data[14]); + switch (input) + { + case -1: + break; + case -2: + gSpecialVar_Result = 0x7F; + PlaySE(SE_SELECT); + Task_DestroyListMenu(taskId); + break; + default: + gSpecialVar_Result = input; + PlaySE(SE_SELECT); + if (task->data[6] == 0 || input == task->data[1] - 1) + { + Task_DestroyListMenu(taskId); + } + else + { + Task_ListMenuRemoveScrollIndicatorArrowPair(taskId); + task->func = Task_SuspendListMenu; + EnableBothScriptContexts(); + } + break; + } +} + +static void Task_DestroyListMenu(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + Task_ListMenuRemoveScrollIndicatorArrowPair(taskId); + DestroyListMenuTask(task->data[14], NULL, NULL); + Free(sListMenuItems); + ClearStdWindowAndFrameToTransparent(task->data[13], TRUE); + FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0)); + ClearWindowTilemap(task->data[13]); + CopyWindowToVram(task->data[13], 2); + RemoveWindow(task->data[13]); + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +static void Task_SuspendListMenu(u8 taskId) +{ + switch (gTasks[taskId].data[6]) + { + case 1: + break; + case 2: + gTasks[taskId].data[6] = 1; + gTasks[taskId].func = Task_RedrawScrollArrowsAndWaitInput; + break; + } +} + +void Special_ReturnToListMenu(void) +{ + u8 taskId = FindTaskIdByFunc(Task_SuspendListMenu); + if (taskId == 0xFF) + EnableBothScriptContexts(); + else + gTasks[taskId].data[6]++; +} + +static void Task_RedrawScrollArrowsAndWaitInput(u8 taskId) +{ + ScriptContext2_Enable(); + Task_CreateMenuRemoveScrollIndicatorArrowPair(taskId); + gTasks[taskId].func = Task_ListMenuHandleInput; +} + +static void Task_CreateMenuRemoveScrollIndicatorArrowPair(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + struct ScrollArrowsTemplate template = { + .firstArrowType = 2, + .secondArrowType = 3, + .tileTag = 2000, + .palTag = 100 + }; + if (task->data[0] != task->data[1]) + { + template.firstX = 4 * task->data[4] + 8 * task->data[2]; + template.firstY = 8; + template.secondX = 4 * task->data[4] + 8 * task->data[2]; + template.secondY = 8 * task->data[5] + 10; + template.fullyUpThreshold = 0; + template.fullyDownThreshold = task->data[1] - task->data[0]; + task->data[12] = AddScrollIndicatorArrowPair(&template, &sListMenuLastScrollPosition); + } +} + +static void Task_ListMenuRemoveScrollIndicatorArrowPair(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + if (task->data[0] != task->data[1]) + RemoveScrollIndicatorArrowPair(task->data[12]); +} + +void Special_ForcePlayerToStartSurfing(void) +{ + HelpSystem_SetSomeVariable2(22); + SetPlayerAvatarTransitionFlags(8); +} + +static const u16 sStarterMon[] = { + SPECIES_BULBASAUR, + SPECIES_SQUIRTLE, + SPECIES_CHARMANDER +}; + +static u16 GetStarterPokemon(u16 idx) +{ + if (idx >= NELEMS(sStarterMon)) + idx = 0; + return sStarterMon[idx]; +} + +u16 ScrSpecial_GetStarter(void) +{ + return GetStarterPokemon(VarGet(VAR_STARTER_MON)); +} + +void Special_SetSeenMon(void) +{ + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gSpecialVar_0x8004), 2); +} + +void sub_80CBDE8(void) +{ + gSelectedEventObject = 0; + gSpecialVar_TextColor = 0xFF; +} + +u8 ContextNpcGetTextColor(void) +{ + u8 gfxId; + if (gSpecialVar_TextColor != 0xFF) + return gSpecialVar_TextColor; + else if (gSelectedEventObject == 0) + return 3; + else + { + gfxId = gMapObjects[gSelectedEventObject].graphicsId; + if (gfxId >= MAP_OBJ_GFX_VAR_0) + gfxId = VarGetFieldObjectGraphicsId(gfxId - MAP_OBJ_GFX_VAR_0); + return GetColorFromTextColorTable(gfxId); + } +} + +static bool8 HasMonBeenRenamed(u8 idx) +{ + struct Pokemon * pokemon = &gPlayerParty[idx]; + u8 language; + GetMonData(pokemon, MON_DATA_NICKNAME, gStringVar1); + language = GetMonData(pokemon, MON_DATA_LANGUAGE, &language); + if (language != LANGUAGE_ENGLISH) + return TRUE; + else if (StringCompare(gSpeciesNames[GetMonData(pokemon, MON_DATA_SPECIES, NULL)], gStringVar1) != 0) + return TRUE; + else + return FALSE; +} + +bool8 Special_HasLeadMonBeenRenamed(void) +{ + return HasMonBeenRenamed(GetLeadMonIndex()); +} + +void TV_PrintIntToStringVar(u8 varidx, s32 number) +{ + s32 n = CountDigits(number); + ConvertIntToDecimalStringN(sStringVarPtrs[varidx], number, STR_CONV_MODE_LEFT_ALIGN, n); +} + +s32 CountDigits(s32 number) +{ + if (number / 10 == 0) + return 1; + else if (number / 100 == 0) + return 2; + else if (number / 1000 == 0) + return 3; + else if (number / 10000 == 0) + return 4; + else if (number / 100000 == 0) + return 5; + else if (number / 1000000 == 0) + return 6; + else if (number / 10000000 == 0) + return 7; + else if (number / 100000000 == 0) + return 8; + else + return 1; +} + +bool8 NameRaterWasNicknameChanged(void) +{ + struct Pokemon * pokemon = &gPlayerParty[gSpecialVar_0x8004]; + GetMonData(pokemon, MON_DATA_NICKNAME, gStringVar1); + if (StringCompare(gStringVar3, gStringVar1) == 0) + return FALSE; + else + return TRUE; +} + +void ChangeBoxPokemonNickname(void) +{ + struct BoxPokemon * pokemon = GetBoxedMonPtr(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos); + u16 species; + u8 gender; + u32 personality; + + + GetBoxMonData(pokemon, MON_DATA_NICKNAME, gStringVar3); + GetBoxMonData(pokemon, MON_DATA_NICKNAME, gStringVar2); + species = GetBoxMonData(pokemon, MON_DATA_SPECIES, NULL); + gender = GetBoxMonGender(pokemon); + personality = GetBoxMonData(pokemon, MON_DATA_PERSONALITY, NULL); + DoNamingScreen(3, gStringVar2, species, gender, personality, ChangeBoxPokemonNickname_CB); +} + +static void ChangeBoxPokemonNickname_CB(void) +{ + SetBoxMonNickFromAnyBox(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos, gStringVar2); + CB2_ReturnToFieldContinueScriptPlayMapMusic(); +} + +void ChangePokemonNickname(void) +{ + u16 species; + u8 gender; + u32 personality; + + GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar3); + GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar2); + species = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES, NULL); + gender = GetMonGender(&gPlayerParty[gSpecialVar_0x8004]); + personality = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_PERSONALITY, NULL); + DoNamingScreen(3, gStringVar2, species, gender, personality, ChangePokemonNickname_CB); +} + +static void ChangePokemonNickname_CB(void) +{ + SetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar2); + CB2_ReturnToFieldContinueScriptPlayMapMusic(); +} + +void TV_CopyNicknameToStringVar1AndEnsureTerminated(void) +{ + GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar1); + StringGetEnd10(gStringVar1); +} + +void TV_CheckMonOTIDEqualsPlayerID(void) +{ + if (GetPlayerTrainerId() == GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_ID, NULL)) + gSpecialVar_Result = FALSE; + else + gSpecialVar_Result = TRUE; +} + +u32 GetPlayerTrainerId(void) +{ + return (gSaveBlock2Ptr->playerTrainerId[3] << 24) | (gSaveBlock2Ptr->playerTrainerId[2] << 16) | (gSaveBlock2Ptr->playerTrainerId[1] << 8) | gSaveBlock2Ptr->playerTrainerId[0]; +} + +u8 GetUnlockedSeviiAreas(void) +{ + u8 result = 0; + if (FlagGet(FLAG_WORLD_MAP_ONE_ISLAND) == TRUE) + result |= 1 << 0; + if (FlagGet(FLAG_WORLD_MAP_TWO_ISLAND) == TRUE) + result |= 1 << 1; + if (FlagGet(FLAG_WORLD_MAP_THREE_ISLAND) == TRUE) + result |= 1 << 2; + if (FlagGet(FLAG_WORLD_MAP_FOUR_ISLAND) == TRUE) + result |= 1 << 3; + if (FlagGet(FLAG_WORLD_MAP_FIVE_ISLAND) == TRUE) + result |= 1 << 4; + if (FlagGet(FLAG_WORLD_MAP_SIX_ISLAND) == TRUE) + result |= 1 << 5; + if (FlagGet(FLAG_WORLD_MAP_SEVEN_ISLAND) == TRUE) + result |= 1 << 6; + return result; +} + +void Special_UpdateTrainerCardPhotoIcons(void) +{ + u16 species[PARTY_SIZE]; + u32 personality[PARTY_SIZE]; + u8 i; + u8 partyCount; + for (i = 0; i < PARTY_SIZE; i++) + species[i] = SPECIES_NONE; + partyCount = CalculatePlayerPartyCount(); + for (i = 0; i < partyCount; i++) + { + species[i] = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL); + personality[i] = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY, NULL); + } + VarSet(VAR_TRAINER_CARD_MON_ICON_1, SpeciesToMailSpecies(species[0], personality[0])); + VarSet(VAR_TRAINER_CARD_MON_ICON_2, SpeciesToMailSpecies(species[1], personality[1])); + VarSet(VAR_TRAINER_CARD_MON_ICON_3, SpeciesToMailSpecies(species[2], personality[2])); + VarSet(VAR_TRAINER_CARD_MON_ICON_4, SpeciesToMailSpecies(species[3], personality[3])); + VarSet(VAR_TRAINER_CARD_MON_ICON_5, SpeciesToMailSpecies(species[4], personality[4])); + VarSet(VAR_TRAINER_CARD_MON_ICON_6, SpeciesToMailSpecies(species[5], personality[5])); + VarSet(VAR_TRAINER_CARD_MON_ICON_TINT_IDX, gSpecialVar_0x8004); +} + +u16 Special_StickerLadyGetBragFlags(void) +{ + u16 result = 0; + u32 numEggs; + gSpecialVar_0x8004 = GetGameStat(GAME_STAT_ENTERED_HOF); + numEggs = GetGameStat(GAME_STAT_HATCHED_EGGS); + gSpecialVar_0x8006 = GetGameStat(GAME_STAT_LINK_BATTLE_WINS); + if (numEggs > 0xFFFF) + gSpecialVar_0x8005 = 0xFFFF; + else + gSpecialVar_0x8005 = numEggs; + if (gSpecialVar_0x8004 != 0) + result |= 1 << 0; + if (gSpecialVar_0x8005 != 0) + result |= 1 << 1; + if (gSpecialVar_0x8006 != 0) + result |= 1 << 2; + return result; +} + +u16 GetHiddenItemAttr(u32 hiddenItem, u8 attr) +{ + if (attr == 0) + return hiddenItem & 0xFFFF; + else if (attr == 1) + return ((hiddenItem >> 16) & 0xFF) + 1000; + else if (attr == 2) + return (hiddenItem >> 24) & 0x7F; + else if (attr == 3) + return (hiddenItem >> 31) & 0x01; + else + return 1; +} + +bool8 Special_PlayerPartyContainsSpecies(void) +{ + u8 partyCount = CalculatePlayerPartyCount(); + u8 i; + for (i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) == gSpecialVar_0x8004) + return TRUE; + } + return FALSE; +} + +static const u8 sMartMaps[][3] = { + {MAP_GROUP(VIRIDIAN_CITY_MART), MAP_NUM(VIRIDIAN_CITY_MART), 1}, + {MAP_GROUP(PEWTER_CITY_MART), MAP_NUM(PEWTER_CITY_MART), 3}, + {MAP_GROUP(CERULEAN_CITY_MART), MAP_NUM(CERULEAN_CITY_MART), 1}, + {MAP_GROUP(LAVENDER_TOWN_MART), MAP_NUM(LAVENDER_TOWN_MART), 1}, + {MAP_GROUP(VERMILION_CITY_MART), MAP_NUM(VERMILION_CITY_MART), 1}, + {MAP_GROUP(FUCHSIA_CITY_MART), MAP_NUM(FUCHSIA_CITY_MART), 1}, + {MAP_GROUP(CINNABAR_ISLAND_MART), MAP_NUM(CINNABAR_ISLAND_MART), 1}, + {MAP_GROUP(SAFFRON_CITY_MART), MAP_NUM(SAFFRON_CITY_MART), 1}, + {MAP_GROUP(THREE_ISLAND_MART), MAP_NUM(THREE_ISLAND_MART), 1}, + {MAP_GROUP(FOUR_ISLAND_MART), MAP_NUM(FOUR_ISLAND_MART), 1}, + {MAP_GROUP(SEVEN_ISLAND_MART), MAP_NUM(SEVEN_ISLAND_MART), 1}, + {MAP_GROUP(SIX_ISLAND_MART), MAP_NUM(SIX_ISLAND_MART), 1} +}; + +u8 Special_GetMartClerkObjectId(void) +{ + u8 i; + for (i = 0; i < NELEMS(sMartMaps); i++) + { + if (gSaveBlock1Ptr->location.mapGroup == sMartMaps[i][0] && gSaveBlock1Ptr->location.mapNum == sMartMaps[i][1]) + return sMartMaps[i][2]; + } + return 1; +} + +void sub_80CC524(void) +{ + sub_8113550(11, NULL); +} + +static const struct { + u16 grp; + u16 num; + u16 grp2; + u16 num2; +} sInsideOutsidePairs[51] = { + {MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_1F), MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_1F), MAP_GROUP(PALLET_TOWN), MAP_NUM(PALLET_TOWN)}, + {MAP_GROUP(PALLET_TOWN_PROFESSOR_OAKS_LAB), MAP_NUM(PALLET_TOWN_PROFESSOR_OAKS_LAB), MAP_GROUP(PALLET_TOWN), MAP_NUM(PALLET_TOWN)}, + {MAP_GROUP(VIRIDIAN_CITY_GYM), MAP_NUM(VIRIDIAN_CITY_GYM), MAP_GROUP(VIRIDIAN_CITY), MAP_NUM(VIRIDIAN_CITY)}, + {MAP_GROUP(ROUTE22_NORTH_ENTRANCE), MAP_NUM(ROUTE22_NORTH_ENTRANCE), MAP_GROUP(ROUTE22), MAP_NUM(ROUTE22)}, + {MAP_GROUP(ROUTE22_NORTH_ENTRANCE), MAP_NUM(ROUTE22_NORTH_ENTRANCE), MAP_GROUP(ROUTE23), MAP_NUM(ROUTE23)}, + {MAP_GROUP(VIRIDIAN_FOREST), MAP_NUM(VIRIDIAN_FOREST), MAP_GROUP(ROUTE2_VIRIDIAN_FOREST_SOUTH_ENTRANCE), MAP_NUM(ROUTE2_VIRIDIAN_FOREST_SOUTH_ENTRANCE)}, + {MAP_GROUP(VIRIDIAN_FOREST), MAP_NUM(VIRIDIAN_FOREST), MAP_GROUP(ROUTE2_VIRIDIAN_FOREST_NORTH_ENTRANCE), MAP_NUM(ROUTE2_VIRIDIAN_FOREST_NORTH_ENTRANCE)}, + {MAP_GROUP(PEWTER_CITY_MUSEUM_1F), MAP_NUM(PEWTER_CITY_MUSEUM_1F), MAP_GROUP(PEWTER_CITY), MAP_NUM(PEWTER_CITY)}, + {MAP_GROUP(PEWTER_CITY_GYM), MAP_NUM(PEWTER_CITY_GYM), MAP_GROUP(PEWTER_CITY), MAP_NUM(PEWTER_CITY)}, + {MAP_GROUP(MT_MOON_1F), MAP_NUM(MT_MOON_1F), MAP_GROUP(ROUTE4), MAP_NUM(ROUTE4)}, + {MAP_GROUP(MT_MOON_B1F), MAP_NUM(MT_MOON_B1F), MAP_GROUP(ROUTE4), MAP_NUM(ROUTE4)}, + {MAP_GROUP(CERULEAN_CITY_GYM), MAP_NUM(CERULEAN_CITY_GYM), MAP_GROUP(CERULEAN_CITY), MAP_NUM(CERULEAN_CITY)}, + {MAP_GROUP(CERULEAN_CITY_BIKE_SHOP), MAP_NUM(CERULEAN_CITY_BIKE_SHOP), MAP_GROUP(CERULEAN_CITY), MAP_NUM(CERULEAN_CITY)}, + {MAP_GROUP(ROUTE25_SEA_COTTAGE), MAP_NUM(ROUTE25_SEA_COTTAGE), MAP_GROUP(ROUTE25), MAP_NUM(ROUTE25)}, + {MAP_GROUP(ROUTE5_POKEMON_DAY_CARE), MAP_NUM(ROUTE5_POKEMON_DAY_CARE), MAP_GROUP(ROUTE5), MAP_NUM(ROUTE5)}, + {MAP_GROUP(UNDERGROUND_PATH_NORTH_ENTRANCE), MAP_NUM(UNDERGROUND_PATH_NORTH_ENTRANCE), MAP_GROUP(ROUTE5), MAP_NUM(ROUTE5)}, + {MAP_GROUP(UNDERGROUND_PATH_SOUTH_ENTRANCE), MAP_NUM(UNDERGROUND_PATH_SOUTH_ENTRANCE), MAP_GROUP(ROUTE6), MAP_NUM(ROUTE6)}, + {MAP_GROUP(VERMILION_CITY_POKEMON_FAN_CLUB), MAP_NUM(VERMILION_CITY_POKEMON_FAN_CLUB), MAP_GROUP(VERMILION_CITY), MAP_NUM(VERMILION_CITY)}, + {MAP_GROUP(VERMILION_CITY_GYM), MAP_NUM(VERMILION_CITY_GYM), MAP_GROUP(VERMILION_CITY), MAP_NUM(VERMILION_CITY)}, + {MAP_GROUP(SSANNE_1F_CORRIDOR), MAP_NUM(SSANNE_1F_CORRIDOR), MAP_GROUP(VERMILION_CITY), MAP_NUM(VERMILION_CITY)}, + {MAP_GROUP(DIGLETTS_CAVE_NORTH_ENTRANCE), MAP_NUM(DIGLETTS_CAVE_NORTH_ENTRANCE), MAP_GROUP(ROUTE2), MAP_NUM(ROUTE2)}, + {MAP_GROUP(DIGLETTS_CAVE_SOUTH_ENTRANCE), MAP_NUM(DIGLETTS_CAVE_SOUTH_ENTRANCE), MAP_GROUP(ROUTE11), MAP_NUM(ROUTE11)}, + {MAP_GROUP(ROCK_TUNNEL_1F), MAP_NUM(ROCK_TUNNEL_1F), MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10)}, + {MAP_GROUP(ROCK_TUNNEL_1F), MAP_NUM(ROCK_TUNNEL_1F), MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10)}, + {MAP_GROUP(POWER_PLANT), MAP_NUM(POWER_PLANT), MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10)}, + {MAP_GROUP(POKEMON_TOWER_1F), MAP_NUM(POKEMON_TOWER_1F), MAP_GROUP(LAVENDER_TOWN), MAP_NUM(LAVENDER_TOWN)}, + {MAP_GROUP(LAVENDER_TOWN_VOLUNTEER_POKEMON_HOUSE), MAP_NUM(LAVENDER_TOWN_VOLUNTEER_POKEMON_HOUSE), MAP_GROUP(LAVENDER_TOWN), MAP_NUM(LAVENDER_TOWN)}, + {MAP_GROUP(LAVENDER_TOWN_HOUSE2), MAP_NUM(LAVENDER_TOWN_HOUSE2), MAP_GROUP(LAVENDER_TOWN), MAP_NUM(LAVENDER_TOWN)}, + {MAP_GROUP(UNDERGROUND_PATH_EAST_ENTRANCE), MAP_NUM(UNDERGROUND_PATH_EAST_ENTRANCE), MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8)}, + {MAP_GROUP(UNDERGROUND_PATH_WEST_ENTRANCE), MAP_NUM(UNDERGROUND_PATH_WEST_ENTRANCE), MAP_GROUP(ROUTE7), MAP_NUM(ROUTE7)}, + {MAP_GROUP(CELADON_CITY_DEPARTMENT_STORE_1F), MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_1F), MAP_GROUP(CELADON_CITY), MAP_NUM(CELADON_CITY)}, + {MAP_GROUP(CELADON_CITY_CONDOMINIUMS_1F), MAP_NUM(CELADON_CITY_CONDOMINIUMS_1F), MAP_GROUP(CELADON_CITY), MAP_NUM(CELADON_CITY)}, + {MAP_GROUP(CELADON_CITY_GAME_CORNER), MAP_NUM(CELADON_CITY_GAME_CORNER), MAP_GROUP(CELADON_CITY), MAP_NUM(CELADON_CITY)}, + {MAP_GROUP(CELADON_CITY_GYM), MAP_NUM(CELADON_CITY_GYM), MAP_GROUP(CELADON_CITY), MAP_NUM(CELADON_CITY)}, + {MAP_GROUP(CELADON_CITY_RESTAURANT), MAP_NUM(CELADON_CITY_RESTAURANT), MAP_GROUP(CELADON_CITY), MAP_NUM(CELADON_CITY)}, + {MAP_GROUP(ROCKET_HIDEOUT_B1F), MAP_NUM(ROCKET_HIDEOUT_B1F), MAP_GROUP(CELADON_CITY_GAME_CORNER), MAP_NUM(CELADON_CITY_GAME_CORNER)}, + {MAP_GROUP(SAFARI_ZONE_CENTER), MAP_NUM(SAFARI_ZONE_CENTER), MAP_GROUP(FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE), MAP_NUM(FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE)}, + {MAP_GROUP(FUCHSIA_CITY_GYM), MAP_NUM(FUCHSIA_CITY_GYM), MAP_GROUP(FUCHSIA_CITY), MAP_NUM(FUCHSIA_CITY)}, + {MAP_GROUP(FUCHSIA_CITY_BUILDING1), MAP_NUM(FUCHSIA_CITY_BUILDING1), MAP_GROUP(FUCHSIA_CITY), MAP_NUM(FUCHSIA_CITY)}, + {MAP_GROUP(SAFFRON_CITY_DOJO), MAP_NUM(SAFFRON_CITY_DOJO), MAP_GROUP(SAFFRON_CITY), MAP_NUM(SAFFRON_CITY)}, + {MAP_GROUP(SAFFRON_CITY_GYM), MAP_NUM(SAFFRON_CITY_GYM), MAP_GROUP(SAFFRON_CITY), MAP_NUM(SAFFRON_CITY)}, + {MAP_GROUP(SILPH_CO_1F), MAP_NUM(SILPH_CO_1F), MAP_GROUP(SAFFRON_CITY), MAP_NUM(SAFFRON_CITY)}, + {MAP_GROUP(SEAFOAM_ISLANDS_1F), MAP_NUM(SEAFOAM_ISLANDS_1F), MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20)}, + {MAP_GROUP(SEAFOAM_ISLANDS_1F), MAP_NUM(SEAFOAM_ISLANDS_1F), MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20)}, + {MAP_GROUP(POKEMON_MANSION_1F), MAP_NUM(POKEMON_MANSION_1F), MAP_GROUP(CINNABAR_ISLAND), MAP_NUM(CINNABAR_ISLAND)}, + {MAP_GROUP(CINNABAR_ISLAND_GYM), MAP_NUM(CINNABAR_ISLAND_GYM), MAP_GROUP(CINNABAR_ISLAND), MAP_NUM(CINNABAR_ISLAND)}, + {MAP_GROUP(CINNABAR_ISLAND_POKEMON_LAB_ENTRANCE), MAP_NUM(CINNABAR_ISLAND_POKEMON_LAB_ENTRANCE), MAP_GROUP(CINNABAR_ISLAND), MAP_NUM(CINNABAR_ISLAND)}, + {MAP_GROUP(VICTORY_ROAD_1F), MAP_NUM(VICTORY_ROAD_1F), MAP_GROUP(ROUTE23), MAP_NUM(ROUTE23)}, + {MAP_GROUP(VICTORY_ROAD_2F), MAP_NUM(VICTORY_ROAD_2F), MAP_GROUP(ROUTE23), MAP_NUM(ROUTE23)}, + {MAP_GROUP(INDIGO_PLATEAU_POKEMON_CENTER_1F), MAP_NUM(INDIGO_PLATEAU_POKEMON_CENTER_1F), MAP_GROUP(INDIGO_PLATEAU_EXTERIOR), MAP_NUM(INDIGO_PLATEAU_EXTERIOR)}, + {MAP_GROUP(CERULEAN_CAVE_1F), MAP_NUM(CERULEAN_CAVE_1F), MAP_GROUP(CERULEAN_CITY), MAP_NUM(CERULEAN_CITY)} +}; + +void sub_80CC534(void) +{ + u8 i; + for (i = 0; i < NELEMS(sInsideOutsidePairs); i++) + { + if (gSaveBlock1Ptr->location.mapGroup == sInsideOutsidePairs[i].grp && gSaveBlock1Ptr->location.mapNum == sInsideOutsidePairs[i].num) + { + if (VarGet(VAR_0x404D) != 35 || i != 32) + { + VarSet(VAR_0x404D, i); + FlagSet(FLAG_0x808); + } + break; + } + } +} + +void sub_80CC59C(void) +{ + s16 x, y; + struct { + u8 unk0; + u8 unk1; + } sp0; + u16 r5 = VarGet(VAR_0x404D); + sp0.unk0 = 0; + sp0.unk1 = 0; + if (FlagGet(FLAG_0x808)) + { + if (r5 == 5) + { + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE2_VIRIDIAN_FOREST_SOUTH_ENTRANCE) && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE2_VIRIDIAN_FOREST_SOUTH_ENTRANCE) || gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE2_VIRIDIAN_FOREST_NORTH_ENTRANCE))) + { + sp0.unk0 = MAPSEC_ROUTE_2; + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE2_VIRIDIAN_FOREST_SOUTH_ENTRANCE)) + sp0.unk1 = r5; + else + sp0.unk1 = r5 + 1; + sub_8113550(35, (void *)&sp0); + FlagClear(FLAG_0x808); + return; + } + } + else if (r5 == 3) + { + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE22) && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE22) || gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE23))) + { + sp0.unk0 = get_mapheader_by_bank_and_number(sInsideOutsidePairs[r5].grp, sInsideOutsidePairs[r5].num)->regionMapSectionId; + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE22)) + sp0.unk1 = r5; + else + sp0.unk1 = r5 + 1; + sub_8113550(35, (void *)&sp0); + FlagClear(FLAG_0x808); + return; + } + } + if (gSaveBlock1Ptr->location.mapGroup == sInsideOutsidePairs[r5].grp2 && gSaveBlock1Ptr->location.mapNum == sInsideOutsidePairs[r5].num2) + { + sp0.unk0 = get_mapheader_by_bank_and_number(sInsideOutsidePairs[r5].grp, sInsideOutsidePairs[r5].num)->regionMapSectionId; + sp0.unk1 = r5; + if (r5 == 22) + { + PlayerGetDestCoords(&x, &y); + if (x != 15 || y != 26) + sp0.unk1++; + } + else if (r5 == 42) + { + PlayerGetDestCoords(&x, &y); + if (x != 67 || y != 15) + sp0.unk1++; + } + sub_8113550(35, (void *)&sp0); + FlagClear(FLAG_0x808); + if (r5 == 35) + { + VarSet(VAR_0x404D, 32); + FlagSet(FLAG_0x808); + } + } + } +} + +u16 Special_BattleCardAction(void) +{ + switch (gSpecialVar_Result) + { + case 0: + return sub_81445C0(3); + case 1: + return sub_81445C0(4); + case 2: + return sub_81445C0(0); + case 3: + return sub_81445C0(1); + case 4: + return sub_81445C0(2); + default: + AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scr_tool.c", 3873); + return 0; + } +} + +void set_unknown_box_id(u8 boxId) +{ + sUnknownBoxId = boxId; +} + +u16 get_unknown_box_id(void) +{ + return sUnknownBoxId; +} + +bool8 sub_80CC7B4(void) +{ + if (FlagGet(FLAG_SYS_CHANGED_BOX_TO_STORE_MON)) + return FALSE; + if (StorageGetCurrentBox() == VarGet(VAR_0x4037)) + return FALSE; + FlagSet(FLAG_SYS_CHANGED_BOX_TO_STORE_MON); + return TRUE; +} + +bool8 sub_80CC7F8(void) +{ + s32 i; + s32 j; + set_unknown_box_id(VarGet(VAR_0x4037)); + i = StorageGetCurrentBox(); + do + { + for (j = 0; j < IN_BOX_COUNT; j++) + { + if (GetBoxMonData(GetBoxedMonPtr(i, j), MON_DATA_SPECIES, NULL) == SPECIES_NONE) + { + if (get_unknown_box_id() != i) + FlagClear(FLAG_SYS_CHANGED_BOX_TO_STORE_MON); + VarSet(VAR_0x4037, i); + return sub_80CC7B4(); + } + } + i++; + if (i == TOTAL_BOXES_COUNT) + i = 0; + } while (i != StorageGetCurrentBox()); + return FALSE; +} + +const u16 sPokeCenter1FMaps[] = { + MAP_VIRIDIAN_CITY_POKEMON_CENTER_1F, + MAP_PEWTER_CITY_POKEMON_CENTER_1F, + MAP_CERULEAN_CITY_POKEMON_CENTER_1F, + MAP_LAVENDER_TOWN_POKEMON_CENTER_1F, + MAP_VERMILION_CITY_POKEMON_CENTER_1F, + MAP_CELADON_CITY_POKEMON_CENTER_1F, + MAP_FUCHSIA_CITY_POKEMON_CENTER_1F, + MAP_CINNABAR_ISLAND_POKEMON_CENTER_1F, + MAP_INDIGO_PLATEAU_POKEMON_CENTER_1F, + MAP_SAFFRON_CITY_POKEMON_CENTER_1F, + MAP_ROUTE4_POKEMON_CENTER_1F, + MAP_ROUTE10_POKEMON_CENTER_1F, + MAP_ONE_ISLAND_POKEMON_CENTER_1F, + MAP_TWO_ISLAND_POKEMON_CENTER_1F, + MAP_THREE_ISLAND_POKEMON_CENTER_1F, + MAP_FOUR_ISLAND_POKEMON_CENTER_1F, + MAP_FIVE_ISLAND_POKEMON_CENTER_1F, + MAP_SEVEN_ISLAND_POKEMON_CENTER_1F, + MAP_SIX_ISLAND_POKEMON_CENTER_1F, + MAP_UNKNOWN_MAP_00_04, + MAP_UNDEFINED +}; + +bool8 sub_80CC87C(void) +{ + s32 i; + u16 mapno = (gUnknown_2031DB4.mapGroup << 8) + gUnknown_2031DB4.mapNum; + for (i = 0; sPokeCenter1FMaps[i] != MAP_UNDEFINED; i++) + { + if (sPokeCenter1FMaps[i] == mapno) + return TRUE; + } + return FALSE; +} + +bool8 Special_ItemIsTM_GetMoveName(void) +{ + // 8004 = item ID + if (gSpecialVar_0x8004 >= ITEM_TM01 && gSpecialVar_0x8004 <= ITEM_HM08) + { + StringCopy(gStringVar1, gMoveNames[ItemIdToBattleMoveId(gSpecialVar_0x8004)]); + return TRUE; + } + else + return FALSE; +} + +void RunMassageCooldownStepCounter(void) +{ + u16 count = VarGet(VAR_MASSAGE_COOLDOWN_STEP_COUNTER); + if (count < 500) + VarSet(VAR_MASSAGE_COOLDOWN_STEP_COUNTER, count + 1); +} + +void Special_DaisyMassageServices(void) +{ + AdjustFriendship(&gPlayerParty[gSpecialVar_0x8004], 6); + VarSet(VAR_MASSAGE_COOLDOWN_STEP_COUNTER, 0); +} + +static const u16 sEliteFourLightingPalettes[][16] = { + INCBIN_U16("data/field_specials/unk_83F5F50.gbapal"), + INCBIN_U16("data/field_specials/unk_83F5F70.gbapal"), + INCBIN_U16("data/field_specials/unk_83F5F90.gbapal"), + INCBIN_U16("data/field_specials/unk_83F5FB0.gbapal"), + INCBIN_U16("data/field_specials/unk_83F5FD0.gbapal"), + INCBIN_U16("data/field_specials/unk_83F5FF0.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6010.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6030.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6050.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6070.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6090.gbapal"), + INCBIN_U16("data/field_specials/unk_83F60B0.gbapal") +}; + +static const u16 sChampionRoomLightingPalettes[][16] = { + INCBIN_U16("data/field_specials/unk_83F60D0.gbapal"), + INCBIN_U16("data/field_specials/unk_83F60F0.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6110.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6130.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6150.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6170.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6190.gbapal"), + INCBIN_U16("data/field_specials/unk_83F61B0.gbapal"), + INCBIN_U16("data/field_specials/unk_83F61D0.gbapal") +}; + +static const u8 sEliteFourLightingTimers[] = { + 40, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 +}; + +static const u8 sChampionRoomLightingTimers[] = { + 20, + 8, + 8, + 8, + 8, + 8, + 8, + 8 +}; + +void Special_PokemonLeagueLightingEffect(void) +{ + u8 taskId = CreateTask(Task_RunPokemonLeagueLightingEffect, 8); + s16 *data = gTasks[taskId].data; + if (FlagGet(FLAG_TEMP_3) == TRUE) + { + gTasks[taskId].func = Task_CancelPokemonLeagueLightingEffect; + } + else + { + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(POKEMON_LEAGUE_CHAMPIONS_ROOM) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(POKEMON_LEAGUE_CHAMPIONS_ROOM)) + { + data[0] = sChampionRoomLightingTimers[0]; + data[2] = 8; + LoadPalette(sChampionRoomLightingPalettes[0], 0x70, 0x20); + } + else + { + data[0] = sEliteFourLightingTimers[0]; + data[2] = 11; + LoadPalette(sEliteFourLightingPalettes[0], 0x70, 0x20); + } + data[1] = 0; + sub_8059948(7, 1); + } +} + +static void Task_RunPokemonLeagueLightingEffect(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (!gPaletteFade.active + && FlagGet(FLAG_TEMP_2) != FALSE + && FlagGet(FLAG_TEMP_5) != TRUE + && gUnknown_2036E28 != 3 + && --data[0] == 0 + ) + { + if (++data[1] == data[2]) + data[1] = 0; + + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(POKEMON_LEAGUE_CHAMPIONS_ROOM) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(POKEMON_LEAGUE_CHAMPIONS_ROOM)) + { + data[0] = sChampionRoomLightingTimers[data[1]]; + LoadPalette(sChampionRoomLightingPalettes[data[1]], 0x70, 0x20); + } + else + { + data[0] = sEliteFourLightingTimers[data[1]]; + LoadPalette(sEliteFourLightingPalettes[data[1]], 0x70, 0x20); + } + sub_8059948(7, 1); + } +} + +static void Task_CancelPokemonLeagueLightingEffect(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (FlagGet(FLAG_TEMP_4) != FALSE) + { + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(POKEMON_LEAGUE_CHAMPIONS_ROOM) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(POKEMON_LEAGUE_CHAMPIONS_ROOM)) + { + LoadPalette(sChampionRoomLightingPalettes[8], 0x70, 0x20); + } + else + { + LoadPalette(sEliteFourLightingPalettes[11], 0x70, 0x20); + } + sub_8059948(7, 1); + if (gPaletteFade.active) + { + BlendPalettes(0x00000080, 16, RGB_BLACK); + } + DestroyTask(taskId); + } +} + +void StopPokemonLeagueLightingEffectTask(void) +{ + if (FuncIsActiveTask(Task_RunPokemonLeagueLightingEffect) == TRUE) + { + DestroyTask(FindTaskIdByFunc(Task_RunPokemonLeagueLightingEffect)); + } +} + +static const u8 sCapeBrinkCompatibleSpecies[] = { + SPECIES_VENUSAUR, + SPECIES_CHARIZARD, + SPECIES_BLASTOISE +}; + +bool8 Special_CapeBrinkGetMoveToTeachLeadPokemon(void) +{ + // Returns: + // 8005 = Move tutor index + // 8006 = Num moves known by lead mon + // 8007 = Index of lead mon + // to specialvar = whether a move can be taught in the first place + u8 r7 = 0; + u8 r6 = 0; + u8 r8 = GetLeadMonIndex(); + u8 r4; + gSpecialVar_0x8007 = r8; + for (r4 = 0; r4 < NELEMS(sCapeBrinkCompatibleSpecies); r4++) + { + if (GetMonData(&gPlayerParty[r8], MON_DATA_SPECIES2, NULL) == sCapeBrinkCompatibleSpecies[r4]) + { + r7 = r4; + break; + } + } + if (r4 == NELEMS(sCapeBrinkCompatibleSpecies) || GetMonData(&gPlayerParty[r8], MON_DATA_FRIENDSHIP) != 255) + return FALSE; + if (r7 == 0) + { + StringCopy(gStringVar2, gMoveNames[MOVE_FRENZY_PLANT]); + gSpecialVar_0x8005 = MOVETUTOR_FRENZY_PLANT; + if (FlagGet(FLAG_TUTOR_FRENZY_PLANT) == TRUE) + return FALSE; + } + else if (r7 == 1) + { + StringCopy(gStringVar2, gMoveNames[MOVE_BLAST_BURN]); + gSpecialVar_0x8005 = MOVETUTOR_BLAST_BURN; + if (FlagGet(FLAG_TUTOR_BLAST_BURN) == TRUE) + return FALSE; + } + else + { + StringCopy(gStringVar2, gMoveNames[MOVE_HYDRO_CANNON]); + gSpecialVar_0x8005 = MOVETUTOR_HYDRO_CANNON; + if (FlagGet(FLAG_TUTOR_HYDRO_CANNON) == TRUE) + return FALSE; + } + if (GetMonData(&gPlayerParty[r8], MON_DATA_MOVE1) != MOVE_NONE) + r6++; + if (GetMonData(&gPlayerParty[r8], MON_DATA_MOVE2) != MOVE_NONE) + r6++; + if (GetMonData(&gPlayerParty[r8], MON_DATA_MOVE3) != MOVE_NONE) + r6++; + if (GetMonData(&gPlayerParty[r8], MON_DATA_MOVE4) != MOVE_NONE) + r6++; + gSpecialVar_0x8006 = r6; + return TRUE; +} + +bool8 Special_HasLearnedAllMovesFromCapeBrinkTutor(void) +{ + // 8005 is set by Special_CapeBrinkGetMoveToTeachLeadPokemon + u8 r4 = 0; + if (gSpecialVar_0x8005 == MOVETUTOR_FRENZY_PLANT) + FlagSet(FLAG_TUTOR_FRENZY_PLANT); + else if (gSpecialVar_0x8005 == MOVETUTOR_BLAST_BURN) + FlagSet(FLAG_TUTOR_BLAST_BURN); + else + FlagSet(FLAG_TUTOR_HYDRO_CANNON); + if (FlagGet(FLAG_TUTOR_FRENZY_PLANT) == TRUE) + r4++; + if (FlagGet(FLAG_TUTOR_BLAST_BURN) == TRUE) + r4++; + if (FlagGet(FLAG_TUTOR_HYDRO_CANNON) == TRUE) + r4++; + if (r4 == 3) + return TRUE; + else + return FALSE; +} + +bool8 CutMoveRuinValleyCheck(void) +{ + if (FlagGet(FLAG_USED_CUT_ON_RUIN_VALLEY_BRAILLE) != TRUE + && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SIX_ISLAND_RUIN_VALLEY) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(SIX_ISLAND_RUIN_VALLEY) + && gSaveBlock1Ptr->pos.x == 24 + && gSaveBlock1Ptr->pos.y == 25 + && GetPlayerFacingDirection() == DIR_NORTH + ) + return TRUE; + else + return FALSE; +} + +void CutMoveOpenDottedHoleDoor(void) +{ + MapGridSetMetatileIdAt(31, 31, 0x358); + DrawWholeMapView(); + PlaySE(SE_BAN); + FlagSet(FLAG_USED_CUT_ON_RUIN_VALLEY_BRAILLE); + ScriptContext2_Disable(); +} + +static const u16 sDeoxysObjectPals[][16] = { + INCBIN_U16("data/field_specials/unk_83F6206.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6226.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6246.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6266.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6286.gbapal"), + INCBIN_U16("data/field_specials/unk_83F62A6.gbapal"), + INCBIN_U16("data/field_specials/unk_83F62C6.gbapal"), + INCBIN_U16("data/field_specials/unk_83F62E6.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6306.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6326.gbapal"), + INCBIN_U16("data/field_specials/unk_83F6346.gbapal") +}; + +static const u8 sDeoxysCoords[][2] = { + {15, 12}, + {11, 14}, + {15, 8}, + {19, 14}, + {12, 11}, + {18, 11}, + {15, 14}, + {11, 14}, + {19, 14}, + {15, 15}, + {15, 10} +}; + +static const u8 sDeoxysStepCaps[] = { + 4, + 8, + 8, + 8, + 4, + 4, + 4, + 6, + 3, + 3 +}; + +void Special_DeoxysSound(void) +{ + CreateTask(task_deoxys_sound, 8); +} + +static void task_deoxys_sound(u8 taskId) +{ + u16 r5; + u16 r6; + if (FlagGet(FLAG_SYS_DEOXYS_AWAKENED) == TRUE) + { + gSpecialVar_Result = 3; + EnableBothScriptContexts(); + DestroyTask(taskId); + } + else + { + r5 = VarGet(VAR_DEOXYS_INTERACTION_NUM); + r6 = VarGet(VAR_DEOXYS_INTERACTION_STEP_COUNTER); + VarSet(VAR_DEOXYS_INTERACTION_STEP_COUNTER, 0); + if (r5 != 0 && sDeoxysStepCaps[r5 - 1] < r6) + { + MoveDeoxysObject(0); + VarSet(VAR_DEOXYS_INTERACTION_NUM, 0); + gSpecialVar_Result = 0; + DestroyTask(taskId); + } + else if (r5 == 10) + { + FlagSet(FLAG_SYS_DEOXYS_AWAKENED); + gSpecialVar_Result = 2; + EnableBothScriptContexts(); + DestroyTask(taskId); + } + else + { + r5++; + MoveDeoxysObject(r5); + VarSet(VAR_DEOXYS_INTERACTION_NUM, r5); + gSpecialVar_Result = 1; + DestroyTask(taskId); + } + } +} + +static void MoveDeoxysObject(u8 num) +{ + u8 mapObjId; + LoadPalette(sDeoxysObjectPals[num], 0x1A0, 0x08); + sub_8083598(10); + TryGetFieldObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjId); + if (num == 0) + PlaySE(SE_W109); + else + PlaySE(SE_DEOMOV); + CreateTask(Task_WaitDeoxysFieldEffect, 8); + gFieldEffectArguments[0] = 1; + gFieldEffectArguments[1] = 56; + gFieldEffectArguments[2] = 2; + gFieldEffectArguments[3] = sDeoxysCoords[num][0]; + gFieldEffectArguments[4] = sDeoxysCoords[num][1]; + if (num == 0) + gFieldEffectArguments[5] = 60; + else + gFieldEffectArguments[5] = 5; + FieldEffectStart(FLDEFF_UNK_43); + Overworld_SetMapObjTemplateCoords(1, sDeoxysCoords[num][0], sDeoxysCoords[num][1]); +} + +static void Task_WaitDeoxysFieldEffect(u8 taskId) +{ + if (!FieldEffectActiveListContains(FLDEFF_UNK_43)) + { + EnableBothScriptContexts(); + DestroyTask(taskId); + } +} + +void BirthIslandDeoxysStepCounter(void) +{ + u16 count = VarGet(VAR_DEOXYS_INTERACTION_STEP_COUNTER); + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BIRTH_ISLAND_EXTERIOR)) + { + count++; + if (count > 99) + VarSet(VAR_DEOXYS_INTERACTION_STEP_COUNTER, 0); + else + VarSet(VAR_DEOXYS_INTERACTION_STEP_COUNTER, count); + } +} + +void Special_SetDeoxysTriangleObjectPal(void) +{ + u8 num = VarGet(VAR_DEOXYS_INTERACTION_NUM); + LoadPalette(sDeoxysObjectPals[num], 0x1A0, 0x08); + sub_8083598(10); +} + +bool8 Special_BadEggInParty(void) +{ + u8 partyCount = CalculatePlayerPartyCount(); + u8 i; + for (i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG) == TRUE) + return TRUE; + } + return FALSE; +} + +bool8 Special_PlayerIsNotInTrainerTowerLobby(void) +{ + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER_LOBBY) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_LOBBY)) + return FALSE; + else + return TRUE; +} + +void Special_BrailleCursorToggle(void) +{ + // 8004 = x - 27 + // 8005 = y + // 8006 = action (0 = create, 1 = delete) + u16 x; + if (gUnknown_203ADFA != 2) + { + x = gSpecialVar_0x8004 + 27; + if (gSpecialVar_0x8006 == 0) + sBrailleTextCursorSpriteID = CreateTextCursorSpriteForOakSpeech(0, x, gSpecialVar_0x8005, 0, 0); + else + sub_8006398(sBrailleTextCursorSpriteID); + } +} + +bool8 Special_PlayerPartyContainsSpeciesWithPlayerID(void) +{ + // 8004 = species + u8 playerCount = CalculatePlayerPartyCount(); + u8 i; + for (i = 0; i < playerCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) == gSpecialVar_0x8004 && GetPlayerTrainerId() == GetMonData(&gPlayerParty[i], MON_DATA_OT_ID, NULL)) + return TRUE; + } + return FALSE; +} + +/* + * Determines which of Lorelei's doll collection to show + * based on how many times you've entered the Hall of Fame. + */ +void Special_ComputeLoreleiDollCollection(void) +{ + u32 numHofClears = GetGameStat(GAME_STAT_ENTERED_HOF); + if (numHofClears >= 25) + { + FlagClear(FLAG_HIDE_LORELEI_HOUSE_MEOWTH_DOLL); + if (numHofClears >= 50) + FlagClear(FLAG_HIDE_LORELEI_HOUSE_CHANSEY_DOLL); + if (numHofClears >= 75) + FlagClear(FLAG_HIDE_LORELEIS_HOUSE_NIDORAN_F_DOLL); + if (numHofClears >= 100) + FlagClear(FLAG_HIDE_LORELEI_HOUSE_JIGGLYPUFF_DOLL); + if (numHofClears >= 125) + FlagClear(FLAG_HIDE_LORELEIS_HOUSE_NIDORAN_M_DOLL); + if (numHofClears >= 150) + FlagClear(FLAG_HIDE_LORELEIS_HOUSE_FEAROW_DOLL); + if (numHofClears >= 175) + FlagClear(FLAG_HIDE_LORELEIS_HOUSE_PIDGEOT_DOLL); + if (numHofClears >= 200) + FlagClear(FLAG_HIDE_LORELEIS_HOUSE_LAPRAS_DOLL); + } +} + +void Special_LoopWingFlapSound(void) +{ + // 8004 = Num flaps + // 8005 = Frame delay between flaps + CreateTask(Task_WingFlapSound, 8); + PlaySE(SE_W017); +} + +static void Task_WingFlapSound(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); +} diff --git a/src/item_use.c b/src/item_use.c index fd247acbb..679a3b8cc 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -396,7 +396,7 @@ void FieldUseFunc_TmCase(u8 taskId) } else { - sub_80CCB68(); + StopPokemonLeagueLightingEffectTask(); fade_screen(1, 0); gTasks[taskId].func = Task_InitTMCaseFromField; } @@ -427,7 +427,7 @@ void FieldUseFunc_BerryPouch(u8 taskId) } else { - sub_80CCB68(); + StopPokemonLeagueLightingEffectTask(); fade_screen(1, 0); gTasks[taskId].func = Task_InitBerryPouchFromField; } @@ -470,7 +470,7 @@ void FieldUseFunc_TeachyTv(u8 taskId) } else { - sub_80CCB68(); + StopPokemonLeagueLightingEffectTask(); fade_screen(1, 0); gTasks[taskId].func = Task_InitTeachyTvFromField; } @@ -600,7 +600,7 @@ void FieldUseFunc_TownMap(u8 taskId) } else { - sub_80CCB68(); + StopPokemonLeagueLightingEffectTask(); fade_screen(1, 0); gTasks[taskId].func = sub_80A1CC0; } @@ -632,7 +632,7 @@ void FieldUseFunc_FameChecker(u8 taskId) } else { - sub_80CCB68(); + StopPokemonLeagueLightingEffectTask(); fade_screen(1, 0); gTasks[taskId].func = sub_80A1D68; } diff --git a/src/itemfinder.c b/src/itemfinder.c index e6448a166..05072c49e 100644 --- a/src/itemfinder.c +++ b/src/itemfinder.c @@ -17,7 +17,7 @@ static void Task_NoResponse_CleanUp(u8 taskId); static void Task_ItemfinderResponseSoundsAndAnims(u8 taskId); static void Task_ItemfinderUnderfootSoundsAndAnims(u8 taskId); static bool8 HiddenItemIsWithinRangeOfPlayer(struct MapEvents * events, u8 taskId); -static void SetUnderfootHiddenItem(u8 taskId, struct HiddenItemStruct hiddenItem); +static void SetUnderfootHiddenItem(u8 taskId, u32 hiddenItem); static void SetNormalHiddenItem(u8 taskId); static void FindHiddenItemsInConnectedMaps(u8 taskId); static void RegisterHiddenItemRelativeCoordsIfCloser(u8 taskId, s16 dx, s16 dy); @@ -239,7 +239,7 @@ static bool8 HiddenItemIsWithinRangeOfPlayer(struct MapEvents * events, u8 taskI return FALSE; } -static void SetUnderfootHiddenItem(u8 taskId, struct HiddenItemStruct hiddenItem) +static void SetUnderfootHiddenItem(u8 taskId, u32 hiddenItem) { s16 *data = gTasks[taskId].data; gSpecialVar_0x8004 = GetHiddenItemAttr(hiddenItem, HIDDEN_ITEM_FLAG); diff --git a/src/mevent.c b/src/mevent.c index 74dca5a75..dc8df05d0 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -588,7 +588,7 @@ void DestroyWonderCard(void) ClearRamScript(); sub_806E2D0(); sub_806E370(); - sub_80E7524(gSaveBlock2Ptr->unk_B0.field_3F0); + sub_80E7524(&gSaveBlock2Ptr->unk_B0.field_3F0); } bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data) diff --git a/src/mevent_server.c b/src/mevent_server.c index 4e2b7280d..9fe9e9e79 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -226,7 +226,7 @@ static u32 ish_mainseq_4(struct mevent_client * svr) sub_8069EA4(svr->recvBuffer, 1000); break; case 18: - memcpy(gSaveBlock2Ptr->unk_B0.field_3F0, svr->recvBuffer, 0xbc); + memcpy(&gSaveBlock2Ptr->unk_B0.field_3F0, svr->recvBuffer, sizeof(struct BattleTowerEReaderTrainer)); ValidateEReaderTrainer(); break; case 21: diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index 26cbdb145..146595272 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -281,7 +281,7 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx) bool8 MEScrCmd_addtrainer(struct ScriptContext *ctx) { u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]; - memcpy(gSaveBlock2Ptr->unk_B0.field_3F0, (void *)data, 0xBC); + memcpy(&gSaveBlock2Ptr->unk_B0.field_3F0, (void *)data, sizeof(struct BattleTowerEReaderTrainer)); ValidateEReaderTrainer(); StringExpandPlaceholders(gStringVar4, gText_MysteryGiftNewTrainer); ctx->data[2] = 2; diff --git a/src/player_pc.c b/src/player_pc.c index bb073e3a6..f454cd07f 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -149,7 +149,7 @@ void NewGameInitPCItems(void) ; } -void sub_80EB6AC(void) +void BedroomPC(void) { u8 taskId; @@ -161,7 +161,7 @@ void sub_80EB6AC(void) DisplayItemMessageOnField(taskId, 2, gText_WhatWouldYouLikeToDo, Task_DrawPlayerPcTopMenu); } -void sub_80EB6FC(void) +void PlayerPC(void) { u8 taskId; diff --git a/src/prof_pc.c b/src/prof_pc.c index aeabc8644..d1f06a2ba 100644 --- a/src/prof_pc.c +++ b/src/prof_pc.c @@ -36,7 +36,7 @@ u16 Special_GetPokedexCount(void) return IsNationalPokedexEnabled(); } -const u8 * sub_80CA424(u16 count) +static const u8 *GetProfOaksRatingMessageByCount(u16 count) { gSpecialVar_Result = FALSE; @@ -102,7 +102,7 @@ const u8 * sub_80CA424(u16 count) return gUnknown_81A6D17; } -void sub_80CA524(void) +void Special_GetProfOaksRatingMessage(void) { - ShowFieldMessage(sub_80CA424(gSpecialVar_0x8004)); + ShowFieldMessage(GetProfOaksRatingMessageByCount(gSpecialVar_0x8004)); } diff --git a/src/quest_log.c b/src/quest_log.c index 1c951867e..ffced87ee 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -2594,7 +2594,7 @@ u8 sub_81131FC(struct Var4038Struct * a0) return gUnknown_8456940[retval]; } -u16 sub_8113288(void) +u16 GetNumMovedSaffronFanClubMembers(void) { return sub_81132A0(VAR_0x4038_STRUCT); } @@ -2613,7 +2613,7 @@ static u16 sub_81132A0(struct Var4038Struct * a0) return count; } -void sub_81132CC(void) +void UpdateMovedSaffronFanClubMembers(void) { sub_81132E0(VAR_0x4038_STRUCT); } @@ -2645,7 +2645,7 @@ static void sub_81132E0(struct Var4038Struct * a0) } } -bool16 sub_8113364(void) +bool16 ShouldMoveSaffronFanClubMember(void) { return sub_811337C(VAR_0x4038_STRUCT); } @@ -2662,7 +2662,7 @@ static void sub_8113390(struct Var4038Struct * a0) a0->unk_1 |= 4; } -void sub_81133A4(void) +void BufferStreakTrainerText(void) { u8 r3 = 0; u8 r2 = 0; diff --git a/src/start_menu.c b/src/start_menu.c index 442884c05..221ae1f1f 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -445,7 +445,7 @@ static void StartMenu_FadeScreenIfLeavingOverworld(void) && sStartMenuCallback != StartMenuExitCallback && sStartMenuCallback != StartMenuSafariZoneRetireCallback) { - sub_80CCB68(); + StopPokemonLeagueLightingEffectTask(); fade_screen(1, 0); } } diff --git a/src/vs_seeker.c b/src/vs_seeker.c index c0145e22d..6ae92236f 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -1290,7 +1290,7 @@ static u8 GetRematchTrainerIdGivenGameState(const u16 * a0, u8 a1) return 0; } -u8 sub_810CD4C(void) +u8 ShouldTryRematchBattle(void) { if (sub_810CD80(sVsSeekerData, gTrainerBattleOpponent_A)) { @@ -1364,7 +1364,7 @@ s32 sub_810CE64(u16 a0) return sVsSeekerData[i].trainerIdxs[j]; } -u8 sub_810CEB4(void) // unreferenced, or reference not disassembled +u8 ScrSpecial_GetTrainerEyeRematchFlag(void) // unreferenced, or reference not disassembled { return sub_810CED0(sVsSeekerData, gTrainerBattleOpponent_A); } diff --git a/sym_common.txt b/sym_common.txt index 7e3d83488..96ac36e1c 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -120,11 +120,8 @@ gUnknown_3005350: @ 3005350 gUnknown_3005354: @ 3005354 .space 0xC -gUnknown_3005360: @ 3005360 - .space 0x18 - -gUnknown_3005378: @ 3005378 - .space 0x4 + .align 2 + .include "field_specials.o" gUnknown_300537C: @ 300537C .space 0x4 diff --git a/sym_ewram.txt b/sym_ewram.txt index 85ff1bdb2..1d7f2aaec 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -847,27 +847,10 @@ gAIScriptPtr: @ 2039A00 gPlayerFacingPosition: @ 2039A04 .space 0x8 -gUnknown_2039A0C: @ 2039A0C - .space 0x2 - -gUnknown_2039A0E: @ 2039A0E - .space 0x2 - -gUnknown_2039A10: @ 2039A10 - .space 0x4 - -gUnknown_2039A14: @ 2039A14 - .space 0x4 - -gUnknown_2039A18: @ 2039A18 - .space 0x2 - -gUnknown_2039A1A: @ 2039A1A - .space 0x1 - -gUnknown_2039A1B: @ 2039A1B - .space 0x1 + .align 2 + .include "src/field_specials.o" + .align 2 .include "src/battle_records.o" gUnknown_2039A20: @ 2039A20 |